diff --git a/apps/admin_audit/l10n/he.js b/apps/admin_audit/l10n/he.js index 81e10bdff3c..f9e7d252c4f 100644 --- a/apps/admin_audit/l10n/he.js +++ b/apps/admin_audit/l10n/he.js @@ -4,4 +4,4 @@ OC.L10N.register( "Auditing / Logging" : "פיקוח / תיעוד", "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות." }, -"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); +"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); diff --git a/apps/admin_audit/l10n/he.json b/apps/admin_audit/l10n/he.json index 94be111346c..3a675abec35 100644 --- a/apps/admin_audit/l10n/he.json +++ b/apps/admin_audit/l10n/he.json @@ -1,5 +1,5 @@ { "translations": { "Auditing / Logging" : "פיקוח / תיעוד", "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות." -},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" +},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" } \ No newline at end of file diff --git a/apps/comments/l10n/ko.js b/apps/comments/l10n/ko.js index 26a52861de2..4ccd0ca0e4f 100644 --- a/apps/comments/l10n/ko.js +++ b/apps/comments/l10n/ko.js @@ -9,6 +9,7 @@ OC.L10N.register( "%1$s commented on %2$s" : "%2$s에 %1$s 님이 댓글 남김", "{author} commented on {file}" : "{author} 님이 {file}에 댓글 남김", "Comments for files" : "파일의 댓글", + "You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "삭제된 계정이 게시한 “{file}”의 댓글에서 나를 언급함", "{user} mentioned you in a comment on \"{file}\"" : "{user} 님이 “{file}”에 남긴 댓글에서 나를 언급함", "Files app plugin to add comments to files" : "파일에 댓글을 남기는 파일 앱 플러그인", "Edit comment" : "댓글 편집", diff --git a/apps/comments/l10n/ko.json b/apps/comments/l10n/ko.json index 9bd6a6cf4ce..4eace860645 100644 --- a/apps/comments/l10n/ko.json +++ b/apps/comments/l10n/ko.json @@ -7,6 +7,7 @@ "%1$s commented on %2$s" : "%2$s에 %1$s 님이 댓글 남김", "{author} commented on {file}" : "{author} 님이 {file}에 댓글 남김", "Comments for files" : "파일의 댓글", + "You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "삭제된 계정이 게시한 “{file}”의 댓글에서 나를 언급함", "{user} mentioned you in a comment on \"{file}\"" : "{user} 님이 “{file}”에 남긴 댓글에서 나를 언급함", "Files app plugin to add comments to files" : "파일에 댓글을 남기는 파일 앱 플러그인", "Edit comment" : "댓글 편집", diff --git a/apps/comments/src/services/DavClient.js b/apps/comments/src/services/DavClient.js index 5c2fc96e4db..78bc056357e 100644 --- a/apps/comments/src/services/DavClient.js +++ b/apps/comments/src/services/DavClient.js @@ -22,16 +22,23 @@ import { createClient } from 'webdav' import { getRootPath } from '../utils/davUtils.js' -import { getRequestToken } from '@nextcloud/auth' +import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' // init webdav client -const client = createClient(getRootPath(), { - headers: { - // Add this so the server knows it is an request from the browser - 'X-Requested-With': 'XMLHttpRequest', - // Inject user auth - requesttoken: getRequestToken() ?? '', - }, -}) +const client = createClient(getRootPath()) + +// set CSRF token header +const setHeaders = (token) => { + client.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }) +} + +// refresh headers when request token changes +onRequestTokenUpdate(setHeaders) +setHeaders(getRequestToken()) export default client diff --git a/apps/comments/src/services/GetComments.ts b/apps/comments/src/services/GetComments.ts index c55cb4ee4a0..0736632192d 100644 --- a/apps/comments/src/services/GetComments.ts +++ b/apps/comments/src/services/GetComments.ts @@ -23,8 +23,8 @@ import { parseXML, type DAVResult, type FileStat, type ResponseDataDetailed } from 'webdav' // https://github.com/perry-mitchell/webdav-client/issues/339 -import { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js' -import { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js' +import { processResponsePayload } from 'webdav/dist/node/response.js' +import { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js' import client from './DavClient.js' export const DEFAULT_LIMIT = 20 @@ -77,10 +77,8 @@ const getDirectoryFiles = function( // Map all items to a consistent output structure (results) return responseItems.map(item => { // Each item should contain a stat object - const { - propstat: { prop: props }, - } = item + const props = item.propstat!.prop!; - return prepareFileFromProps(props, props.id.toString(), isDetailed) + return prepareFileFromProps(props, props.id!.toString(), isDetailed) }) } diff --git a/apps/dashboard/l10n/he.js b/apps/dashboard/l10n/he.js index 73959b5ee91..1a15be6d3c2 100644 --- a/apps/dashboard/l10n/he.js +++ b/apps/dashboard/l10n/he.js @@ -21,4 +21,4 @@ OC.L10N.register( "Hello" : "שלום", "Hello, {name}" : "שלום, {name}" }, -"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); +"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); diff --git a/apps/dashboard/l10n/he.json b/apps/dashboard/l10n/he.json index 0cc405df813..3675de92d53 100644 --- a/apps/dashboard/l10n/he.json +++ b/apps/dashboard/l10n/he.json @@ -18,5 +18,5 @@ "Good evening, {name}" : "ערב טוב, {name}", "Hello" : "שלום", "Hello, {name}" : "שלום, {name}" -},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" +},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" } \ No newline at end of file diff --git a/apps/dashboard/lib/Controller/DashboardApiController.php b/apps/dashboard/lib/Controller/DashboardApiController.php index a28e1140fc2..329b045c461 100644 --- a/apps/dashboard/lib/Controller/DashboardApiController.php +++ b/apps/dashboard/lib/Controller/DashboardApiController.php @@ -54,25 +54,14 @@ use OCP\IRequest; */ class DashboardApiController extends OCSController { - /** @var IManager */ - private $dashboardManager; - /** @var IConfig */ - private $config; - /** @var string|null */ - private $userId; - public function __construct( string $appName, IRequest $request, - IManager $dashboardManager, - IConfig $config, - ?string $userId + private IManager $dashboardManager, + private IConfig $config, + private ?string $userId, ) { parent::__construct($appName, $request); - - $this->dashboardManager = $dashboardManager; - $this->config = $config; - $this->userId = $userId; } /** diff --git a/apps/dashboard/lib/Controller/DashboardController.php b/apps/dashboard/lib/Controller/DashboardController.php index 1c7b98dc3ea..0b8a8cc262e 100644 --- a/apps/dashboard/lib/Controller/DashboardController.php +++ b/apps/dashboard/lib/Controller/DashboardController.php @@ -46,37 +46,17 @@ use OCP\IRequest; #[OpenAPI(scope: OpenAPI::SCOPE_IGNORE)] class DashboardController extends Controller { - /** @var IInitialState */ - private $initialState; - /** @var IEventDispatcher */ - private $eventDispatcher; - /** @var IManager */ - private $dashboardManager; - /** @var IConfig */ - private $config; - /** @var IL10N */ - private $l10n; - /** @var string */ - private $userId; - public function __construct( string $appName, IRequest $request, - IInitialState $initialState, - IEventDispatcher $eventDispatcher, - IManager $dashboardManager, - IConfig $config, - IL10N $l10n, - $userId + private IInitialState $initialState, + private IEventDispatcher $eventDispatcher, + private IManager $dashboardManager, + private IConfig $config, + private IL10N $l10n, + private ?string $userId ) { parent::__construct($appName, $request); - - $this->initialState = $initialState; - $this->eventDispatcher = $eventDispatcher; - $this->dashboardManager = $dashboardManager; - $this->config = $config; - $this->l10n = $l10n; - $this->userId = $userId; } /** diff --git a/apps/dashboard/lib/Controller/LayoutApiController.php b/apps/dashboard/lib/Controller/LayoutApiController.php index 8eb01be497e..e603997a854 100644 --- a/apps/dashboard/lib/Controller/LayoutApiController.php +++ b/apps/dashboard/lib/Controller/LayoutApiController.php @@ -31,21 +31,15 @@ use OCP\IConfig; use OCP\IRequest; class LayoutApiController extends OCSController { - /** @var IConfig */ - private $config; - /** @var string */ - private $userId; public function __construct( string $appName, IRequest $request, - IConfig $config, - $userId + private IConfig $config, + private ?string $userId, ) { parent::__construct($appName, $request); - $this->config = $config; - $this->userId = $userId; } /** diff --git a/apps/dav/lib/CalDAV/Schedule/Plugin.php b/apps/dav/lib/CalDAV/Schedule/Plugin.php index 232ee607c94..2ccecc8131c 100644 --- a/apps/dav/lib/CalDAV/Schedule/Plugin.php +++ b/apps/dav/lib/CalDAV/Schedule/Plugin.php @@ -95,6 +95,13 @@ class Plugin extends \Sabre\CalDAV\Schedule\Plugin { $server->on('propFind', [$this, 'propFindDefaultCalendarUrl'], 90); $server->on('afterWriteContent', [$this, 'dispatchSchedulingResponses']); $server->on('afterCreateFile', [$this, 'dispatchSchedulingResponses']); + + // We allow mutating the default calendar URL through the CustomPropertiesBackend + // (oc_properties table) + $server->protectedProperties = array_filter( + $server->protectedProperties, + static fn (string $property) => $property !== self::SCHEDULE_DEFAULT_CALENDAR_URL, + ); } /** diff --git a/apps/dav/lib/Connector/Sabre/Principal.php b/apps/dav/lib/Connector/Sabre/Principal.php index 9d9cfbe43cb..c6f9fe3affc 100644 --- a/apps/dav/lib/Connector/Sabre/Principal.php +++ b/apps/dav/lib/Connector/Sabre/Principal.php @@ -260,6 +260,7 @@ class Principal implements BackendInterface { * @return int */ public function updatePrincipal($path, PropPatch $propPatch) { + // Updating schedule-default-calendar-URL is handled in CustomPropertiesBackend return 0; } diff --git a/apps/dav/lib/Connector/Sabre/ServerFactory.php b/apps/dav/lib/Connector/Sabre/ServerFactory.php index 113cd8a8c23..758951c42ff 100644 --- a/apps/dav/lib/Connector/Sabre/ServerFactory.php +++ b/apps/dav/lib/Connector/Sabre/ServerFactory.php @@ -188,6 +188,7 @@ class ServerFactory { $server->addPlugin( new \Sabre\DAV\PropertyStorage\Plugin( new \OCA\DAV\DAV\CustomPropertiesBackend( + $server, $objectTree, $this->databaseConnection, $this->userSession->getUser() diff --git a/apps/dav/lib/DAV/CustomPropertiesBackend.php b/apps/dav/lib/DAV/CustomPropertiesBackend.php index e76a71aec63..48872048ea8 100644 --- a/apps/dav/lib/DAV/CustomPropertiesBackend.php +++ b/apps/dav/lib/DAV/CustomPropertiesBackend.php @@ -6,6 +6,7 @@ * @author Georg Ehrke * @author Robin Appelman * @author Thomas Müller + * @author Richard Steinmetz * * @license AGPL-3.0 * @@ -31,11 +32,19 @@ use OCA\DAV\Connector\Sabre\FilesPlugin; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; use OCP\IUser; +use Sabre\CalDAV\ICalendar; +use Sabre\DAV\Exception as DavException; use Sabre\DAV\PropertyStorage\Backend\BackendInterface; use Sabre\DAV\PropFind; use Sabre\DAV\PropPatch; +use Sabre\DAV\Server; use Sabre\DAV\Tree; use Sabre\DAV\Xml\Property\Complex; +use Sabre\DAV\Xml\Property\Href; +use Sabre\DAV\Xml\Property\LocalHref; +use Sabre\Xml\ParseException; +use Sabre\Xml\Service as XmlService; + use function array_intersect; class CustomPropertiesBackend implements BackendInterface { @@ -58,6 +67,11 @@ class CustomPropertiesBackend implements BackendInterface { */ public const PROPERTY_TYPE_OBJECT = 3; + /** + * Value is stored as a {DAV:}href string. + */ + public const PROPERTY_TYPE_HREF = 4; + /** * Ignored properties * @@ -105,6 +119,15 @@ class CustomPropertiesBackend implements BackendInterface { */ private const PUBLISHED_READ_ONLY_PROPERTIES = [ '{urn:ietf:params:xml:ns:caldav}calendar-availability', + '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL', + ]; + + /** + * Map of custom XML elements to parse when trying to deserialize an instance of + * \Sabre\DAV\Xml\Property\Complex to find a more specialized PROPERTY_TYPE_* + */ + private const COMPLEX_XML_ELEMENT_MAP = [ + '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => Href::class, ]; /** @@ -129,19 +152,29 @@ class CustomPropertiesBackend implements BackendInterface { */ private $userCache = []; + private Server $server; + private XmlService $xmlService; + /** * @param Tree $tree node tree * @param IDBConnection $connection database connection * @param IUser $user owner of the tree and properties */ public function __construct( + Server $server, Tree $tree, IDBConnection $connection, IUser $user, ) { + $this->server = $server; $this->tree = $tree; $this->connection = $connection; $this->user = $user; + $this->xmlService = new XmlService(); + $this->xmlService->elementMap = array_merge( + $this->xmlService->elementMap, + self::COMPLEX_XML_ELEMENT_MAP, + ); } /** @@ -199,6 +232,21 @@ class CustomPropertiesBackend implements BackendInterface { } } + // substr of principals/users/ => path is a user principal + // two '/' => this a principal collection (and not some child object) + if (str_starts_with($path, 'principals/users/') && substr_count($path, '/') === 2) { + $allRequestedProps = $propFind->getRequestedProperties(); + $customProperties = [ + '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL', + ]; + + foreach ($customProperties as $customProperty) { + if (in_array($customProperty, $allRequestedProps, true)) { + $requestedProps[] = $customProperty; + } + } + } + if (empty($requestedProps)) { return; } @@ -211,9 +259,19 @@ class CustomPropertiesBackend implements BackendInterface { // First fetch the published properties (set by another user), then get the ones set by // the current user. If both are set then the latter as priority. foreach ($this->getPublishedProperties($path, $requestedProps) as $propName => $propValue) { + try { + $this->validateProperty($path, $propName, $propValue); + } catch (DavException $e) { + continue; + } $propFind->set($propName, $propValue); } foreach ($this->getUserProperties($path, $requestedProps) as $propName => $propValue) { + try { + $this->validateProperty($path, $propName, $propValue); + } catch (DavException $e) { + continue; + } $propFind->set($propName, $propValue); } } @@ -264,6 +322,30 @@ class CustomPropertiesBackend implements BackendInterface { $statement->closeCursor(); } + /** + * Validate the value of a property. Will throw if a value is invalid. + * + * @throws DavException The value of the property is invalid + */ + private function validateProperty(string $path, string $propName, mixed $propValue): void { + switch ($propName) { + case '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL': + /** @var Href $propValue */ + $href = $propValue->getHref(); + if ($href === null) { + throw new DavException('Href is empty'); + } + + // $path is the principal here as this prop is only set on principals + $node = $this->tree->getNodeForPath($href); + if (!($node instanceof ICalendar) || $node->getOwner() !== $path) { + throw new DavException('No such calendar'); + } + + break; + } + } + /** * @param string $path * @param string[] $requestedProperties @@ -393,7 +475,11 @@ class CustomPropertiesBackend implements BackendInterface { ->executeStatement(); } } else { - [$value, $valueType] = $this->encodeValueForDatabase($propertyValue); + [$value, $valueType] = $this->encodeValueForDatabase( + $path, + $propertyName, + $propertyValue, + ); $dbParameters['propertyValue'] = $value; $dbParameters['valueType'] = $valueType; @@ -436,15 +522,38 @@ class CustomPropertiesBackend implements BackendInterface { } /** - * @param mixed $value - * @return array + * @throws ParseException If parsing a \Sabre\DAV\Xml\Property\Complex value fails + * @throws DavException If the property value is invalid */ - private function encodeValueForDatabase($value): array { + private function encodeValueForDatabase(string $path, string $name, mixed $value): array { + // Try to parse a more specialized property type first + if ($value instanceof Complex) { + $xml = $this->xmlService->write($name, [$value], $this->server->getBaseUri()); + $value = $this->xmlService->parse($xml, $this->server->getBaseUri()) ?? $value; + } + + if ($name === '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL') { + $value = $this->encodeDefaultCalendarUrl($value); + } + + try { + $this->validateProperty($path, $name, $value); + } catch (DavException $e) { + throw new DavException( + "Property \"$name\" has an invalid value: " . $e->getMessage(), + 0, + $e, + ); + } + if (is_scalar($value)) { $valueType = self::PROPERTY_TYPE_STRING; } elseif ($value instanceof Complex) { $valueType = self::PROPERTY_TYPE_XML; $value = $value->getXml(); + } elseif ($value instanceof Href) { + $valueType = self::PROPERTY_TYPE_HREF; + $value = $value->getHref(); } else { $valueType = self::PROPERTY_TYPE_OBJECT; $value = serialize($value); @@ -459,6 +568,8 @@ class CustomPropertiesBackend implements BackendInterface { switch ($valueType) { case self::PROPERTY_TYPE_XML: return new Complex($value); + case self::PROPERTY_TYPE_HREF: + return new Href($value); case self::PROPERTY_TYPE_OBJECT: return unserialize($value); case self::PROPERTY_TYPE_STRING: @@ -467,6 +578,26 @@ class CustomPropertiesBackend implements BackendInterface { } } + private function encodeDefaultCalendarUrl(Href $value): Href { + $href = $value->getHref(); + if ($href === null) { + return $value; + } + + if (!str_starts_with($href, '/')) { + return $value; + } + + try { + // Build path relative to the dav base URI to be used later to find the node + $value = new LocalHref($this->server->calculateUri($href) . '/'); + } catch (DavException\Forbidden) { + // Not existing calendars will be handled later when the value is validated + } + + return $value; + } + private function createDeleteQuery(): IQueryBuilder { $deleteQuery = $this->connection->getQueryBuilder(); $deleteQuery->delete('properties') diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index 3c7e0936735..deee381d24c 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -276,6 +276,7 @@ class Server { $this->server->addPlugin( new \Sabre\DAV\PropertyStorage\Plugin( new CustomPropertiesBackend( + $this->server, $this->server->tree, \OC::$server->getDatabaseConnection(), \OC::$server->getUserSession()->getUser() diff --git a/apps/dav/src/dav/client.js b/apps/dav/src/dav/client.js index b053e585ce8..d6fe3d2680a 100644 --- a/apps/dav/src/dav/client.js +++ b/apps/dav/src/dav/client.js @@ -19,21 +19,29 @@ * along with this program. If not, see . */ -import * as webdav from 'webdav' -import axios from '@nextcloud/axios' +import { createClient } from 'webdav' import memoize from 'lodash/fp/memoize.js' import { generateRemoteUrl } from '@nextcloud/router' -import { getCurrentUser } from '@nextcloud/auth' +import { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' export const getClient = memoize((service) => { - // Add this so the server knows it is an request from the browser - axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest' + // init webdav client + const remote = generateRemoteUrl(`dav/${service}/${getCurrentUser().uid}`) + const client = createClient(remote) - // force our axios - const patcher = webdav.getPatcher() - patcher.patch('request', axios) + // set CSRF token header + const setHeaders = (token) => { + client.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }) + } - return webdav.createClient( - generateRemoteUrl(`dav/${service}/${getCurrentUser().uid}`) - ) + // refresh headers when request token changes + onRequestTokenUpdate(setHeaders) + setHeaders(getRequestToken()) + + return client; }) diff --git a/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php b/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php index 395c4a6a779..636fd0d2d8d 100644 --- a/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php @@ -87,6 +87,7 @@ class CustomPropertiesBackendTest extends \Test\TestCase { ->willReturn($userId); $this->plugin = new \OCA\DAV\DAV\CustomPropertiesBackend( + $this->server, $this->tree, \OC::$server->getDatabaseConnection(), $this->user diff --git a/apps/dav/tests/unit/DAV/CustomPropertiesBackendTest.php b/apps/dav/tests/unit/DAV/CustomPropertiesBackendTest.php index 2c8a55d3da1..b81d7f24ae4 100644 --- a/apps/dav/tests/unit/DAV/CustomPropertiesBackendTest.php +++ b/apps/dav/tests/unit/DAV/CustomPropertiesBackendTest.php @@ -8,6 +8,7 @@ * @author Morris Jobke * @author Robin Appelman * @author Roeland Jago Douma + * @author Richard Steinmetz * * @license GNU AGPL version 3 or any later version * @@ -28,17 +29,29 @@ namespace OCA\DAV\Tests\DAV; use OCA\DAV\DAV\CustomPropertiesBackend; +use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; use OCP\IUser; +use Sabre\CalDAV\ICalendar; +use Sabre\DAV\Exception\NotFound; use Sabre\DAV\PropFind; use Sabre\DAV\PropPatch; +use Sabre\DAV\Server; use Sabre\DAV\Tree; +use Sabre\DAV\Xml\Property\Href; +use Sabre\DAVACL\IACL; +use Sabre\DAVACL\IPrincipal; use Test\TestCase; /** * @group DB */ class CustomPropertiesBackendTest extends TestCase { + private const BASE_URI = '/remote.php/dav/'; + + /** @var Server | \PHPUnit\Framework\MockObject\MockObject */ + private $server; + /** @var Tree | \PHPUnit\Framework\MockObject\MockObject */ private $tree; @@ -54,6 +67,9 @@ class CustomPropertiesBackendTest extends TestCase { protected function setUp(): void { parent::setUp(); + $this->server = $this->createMock(Server::class); + $this->server->method('getBaseUri') + ->willReturn(self::BASE_URI); $this->tree = $this->createMock(Tree::class); $this->user = $this->createMock(IUser::class); $this->user->method('getUID') @@ -62,9 +78,10 @@ class CustomPropertiesBackendTest extends TestCase { $this->dbConnection = \OC::$server->getDatabaseConnection(); $this->backend = new CustomPropertiesBackend( + $this->server, $this->tree, $this->dbConnection, - $this->user + $this->user, ); } @@ -90,7 +107,13 @@ class CustomPropertiesBackendTest extends TestCase { } } - protected function insertProp(string $user, string $path, string $name, string $value) { + protected function insertProp(string $user, string $path, string $name, mixed $value) { + $type = CustomPropertiesBackend::PROPERTY_TYPE_STRING; + if ($value instanceof Href) { + $value = $value->getHref(); + $type = CustomPropertiesBackend::PROPERTY_TYPE_HREF; + } + $query = $this->dbConnection->getQueryBuilder(); $query->insert('properties') ->values([ @@ -98,13 +121,14 @@ class CustomPropertiesBackendTest extends TestCase { 'propertypath' => $query->createNamedParameter($this->formatPath($path)), 'propertyname' => $query->createNamedParameter($name), 'propertyvalue' => $query->createNamedParameter($value), + 'valuetype' => $query->createNamedParameter($type, IQueryBuilder::PARAM_INT) ]); $query->execute(); } protected function getProps(string $user, string $path) { $query = $this->dbConnection->getQueryBuilder(); - $query->select('propertyname', 'propertyvalue') + $query->select('propertyname', 'propertyvalue', 'valuetype') ->from('properties') ->where($query->expr()->eq('userid', $query->createNamedParameter($user))) ->andWhere($query->expr()->eq('propertypath', $query->createNamedParameter($this->formatPath($path)))); @@ -112,7 +136,11 @@ class CustomPropertiesBackendTest extends TestCase { $result = $query->execute(); $data = []; while ($row = $result->fetch()) { - $data[$row['propertyname']] = $row['propertyvalue']; + $value = $row['propertyvalue']; + if ((int)$row['valuetype'] === CustomPropertiesBackend::PROPERTY_TYPE_HREF) { + $value = new Href($value); + } + $data[$row['propertyname']] = $value; } $result->closeCursor(); @@ -122,9 +150,10 @@ class CustomPropertiesBackendTest extends TestCase { public function testPropFindNoDbCalls(): void { $db = $this->createMock(IDBConnection::class); $backend = new CustomPropertiesBackend( + $this->server, $this->tree, $db, - $this->user + $this->user, ); $propFind = $this->createMock(PropFind::class); @@ -186,10 +215,169 @@ class CustomPropertiesBackendTest extends TestCase { $this->assertEquals($props, $setProps); } + public function testPropFindPrincipalCall(): void { + $this->tree->method('getNodeForPath') + ->willReturnCallback(function ($uri) { + $node = $this->createMock(ICalendar::class); + $node->method('getOwner') + ->willReturn('principals/users/dummy_user_42'); + return $node; + }); + + $propFind = $this->createMock(PropFind::class); + $propFind->method('get404Properties') + ->with() + ->willReturn([ + '{DAV:}getcontentlength', + '{DAV:}getcontenttype', + '{DAV:}getetag', + '{abc}def', + ]); + + $propFind->method('getRequestedProperties') + ->with() + ->willReturn([ + '{DAV:}getcontentlength', + '{DAV:}getcontenttype', + '{DAV:}getetag', + '{abc}def', + '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL', + ]); + + $props = [ + '{abc}def' => 'a', + '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('calendars/admin/personal'), + ]; + $this->insertProps('dummy_user_42', 'principals/users/dummy_user_42', $props); + + $setProps = []; + $propFind->method('set') + ->willReturnCallback(function ($name, $value, $status) use (&$setProps): void { + $setProps[$name] = $value; + }); + + $this->backend->propFind('principals/users/dummy_user_42', $propFind); + $this->assertEquals($props, $setProps); + } + + public function propFindPrincipalScheduleDefaultCalendarProviderUrlProvider(): array { + // [ user, nodes, existingProps, requestedProps, returnedProps ] + return [ + [ // Exists + 'dummy_user_42', + ['calendars/dummy_user_42/foo/' => ICalendar::class], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('calendars/dummy_user_42/foo/')], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL'], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('calendars/dummy_user_42/foo/')], + ], + [ // Doesn't exist + 'dummy_user_42', + ['calendars/dummy_user_42/foo/' => ICalendar::class], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('calendars/dummy_user_42/bar/')], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL'], + [], + ], + [ // No privilege + 'dummy_user_42', + ['calendars/user2/baz/' => ICalendar::class], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('calendars/user2/baz/')], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL'], + [], + ], + [ // Not a calendar + 'dummy_user_42', + ['foo/dummy_user_42/bar/' => IACL::class], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('foo/dummy_user_42/bar/')], + ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL'], + [], + ], + ]; + + } + + /** + * @dataProvider propFindPrincipalScheduleDefaultCalendarProviderUrlProvider + */ + public function testPropFindPrincipalScheduleDefaultCalendarUrl( + string $user, + array $nodes, + array $existingProps, + array $requestedProps, + array $returnedProps, + ): void { + $propFind = $this->createMock(PropFind::class); + $propFind->method('get404Properties') + ->with() + ->willReturn([ + '{DAV:}getcontentlength', + '{DAV:}getcontenttype', + '{DAV:}getetag', + ]); + + $propFind->method('getRequestedProperties') + ->with() + ->willReturn(array_merge([ + '{DAV:}getcontentlength', + '{DAV:}getcontenttype', + '{DAV:}getetag', + '{abc}def', + ], + $requestedProps, + )); + + $this->server->method('calculateUri') + ->willReturnCallback(function ($uri) { + if (!str_starts_with($uri, self::BASE_URI)) { + return trim(substr($uri, strlen(self::BASE_URI)), '/'); + } + return null; + }); + $this->tree->method('getNodeForPath') + ->willReturnCallback(function ($uri) use ($nodes) { + if (str_starts_with($uri, 'principals/')) { + return $this->createMock(IPrincipal::class); + } + if (array_key_exists($uri, $nodes)) { + $owner = explode('/', $uri)[1]; + $node = $this->createMock($nodes[$uri]); + $node->method('getOwner') + ->willReturn("principals/users/$owner"); + return $node; + } + throw new NotFound('Node not found'); + }); + + $this->insertProps($user, "principals/users/$user", $existingProps); + + $setProps = []; + $propFind->method('set') + ->willReturnCallback(function ($name, $value, $status) use (&$setProps): void { + $setProps[$name] = $value; + }); + + $this->backend->propFind("principals/users/$user", $propFind); + $this->assertEquals($returnedProps, $setProps); + } + /** * @dataProvider propPatchProvider */ public function testPropPatch(string $path, array $existing, array $props, array $result): void { + $this->server->method('calculateUri') + ->willReturnCallback(function ($uri) { + if (str_starts_with($uri, self::BASE_URI)) { + return trim(substr($uri, strlen(self::BASE_URI)), '/'); + } + return null; + }); + $this->tree->method('getNodeForPath') + ->willReturnCallback(function ($uri) { + $node = $this->createMock(ICalendar::class); + $node->method('getOwner') + ->willReturn('principals/users/' . $this->user->getUID()); + return $node; + }); + $this->insertProps($this->user->getUID(), $path, $existing); $propPatch = new PropPatch($props); @@ -207,6 +395,8 @@ class CustomPropertiesBackendTest extends TestCase { ['foo_bar_path_1337', ['{DAV:}displayname' => 'foo'], ['{DAV:}displayname' => 'anything'], ['{DAV:}displayname' => 'anything']], ['foo_bar_path_1337', ['{DAV:}displayname' => 'foo'], ['{DAV:}displayname' => null], []], [$longPath, [], ['{DAV:}displayname' => 'anything'], ['{DAV:}displayname' => 'anything']], + ['principals/users/dummy_user_42', [], ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('foo/bar/')], ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('foo/bar/')]], + ['principals/users/dummy_user_42', [], ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href(self::BASE_URI . 'foo/bar/')], ['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL' => new Href('foo/bar/')]], ]; } diff --git a/apps/encryption/l10n/ko.js b/apps/encryption/l10n/ko.js index d5bcc4bdc31..dc3434c402f 100644 --- a/apps/encryption/l10n/ko.js +++ b/apps/encryption/l10n/ko.js @@ -42,6 +42,7 @@ OC.L10N.register( "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "이 옵션을 사용하면 주 저장소에 있는 모드 파일을 암호화하며, 사용하지 않으면 외부 저장소의 파일만 암호화합니다", "Enable recovery key" : "복구 키 활성화", "Disable recovery key" : "복구 키 비활성화", + "The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "복구 키는 암호화된 파일에 대한 추가적 키 입니다. 암호를 잊은 상황에서 파일을 복구할 때 사용됩니다.", "Recovery key password" : "복구 키 암호", "Repeat recovery key password" : "복구 키 암호 확인", "Change recovery key password:" : "복구 키 암호 변경:", diff --git a/apps/encryption/l10n/ko.json b/apps/encryption/l10n/ko.json index adbe803d6a6..7ee3cb085f2 100644 --- a/apps/encryption/l10n/ko.json +++ b/apps/encryption/l10n/ko.json @@ -40,6 +40,7 @@ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "이 옵션을 사용하면 주 저장소에 있는 모드 파일을 암호화하며, 사용하지 않으면 외부 저장소의 파일만 암호화합니다", "Enable recovery key" : "복구 키 활성화", "Disable recovery key" : "복구 키 비활성화", + "The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "복구 키는 암호화된 파일에 대한 추가적 키 입니다. 암호를 잊은 상황에서 파일을 복구할 때 사용됩니다.", "Recovery key password" : "복구 키 암호", "Repeat recovery key password" : "복구 키 암호 확인", "Change recovery key password:" : "복구 키 암호 변경:", diff --git a/apps/federatedfilesharing/l10n/ja.js b/apps/federatedfilesharing/l10n/ja.js index 2548f4352f3..f858cf7579d 100644 --- a/apps/federatedfilesharing/l10n/ja.js +++ b/apps/federatedfilesharing/l10n/ja.js @@ -13,6 +13,7 @@ OC.L10N.register( "Federated Share request sent, you will receive an invitation. Check your notifications." : "クラウド共有リクエストが送信されました。招待が受信できます。通知を確認してください。", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "フェデレーション共有を確立できませんでした。連合するサーバーが古すぎます(Nextcloud <= 9)。", "It is not allowed to send federated group shares from this server." : "このサーバーからフェデレーショングループ共有を送信することはできません。", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "このアイテム %1$sはすでにアカウント %2$sと共有されているため、共有に失敗しました", "Federated shares require read permissions" : "フェデレーション共有には読み取り権限が必要です", "File is already shared with %s" : "ファイルはすでに %s と共有されています。", "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "%1$s の共有に失敗しました。%2$s が見つかりませんでした。おそらくサーバーに接続できないか、自己証明書を使用しています。", diff --git a/apps/federatedfilesharing/l10n/ja.json b/apps/federatedfilesharing/l10n/ja.json index 74ff4bc779c..2856935fbf8 100644 --- a/apps/federatedfilesharing/l10n/ja.json +++ b/apps/federatedfilesharing/l10n/ja.json @@ -11,6 +11,7 @@ "Federated Share request sent, you will receive an invitation. Check your notifications." : "クラウド共有リクエストが送信されました。招待が受信できます。通知を確認してください。", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "フェデレーション共有を確立できませんでした。連合するサーバーが古すぎます(Nextcloud <= 9)。", "It is not allowed to send federated group shares from this server." : "このサーバーからフェデレーショングループ共有を送信することはできません。", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "このアイテム %1$sはすでにアカウント %2$sと共有されているため、共有に失敗しました", "Federated shares require read permissions" : "フェデレーション共有には読み取り権限が必要です", "File is already shared with %s" : "ファイルはすでに %s と共有されています。", "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "%1$s の共有に失敗しました。%2$s が見つかりませんでした。おそらくサーバーに接続できないか、自己証明書を使用しています。", diff --git a/apps/federatedfilesharing/l10n/ko.js b/apps/federatedfilesharing/l10n/ko.js index e6e42e9c6ff..81292aec620 100644 --- a/apps/federatedfilesharing/l10n/ko.js +++ b/apps/federatedfilesharing/l10n/ko.js @@ -13,6 +13,8 @@ OC.L10N.register( "Federated Share request sent, you will receive an invitation. Check your notifications." : "연합 공유 요청을 보냈으며 초대장을 받을 것입니다. 알림을 확인하십시오.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "연합 공유를 설정할 수 없습니다. 연합하려고 하는 서버가 너무 오래되었습니다(Nextcloud 9 이하).", "It is not allowed to send federated group shares from this server." : "이 서버에서 연합 공유를 보낼 수 없습니다.", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s을(를) 공유할 수 없습니다. 이 항목을 이미 %2$s 계정과 공유하고 있습니다", + "Not allowed to create a federated share to the same account" : "같은 계정과 연합 공유를 만들 수 없음", "Federated shares require read permissions" : "연합 공유는 읽기 권한이 필요합니다", "File is already shared with %s" : "파일이 %s와(과) 이미 공유됨", "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "%1$s 공유 실패. %2$s을(를) 찾을 수 없습니다. 서버에 접근할 수 없거나 자가 서명된 인증서를 사용하고 있을 수도 있습니다.", diff --git a/apps/federatedfilesharing/l10n/ko.json b/apps/federatedfilesharing/l10n/ko.json index 0d91e5f20d8..b7467587052 100644 --- a/apps/federatedfilesharing/l10n/ko.json +++ b/apps/federatedfilesharing/l10n/ko.json @@ -11,6 +11,8 @@ "Federated Share request sent, you will receive an invitation. Check your notifications." : "연합 공유 요청을 보냈으며 초대장을 받을 것입니다. 알림을 확인하십시오.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "연합 공유를 설정할 수 없습니다. 연합하려고 하는 서버가 너무 오래되었습니다(Nextcloud 9 이하).", "It is not allowed to send federated group shares from this server." : "이 서버에서 연합 공유를 보낼 수 없습니다.", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s을(를) 공유할 수 없습니다. 이 항목을 이미 %2$s 계정과 공유하고 있습니다", + "Not allowed to create a federated share to the same account" : "같은 계정과 연합 공유를 만들 수 없음", "Federated shares require read permissions" : "연합 공유는 읽기 권한이 필요합니다", "File is already shared with %s" : "파일이 %s와(과) 이미 공유됨", "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "%1$s 공유 실패. %2$s을(를) 찾을 수 없습니다. 서버에 접근할 수 없거나 자가 서명된 인증서를 사용하고 있을 수도 있습니다.", diff --git a/apps/federation/l10n/ko.js b/apps/federation/l10n/ko.js index 2b589a52019..41f95f7746d 100644 --- a/apps/federation/l10n/ko.js +++ b/apps/federation/l10n/ko.js @@ -7,6 +7,9 @@ OC.L10N.register( "Could not add server" : "서버를 추가할 수 없음", "Trusted servers" : "신뢰할 수 있는 서버", "Federation" : "연합", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 계정 디렉토리를 교환할 수 있습니다.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 계정 디렉토리를 교환할 수 있습니다. 예를 들어, 연합 공유 시 외부 계정을 자동 완성하는 데 사용할 수 있습니다.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 계정의 디렉토리를 교환할 수 있습니다. 예를 들어, 연합 공유시 외부 계정을 자동 완성하는 데에 사용될 수 있습니다. 연합 공유를 생성하기 위해 특정 서버를 신뢰할 수 있는 서버에 반드시 추가할 필요는 없습니다.", "+ Add trusted server" : "+ 신뢰할 수 있는 서버 추가", "Trusted server" : "신뢰할 수 있는 서버", "Add" : "추가", diff --git a/apps/federation/l10n/ko.json b/apps/federation/l10n/ko.json index 3268b89a50c..710d9a34834 100644 --- a/apps/federation/l10n/ko.json +++ b/apps/federation/l10n/ko.json @@ -5,6 +5,9 @@ "Could not add server" : "서버를 추가할 수 없음", "Trusted servers" : "신뢰할 수 있는 서버", "Federation" : "연합", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 계정 디렉토리를 교환할 수 있습니다.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 계정 디렉토리를 교환할 수 있습니다. 예를 들어, 연합 공유 시 외부 계정을 자동 완성하는 데 사용할 수 있습니다.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 계정의 디렉토리를 교환할 수 있습니다. 예를 들어, 연합 공유시 외부 계정을 자동 완성하는 데에 사용될 수 있습니다. 연합 공유를 생성하기 위해 특정 서버를 신뢰할 수 있는 서버에 반드시 추가할 필요는 없습니다.", "+ Add trusted server" : "+ 신뢰할 수 있는 서버 추가", "Trusted server" : "신뢰할 수 있는 서버", "Add" : "추가", diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js index b3ef3ff145a..dee399efc77 100644 --- a/apps/files/l10n/ar.js +++ b/apps/files/l10n/ar.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(نسخ %n)", "Move cancelled" : "تمّ إلغاء النقل", "A file or folder with that name already exists in this folder" : "ملف أو مجلد بنفس ذاك الاسم موجود سلفاً في هذا المجلد", - "The files is locked" : "الملفات مقفله", "The file does not exist anymore" : "الملف لم يعد موجوداً", "Choose destination" : "إختَر المَقصِد", "Copy to {target}" : "أُنسُخ إلى {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "البحث عن حساب", "Choose" : "إختَر", "No files or folders have been deleted yet" : "لم يتم حذف أي ملفات أو مجلدات بعدُ", - "Add" : "أضِف" + "Add" : "أضِف", + "The files is locked" : "الملفات مقفله" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json index 6358ff1d735..b02bdf68f39 100644 --- a/apps/files/l10n/ar.json +++ b/apps/files/l10n/ar.json @@ -272,7 +272,6 @@ "(copy %n)" : "(نسخ %n)", "Move cancelled" : "تمّ إلغاء النقل", "A file or folder with that name already exists in this folder" : "ملف أو مجلد بنفس ذاك الاسم موجود سلفاً في هذا المجلد", - "The files is locked" : "الملفات مقفله", "The file does not exist anymore" : "الملف لم يعد موجوداً", "Choose destination" : "إختَر المَقصِد", "Copy to {target}" : "أُنسُخ إلى {target}", @@ -343,6 +342,7 @@ "Search for an account" : "البحث عن حساب", "Choose" : "إختَر", "No files or folders have been deleted yet" : "لم يتم حذف أي ملفات أو مجلدات بعدُ", - "Add" : "أضِف" + "Add" : "أضِف", + "The files is locked" : "الملفات مقفله" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" } \ No newline at end of file diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js index a34a2334477..d305dd8ffd9 100644 --- a/apps/files/l10n/ast.js +++ b/apps/files/l10n/ast.js @@ -91,9 +91,11 @@ OC.L10N.register( "\"/\" is not allowed inside a file name." : "«/» ye un caráuter que nun ta permitíu nel nome del ficheru.", "\"{name}\" is not an allowed filetype" : "«{name}» nun ye un tipu de ficheru permitíu", "Storage of {owner} is full, files cannot be updated or synced anymore!" : "L'almacenamientu del usuariu «{owner}» ta enllén. ¡Yá nun se puen xubir o sincronizar ficheros!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "La carpeta del grupu «{mountPoint}» ta enllena, ¡yá nun se puen xubir nin sincronizar ficheros!", "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "L'almacenamientu esternu «{mountPoint}» ta enllén. ¡Yá nun se puen xubir o sincronizar ficheros!", "Your storage is full, files cannot be updated or synced anymore!" : "El to almacenamientu ta enllén. ¡Yá nun se puen xubir o sincronizar ficheros!", "Storage of {owner} is almost full ({usedSpacePercent}%)." : "L'almacenamientu del usuariu «{owner}» ta cuasi enllén ({usedSpacePercent}%).", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "La carpeta del grupu «{mountPoint}» ta cuasi enllena ({usedSpacePercent}%).", "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "L'almacenamientu esternu «{mountPoint}» ta cuasi enllén ({usedSpacePercent}%).", "Your storage is almost full ({usedSpacePercent}%)." : "El to almacenamientu ta cuasi enllén ({usedSpacePercent}%).", "_matches \"{filter}\"_::_match \"{filter}\"_" : ["concasa con «{filter}»","concasen con «{filter}»"], @@ -117,6 +119,7 @@ OC.L10N.register( "You added {file} to your favorites" : "Metiesti'l ficheru «{ficheru}» en Favoritos", "You removed {file} from your favorites" : "Quitesti'l ficheru «{file}» de Favoritos", "Favorites" : "Favoritos", + "File changes" : "Cambeos del ficheru", "Created by {user}" : "Elementu creáu por {user}", "Changed by {user}" : "Elementu camudáu por {user}", "Deleted by {user}" : "Elementu desaniciáu por {user}", @@ -139,7 +142,17 @@ OC.L10N.register( "{user} deleted an encrypted file in {file}" : "«{user}» desanició un ficheru cifráu de: {file}", "You restored {file}" : "Restauresti {file}", "{user} restored {file}" : "{user} restauró {file}", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Renomesti «{oldfile}» (elementu anubríu) a «{newfile}» (elementu anubríu)", + "You renamed {oldfile} (hidden) to {newfile}" : "Renomesti «{oldfile}» (elementu anubríu) a «{newfile}»", + "You renamed {oldfile} to {newfile} (hidden)" : "Renomesti «{oldfile}» a «{newfile}» (elementu anubríu)", + "You renamed {oldfile} to {newfile}" : "Renomesti «{oldfile}» a «{newfile}»", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} renomó «{oldfile}» (elementu anubríu) a {newfile} (elementu anubríu)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} renomó {oldfile} (elementu anubríu) a {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} renomó {oldfile} a {newfile} (elementu anubríu)", + "{user} renamed {oldfile} to {newfile}" : "{user} renomó {oldfile} a {newfile}", "You moved {oldfile} to {newfile}" : "Moviesti {oldfile} a {newfile}", + "A file or folder has been changed" : "Hai un ficheru o una carpeta que camudó", + "A favorite file or folder has been changed" : "Hai un ficheru o una carpeta de Favoritos que camudó", "Accept" : "Aceptar", "Reject" : "Refugar", "Incoming ownership transfer from {user}" : "Recibióse una tresferencia de propiedá de: {user}", @@ -175,6 +188,8 @@ OC.L10N.register( "Another entry with the same name already exists" : "Yá esiste otra entrada col mesmu nome", "Renamed \"{oldName}\" to \"{newName}\"" : "Renomóse «{oldName}» a «{newName}»", "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste", + "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.", + "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»", "Total rows summary" : "Resume total de fieleres", "Toggle selection for all files and folders" : "Alternar la seleición de tolos ficheros y toles carpetes", "\"{displayName}\" failed on some elements " : "«{displauName}» falló con dalgún elementu", @@ -252,7 +267,6 @@ OC.L10N.register( "(copy %n)" : "(copia %n)", "Move cancelled" : "Anulóse la operación de mover", "A file or folder with that name already exists in this folder" : "Nesta carpeta, yá estie un ficheru o una carpeta con esi nome", - "The files is locked" : "El ficheru ta bloquiáu", "The file does not exist anymore" : "El ficheru yá nun esiste", "Choose destination" : "Escoyer el destín", "Copy to {target}" : "Copiar a {target}", @@ -322,6 +336,7 @@ OC.L10N.register( "Search for an account" : "Buscar una cuenta", "Choose" : "Escoyer", "No files or folders have been deleted yet" : "Entá nun se desanició nengún ficheru nin carpeta", - "Add" : "Amestar" + "Add" : "Amestar", + "The files is locked" : "El ficheru ta bloquiáu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json index b83fe5d4b43..91e4dbbc886 100644 --- a/apps/files/l10n/ast.json +++ b/apps/files/l10n/ast.json @@ -89,9 +89,11 @@ "\"/\" is not allowed inside a file name." : "«/» ye un caráuter que nun ta permitíu nel nome del ficheru.", "\"{name}\" is not an allowed filetype" : "«{name}» nun ye un tipu de ficheru permitíu", "Storage of {owner} is full, files cannot be updated or synced anymore!" : "L'almacenamientu del usuariu «{owner}» ta enllén. ¡Yá nun se puen xubir o sincronizar ficheros!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "La carpeta del grupu «{mountPoint}» ta enllena, ¡yá nun se puen xubir nin sincronizar ficheros!", "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "L'almacenamientu esternu «{mountPoint}» ta enllén. ¡Yá nun se puen xubir o sincronizar ficheros!", "Your storage is full, files cannot be updated or synced anymore!" : "El to almacenamientu ta enllén. ¡Yá nun se puen xubir o sincronizar ficheros!", "Storage of {owner} is almost full ({usedSpacePercent}%)." : "L'almacenamientu del usuariu «{owner}» ta cuasi enllén ({usedSpacePercent}%).", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "La carpeta del grupu «{mountPoint}» ta cuasi enllena ({usedSpacePercent}%).", "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "L'almacenamientu esternu «{mountPoint}» ta cuasi enllén ({usedSpacePercent}%).", "Your storage is almost full ({usedSpacePercent}%)." : "El to almacenamientu ta cuasi enllén ({usedSpacePercent}%).", "_matches \"{filter}\"_::_match \"{filter}\"_" : ["concasa con «{filter}»","concasen con «{filter}»"], @@ -115,6 +117,7 @@ "You added {file} to your favorites" : "Metiesti'l ficheru «{ficheru}» en Favoritos", "You removed {file} from your favorites" : "Quitesti'l ficheru «{file}» de Favoritos", "Favorites" : "Favoritos", + "File changes" : "Cambeos del ficheru", "Created by {user}" : "Elementu creáu por {user}", "Changed by {user}" : "Elementu camudáu por {user}", "Deleted by {user}" : "Elementu desaniciáu por {user}", @@ -137,7 +140,17 @@ "{user} deleted an encrypted file in {file}" : "«{user}» desanició un ficheru cifráu de: {file}", "You restored {file}" : "Restauresti {file}", "{user} restored {file}" : "{user} restauró {file}", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Renomesti «{oldfile}» (elementu anubríu) a «{newfile}» (elementu anubríu)", + "You renamed {oldfile} (hidden) to {newfile}" : "Renomesti «{oldfile}» (elementu anubríu) a «{newfile}»", + "You renamed {oldfile} to {newfile} (hidden)" : "Renomesti «{oldfile}» a «{newfile}» (elementu anubríu)", + "You renamed {oldfile} to {newfile}" : "Renomesti «{oldfile}» a «{newfile}»", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} renomó «{oldfile}» (elementu anubríu) a {newfile} (elementu anubríu)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} renomó {oldfile} (elementu anubríu) a {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} renomó {oldfile} a {newfile} (elementu anubríu)", + "{user} renamed {oldfile} to {newfile}" : "{user} renomó {oldfile} a {newfile}", "You moved {oldfile} to {newfile}" : "Moviesti {oldfile} a {newfile}", + "A file or folder has been changed" : "Hai un ficheru o una carpeta que camudó", + "A favorite file or folder has been changed" : "Hai un ficheru o una carpeta de Favoritos que camudó", "Accept" : "Aceptar", "Reject" : "Refugar", "Incoming ownership transfer from {user}" : "Recibióse una tresferencia de propiedá de: {user}", @@ -173,6 +186,8 @@ "Another entry with the same name already exists" : "Yá esiste otra entrada col mesmu nome", "Renamed \"{oldName}\" to \"{newName}\"" : "Renomóse «{oldName}» a «{newName}»", "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste", + "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.", + "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»", "Total rows summary" : "Resume total de fieleres", "Toggle selection for all files and folders" : "Alternar la seleición de tolos ficheros y toles carpetes", "\"{displayName}\" failed on some elements " : "«{displauName}» falló con dalgún elementu", @@ -250,7 +265,6 @@ "(copy %n)" : "(copia %n)", "Move cancelled" : "Anulóse la operación de mover", "A file or folder with that name already exists in this folder" : "Nesta carpeta, yá estie un ficheru o una carpeta con esi nome", - "The files is locked" : "El ficheru ta bloquiáu", "The file does not exist anymore" : "El ficheru yá nun esiste", "Choose destination" : "Escoyer el destín", "Copy to {target}" : "Copiar a {target}", @@ -320,6 +334,7 @@ "Search for an account" : "Buscar una cuenta", "Choose" : "Escoyer", "No files or folders have been deleted yet" : "Entá nun se desanició nengún ficheru nin carpeta", - "Add" : "Amestar" + "Add" : "Amestar", + "The files is locked" : "El ficheru ta bloquiáu" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index 5bc6238fa60..cdff247fa0c 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(còpia %n)", "Move cancelled" : "S'ha cancel·lat el desplaçament", "A file or folder with that name already exists in this folder" : "Ja existeix un fitxer o carpeta amb aquest nom en aquesta carpeta", - "The files is locked" : "El fitxer està blocat", "The file does not exist anymore" : "El fitxer ja no existeix", "Choose destination" : "Trieu una destinació", "Copy to {target}" : "Copia a {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Cerqueu un compte", "Choose" : "Tria", "No files or folders have been deleted yet" : "Encara no s'ha suprimit cap fitxer o carpeta", - "Add" : "Afegeix" + "Add" : "Afegeix", + "The files is locked" : "El fitxer està blocat" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 7ad144dd467..e064d78caa9 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -272,7 +272,6 @@ "(copy %n)" : "(còpia %n)", "Move cancelled" : "S'ha cancel·lat el desplaçament", "A file or folder with that name already exists in this folder" : "Ja existeix un fitxer o carpeta amb aquest nom en aquesta carpeta", - "The files is locked" : "El fitxer està blocat", "The file does not exist anymore" : "El fitxer ja no existeix", "Choose destination" : "Trieu una destinació", "Copy to {target}" : "Copia a {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Cerqueu un compte", "Choose" : "Tria", "No files or folders have been deleted yet" : "Encara no s'ha suprimit cap fitxer o carpeta", - "Add" : "Afegeix" + "Add" : "Afegeix", + "The files is locked" : "El fitxer està blocat" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js index 52e8c214a2c..71abe885c12 100644 --- a/apps/files/l10n/cs.js +++ b/apps/files/l10n/cs.js @@ -255,7 +255,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "V oné složce se už daný soubor/složka nachází", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Není možné přesunout soubor/složku do sebe samé nebo do své vlastní podložky", "A file or folder with that name already exists in this folder" : "V této složce už existuje stejnojmenný soubor či složka", - "The files is locked" : "Soubory jsou uzamčené", "The file does not exist anymore" : "Soubor už neexistuje", "Choose destination" : "Vyberte cíl", "Copy to {target}" : "Zkopírovat do {target}", @@ -319,6 +318,7 @@ OC.L10N.register( "Search for an account" : "Hledat účet", "Choose" : "Vybrat", "No files or folders have been deleted yet" : "Zatím nebyly smazány žádné soubory či složky", - "Add" : "Přidat" + "Add" : "Přidat", + "The files is locked" : "Soubory jsou uzamčené" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json index 15e7a64ee7d..c0fe4c1b9a6 100644 --- a/apps/files/l10n/cs.json +++ b/apps/files/l10n/cs.json @@ -253,7 +253,6 @@ "This file/folder is already in that directory" : "V oné složce se už daný soubor/složka nachází", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Není možné přesunout soubor/složku do sebe samé nebo do své vlastní podložky", "A file or folder with that name already exists in this folder" : "V této složce už existuje stejnojmenný soubor či složka", - "The files is locked" : "Soubory jsou uzamčené", "The file does not exist anymore" : "Soubor už neexistuje", "Choose destination" : "Vyberte cíl", "Copy to {target}" : "Zkopírovat do {target}", @@ -317,6 +316,7 @@ "Search for an account" : "Hledat účet", "Choose" : "Vybrat", "No files or folders have been deleted yet" : "Zatím nebyly smazány žádné soubory či složky", - "Add" : "Přidat" + "Add" : "Přidat", + "The files is locked" : "Soubory jsou uzamčené" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" } \ No newline at end of file diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index c53fa1d091b..683aef72cf6 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -244,7 +244,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Filen/mappen er allerede i denne mappe", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan ikke flytte en fil/mappe ind i sig selv, eller til en mappe inden i sig selv", "A file or folder with that name already exists in this folder" : "En fil eller mappe med det navn findes allerede i denne mappe", - "The files is locked" : "Filerne er låste", "The file does not exist anymore" : "Filen findes ikke længere", "Copy to {target}" : "Kopiér til {target}", "Move to {target}" : "Flyt til {target}", @@ -305,6 +304,7 @@ OC.L10N.register( "Search for an account" : "Søg efter en konto", "Choose" : "Vælg", "No files or folders have been deleted yet" : "Ingen filer eller mappe er slettet endnu", - "Add" : "Tilføj" + "Add" : "Tilføj", + "The files is locked" : "Filerne er låste" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index a666ea9fa91..ac094f31578 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -242,7 +242,6 @@ "This file/folder is already in that directory" : "Filen/mappen er allerede i denne mappe", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan ikke flytte en fil/mappe ind i sig selv, eller til en mappe inden i sig selv", "A file or folder with that name already exists in this folder" : "En fil eller mappe med det navn findes allerede i denne mappe", - "The files is locked" : "Filerne er låste", "The file does not exist anymore" : "Filen findes ikke længere", "Copy to {target}" : "Kopiér til {target}", "Move to {target}" : "Flyt til {target}", @@ -303,6 +302,7 @@ "Search for an account" : "Søg efter en konto", "Choose" : "Vælg", "No files or folders have been deleted yet" : "Ingen filer eller mappe er slettet endnu", - "Add" : "Tilføj" + "Add" : "Tilføj", + "The files is locked" : "Filerne er låste" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index 48e13dfef03..60a26e8d63f 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -251,7 +251,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Diese Datei oder Ordner ist bereits in diesem Verzeichnis vorhanden", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Eine Datei oder ein Ordner kann nicht auf sich selbst oder in einen Unterordner von sich selbst verschoben werden.", "A file or folder with that name already exists in this folder" : "In diesem Ordner ist bereits eine Datei oder ein Ordner mit diesem Namen vorhanden", - "The files is locked" : "Die Datei ist gesperrt", "The file does not exist anymore" : "Die Datei existiert nicht mehr", "Copy to {target}" : "Nach {target} kopieren", "Move to {target}" : "Nach {target} verschieben", @@ -314,6 +313,7 @@ OC.L10N.register( "Search for an account" : "Nach einem Konto suchen", "Choose" : "Auswählen", "No files or folders have been deleted yet" : "Es wurden noch keine Dateien oder Ordner gelöscht", - "Add" : "Hinzufügen" + "Add" : "Hinzufügen", + "The files is locked" : "Die Datei ist gesperrt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index 48da3059026..fe799edefa2 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -249,7 +249,6 @@ "This file/folder is already in that directory" : "Diese Datei oder Ordner ist bereits in diesem Verzeichnis vorhanden", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Eine Datei oder ein Ordner kann nicht auf sich selbst oder in einen Unterordner von sich selbst verschoben werden.", "A file or folder with that name already exists in this folder" : "In diesem Ordner ist bereits eine Datei oder ein Ordner mit diesem Namen vorhanden", - "The files is locked" : "Die Datei ist gesperrt", "The file does not exist anymore" : "Die Datei existiert nicht mehr", "Copy to {target}" : "Nach {target} kopieren", "Move to {target}" : "Nach {target} verschieben", @@ -312,6 +311,7 @@ "Search for an account" : "Nach einem Konto suchen", "Choose" : "Auswählen", "No files or folders have been deleted yet" : "Es wurden noch keine Dateien oder Ordner gelöscht", - "Add" : "Hinzufügen" + "Add" : "Hinzufügen", + "The files is locked" : "Die Datei ist gesperrt" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index 8436ebaae38..2ede1e0d464 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(%n kopieren)", "Move cancelled" : "Verschieben abgebrochen", "A file or folder with that name already exists in this folder" : "In diesem Ordner ist bereits eine Datei oder ein Ordner mit diesem Namen vorhanden", - "The files is locked" : "Die Datei ist gesperrt", "The file does not exist anymore" : "Diese Datei existiert nicht mehr", "Choose destination" : "Ziel wählen", "Copy to {target}" : "Nach {target} kopieren", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Nach einem Konto suchen", "Choose" : "Auswählen", "No files or folders have been deleted yet" : "Es wurden noch keine Dateien oder Ordner gelöscht", - "Add" : "Hinzufügen" + "Add" : "Hinzufügen", + "The files is locked" : "Die Datei ist gesperrt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 261ff46e995..6a795b52af9 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -272,7 +272,6 @@ "(copy %n)" : "(%n kopieren)", "Move cancelled" : "Verschieben abgebrochen", "A file or folder with that name already exists in this folder" : "In diesem Ordner ist bereits eine Datei oder ein Ordner mit diesem Namen vorhanden", - "The files is locked" : "Die Datei ist gesperrt", "The file does not exist anymore" : "Diese Datei existiert nicht mehr", "Choose destination" : "Ziel wählen", "Copy to {target}" : "Nach {target} kopieren", @@ -343,6 +342,7 @@ "Search for an account" : "Nach einem Konto suchen", "Choose" : "Auswählen", "No files or folders have been deleted yet" : "Es wurden noch keine Dateien oder Ordner gelöscht", - "Add" : "Hinzufügen" + "Add" : "Hinzufügen", + "The files is locked" : "Die Datei ist gesperrt" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index 2810f064036..b3c98db20be 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -250,7 +250,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Αυτό το αρχείο/φάκελος βρίσκεται ήδη σε αυτόν τον κατάλογο", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Δεν μπορείτε να μετακινήσετε ένα αρχείο/φάκελο στον εαυτό του ή σε έναν υποφάκελο του ίδιου του φακέλου.", "A file or folder with that name already exists in this folder" : "Ένα αρχείο ή ένας φάκελος με αυτό το όνομα υπάρχει ήδη σε αυτόν το φάκελο", - "The files is locked" : "Το αρχείο είναι κλειδωμένο", "The file does not exist anymore" : "Το αρχείο δεν υπάρχει πλέον", "Choose destination" : "Επιλέξτε προορισμό", "Copy to {target}" : "Αντιγραφή σε {target}", @@ -312,6 +311,7 @@ OC.L10N.register( "Search for an account" : "Αναζήτηση για λογαριασμό", "Choose" : "Επιλογή", "No files or folders have been deleted yet" : "Κανένα αρχείο ή φάκελος δεν έχει διαγραφεί ακόμα", - "Add" : "Προσθήκη" + "Add" : "Προσθήκη", + "The files is locked" : "Το αρχείο είναι κλειδωμένο" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index 4ff985fff75..a2da9c8a777 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -248,7 +248,6 @@ "This file/folder is already in that directory" : "Αυτό το αρχείο/φάκελος βρίσκεται ήδη σε αυτόν τον κατάλογο", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Δεν μπορείτε να μετακινήσετε ένα αρχείο/φάκελο στον εαυτό του ή σε έναν υποφάκελο του ίδιου του φακέλου.", "A file or folder with that name already exists in this folder" : "Ένα αρχείο ή ένας φάκελος με αυτό το όνομα υπάρχει ήδη σε αυτόν το φάκελο", - "The files is locked" : "Το αρχείο είναι κλειδωμένο", "The file does not exist anymore" : "Το αρχείο δεν υπάρχει πλέον", "Choose destination" : "Επιλέξτε προορισμό", "Copy to {target}" : "Αντιγραφή σε {target}", @@ -310,6 +309,7 @@ "Search for an account" : "Αναζήτηση για λογαριασμό", "Choose" : "Επιλογή", "No files or folders have been deleted yet" : "Κανένα αρχείο ή φάκελος δεν έχει διαγραφεί ακόμα", - "Add" : "Προσθήκη" + "Add" : "Προσθήκη", + "The files is locked" : "Το αρχείο είναι κλειδωμένο" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index 922c5912e52..26b8a19a3d4 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(copy %n)", "Move cancelled" : "Move cancelled", "A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder", - "The files is locked" : "The files is locked", "The file does not exist anymore" : "The file does not exist anymore", "Choose destination" : "Choose destination", "Copy to {target}" : "Copy to {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Search for an account", "Choose" : "Choose", "No files or folders have been deleted yet" : "No files or folders have been deleted yet", - "Add" : "Add" + "Add" : "Add", + "The files is locked" : "The files is locked" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index a5913aeea5a..427904c4a0f 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -272,7 +272,6 @@ "(copy %n)" : "(copy %n)", "Move cancelled" : "Move cancelled", "A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder", - "The files is locked" : "The files is locked", "The file does not exist anymore" : "The file does not exist anymore", "Choose destination" : "Choose destination", "Copy to {target}" : "Copy to {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Search for an account", "Choose" : "Choose", "No files or folders have been deleted yet" : "No files or folders have been deleted yet", - "Add" : "Add" + "Add" : "Add", + "The files is locked" : "The files is locked" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index a9114262c0a..5edcba87c24 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -38,6 +38,9 @@ OC.L10N.register( "Edit locally" : "Editar localmente", "Open" : "Abrir", "_Delete file_::_Delete files_" : ["Eliminar archivo","Eliminar archivos","Eliminar archivos"], + "_Delete folder_::_Delete folders_" : ["Eliminar carpeta","Eliminar carpetas","Eliminar carpetas"], + "_Disconnect storage_::_Disconnect storages_" : ["Desconectar almacenamiento","Desconectar almacenamientos","Desconectar almacenamientos"], + "_Leave this share_::_Leave these shares_" : ["Abandonar este recurso compartido","Abandonar estos recursos compartidos","Abandonar estos recursos compartidos"], "Could not load info for file \"{file}\"" : "No se ha podido cargar información para el archivo \"{file}\"", "Files" : "Archivos", "Details" : "Detalles", @@ -98,10 +101,12 @@ OC.L10N.register( "Your storage is almost full ({usedSpacePercent}%)." : "Tu almacenamiento está casi lleno ({usedSpacePercent}%).", "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coinciden \"{filter}\"","coincide \"{filter}\"","coincide \"{filter}\""], "View in folder" : "Ver en carpeta", + "Direct link was copied (only works for people who have access to this file/folder)" : "El enlace directo fue copiado (solo funciona para usuarios que tienen acceso a este archivo/carpeta)", "Path" : "Ruta", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Favorited" : "Agregado a favoritos", "Favorite" : "Favorito", + "Copy direct link (only works for people who have access to this file/folder)" : "El enlace directo fue copiado (solo funciona para usuarios que tienen acceso a este archivo/carpeta)", "New folder" : "Nueva carpeta", "Create new folder" : "Crear carpeta nueva", "Upload file" : "Subir archivo", @@ -122,6 +127,7 @@ OC.L10N.register( "Restored by {user}" : "Restaurado por {user}", "Renamed by {user}" : "Renombrado por {user}", "Moved by {user}" : "Movido por {user}", + "\"remote account\"" : "\"cuenta remota\"", "You created {file}" : "Ha creado {file}", "You created an encrypted file in {file}" : "Has creado un archivo cifrado en {file}", "{user} created {file}" : "{user} ha creado {file}", @@ -169,6 +175,8 @@ OC.L10N.register( "Drag and drop files here to upload" : "Arrastre y suelte archivos aquí para subirlos", "Your have used your space quota and cannot upload files anymore" : "Ha utilizado su cuota de espacio y ya no puede subir más archivos", "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí", + "Some files could not be uploaded" : "No se pudieron subir algunos archivos", + "Files uploaded successfully" : "Se subieron los archivos exitosamente", "\"{displayName}\" action executed successfully" : "la acción \"{displayName}\" se ejecutó exitósamente", "\"{displayName}\" action failed" : "la acción \"{displayName}\" falló", "Toggle selection for file \"{displayName}\"" : "Alternar selección para archivo \"{displayName}\"", @@ -201,6 +209,7 @@ OC.L10N.register( "Could not refresh storage stats" : "No fue posible refrescar las estadísticas de almacenamiento", "Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡Ya no se pueden subir ni sincronizarse más archivos!", "Create" : "Crear", + "A file or folder with that name already exists." : "Un archivo o carpeta con ese nombre ya existe.", "Transfer ownership of a file or folder" : "Transferir la propiedad de un archivo o carpeta", "Choose file or folder to transfer" : "Elegir archivo o carpeta para transferir", "Change" : "Cambiar", @@ -254,15 +263,17 @@ OC.L10N.register( "Unable to create new file from template" : "No se ha podido crear un nuevo archivo desde la plantilla", "Delete permanently" : "Eliminar de forma permanente", "Delete and unshare" : "Eliminar y dejar de compartir", + "You are about to delete {count} items." : "Está a punto de eliminar {count} ítems.", "Confirm deletion" : "Confirmar eliminación", "Cancel" : "Cancelar", + "Deletion cancelled" : "Eliminación cancelada", "Destination is not a folder" : "El destino no es una carpeta", "This file/folder is already in that directory" : "Este archivo/carpeta ya está en ese directorio", "You cannot move a file/folder onto itself or into a subfolder of itself" : "No puede mover un archivo/carpeta a sí mismo o a una sub-carpeta de sí mismo", "(copy)" : "(copiar)", "(copy %n)" : "(copiar %n)", + "Move cancelled" : "Se canceló la movida", "A file or folder with that name already exists in this folder" : "Un archivo o carpeta con ese nombre ya existe en esta carpeta", - "The files is locked" : "El archivo está bloqueado", "The file does not exist anymore" : "El archivo ya no existe", "Choose destination" : "Elegir destino", "Copy to {target}" : "Copiar a {target}", @@ -272,6 +283,7 @@ OC.L10N.register( "Open folder {displayName}" : "Abrir carpeta {displayName}", "Open in Files" : "Abrir en Archivos", "Open details" : "Abrir detalles", + "An error occurred while uploading. Please try again later." : "Ocurrió un error mientras se hacía la subida. Por favor, inténtelo de nuevo más tarde.", "Could not copy {file}. {message}" : "No se pudo copiar {file}. {message}", "Could not move {file}. {message}" : "No se pudo mover {file}. {message}", "Created new folder \"{name}\"" : "Se creó la carpeta nueva \"{name}\"", @@ -279,6 +291,7 @@ OC.L10N.register( "Unable to initialize the templates directory" : "No se ha podido iniciar la carpeta de plantillas", "Create new templates folder" : "Crear nueva carpeta de plantillas", "Templates" : "Plantillas", + "New template folder" : "Nueva carpeta de plantillas", "One of the dropped files could not be processed" : "Uno de los archivos arrastrados no puede ser procesado", "Uploading \"{filename}\" failed" : "La subida de \"{filename}\" falló", "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetas","{folderCount} carpetas"], @@ -291,6 +304,10 @@ OC.L10N.register( "Files and folders you mark as favorite will show up here" : "Aquí aparecerán los archivos y carpetas que has marcado como favoritos", "All files" : "Todos los archivos", "List of your files and folders." : "Lista de sus archivos y carpetas.", + "Personal Files" : "Archivos Personales", + "List of your files and folders that are not shared." : "Lista de sus archivos y carpetas que no están compartidos.", + "No personal files found" : "No se encontraron archivos personales", + "Files that are not shared will show up here." : "Los archivos y carpetas que no ha compartido aparecerán aquí.", "List of recently modified files and folders." : "Lista de archivos y carpetas modificados recientemente.", "No recently modified files" : "No hay archivos modificados recientemente.", "Files and folders you recently modified will show up here." : "Los archivos y carpetas que ha modificado recientemente aparecerán aquí.", @@ -327,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Buscar una cuenta", "Choose" : "Seleccione", "No files or folders have been deleted yet" : "No se han borrado archivos o carpetas todavía", - "Add" : "Añadir" + "Add" : "Añadir", + "The files is locked" : "El archivo está bloqueado" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index d45e7cc6c2e..bd3eb124199 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -36,6 +36,9 @@ "Edit locally" : "Editar localmente", "Open" : "Abrir", "_Delete file_::_Delete files_" : ["Eliminar archivo","Eliminar archivos","Eliminar archivos"], + "_Delete folder_::_Delete folders_" : ["Eliminar carpeta","Eliminar carpetas","Eliminar carpetas"], + "_Disconnect storage_::_Disconnect storages_" : ["Desconectar almacenamiento","Desconectar almacenamientos","Desconectar almacenamientos"], + "_Leave this share_::_Leave these shares_" : ["Abandonar este recurso compartido","Abandonar estos recursos compartidos","Abandonar estos recursos compartidos"], "Could not load info for file \"{file}\"" : "No se ha podido cargar información para el archivo \"{file}\"", "Files" : "Archivos", "Details" : "Detalles", @@ -96,10 +99,12 @@ "Your storage is almost full ({usedSpacePercent}%)." : "Tu almacenamiento está casi lleno ({usedSpacePercent}%).", "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coinciden \"{filter}\"","coincide \"{filter}\"","coincide \"{filter}\""], "View in folder" : "Ver en carpeta", + "Direct link was copied (only works for people who have access to this file/folder)" : "El enlace directo fue copiado (solo funciona para usuarios que tienen acceso a este archivo/carpeta)", "Path" : "Ruta", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Favorited" : "Agregado a favoritos", "Favorite" : "Favorito", + "Copy direct link (only works for people who have access to this file/folder)" : "El enlace directo fue copiado (solo funciona para usuarios que tienen acceso a este archivo/carpeta)", "New folder" : "Nueva carpeta", "Create new folder" : "Crear carpeta nueva", "Upload file" : "Subir archivo", @@ -120,6 +125,7 @@ "Restored by {user}" : "Restaurado por {user}", "Renamed by {user}" : "Renombrado por {user}", "Moved by {user}" : "Movido por {user}", + "\"remote account\"" : "\"cuenta remota\"", "You created {file}" : "Ha creado {file}", "You created an encrypted file in {file}" : "Has creado un archivo cifrado en {file}", "{user} created {file}" : "{user} ha creado {file}", @@ -167,6 +173,8 @@ "Drag and drop files here to upload" : "Arrastre y suelte archivos aquí para subirlos", "Your have used your space quota and cannot upload files anymore" : "Ha utilizado su cuota de espacio y ya no puede subir más archivos", "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí", + "Some files could not be uploaded" : "No se pudieron subir algunos archivos", + "Files uploaded successfully" : "Se subieron los archivos exitosamente", "\"{displayName}\" action executed successfully" : "la acción \"{displayName}\" se ejecutó exitósamente", "\"{displayName}\" action failed" : "la acción \"{displayName}\" falló", "Toggle selection for file \"{displayName}\"" : "Alternar selección para archivo \"{displayName}\"", @@ -199,6 +207,7 @@ "Could not refresh storage stats" : "No fue posible refrescar las estadísticas de almacenamiento", "Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡Ya no se pueden subir ni sincronizarse más archivos!", "Create" : "Crear", + "A file or folder with that name already exists." : "Un archivo o carpeta con ese nombre ya existe.", "Transfer ownership of a file or folder" : "Transferir la propiedad de un archivo o carpeta", "Choose file or folder to transfer" : "Elegir archivo o carpeta para transferir", "Change" : "Cambiar", @@ -252,15 +261,17 @@ "Unable to create new file from template" : "No se ha podido crear un nuevo archivo desde la plantilla", "Delete permanently" : "Eliminar de forma permanente", "Delete and unshare" : "Eliminar y dejar de compartir", + "You are about to delete {count} items." : "Está a punto de eliminar {count} ítems.", "Confirm deletion" : "Confirmar eliminación", "Cancel" : "Cancelar", + "Deletion cancelled" : "Eliminación cancelada", "Destination is not a folder" : "El destino no es una carpeta", "This file/folder is already in that directory" : "Este archivo/carpeta ya está en ese directorio", "You cannot move a file/folder onto itself or into a subfolder of itself" : "No puede mover un archivo/carpeta a sí mismo o a una sub-carpeta de sí mismo", "(copy)" : "(copiar)", "(copy %n)" : "(copiar %n)", + "Move cancelled" : "Se canceló la movida", "A file or folder with that name already exists in this folder" : "Un archivo o carpeta con ese nombre ya existe en esta carpeta", - "The files is locked" : "El archivo está bloqueado", "The file does not exist anymore" : "El archivo ya no existe", "Choose destination" : "Elegir destino", "Copy to {target}" : "Copiar a {target}", @@ -270,6 +281,7 @@ "Open folder {displayName}" : "Abrir carpeta {displayName}", "Open in Files" : "Abrir en Archivos", "Open details" : "Abrir detalles", + "An error occurred while uploading. Please try again later." : "Ocurrió un error mientras se hacía la subida. Por favor, inténtelo de nuevo más tarde.", "Could not copy {file}. {message}" : "No se pudo copiar {file}. {message}", "Could not move {file}. {message}" : "No se pudo mover {file}. {message}", "Created new folder \"{name}\"" : "Se creó la carpeta nueva \"{name}\"", @@ -277,6 +289,7 @@ "Unable to initialize the templates directory" : "No se ha podido iniciar la carpeta de plantillas", "Create new templates folder" : "Crear nueva carpeta de plantillas", "Templates" : "Plantillas", + "New template folder" : "Nueva carpeta de plantillas", "One of the dropped files could not be processed" : "Uno de los archivos arrastrados no puede ser procesado", "Uploading \"{filename}\" failed" : "La subida de \"{filename}\" falló", "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetas","{folderCount} carpetas"], @@ -289,6 +302,10 @@ "Files and folders you mark as favorite will show up here" : "Aquí aparecerán los archivos y carpetas que has marcado como favoritos", "All files" : "Todos los archivos", "List of your files and folders." : "Lista de sus archivos y carpetas.", + "Personal Files" : "Archivos Personales", + "List of your files and folders that are not shared." : "Lista de sus archivos y carpetas que no están compartidos.", + "No personal files found" : "No se encontraron archivos personales", + "Files that are not shared will show up here." : "Los archivos y carpetas que no ha compartido aparecerán aquí.", "List of recently modified files and folders." : "Lista de archivos y carpetas modificados recientemente.", "No recently modified files" : "No hay archivos modificados recientemente.", "Files and folders you recently modified will show up here." : "Los archivos y carpetas que ha modificado recientemente aparecerán aquí.", @@ -325,6 +342,7 @@ "Search for an account" : "Buscar una cuenta", "Choose" : "Seleccione", "No files or folders have been deleted yet" : "No se han borrado archivos o carpetas todavía", - "Add" : "Añadir" + "Add" : "Añadir", + "The files is locked" : "El archivo está bloqueado" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js index 2d1679f72e7..379f061a036 100644 --- a/apps/files/l10n/es_MX.js +++ b/apps/files/l10n/es_MX.js @@ -273,7 +273,6 @@ OC.L10N.register( "(copy)" : "(copiar)", "(copy %n)" : "(copiar %n)", "A file or folder with that name already exists in this folder" : "Un archivo o carpeta con ese nombre ya existe en esta carpeta", - "The files is locked" : "El archivo está bloqueado", "The file does not exist anymore" : "El archivo ya no existe", "Choose destination" : "Elegir destino", "Copy to {target}" : "Copiar a {target}", @@ -344,6 +343,7 @@ OC.L10N.register( "Search for an account" : "Buscar una cuenta", "Choose" : "Seleccionar", "No files or folders have been deleted yet" : "No se han eliminado archivos o carpetas todavía", - "Add" : "Guardar" + "Add" : "Guardar", + "The files is locked" : "El archivo está bloqueado" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json index 018c5f58b80..eb4da010c02 100644 --- a/apps/files/l10n/es_MX.json +++ b/apps/files/l10n/es_MX.json @@ -271,7 +271,6 @@ "(copy)" : "(copiar)", "(copy %n)" : "(copiar %n)", "A file or folder with that name already exists in this folder" : "Un archivo o carpeta con ese nombre ya existe en esta carpeta", - "The files is locked" : "El archivo está bloqueado", "The file does not exist anymore" : "El archivo ya no existe", "Choose destination" : "Elegir destino", "Copy to {target}" : "Copiar a {target}", @@ -342,6 +341,7 @@ "Search for an account" : "Buscar una cuenta", "Choose" : "Seleccionar", "No files or folders have been deleted yet" : "No se han eliminado archivos o carpetas todavía", - "Add" : "Guardar" + "Add" : "Guardar", + "The files is locked" : "El archivo está bloqueado" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js index a56c8e82051..019c23e77c2 100644 --- a/apps/files/l10n/eu.js +++ b/apps/files/l10n/eu.js @@ -269,7 +269,6 @@ OC.L10N.register( "(copy)" : "(kopiatu)", "(copy %n)" : "(kopiatu %n)", "A file or folder with that name already exists in this folder" : "Izen hori duen fitxategi edo karpeta bat dago karpena honetan", - "The files is locked" : "Fixategiak blokeatuta dago", "The file does not exist anymore" : "Fitxategia ez da existizen dagoeneko", "Choose destination" : "Aukeratu helburua", "Copy to {target}" : "Kopiatu hona: {target}", @@ -334,6 +333,7 @@ OC.L10N.register( "Search for an account" : "Bilatu kontu bat", "Choose" : "Aukeratu", "No files or folders have been deleted yet" : "Oraindik ez da ezabatu fitxategirik edo karpetarik", - "Add" : "Gehitu" + "Add" : "Gehitu", + "The files is locked" : "Fixategiak blokeatuta dago" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json index 9f50fbadb4e..bb7954ad13c 100644 --- a/apps/files/l10n/eu.json +++ b/apps/files/l10n/eu.json @@ -267,7 +267,6 @@ "(copy)" : "(kopiatu)", "(copy %n)" : "(kopiatu %n)", "A file or folder with that name already exists in this folder" : "Izen hori duen fitxategi edo karpeta bat dago karpena honetan", - "The files is locked" : "Fixategiak blokeatuta dago", "The file does not exist anymore" : "Fitxategia ez da existizen dagoeneko", "Choose destination" : "Aukeratu helburua", "Copy to {target}" : "Kopiatu hona: {target}", @@ -332,6 +331,7 @@ "Search for an account" : "Bilatu kontu bat", "Choose" : "Aukeratu", "No files or folders have been deleted yet" : "Oraindik ez da ezabatu fitxategirik edo karpetarik", - "Add" : "Gehitu" + "Add" : "Gehitu", + "The files is locked" : "Fixategiak blokeatuta dago" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index 852f9e72876..53ea9ab45f9 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(copier %n)", "Move cancelled" : "Déplacement annulé", "A file or folder with that name already exists in this folder" : "Un fichier ou un dossier portant ce nom existe déjà dans ce dossier", - "The files is locked" : "Le fichier est verrouillé", "The file does not exist anymore" : "Le fichier n'existe plus", "Choose destination" : "Choisir la destination", "Copy to {target}" : "Copier vers {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Chercher un compte", "Choose" : "Choisir", "No files or folders have been deleted yet" : "Aucun fichier ou dossier n'a encore été supprimé", - "Add" : "Ajouter" + "Add" : "Ajouter", + "The files is locked" : "Le fichier est verrouillé" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index c047c0fba0a..3e1076a6e65 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -272,7 +272,6 @@ "(copy %n)" : "(copier %n)", "Move cancelled" : "Déplacement annulé", "A file or folder with that name already exists in this folder" : "Un fichier ou un dossier portant ce nom existe déjà dans ce dossier", - "The files is locked" : "Le fichier est verrouillé", "The file does not exist anymore" : "Le fichier n'existe plus", "Choose destination" : "Choisir la destination", "Copy to {target}" : "Copier vers {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Chercher un compte", "Choose" : "Choisir", "No files or folders have been deleted yet" : "Aucun fichier ou dossier n'a encore été supprimé", - "Add" : "Ajouter" + "Add" : "Ajouter", + "The files is locked" : "Le fichier est verrouillé" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js index cf66a709abb..3c16f3f26b7 100644 --- a/apps/files/l10n/gl.js +++ b/apps/files/l10n/gl.js @@ -252,7 +252,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Este ficheiro/cartafol xa está nese directorio", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Non é posíbel mover un ficheiro/cartafol sobre si mesmo ou a un subcartafol de si mesmo", "A file or folder with that name already exists in this folder" : "Neste cartafol xa existe un ficheiro ou cartafol con ese nome", - "The files is locked" : "Os ficheiros están bloqueados", "The file does not exist anymore" : "O ficheiro xa non existe", "Copy to {target}" : "Copiar en {target}", "Move to {target}" : "Mover a {target}", @@ -315,6 +314,7 @@ OC.L10N.register( "Search for an account" : "Buscar por unha conta", "Choose" : "Escoller", "No files or folders have been deleted yet" : "Aínda non se eliminou ningún ficheiro nin cartafol", - "Add" : "Engadir" + "Add" : "Engadir", + "The files is locked" : "Os ficheiros están bloqueados" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json index 0f168530f1b..3068ffeae71 100644 --- a/apps/files/l10n/gl.json +++ b/apps/files/l10n/gl.json @@ -250,7 +250,6 @@ "This file/folder is already in that directory" : "Este ficheiro/cartafol xa está nese directorio", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Non é posíbel mover un ficheiro/cartafol sobre si mesmo ou a un subcartafol de si mesmo", "A file or folder with that name already exists in this folder" : "Neste cartafol xa existe un ficheiro ou cartafol con ese nome", - "The files is locked" : "Os ficheiros están bloqueados", "The file does not exist anymore" : "O ficheiro xa non existe", "Copy to {target}" : "Copiar en {target}", "Move to {target}" : "Mover a {target}", @@ -313,6 +312,7 @@ "Search for an account" : "Buscar por unha conta", "Choose" : "Escoller", "No files or folders have been deleted yet" : "Aínda non se eliminou ningún ficheiro nin cartafol", - "Add" : "Engadir" + "Add" : "Engadir", + "The files is locked" : "Os ficheiros están bloqueados" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js index 77e466b4d00..fbca87fe563 100644 --- a/apps/files/l10n/hu.js +++ b/apps/files/l10n/hu.js @@ -251,7 +251,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Ez a fájl/mappa már létezik a mappában", "You cannot move a file/folder onto itself or into a subfolder of itself" : "A fájl/mappa önmagába, vagy saját almappájába áthelyezése nem lehetséges", "A file or folder with that name already exists in this folder" : "Már létezik ilyen nevű fájl vagy mappa ebben a mappában", - "The files is locked" : "Ez a fájl zárolva van", "The file does not exist anymore" : "Ez a fájl már nem létezik", "Copy to {target}" : "Másolás ide: {target}", "Move to {target}" : "Áthelyezés ide: {target}", @@ -314,6 +313,7 @@ OC.L10N.register( "Search for an account" : "Fiók keresése", "Choose" : "Válasszon", "No files or folders have been deleted yet" : "Még nem lettek fájlok vagy mappák törölve", - "Add" : "Hozzáadás" + "Add" : "Hozzáadás", + "The files is locked" : "Ez a fájl zárolva van" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json index f1e3d34e796..bfe19c36918 100644 --- a/apps/files/l10n/hu.json +++ b/apps/files/l10n/hu.json @@ -249,7 +249,6 @@ "This file/folder is already in that directory" : "Ez a fájl/mappa már létezik a mappában", "You cannot move a file/folder onto itself or into a subfolder of itself" : "A fájl/mappa önmagába, vagy saját almappájába áthelyezése nem lehetséges", "A file or folder with that name already exists in this folder" : "Már létezik ilyen nevű fájl vagy mappa ebben a mappában", - "The files is locked" : "Ez a fájl zárolva van", "The file does not exist anymore" : "Ez a fájl már nem létezik", "Copy to {target}" : "Másolás ide: {target}", "Move to {target}" : "Áthelyezés ide: {target}", @@ -312,6 +311,7 @@ "Search for an account" : "Fiók keresése", "Choose" : "Válasszon", "No files or folders have been deleted yet" : "Még nem lettek fájlok vagy mappák törölve", - "Add" : "Hozzáadás" + "Add" : "Hozzáadás", + "The files is locked" : "Ez a fájl zárolva van" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index aa69acbdbc0..b0c28570fe1 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -250,7 +250,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Þessi skrá/mappa er þegar í þessari möppu", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Þú getur ekki flutt skrá/möppu inn í sjálfa sig eða inni í undirmöppu af sjálfri sér", "A file or folder with that name already exists in this folder" : "Skrá eða mappa með þessu heiti er þegar til staðar í þessari möppu", - "The files is locked" : "Skráin er læst", "The file does not exist anymore" : "Skráin er ekki lengur til", "Copy to {target}" : "Afrita í {target}", "Move to {target}" : "Færa í {target}", @@ -313,6 +312,7 @@ OC.L10N.register( "Search for an account" : "Leita að notandaaðgangi", "Choose" : "Velja", "No files or folders have been deleted yet" : "Engum skrám eða möppum hefur enn verið eytt", - "Add" : "Bæta við" + "Add" : "Bæta við", + "The files is locked" : "Skráin er læst" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index 918d66be938..ff3e08e996b 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -248,7 +248,6 @@ "This file/folder is already in that directory" : "Þessi skrá/mappa er þegar í þessari möppu", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Þú getur ekki flutt skrá/möppu inn í sjálfa sig eða inni í undirmöppu af sjálfri sér", "A file or folder with that name already exists in this folder" : "Skrá eða mappa með þessu heiti er þegar til staðar í þessari möppu", - "The files is locked" : "Skráin er læst", "The file does not exist anymore" : "Skráin er ekki lengur til", "Copy to {target}" : "Afrita í {target}", "Move to {target}" : "Færa í {target}", @@ -311,6 +310,7 @@ "Search for an account" : "Leita að notandaaðgangi", "Choose" : "Velja", "No files or folders have been deleted yet" : "Engum skrám eða möppum hefur enn verið eytt", - "Add" : "Bæta við" + "Add" : "Bæta við", + "The files is locked" : "Skráin er læst" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 7fa2407a6cd..4ad79873e62 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -255,7 +255,6 @@ OC.L10N.register( "(copy)" : "(copia)", "(copy %n)" : "(copia %n)", "A file or folder with that name already exists in this folder" : "Esiste già un file o una cartella con quel nome in questa cartella", - "The files is locked" : "Il file è bloccato", "The file does not exist anymore" : "Il file non esiste più", "Choose destination" : "Scegli la destinazione", "Copy to {target}" : "Copia in {target}", @@ -319,6 +318,7 @@ OC.L10N.register( "Search for an account" : "Cerca un account", "Choose" : "Scegli", "No files or folders have been deleted yet" : "Nessun file o cartella è stato ancora eliminato", - "Add" : "Aggiungi" + "Add" : "Aggiungi", + "The files is locked" : "Il file è bloccato" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 681bbf8d093..48bebdf3b6c 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -253,7 +253,6 @@ "(copy)" : "(copia)", "(copy %n)" : "(copia %n)", "A file or folder with that name already exists in this folder" : "Esiste già un file o una cartella con quel nome in questa cartella", - "The files is locked" : "Il file è bloccato", "The file does not exist anymore" : "Il file non esiste più", "Choose destination" : "Scegli la destinazione", "Copy to {target}" : "Copia in {target}", @@ -317,6 +316,7 @@ "Search for an account" : "Cerca un account", "Choose" : "Scegli", "No files or folders have been deleted yet" : "Nessun file o cartella è stato ancora eliminato", - "Add" : "Aggiungi" + "Add" : "Aggiungi", + "The files is locked" : "Il file è bloccato" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index 28fa5203f4b..1fee96fa4bb 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -273,7 +273,6 @@ OC.L10N.register( "(copy)" : "(copy)", "(copy %n)" : "(copy %n)", "A file or folder with that name already exists in this folder" : "その名前のファイルまたはフォルダが、このフォルダに既に存在します", - "The files is locked" : "ファイルはロックされています", "The file does not exist anymore" : "ファイルはもう存在しません", "Choose destination" : "移動先を選択", "Copy to {target}" : "{target} にコピー", @@ -344,6 +343,7 @@ OC.L10N.register( "Search for an account" : "アカウントを検索", "Choose" : "選択", "No files or folders have been deleted yet" : "まだ削除されたファイルやフォルダはありません", - "Add" : "追加" + "Add" : "追加", + "The files is locked" : "ファイルはロックされています" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index 46617d1b864..94365f36251 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -271,7 +271,6 @@ "(copy)" : "(copy)", "(copy %n)" : "(copy %n)", "A file or folder with that name already exists in this folder" : "その名前のファイルまたはフォルダが、このフォルダに既に存在します", - "The files is locked" : "ファイルはロックされています", "The file does not exist anymore" : "ファイルはもう存在しません", "Choose destination" : "移動先を選択", "Copy to {target}" : "{target} にコピー", @@ -342,6 +341,7 @@ "Search for an account" : "アカウントを検索", "Choose" : "選択", "No files or folders have been deleted yet" : "まだ削除されたファイルやフォルダはありません", - "Add" : "追加" + "Add" : "追加", + "The files is locked" : "ファイルはロックされています" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/ka.js b/apps/files/l10n/ka.js index f2568577b4e..33fac57e28f 100644 --- a/apps/files/l10n/ka.js +++ b/apps/files/l10n/ka.js @@ -251,7 +251,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "This file/folder is already in that directory", "You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself", "A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder", - "The files is locked" : "The files is locked", "The file does not exist anymore" : "The file does not exist anymore", "Choose destination" : "Choose destination", "Copy to {target}" : "Copy to {target}", @@ -315,6 +314,7 @@ OC.L10N.register( "Search for an account" : "Search for an account", "Choose" : "Choose", "No files or folders have been deleted yet" : "No files or folders have been deleted yet", - "Add" : "Add" + "Add" : "Add", + "The files is locked" : "The files is locked" }, "nplurals=2; plural=(n!=1);"); diff --git a/apps/files/l10n/ka.json b/apps/files/l10n/ka.json index f867f7984b0..ff1984f84a3 100644 --- a/apps/files/l10n/ka.json +++ b/apps/files/l10n/ka.json @@ -249,7 +249,6 @@ "This file/folder is already in that directory" : "This file/folder is already in that directory", "You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself", "A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder", - "The files is locked" : "The files is locked", "The file does not exist anymore" : "The file does not exist anymore", "Choose destination" : "Choose destination", "Copy to {target}" : "Copy to {target}", @@ -313,6 +312,7 @@ "Search for an account" : "Search for an account", "Choose" : "Choose", "No files or folders have been deleted yet" : "No files or folders have been deleted yet", - "Add" : "Add" + "Add" : "Add", + "The files is locked" : "The files is locked" },"pluralForm" :"nplurals=2; plural=(n!=1);" } \ No newline at end of file diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index 875fd753c8c..7b11d2cbe2e 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -272,8 +272,8 @@ OC.L10N.register( "You cannot move a file/folder onto itself or into a subfolder of itself" : "파일/폴더를 그 안이나 그 안의 폴더로 이동할 수 없습니다.", "(copy)" : "(복사)", "(copy %n)" : "(%n 복사)", + "Move cancelled" : "이동이 취소됨", "A file or folder with that name already exists in this folder" : "같은 이름을 사용하는 파일 또는 폴더가 이미 이 폴더에 있습니다.", - "The files is locked" : "이 파일은 잠겼습니다.", "The file does not exist anymore" : "파일이 더이상 존재하지 않습니다.", "Choose destination" : "목적지 선택", "Copy to {target}" : "{target}에 복사", @@ -344,6 +344,7 @@ OC.L10N.register( "Search for an account" : "계정 검색", "Choose" : "선택", "No files or folders have been deleted yet" : "아직 삭제된 파일이나 폴더가 없습니다.", - "Add" : "추가" + "Add" : "추가", + "The files is locked" : "이 파일은 잠겼습니다." }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index 8529ae15bde..a0cf76cb5a5 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -270,8 +270,8 @@ "You cannot move a file/folder onto itself or into a subfolder of itself" : "파일/폴더를 그 안이나 그 안의 폴더로 이동할 수 없습니다.", "(copy)" : "(복사)", "(copy %n)" : "(%n 복사)", + "Move cancelled" : "이동이 취소됨", "A file or folder with that name already exists in this folder" : "같은 이름을 사용하는 파일 또는 폴더가 이미 이 폴더에 있습니다.", - "The files is locked" : "이 파일은 잠겼습니다.", "The file does not exist anymore" : "파일이 더이상 존재하지 않습니다.", "Choose destination" : "목적지 선택", "Copy to {target}" : "{target}에 복사", @@ -342,6 +342,7 @@ "Search for an account" : "계정 검색", "Choose" : "선택", "No files or folders have been deleted yet" : "아직 삭제된 파일이나 폴더가 없습니다.", - "Add" : "추가" + "Add" : "추가", + "The files is locked" : "이 파일은 잠겼습니다." },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index a482de17e52..1a35397b093 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -251,7 +251,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Оваа папка/датотека се наоѓа веќе во таа папка", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Неможете да преместите датотека/папка во себеси или во подпапка во себеси", "A file or folder with that name already exists in this folder" : "Датотека или папка со тоа име веќе постои во оваа папка", - "The files is locked" : "Датотекатите се заклучени", "The file does not exist anymore" : "Датотеката не постои", "Choose destination" : "Избери дестинација", "Copy to {target}" : "Копирај во {target}", @@ -315,6 +314,7 @@ OC.L10N.register( "Search for an account" : "Пребарај сметка", "Choose" : "Избери", "No files or folders have been deleted yet" : "Нема датотеки или папки што се избришани", - "Add" : "Додади" + "Add" : "Додади", + "The files is locked" : "Датотекатите се заклучени" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index 27cf8a06624..3a7b5a9c8ea 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -249,7 +249,6 @@ "This file/folder is already in that directory" : "Оваа папка/датотека се наоѓа веќе во таа папка", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Неможете да преместите датотека/папка во себеси или во подпапка во себеси", "A file or folder with that name already exists in this folder" : "Датотека или папка со тоа име веќе постои во оваа папка", - "The files is locked" : "Датотекатите се заклучени", "The file does not exist anymore" : "Датотеката не постои", "Choose destination" : "Избери дестинација", "Copy to {target}" : "Копирај во {target}", @@ -313,6 +312,7 @@ "Search for an account" : "Пребарај сметка", "Choose" : "Избери", "No files or folders have been deleted yet" : "Нема датотеки или папки што се избришани", - "Add" : "Додади" + "Add" : "Додади", + "The files is locked" : "Датотекатите се заклучени" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" } \ No newline at end of file diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js index a31196a7aa8..d74befbd0e5 100644 --- a/apps/files/l10n/nb.js +++ b/apps/files/l10n/nb.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(kopier %n)", "Move cancelled" : "Flytt avbrutt", "A file or folder with that name already exists in this folder" : "En fil eller mappe med det navnet finnes allerede i denne mappen", - "The files is locked" : "Filene er låst", "The file does not exist anymore" : "Filen finnes ikke lenger", "Choose destination" : "Velg målplassering", "Copy to {target}" : "Copy to {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Søk etter en konto", "Choose" : "Velg", "No files or folders have been deleted yet" : "Ingen filer eller mapper er slettet enda", - "Add" : "Legg til" + "Add" : "Legg til", + "The files is locked" : "Filene er låst" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json index df344f27bc0..0aa369f49f3 100644 --- a/apps/files/l10n/nb.json +++ b/apps/files/l10n/nb.json @@ -272,7 +272,6 @@ "(copy %n)" : "(kopier %n)", "Move cancelled" : "Flytt avbrutt", "A file or folder with that name already exists in this folder" : "En fil eller mappe med det navnet finnes allerede i denne mappen", - "The files is locked" : "Filene er låst", "The file does not exist anymore" : "Filen finnes ikke lenger", "Choose destination" : "Velg målplassering", "Copy to {target}" : "Copy to {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Søk etter en konto", "Choose" : "Velg", "No files or folders have been deleted yet" : "Ingen filer eller mapper er slettet enda", - "Add" : "Legg til" + "Add" : "Legg til", + "The files is locked" : "Filene er låst" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index 4081a42db66..a2affdc468f 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -244,7 +244,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Ten plik/katalog znajduje się już w tym katalogu", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Nie można przenieść pliku/katalogu do tego samego katalogu lub do własnego podkatalogu", "A file or folder with that name already exists in this folder" : "Plik lub katalog o tej nazwie już istnieje w tym katalogu", - "The files is locked" : "Pliki są zablokowane", "The file does not exist anymore" : "Plik już nie istnieje", "Copy to {target}" : "Skopiuj do {target}", "Move to {target}" : "Przenieś do {target}", @@ -305,6 +304,7 @@ OC.L10N.register( "Search for an account" : "Wyszukaj konto", "Choose" : "Wybierz", "No files or folders have been deleted yet" : "Żadne pliki ani katalogi nie zostały jeszcze usunięte", - "Add" : "Dodaj" + "Add" : "Dodaj", + "The files is locked" : "Pliki są zablokowane" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index ec5b4d578d6..6af88ab93d4 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -242,7 +242,6 @@ "This file/folder is already in that directory" : "Ten plik/katalog znajduje się już w tym katalogu", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Nie można przenieść pliku/katalogu do tego samego katalogu lub do własnego podkatalogu", "A file or folder with that name already exists in this folder" : "Plik lub katalog o tej nazwie już istnieje w tym katalogu", - "The files is locked" : "Pliki są zablokowane", "The file does not exist anymore" : "Plik już nie istnieje", "Copy to {target}" : "Skopiuj do {target}", "Move to {target}" : "Przenieś do {target}", @@ -303,6 +302,7 @@ "Search for an account" : "Wyszukaj konto", "Choose" : "Wybierz", "No files or folders have been deleted yet" : "Żadne pliki ani katalogi nie zostały jeszcze usunięte", - "Add" : "Dodaj" + "Add" : "Dodaj", + "The files is locked" : "Pliki są zablokowane" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" } \ No newline at end of file diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 31d44026f25..48f59d16464 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -261,7 +261,6 @@ OC.L10N.register( "(copy)" : "(cópia)", "(copy %n)" : "(copiar %n)", "A file or folder with that name already exists in this folder" : "Já existe um arquivo ou pasta com esse nome nesta pasta", - "The files is locked" : "Os arquivos estão bloqueados", "The file does not exist anymore" : "O arquivo não existe mais", "Choose destination" : "Escolha o destino", "Copy to {target}" : "Copiar para {target}", @@ -326,6 +325,7 @@ OC.L10N.register( "Search for an account" : "Pesquisar uma conta", "Choose" : "Escolher", "No files or folders have been deleted yet" : "Nenhum arquivo ou pasta foi excluído ainda", - "Add" : "Adicionar" + "Add" : "Adicionar", + "The files is locked" : "Os arquivos estão bloqueados" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index b1f11f51485..a285ad60afe 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -259,7 +259,6 @@ "(copy)" : "(cópia)", "(copy %n)" : "(copiar %n)", "A file or folder with that name already exists in this folder" : "Já existe um arquivo ou pasta com esse nome nesta pasta", - "The files is locked" : "Os arquivos estão bloqueados", "The file does not exist anymore" : "O arquivo não existe mais", "Choose destination" : "Escolha o destino", "Copy to {target}" : "Copiar para {target}", @@ -324,6 +323,7 @@ "Search for an account" : "Pesquisar uma conta", "Choose" : "Escolher", "No files or folders have been deleted yet" : "Nenhum arquivo ou pasta foi excluído ainda", - "Add" : "Adicionar" + "Add" : "Adicionar", + "The files is locked" : "Os arquivos estão bloqueados" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js index 6c89169e222..2654d832681 100644 --- a/apps/files/l10n/ro.js +++ b/apps/files/l10n/ro.js @@ -242,7 +242,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Acest fișier/folder există în acel dosar", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Nu se poate muta/redenumi un fișier/folder în el însuși sau într-un subfolder al său", "A file or folder with that name already exists in this folder" : "Un fișier sau folder cu acest nume există deja în acest folder", - "The files is locked" : "Fișierul este blocat", "The file does not exist anymore" : "Fișierul nu mai există", "Copy to {target}" : "Copiază la {target}", "Move to {target}" : "Mută la {target}", @@ -303,6 +302,7 @@ OC.L10N.register( "Search for an account" : "Căutați un cont", "Choose" : "Alege", "No files or folders have been deleted yet" : "Niciun fișier sau folder nu a fost șters încă", - "Add" : "Adaugă" + "Add" : "Adaugă", + "The files is locked" : "Fișierul este blocat" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json index 5ffade2b8aa..8849598de36 100644 --- a/apps/files/l10n/ro.json +++ b/apps/files/l10n/ro.json @@ -240,7 +240,6 @@ "This file/folder is already in that directory" : "Acest fișier/folder există în acel dosar", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Nu se poate muta/redenumi un fișier/folder în el însuși sau într-un subfolder al său", "A file or folder with that name already exists in this folder" : "Un fișier sau folder cu acest nume există deja în acest folder", - "The files is locked" : "Fișierul este blocat", "The file does not exist anymore" : "Fișierul nu mai există", "Copy to {target}" : "Copiază la {target}", "Move to {target}" : "Mută la {target}", @@ -301,6 +300,7 @@ "Search for an account" : "Căutați un cont", "Choose" : "Alege", "No files or folders have been deleted yet" : "Niciun fișier sau folder nu a fost șters încă", - "Add" : "Adaugă" + "Add" : "Adaugă", + "The files is locked" : "Fișierul este blocat" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" } \ No newline at end of file diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index 44d6c2288bd..42cddc178bb 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -273,7 +273,6 @@ OC.L10N.register( "(copy)" : "(копия)", "(copy %n)" : "(копия %n)", "A file or folder with that name already exists in this folder" : "В этой папке уже есть файл или папка с этим именем", - "The files is locked" : "Файлы заблокированы", "The file does not exist anymore" : "Файл больше не существует", "Choose destination" : "Выберите место назначения", "Copy to {target}" : "Скопировать в «{target}»", @@ -344,6 +343,7 @@ OC.L10N.register( "Search for an account" : "Поиск по учетной записи", "Choose" : "Выберите", "No files or folders have been deleted yet" : "Файлы или папки еще не удалены", - "Add" : "Добавить" + "Add" : "Добавить", + "The files is locked" : "Файлы заблокированы" }, "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/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 310b077a546..cd0459a4b48 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -271,7 +271,6 @@ "(copy)" : "(копия)", "(copy %n)" : "(копия %n)", "A file or folder with that name already exists in this folder" : "В этой папке уже есть файл или папка с этим именем", - "The files is locked" : "Файлы заблокированы", "The file does not exist anymore" : "Файл больше не существует", "Choose destination" : "Выберите место назначения", "Copy to {target}" : "Скопировать в «{target}»", @@ -342,6 +341,7 @@ "Search for an account" : "Поиск по учетной записи", "Choose" : "Выберите", "No files or folders have been deleted yet" : "Файлы или папки еще не удалены", - "Add" : "Добавить" + "Add" : "Добавить", + "The files is locked" : "Файлы заблокированы" },"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/apps/files/l10n/sk.js b/apps/files/l10n/sk.js index 93dcad784dd..d12447d05b6 100644 --- a/apps/files/l10n/sk.js +++ b/apps/files/l10n/sk.js @@ -248,7 +248,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Tento súbor/priečinok sa už v danom adresári nachádza", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Nemôžete presunúť súbor/priečinok do seba alebo do jeho podpriečinka.", "A file or folder with that name already exists in this folder" : "Súbor alebo priečinok s týmto názvom už existuje v tomto priečinku", - "The files is locked" : "Súbory sú uzamknuté", "The file does not exist anymore" : "Súbor už neexistuje", "Copy to {target}" : "Kopírovať do {target}", "Move to {target}" : "Presunúť do {target}", @@ -310,6 +309,7 @@ OC.L10N.register( "Search for an account" : "Vyhľadať účet", "Choose" : "Vybrať", "No files or folders have been deleted yet" : "Žiadne súbory alebo priečinky neboli ešte vymazané", - "Add" : "Pridať" + "Add" : "Pridať", + "The files is locked" : "Súbory sú uzamknuté" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json index 40a4ccc7660..fa5ed80823a 100644 --- a/apps/files/l10n/sk.json +++ b/apps/files/l10n/sk.json @@ -246,7 +246,6 @@ "This file/folder is already in that directory" : "Tento súbor/priečinok sa už v danom adresári nachádza", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Nemôžete presunúť súbor/priečinok do seba alebo do jeho podpriečinka.", "A file or folder with that name already exists in this folder" : "Súbor alebo priečinok s týmto názvom už existuje v tomto priečinku", - "The files is locked" : "Súbory sú uzamknuté", "The file does not exist anymore" : "Súbor už neexistuje", "Copy to {target}" : "Kopírovať do {target}", "Move to {target}" : "Presunúť do {target}", @@ -308,6 +307,7 @@ "Search for an account" : "Vyhľadať účet", "Choose" : "Vybrať", "No files or folders have been deleted yet" : "Žiadne súbory alebo priečinky neboli ešte vymazané", - "Add" : "Pridať" + "Add" : "Pridať", + "The files is locked" : "Súbory sú uzamknuté" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" } \ No newline at end of file diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js index 3d96cc2496a..fe284e7dad8 100644 --- a/apps/files/l10n/sl.js +++ b/apps/files/l10n/sl.js @@ -245,7 +245,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Ta datoteka oziroma mapa je že v določeni mapi", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Mape ali datoteke ni mogoče premakniti samo vase oziroma v podmapo same sebe", "A file or folder with that name already exists in this folder" : "Datoteka oziroma mapa s tem imenom v tej mapi že obstaja", - "The files is locked" : "Datoteka je zaklenjena", "The file does not exist anymore" : "Datoteka ne obstaja več", "Copy to {target}" : "Kopiraj na {target}", "Move to {target}" : "Premakni na {target}", @@ -306,6 +305,7 @@ OC.L10N.register( "Search for an account" : "Poišči račun", "Choose" : "Izbor", "No files or folders have been deleted yet" : "Ni še izbrisanih datotek in map", - "Add" : "Dodaj" + "Add" : "Dodaj", + "The files is locked" : "Datoteka je zaklenjena" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json index a3a84c7b024..947de4dffad 100644 --- a/apps/files/l10n/sl.json +++ b/apps/files/l10n/sl.json @@ -243,7 +243,6 @@ "This file/folder is already in that directory" : "Ta datoteka oziroma mapa je že v določeni mapi", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Mape ali datoteke ni mogoče premakniti samo vase oziroma v podmapo same sebe", "A file or folder with that name already exists in this folder" : "Datoteka oziroma mapa s tem imenom v tej mapi že obstaja", - "The files is locked" : "Datoteka je zaklenjena", "The file does not exist anymore" : "Datoteka ne obstaja več", "Copy to {target}" : "Kopiraj na {target}", "Move to {target}" : "Premakni na {target}", @@ -304,6 +303,7 @@ "Search for an account" : "Poišči račun", "Choose" : "Izbor", "No files or folders have been deleted yet" : "Ni še izbrisanih datotek in map", - "Add" : "Dodaj" + "Add" : "Dodaj", + "The files is locked" : "Datoteka je zaklenjena" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } \ No newline at end of file diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index 7803eb1c6d6..ade59847126 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(копирано %n)", "Move cancelled" : "Премештање је отказано", "A file or folder with that name already exists in this folder" : "У овом фолдеру већ постоји фајл или фолдер са тим именом", - "The files is locked" : "Фајл је закључан", "The file does not exist anymore" : "Фајл више не постоји", "Choose destination" : "Изаберите одредиште", "Copy to {target}" : "Копирај у {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Претражите налог", "Choose" : "Изаберите", "No files or folders have been deleted yet" : "Још увек није обрисан ниједан фајл или фолдер", - "Add" : "Додај" + "Add" : "Додај", + "The files is locked" : "Фајл је закључан" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index a468f4c20f6..21b30636e49 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -272,7 +272,6 @@ "(copy %n)" : "(копирано %n)", "Move cancelled" : "Премештање је отказано", "A file or folder with that name already exists in this folder" : "У овом фолдеру већ постоји фајл или фолдер са тим именом", - "The files is locked" : "Фајл је закључан", "The file does not exist anymore" : "Фајл више не постоји", "Choose destination" : "Изаберите одредиште", "Copy to {target}" : "Копирај у {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Претражите налог", "Choose" : "Изаберите", "No files or folders have been deleted yet" : "Још увек није обрисан ниједан фајл или фолдер", - "Add" : "Додај" + "Add" : "Додај", + "The files is locked" : "Фајл је закључан" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" } \ No newline at end of file diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index 431d081cbde..023e72cd1e9 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(kopia %n)", "Move cancelled" : "Flytt avbruten", "A file or folder with that name already exists in this folder" : "En fil eller mapp med det namnet finns redan i den här mappen", - "The files is locked" : "Filerna är låsta", "The file does not exist anymore" : "Filen finns inte längre", "Choose destination" : "Välj destination", "Copy to {target}" : "Kopiera till {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Sök efter ett konto", "Choose" : "Välj", "No files or folders have been deleted yet" : "Inga filer eller mappar har tagits bort än", - "Add" : "Lägg till" + "Add" : "Lägg till", + "The files is locked" : "Filerna är låsta" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index 9c90e0a0dd3..723da74d996 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -272,7 +272,6 @@ "(copy %n)" : "(kopia %n)", "Move cancelled" : "Flytt avbruten", "A file or folder with that name already exists in this folder" : "En fil eller mapp med det namnet finns redan i den här mappen", - "The files is locked" : "Filerna är låsta", "The file does not exist anymore" : "Filen finns inte längre", "Choose destination" : "Välj destination", "Copy to {target}" : "Kopiera till {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Sök efter ett konto", "Choose" : "Välj", "No files or folders have been deleted yet" : "Inga filer eller mappar har tagits bort än", - "Add" : "Lägg till" + "Add" : "Lägg till", + "The files is locked" : "Filerna är låsta" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js index 06a7e3ae92a..868e024c0e5 100644 --- a/apps/files/l10n/tr.js +++ b/apps/files/l10n/tr.js @@ -273,7 +273,6 @@ OC.L10N.register( "(copy)" : "(kopya)", "(copy %n)" : "(%n kopyası)", "A file or folder with that name already exists in this folder" : "Bu klasörde aynı adlı bir dosya ya da klasör zaten var", - "The files is locked" : "Dosyalar kilitli", "The file does not exist anymore" : "Dosya artık yok", "Choose destination" : "Hedefi seçin", "Copy to {target}" : "{target} içine kopyala", @@ -344,6 +343,7 @@ OC.L10N.register( "Search for an account" : "Hesap ara", "Choose" : "Seçin", "No files or folders have been deleted yet" : "Henüz silinmiş bir dosya ya da klasör yok", - "Add" : "Ekle" + "Add" : "Ekle", + "The files is locked" : "Dosyalar kilitli" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json index 62478780a8c..3651f6928c2 100644 --- a/apps/files/l10n/tr.json +++ b/apps/files/l10n/tr.json @@ -271,7 +271,6 @@ "(copy)" : "(kopya)", "(copy %n)" : "(%n kopyası)", "A file or folder with that name already exists in this folder" : "Bu klasörde aynı adlı bir dosya ya da klasör zaten var", - "The files is locked" : "Dosyalar kilitli", "The file does not exist anymore" : "Dosya artık yok", "Choose destination" : "Hedefi seçin", "Copy to {target}" : "{target} içine kopyala", @@ -342,6 +341,7 @@ "Search for an account" : "Hesap ara", "Choose" : "Seçin", "No files or folders have been deleted yet" : "Henüz silinmiş bir dosya ya da klasör yok", - "Add" : "Ekle" + "Add" : "Ekle", + "The files is locked" : "Dosyalar kilitli" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index 4f0a4416bd3..b9f1d26a4d2 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(копія %n)", "Move cancelled" : "Переміщення скасовано", "A file or folder with that name already exists in this folder" : "Файл чи каталог з таким ім'ям вже присутній в цьому каталозі", - "The files is locked" : "Файл заблоковано", "The file does not exist anymore" : "Цей файл більше недоступний", "Choose destination" : "Виберіть каталог призначення", "Copy to {target}" : "Копіювати до {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "Пошук облікового запису", "Choose" : "Вибрати", "No files or folders have been deleted yet" : "Поки жодного каталогу чи файлу не було вилучено", - "Add" : "Додати" + "Add" : "Додати", + "The files is locked" : "Файл заблоковано" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 581f6d74156..f798d5fbcc0 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -272,7 +272,6 @@ "(copy %n)" : "(копія %n)", "Move cancelled" : "Переміщення скасовано", "A file or folder with that name already exists in this folder" : "Файл чи каталог з таким ім'ям вже присутній в цьому каталозі", - "The files is locked" : "Файл заблоковано", "The file does not exist anymore" : "Цей файл більше недоступний", "Choose destination" : "Виберіть каталог призначення", "Copy to {target}" : "Копіювати до {target}", @@ -343,6 +342,7 @@ "Search for an account" : "Пошук облікового запису", "Choose" : "Вибрати", "No files or folders have been deleted yet" : "Поки жодного каталогу чи файлу не було вилучено", - "Add" : "Додати" + "Add" : "Додати", + "The files is locked" : "Файл заблоковано" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (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/apps/files/l10n/vi.js b/apps/files/l10n/vi.js index 35ba107e731..f06524af6bc 100644 --- a/apps/files/l10n/vi.js +++ b/apps/files/l10n/vi.js @@ -244,7 +244,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "Tệp/thư mục này đã có trong thư mục đó", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Bạn không thể di chuyển một tập tin/thư mục vào chính nó hoặc vào một thư mục con của chính nó", "A file or folder with that name already exists in this folder" : "Tệp hoặc thư mục có tên đó đã tồn tại trong thư mục này", - "The files is locked" : "Các tập tin bị khóa", "The file does not exist anymore" : "Tập tin không tồn tại nữa", "Copy to {target}" : "Copy to {mục tiêu}", "Move to {target}" : "Di chuyển đến {mục tiêu}", @@ -305,6 +304,7 @@ OC.L10N.register( "Search for an account" : "Tìm kiếm tài khoản", "Choose" : "Chọn", "No files or folders have been deleted yet" : "Chưa có tập tin hoặc thư mục nào bị xóa", - "Add" : "Thêm" + "Add" : "Thêm", + "The files is locked" : "Các tập tin bị khóa" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json index 92df2816c6f..038cbde7193 100644 --- a/apps/files/l10n/vi.json +++ b/apps/files/l10n/vi.json @@ -242,7 +242,6 @@ "This file/folder is already in that directory" : "Tệp/thư mục này đã có trong thư mục đó", "You cannot move a file/folder onto itself or into a subfolder of itself" : "Bạn không thể di chuyển một tập tin/thư mục vào chính nó hoặc vào một thư mục con của chính nó", "A file or folder with that name already exists in this folder" : "Tệp hoặc thư mục có tên đó đã tồn tại trong thư mục này", - "The files is locked" : "Các tập tin bị khóa", "The file does not exist anymore" : "Tập tin không tồn tại nữa", "Copy to {target}" : "Copy to {mục tiêu}", "Move to {target}" : "Di chuyển đến {mục tiêu}", @@ -303,6 +302,7 @@ "Search for an account" : "Tìm kiếm tài khoản", "Choose" : "Chọn", "No files or folders have been deleted yet" : "Chưa có tập tin hoặc thư mục nào bị xóa", - "Add" : "Thêm" + "Add" : "Thêm", + "The files is locked" : "Các tập tin bị khóa" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 8ab4a85c924..5407f74c57a 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -247,7 +247,6 @@ OC.L10N.register( "This file/folder is already in that directory" : "该文件/文件夹已经存在与该目录中", "You cannot move a file/folder onto itself or into a subfolder of itself" : "你无法将文件/文件夹移动至其自身或子文件夹中", "A file or folder with that name already exists in this folder" : "相同的文件/文件夹已存在于该文件夹中", - "The files is locked" : "文件已锁定", "The file does not exist anymore" : "文件不存在", "Copy to {target}" : "复制到 {target}", "Move to {target}" : "移动到 {target}", @@ -309,6 +308,7 @@ OC.L10N.register( "Search for an account" : "搜索一个账户", "Choose" : "选择", "No files or folders have been deleted yet" : "尚未删除任何文件或文件夹", - "Add" : "添加" + "Add" : "添加", + "The files is locked" : "文件已锁定" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index 17c566b2a65..4f793cfe216 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -245,7 +245,6 @@ "This file/folder is already in that directory" : "该文件/文件夹已经存在与该目录中", "You cannot move a file/folder onto itself or into a subfolder of itself" : "你无法将文件/文件夹移动至其自身或子文件夹中", "A file or folder with that name already exists in this folder" : "相同的文件/文件夹已存在于该文件夹中", - "The files is locked" : "文件已锁定", "The file does not exist anymore" : "文件不存在", "Copy to {target}" : "复制到 {target}", "Move to {target}" : "移动到 {target}", @@ -307,6 +306,7 @@ "Search for an account" : "搜索一个账户", "Choose" : "选择", "No files or folders have been deleted yet" : "尚未删除任何文件或文件夹", - "Add" : "添加" + "Add" : "添加", + "The files is locked" : "文件已锁定" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js index 10da02ef578..506d394f605 100644 --- a/apps/files/l10n/zh_HK.js +++ b/apps/files/l10n/zh_HK.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(複本 %n)", "Move cancelled" : "移動已取消", "A file or folder with that name already exists in this folder" : "此資料夾中已存在同名的檔案或資料夾", - "The files is locked" : "檔案已被上鎖", "The file does not exist anymore" : "檔案已不存在", "Choose destination" : "選擇目標地", "Copy to {target}" : "複製到 {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "搜尋賬號", "Choose" : "選擇", "No files or folders have been deleted yet" : "尚未刪除任何檔案或資料夾", - "Add" : "添加" + "Add" : "添加", + "The files is locked" : "檔案已被上鎖" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json index dfd0a0db3d5..7abde560cbf 100644 --- a/apps/files/l10n/zh_HK.json +++ b/apps/files/l10n/zh_HK.json @@ -272,7 +272,6 @@ "(copy %n)" : "(複本 %n)", "Move cancelled" : "移動已取消", "A file or folder with that name already exists in this folder" : "此資料夾中已存在同名的檔案或資料夾", - "The files is locked" : "檔案已被上鎖", "The file does not exist anymore" : "檔案已不存在", "Choose destination" : "選擇目標地", "Copy to {target}" : "複製到 {target}", @@ -343,6 +342,7 @@ "Search for an account" : "搜尋賬號", "Choose" : "選擇", "No files or folders have been deleted yet" : "尚未刪除任何檔案或資料夾", - "Add" : "添加" + "Add" : "添加", + "The files is locked" : "檔案已被上鎖" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index e2042df4b64..65feffb8517 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -274,7 +274,6 @@ OC.L10N.register( "(copy %n)" : "(副本 %n)", "Move cancelled" : "移動已取消", "A file or folder with that name already exists in this folder" : "此資料夾中已存在同名的檔案或資料夾", - "The files is locked" : "檔案已鎖定", "The file does not exist anymore" : "檔案已不存在", "Choose destination" : "選擇目的地", "Copy to {target}" : "複製到 {target}", @@ -345,6 +344,7 @@ OC.L10N.register( "Search for an account" : "搜尋帳號", "Choose" : "選擇", "No files or folders have been deleted yet" : "尚未刪除任何檔案或資料夾", - "Add" : "新增" + "Add" : "新增", + "The files is locked" : "檔案已鎖定" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 25ca3799e2a..bd9689d47f6 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -272,7 +272,6 @@ "(copy %n)" : "(副本 %n)", "Move cancelled" : "移動已取消", "A file or folder with that name already exists in this folder" : "此資料夾中已存在同名的檔案或資料夾", - "The files is locked" : "檔案已鎖定", "The file does not exist anymore" : "檔案已不存在", "Choose destination" : "選擇目的地", "Copy to {target}" : "複製到 {target}", @@ -343,6 +342,7 @@ "Search for an account" : "搜尋帳號", "Choose" : "選擇", "No files or folders have been deleted yet" : "尚未刪除任何檔案或資料夾", - "Add" : "新增" + "Add" : "新增", + "The files is locked" : "檔案已鎖定" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/lib/Capabilities.php b/apps/files/lib/Capabilities.php index dc2aae6acfc..0fc95d67226 100644 --- a/apps/files/lib/Capabilities.php +++ b/apps/files/lib/Capabilities.php @@ -39,13 +39,14 @@ class Capabilities implements ICapability { /** * Return this classes capabilities * - * @return array{files: array{bigfilechunking: bool, blacklisted_files: array}} + * @return array{files: array{bigfilechunking: bool, blacklisted_files: array, forbidden_filename_characters: array}} */ public function getCapabilities() { return [ 'files' => [ 'bigfilechunking' => true, - 'blacklisted_files' => (array)$this->config->getSystemValue('blacklisted_files', ['.htaccess']) + 'blacklisted_files' => (array)$this->config->getSystemValue('blacklisted_files', ['.htaccess']), + 'forbidden_filename_characters' => \OCP\Util::getForbiddenFileNameChars(), ], ]; } diff --git a/apps/files/lib/Search/FilesSearchProvider.php b/apps/files/lib/Search/FilesSearchProvider.php index b587fdf32de..43ea5ef09a4 100644 --- a/apps/files/lib/Search/FilesSearchProvider.php +++ b/apps/files/lib/Search/FilesSearchProvider.php @@ -116,6 +116,7 @@ class FilesSearchProvider implements IFilteringProvider { 'max-size', 'mime', 'type', + 'path', 'is-favorite', 'title-only', ]; @@ -131,6 +132,7 @@ class FilesSearchProvider implements IFilteringProvider { new FilterDefinition('max-size', FilterDefinition::TYPE_INT), new FilterDefinition('mime', FilterDefinition::TYPE_STRING), new FilterDefinition('type', FilterDefinition::TYPE_STRING), + new FilterDefinition('path', FilterDefinition::TYPE_STRING), new FilterDefinition('is-favorite', FilterDefinition::TYPE_BOOL), ]; } @@ -182,6 +184,7 @@ class FilesSearchProvider implements IFilteringProvider { 'max-size' => new SearchComparison(ISearchComparison::COMPARE_LESS_THAN_EQUAL, 'size', $filter->get()), 'mime' => new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'mimetype', $filter->get()), 'type' => new SearchComparison(ISearchComparison::COMPARE_LIKE, 'mimetype', $filter->get() . '/%'), + 'path' => new SearchComparison(ISearchComparison::COMPARE_LIKE, 'path', 'files/' . ltrim($filter->get(), '/') . '%'), 'person' => $this->buildPersonSearchQuery($filter), default => throw new InvalidArgumentException('Unsupported comparison'), }; diff --git a/apps/files/openapi.json b/apps/files/openapi.json index f9432f6c57c..f9cdb67783d 100644 --- a/apps/files/openapi.json +++ b/apps/files/openapi.json @@ -31,6 +31,7 @@ "required": [ "bigfilechunking", "blacklisted_files", + "forbidden_filename_characters", "directEditing" ], "properties": { @@ -43,6 +44,12 @@ "type": "object" } }, + "forbidden_filename_characters": { + "type": "array", + "items": { + "type": "string" + } + }, "directEditing": { "type": "object", "required": [ diff --git a/apps/files/src/services/WebdavClient.ts b/apps/files/src/services/WebdavClient.ts index ae2ab27b9db..6c98b299703 100644 --- a/apps/files/src/services/WebdavClient.ts +++ b/apps/files/src/services/WebdavClient.ts @@ -19,22 +19,30 @@ * along with this program. If not, see . * */ -import type { RequestOptions, Response } from 'webdav' import { createClient, getPatcher } from 'webdav' import { generateRemoteUrl } from '@nextcloud/router' -import { getCurrentUser, getRequestToken } from '@nextcloud/auth' -import { request } from 'webdav/dist/node/request.js' +import { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' export const rootPath = `/files/${getCurrentUser()?.uid}` export const defaultRootUrl = generateRemoteUrl('dav' + rootPath) export const getClient = (rootUrl = defaultRootUrl) => { - const client = createClient(rootUrl, { - headers: { - requesttoken: getRequestToken() || '', - }, - }) + const client = createClient(rootUrl) + + // set CSRF token header + const setHeaders = (token: string | null) => { + client?.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }); + } + + // refresh headers when request token changes + onRequestTokenUpdate(setHeaders) + setHeaders(getRequestToken()) /** * Allow to override the METHOD to support dav REPORT @@ -45,12 +53,14 @@ export const getClient = (rootUrl = defaultRootUrl) => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore // https://github.com/perry-mitchell/hot-patcher/issues/6 - patcher.patch('request', (options: RequestOptions): Promise => { - if (options.headers?.method) { - options.method = options.headers.method - delete options.headers.method + patcher.patch('fetch', (url: string, options: RequestInit): Promise => { + const headers = options.headers as Record + if (headers?.method) { + options.method = headers.method + delete headers.method } - return request(options) + return fetch(url, options) }) - return client + + return client; } diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index 326437ace36..fa92a5900f7 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -7,6 +7,7 @@ OC.L10N.register( "Error configuring OAuth2" : "OAuth2 설정 오류", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "Type to select account or group." : "계정 또는 그룹을 입력하십시오.", "(Group)" : "(그룹)", "Compatibility with Mac NFD encoding (slow)" : "Mac NFD 인코딩 호환성 사용(느림)", "Enable encryption" : "암호화 사용", @@ -91,6 +92,7 @@ OC.L10N.register( "Case sensitive file system" : "대소문자를 구별하는 파일 시스템", "Disabling it will allow to use a case insensitive file system, but comes with a performance penalty" : "비활성화할 경우 파일 시스템이 대소문자를 구분하도록 할 수 있으나, 일부 성능 제약이 발생할 수 있습니다", "Verify ACL access when listing files" : "파일 목록을 표시할 때 접근 권한 검증", + "Check the ACL's of each file or folder inside a directory to filter out items where the account has no read permissions, comes with a performance penalty" : "경로 내 각 파일과 폴더의 접근 권한을 확인하여 해당 계정에 읽기 권한이 없는 파일을 솎아내며, 일부 성능 제약이 발생할 수 있습니다", "Timeout" : "시간 초과", "SMB/CIFS using OC login" : "OC 로그인을 사용하는 SMB/CIFS", "OpenStack Object Storage" : "OpenStack 객체 저장소", diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index 595ea1b397b..1489736d46c 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -5,6 +5,7 @@ "Error configuring OAuth2" : "OAuth2 설정 오류", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "Type to select account or group." : "계정 또는 그룹을 입력하십시오.", "(Group)" : "(그룹)", "Compatibility with Mac NFD encoding (slow)" : "Mac NFD 인코딩 호환성 사용(느림)", "Enable encryption" : "암호화 사용", @@ -89,6 +90,7 @@ "Case sensitive file system" : "대소문자를 구별하는 파일 시스템", "Disabling it will allow to use a case insensitive file system, but comes with a performance penalty" : "비활성화할 경우 파일 시스템이 대소문자를 구분하도록 할 수 있으나, 일부 성능 제약이 발생할 수 있습니다", "Verify ACL access when listing files" : "파일 목록을 표시할 때 접근 권한 검증", + "Check the ACL's of each file or folder inside a directory to filter out items where the account has no read permissions, comes with a performance penalty" : "경로 내 각 파일과 폴더의 접근 권한을 확인하여 해당 계정에 읽기 권한이 없는 파일을 솎아내며, 일부 성능 제약이 발생할 수 있습니다", "Timeout" : "시간 초과", "SMB/CIFS using OC login" : "OC 로그인을 사용하는 SMB/CIFS", "OpenStack Object Storage" : "OpenStack 객체 저장소", diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index 56f9f21a8cc..d0749688e32 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -79,6 +79,7 @@ OC.L10N.register( "Wrong path, file/folder does not exist" : "경로가 잘못됨, 파일 또는 폴더가 존재하지 않음", "Could not create share" : "공유를 만들 수 없음", "Invalid permissions" : "권한이 유효하지 않음", + "Please specify a valid account to share with" : "올바른 공유 대상 계정을 입력하십시오", "Group sharing is disabled by the administrator" : "관리자가 그룹 공유를 비활성화함", "Please specify a valid group" : "올바른 그룹을 지정하십시오", "Public link sharing is disabled by the administrator" : "관리자가 공개 링크 공유를 비활성화함", @@ -86,6 +87,7 @@ OC.L10N.register( "Public upload is only possible for publicly shared folders" : "공개 공유 폴더에만 공개 업로드를 사용할 수 있음", "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크에 암호를 보내서 %s(을)를 공유 할 수 없음", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "%1$s을(를) 공유할 수 없습니다. 백엔드에서 %2$s 형식의 공유를 지원하지 않습니다", + "Please specify a valid federated account ID" : "올바른 연합 계정 ID를 입력하십시오", "Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다.", "Please specify a valid federated group ID" : "유효한 연합 그룹 ID를 지정하세요.", "You cannot share to a Circle if the app is not enabled" : "서클 앱이 활성화되어 있지 않으면 서클로 공유할 수 없음", @@ -113,6 +115,7 @@ OC.L10N.register( "Accept" : "수락", "Reject" : "거절", "Sharing" : "공유", + "Accept shares from other accounts and groups by default" : "다른 계정 및 그룹으로부터의 공유를 기본적으로 허용", "Error while toggling options" : "옵션을 켜는 중 오류 발생", "Set default folder for accepted shares" : "허용한 공유의 기본 경로 설정", "Reset" : "초기화", @@ -207,6 +210,7 @@ OC.L10N.register( "Save share" : "공유 저장", "Update share" : "공유 업데이트", "Others with access" : "접근할 수 있는 다른 사용자", + "No other accounts with access found" : "접근할 수 있는 다른 계정이 없음", "Toggle list of others with access to this directory" : "이 경로에 접근할 수 있는 사용자들의 목록 전환", "Toggle list of others with access to this file" : "이 파일에 접근할 수 있는 사용자들의 목록 전환", "Unable to fetch inherited shares" : "상속된 공유를 가져올 수 없음", diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index 73a57415f1b..920b21c9529 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -77,6 +77,7 @@ "Wrong path, file/folder does not exist" : "경로가 잘못됨, 파일 또는 폴더가 존재하지 않음", "Could not create share" : "공유를 만들 수 없음", "Invalid permissions" : "권한이 유효하지 않음", + "Please specify a valid account to share with" : "올바른 공유 대상 계정을 입력하십시오", "Group sharing is disabled by the administrator" : "관리자가 그룹 공유를 비활성화함", "Please specify a valid group" : "올바른 그룹을 지정하십시오", "Public link sharing is disabled by the administrator" : "관리자가 공개 링크 공유를 비활성화함", @@ -84,6 +85,7 @@ "Public upload is only possible for publicly shared folders" : "공개 공유 폴더에만 공개 업로드를 사용할 수 있음", "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크에 암호를 보내서 %s(을)를 공유 할 수 없음", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "%1$s을(를) 공유할 수 없습니다. 백엔드에서 %2$s 형식의 공유를 지원하지 않습니다", + "Please specify a valid federated account ID" : "올바른 연합 계정 ID를 입력하십시오", "Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다.", "Please specify a valid federated group ID" : "유효한 연합 그룹 ID를 지정하세요.", "You cannot share to a Circle if the app is not enabled" : "서클 앱이 활성화되어 있지 않으면 서클로 공유할 수 없음", @@ -111,6 +113,7 @@ "Accept" : "수락", "Reject" : "거절", "Sharing" : "공유", + "Accept shares from other accounts and groups by default" : "다른 계정 및 그룹으로부터의 공유를 기본적으로 허용", "Error while toggling options" : "옵션을 켜는 중 오류 발생", "Set default folder for accepted shares" : "허용한 공유의 기본 경로 설정", "Reset" : "초기화", @@ -205,6 +208,7 @@ "Save share" : "공유 저장", "Update share" : "공유 업데이트", "Others with access" : "접근할 수 있는 다른 사용자", + "No other accounts with access found" : "접근할 수 있는 다른 계정이 없음", "Toggle list of others with access to this directory" : "이 경로에 접근할 수 있는 사용자들의 목록 전환", "Toggle list of others with access to this file" : "이 파일에 접근할 수 있는 사용자들의 목록 전환", "Unable to fetch inherited shares" : "상속된 공유를 가져올 수 없음", diff --git a/apps/files_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js index 0c0131b1e4f..9794243b935 100644 --- a/apps/files_trashbin/l10n/ja.js +++ b/apps/files_trashbin/l10n/ja.js @@ -4,6 +4,8 @@ OC.L10N.register( "restored" : "復元済", "Deleted files" : "ゴミ箱", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "ゴミ箱にある削除されたファイルやフォルダ(ストレージ容量が足りない場合、エクスポート操作中に削除されることがあります)", + "This application enables people to restore files that were deleted from the system." : "このアプリケーションを使用すると、利用者はシステムから削除されたファイルを復元できます。", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。Webインターフェイスには削除されたファイルのリストが表示され、これらの削除されたファイルを元の場所に復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると関連するファイルのバージョンも復元されます。削除された共有ファイルは同じ方法で復元できますが、共有は復元されません。デフォルトでは、これらのファイルは30日間ごみ箱に残ります。\nアカウントのディスク容量が不足しないようにするため、削除済みファイルアプリでは削除済みファイルに現在利用可能な割り当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限以下になるまでアプリは最も古いファイルを削除し続けます。詳細は「削除済みファイル」のドキュメントで確認できます。", "Restore" : "復元", "List of files that have been deleted." : "削除されたファイルのリスト", "No deleted files" : "削除されたファイルはありません", diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json index 45f4a51db90..76613cbb18a 100644 --- a/apps/files_trashbin/l10n/ja.json +++ b/apps/files_trashbin/l10n/ja.json @@ -2,6 +2,8 @@ "restored" : "復元済", "Deleted files" : "ゴミ箱", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "ゴミ箱にある削除されたファイルやフォルダ(ストレージ容量が足りない場合、エクスポート操作中に削除されることがあります)", + "This application enables people to restore files that were deleted from the system." : "このアプリケーションを使用すると、利用者はシステムから削除されたファイルを復元できます。", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。Webインターフェイスには削除されたファイルのリストが表示され、これらの削除されたファイルを元の場所に復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると関連するファイルのバージョンも復元されます。削除された共有ファイルは同じ方法で復元できますが、共有は復元されません。デフォルトでは、これらのファイルは30日間ごみ箱に残ります。\nアカウントのディスク容量が不足しないようにするため、削除済みファイルアプリでは削除済みファイルに現在利用可能な割り当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限以下になるまでアプリは最も古いファイルを削除し続けます。詳細は「削除済みファイル」のドキュメントで確認できます。", "Restore" : "復元", "List of files that have been deleted." : "削除されたファイルのリスト", "No deleted files" : "削除されたファイルはありません", diff --git a/apps/files_trashbin/src/services/client.ts b/apps/files_trashbin/src/services/client.ts index 9fb3361839a..e9ea06a9a5e 100644 --- a/apps/files_trashbin/src/services/client.ts +++ b/apps/files_trashbin/src/services/client.ts @@ -19,15 +19,28 @@ * along with this program. If not, see . * */ + import { createClient } from 'webdav' import { generateRemoteUrl } from '@nextcloud/router' -import { getCurrentUser, getRequestToken } from '@nextcloud/auth' +import { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' +// init webdav client export const rootPath = `/trashbin/${getCurrentUser()?.uid}/trash` export const rootUrl = generateRemoteUrl('dav' + rootPath) -const client = createClient(rootUrl, { - headers: { - requesttoken: getRequestToken(), - }, -}) +const client = createClient(rootUrl) + +// set CSRF token header +const setHeaders = (token: string | null) => { + client.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }) +} + +// refresh headers when request token changes +onRequestTokenUpdate(setHeaders) +setHeaders(getRequestToken()) + export default client diff --git a/apps/files_versions/l10n/ja.js b/apps/files_versions/l10n/ja.js index b8e6fea30d0..4199553ea37 100644 --- a/apps/files_versions/l10n/ja.js +++ b/apps/files_versions/l10n/ja.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Versions" : "バージョン", "This application automatically maintains older versions of files that are changed." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the account does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the account's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。有効にすると、隠れバージョン用フォルダーがすべてのユーザーのディレクトリに用意され、古いファイルバージョンを格納するために使用されます。ユーザーはいつでもWebインターフェースから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。アプリはバージョンフォルダーを自動的に管理して、アカウントがバージョン履歴のために容量を使い果たさないようにします。\nバージョンの有効期限に加えて、バージョンアプリは、アカウントの現在利用可能な空き容量の50%以上を使用しないように維持します。保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最初に最も古いバージョンから削除します。詳細は、バージョンのドキュメントを参照してください。", "Name this version" : "このバージョンに名前を付けます", "Edit version name" : "バージョン名の編集", "Compare to current version" : "現在のバージョンと比較", @@ -18,6 +19,7 @@ OC.L10N.register( "Initial version restored" : "初期バージョンを復旧", "Version restored" : "指定のバージョンが復旧されました", "Could not restore version" : "このバージョンを復旧できません", + "Could not set version label" : "バージョンラベルを付けることができませんでした", "Could not delete version" : "指定のバージョンを削除できませんでした", "${version.label} restored" : "${version.label} が復旧されました", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。\n\t\tバージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。", diff --git a/apps/files_versions/l10n/ja.json b/apps/files_versions/l10n/ja.json index 344af3f4469..9744d4d6cf3 100644 --- a/apps/files_versions/l10n/ja.json +++ b/apps/files_versions/l10n/ja.json @@ -1,6 +1,7 @@ { "translations": { "Versions" : "バージョン", "This application automatically maintains older versions of files that are changed." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the account does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the account's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。有効にすると、隠れバージョン用フォルダーがすべてのユーザーのディレクトリに用意され、古いファイルバージョンを格納するために使用されます。ユーザーはいつでもWebインターフェースから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。アプリはバージョンフォルダーを自動的に管理して、アカウントがバージョン履歴のために容量を使い果たさないようにします。\nバージョンの有効期限に加えて、バージョンアプリは、アカウントの現在利用可能な空き容量の50%以上を使用しないように維持します。保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最初に最も古いバージョンから削除します。詳細は、バージョンのドキュメントを参照してください。", "Name this version" : "このバージョンに名前を付けます", "Edit version name" : "バージョン名の編集", "Compare to current version" : "現在のバージョンと比較", @@ -16,6 +17,7 @@ "Initial version restored" : "初期バージョンを復旧", "Version restored" : "指定のバージョンが復旧されました", "Could not restore version" : "このバージョンを復旧できません", + "Could not set version label" : "バージョンラベルを付けることができませんでした", "Could not delete version" : "指定のバージョンを削除できませんでした", "${version.label} restored" : "${version.label} が復旧されました", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。\n\t\tバージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。", diff --git a/apps/files_versions/src/utils/davClient.js b/apps/files_versions/src/utils/davClient.js index 022d34bbba4..b091935fc31 100644 --- a/apps/files_versions/src/utils/davClient.js +++ b/apps/files_versions/src/utils/davClient.js @@ -21,17 +21,25 @@ import { createClient } from 'webdav' import { generateRemoteUrl } from '@nextcloud/router' -import { getRequestToken } from '@nextcloud/auth' +import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' +// init webdav client const rootPath = 'dav' - -// init webdav client on default dav endpoint const remote = generateRemoteUrl(rootPath) -export default createClient(remote, { - headers: { - // Add this so the server knows it is an request from the browser - 'X-Requested-With': 'XMLHttpRequest', - // Inject user auth - requesttoken: getRequestToken() ?? '', - }, -}) +const client = createClient(remote) + +// set CSRF token header +const setHeaders = (token) => { + client.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }) +} + +// refresh headers when request token changes +onRequestTokenUpdate(setHeaders) +setHeaders(getRequestToken()) + +export default client \ No newline at end of file diff --git a/apps/provisioning_api/l10n/ja.js b/apps/provisioning_api/l10n/ja.js index 0d6d3f1715e..6f03597118e 100644 --- a/apps/provisioning_api/l10n/ja.js +++ b/apps/provisioning_api/l10n/ja.js @@ -1,6 +1,7 @@ OC.L10N.register( "provisioning_api", { + "Logged in account must be an administrator or have authorization to edit this setting." : "ログインアカウントは管理者であるか、この設定を編集する権限を持っている必要があります。", "Could not create non-existing user ID" : "存在しないユーザIDを作成できませんでした", "User already exists" : "ユーザは既に存在する", "Group %1$s does not exist" : "グループ %1$s は存在しません", @@ -35,6 +36,8 @@ OC.L10N.register( "An unexpected error occurred. Please contact your admin." : "予期せぬエラーが発生しました。管理者に連絡してください。", "Email confirmation successful" : "Eメールの確認が成功しました", "Provisioning API" : "プロビジョニングAPI", + "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "このアプリケーションは、外部システムがアカウント、グループ、アプリを管理するために使用できる一連のAPIを有効にします。", + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "このアプリケーションは、外部システムがNextcloudでアカウント属性を作成、編集、削除、クエリしたり、\n\t\tグループをクエリしたり、設定したり、削除したり、クォータを設定したり、使用されている総ストレージを\n\t\tクエリしたりするために使用できる一連のAPIを有効にします。グループ管理アカウントは、管理している\n\t\tグループに対して管理者と同じ機能を実行することができるだけでなく、Nextcloudをクエリすることもできます。\n\t\tこのAPIはまた、管理者がアクティブなNextcloudアプリケーションやアプリケーション情報をクエリし、アプリを\n\t\tリモートで有効または無効にすることも可能にします。アプリが有効になると、上記にリストされている機能を\n\t\t実行するために、Basic Authヘッダーを介したHTTPリクエストを使用することができます。詳細な情報や\n\t\tサンプルの呼び出し、サーバーからの応答などは、Provisioning APIのドキュメントで確認できます。", "Logged in user must be an administrator or have authorization to edit this setting." : "ログインユーザーは、管理者またはこの設定を編集する権限を持っている必要があります。", "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "このアプリケーションは、外部システムがユーザー、グループ、アプリを管理するために使用できる一連のAPIを有効にします。", "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "このアプリケーションにより、外部システムがユーザーの作成、編集、削除、クエリに使用できる一連のAPIが有効になります\n\t\t属性やクエリ、グループの設定と削除、クォータの設定、Nextcloudのストレージの容量チェック。グループ管理者ユーザーも\n\t\tNextcloudにクエリを実行し、管理者と同じ機能を管理するグループに実行することもできます。 APIではまた管理者が\n\t\tアクティブなNextcloudアプリケーション、アプリケーション情報を照会し、アプリをリモートで有効または無効にできます。\n\t\tこのアプリを有効にすると、基本認証ヘッダーを介したHTTPリクエストを使用して、上記の任意の機能を実行できます\n\t\t呼び出しの例など、詳細やサンプルの呼び出し方法、サーバーからの応答については、\n\t\tProvisioningAPIのドキュメントをご覧ください。" diff --git a/apps/provisioning_api/l10n/ja.json b/apps/provisioning_api/l10n/ja.json index b9c9103259a..7d52275006d 100644 --- a/apps/provisioning_api/l10n/ja.json +++ b/apps/provisioning_api/l10n/ja.json @@ -1,4 +1,5 @@ { "translations": { + "Logged in account must be an administrator or have authorization to edit this setting." : "ログインアカウントは管理者であるか、この設定を編集する権限を持っている必要があります。", "Could not create non-existing user ID" : "存在しないユーザIDを作成できませんでした", "User already exists" : "ユーザは既に存在する", "Group %1$s does not exist" : "グループ %1$s は存在しません", @@ -33,6 +34,8 @@ "An unexpected error occurred. Please contact your admin." : "予期せぬエラーが発生しました。管理者に連絡してください。", "Email confirmation successful" : "Eメールの確認が成功しました", "Provisioning API" : "プロビジョニングAPI", + "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "このアプリケーションは、外部システムがアカウント、グループ、アプリを管理するために使用できる一連のAPIを有効にします。", + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "このアプリケーションは、外部システムがNextcloudでアカウント属性を作成、編集、削除、クエリしたり、\n\t\tグループをクエリしたり、設定したり、削除したり、クォータを設定したり、使用されている総ストレージを\n\t\tクエリしたりするために使用できる一連のAPIを有効にします。グループ管理アカウントは、管理している\n\t\tグループに対して管理者と同じ機能を実行することができるだけでなく、Nextcloudをクエリすることもできます。\n\t\tこのAPIはまた、管理者がアクティブなNextcloudアプリケーションやアプリケーション情報をクエリし、アプリを\n\t\tリモートで有効または無効にすることも可能にします。アプリが有効になると、上記にリストされている機能を\n\t\t実行するために、Basic Authヘッダーを介したHTTPリクエストを使用することができます。詳細な情報や\n\t\tサンプルの呼び出し、サーバーからの応答などは、Provisioning APIのドキュメントで確認できます。", "Logged in user must be an administrator or have authorization to edit this setting." : "ログインユーザーは、管理者またはこの設定を編集する権限を持っている必要があります。", "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "このアプリケーションは、外部システムがユーザー、グループ、アプリを管理するために使用できる一連のAPIを有効にします。", "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "このアプリケーションにより、外部システムがユーザーの作成、編集、削除、クエリに使用できる一連のAPIが有効になります\n\t\t属性やクエリ、グループの設定と削除、クォータの設定、Nextcloudのストレージの容量チェック。グループ管理者ユーザーも\n\t\tNextcloudにクエリを実行し、管理者と同じ機能を管理するグループに実行することもできます。 APIではまた管理者が\n\t\tアクティブなNextcloudアプリケーション、アプリケーション情報を照会し、アプリをリモートで有効または無効にできます。\n\t\tこのアプリを有効にすると、基本認証ヘッダーを介したHTTPリクエストを使用して、上記の任意の機能を実行できます\n\t\t呼び出しの例など、詳細やサンプルの呼び出し方法、サーバーからの応答については、\n\t\tProvisioningAPIのドキュメントをご覧ください。" diff --git a/apps/settings/composer/composer/autoload_classmap.php b/apps/settings/composer/composer/autoload_classmap.php index 7727d8ff9ec..067b24592e8 100644 --- a/apps/settings/composer/composer/autoload_classmap.php +++ b/apps/settings/composer/composer/autoload_classmap.php @@ -98,6 +98,7 @@ return array( 'OCA\\Settings\\SetupChecks\\MaintenanceWindowStart' => $baseDir . '/../lib/SetupChecks/MaintenanceWindowStart.php', 'OCA\\Settings\\SetupChecks\\MemcacheConfigured' => $baseDir . '/../lib/SetupChecks/MemcacheConfigured.php', 'OCA\\Settings\\SetupChecks\\MysqlUnicodeSupport' => $baseDir . '/../lib/SetupChecks/MysqlUnicodeSupport.php', + 'OCA\\Settings\\SetupChecks\\OcxProviders' => $baseDir . '/../lib/SetupChecks/OcxProviders.php', 'OCA\\Settings\\SetupChecks\\OverwriteCliUrl' => $baseDir . '/../lib/SetupChecks/OverwriteCliUrl.php', 'OCA\\Settings\\SetupChecks\\PhpDefaultCharset' => $baseDir . '/../lib/SetupChecks/PhpDefaultCharset.php', 'OCA\\Settings\\SetupChecks\\PhpDisabledFunctions' => $baseDir . '/../lib/SetupChecks/PhpDisabledFunctions.php', diff --git a/apps/settings/composer/composer/autoload_static.php b/apps/settings/composer/composer/autoload_static.php index f565a34c5ee..44afee35d93 100644 --- a/apps/settings/composer/composer/autoload_static.php +++ b/apps/settings/composer/composer/autoload_static.php @@ -113,6 +113,7 @@ class ComposerStaticInitSettings 'OCA\\Settings\\SetupChecks\\MaintenanceWindowStart' => __DIR__ . '/..' . '/../lib/SetupChecks/MaintenanceWindowStart.php', 'OCA\\Settings\\SetupChecks\\MemcacheConfigured' => __DIR__ . '/..' . '/../lib/SetupChecks/MemcacheConfigured.php', 'OCA\\Settings\\SetupChecks\\MysqlUnicodeSupport' => __DIR__ . '/..' . '/../lib/SetupChecks/MysqlUnicodeSupport.php', + 'OCA\\Settings\\SetupChecks\\OcxProviders' => __DIR__ . '/..' . '/../lib/SetupChecks/OcxProviders.php', 'OCA\\Settings\\SetupChecks\\OverwriteCliUrl' => __DIR__ . '/..' . '/../lib/SetupChecks/OverwriteCliUrl.php', 'OCA\\Settings\\SetupChecks\\PhpDefaultCharset' => __DIR__ . '/..' . '/../lib/SetupChecks/PhpDefaultCharset.php', 'OCA\\Settings\\SetupChecks\\PhpDisabledFunctions' => __DIR__ . '/..' . '/../lib/SetupChecks/PhpDisabledFunctions.php', diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js index 57c47de3684..cbd9e5c1ad8 100644 --- a/apps/settings/l10n/es.js +++ b/apps/settings/l10n/es.js @@ -56,9 +56,12 @@ OC.L10N.register( "Wrong password" : "Contraseña incorrecta", "Unable to change personal password" : "No se ha podido cambiar la contraseña personal", "Saved" : "Guardado", + "No Login supplied" : "No se proporcionó usuario", "Unable to change password. Password too long." : "No se ha podido cambiar la contraseña. La contraseña es demasiado larga.", "Authentication error" : "Error de autenticación", + "Please provide an admin recovery password; otherwise, all account data will be lost." : "Por favor proporcione una contraseña de recuperación de administrador; de lo contrario, toda la información de la cuenta se perderá.", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor comprueba la contraseña e inténtalo de nuevo.", + "Backend does not support password change, but the encryption of the account key was updated." : "El backend no soporta el cambio de contraseñas, pero se actualizó la llave de cifrado del usuario.", "Administrator documentation" : "Documentación del adminsitrador", "User documentation" : "Documentación de usuario", "Nextcloud help overview" : "Vista general de la ayuda de Nextcloud", diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json index 0068e38f432..a767ac5bb8a 100644 --- a/apps/settings/l10n/es.json +++ b/apps/settings/l10n/es.json @@ -54,9 +54,12 @@ "Wrong password" : "Contraseña incorrecta", "Unable to change personal password" : "No se ha podido cambiar la contraseña personal", "Saved" : "Guardado", + "No Login supplied" : "No se proporcionó usuario", "Unable to change password. Password too long." : "No se ha podido cambiar la contraseña. La contraseña es demasiado larga.", "Authentication error" : "Error de autenticación", + "Please provide an admin recovery password; otherwise, all account data will be lost." : "Por favor proporcione una contraseña de recuperación de administrador; de lo contrario, toda la información de la cuenta se perderá.", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor comprueba la contraseña e inténtalo de nuevo.", + "Backend does not support password change, but the encryption of the account key was updated." : "El backend no soporta el cambio de contraseñas, pero se actualizó la llave de cifrado del usuario.", "Administrator documentation" : "Documentación del adminsitrador", "User documentation" : "Documentación de usuario", "Nextcloud help overview" : "Vista general de la ayuda de Nextcloud", diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js index 725d95aa668..768788e89ef 100644 --- a/apps/settings/l10n/he.js +++ b/apps/settings/l10n/he.js @@ -389,4 +389,4 @@ OC.L10N.register( "Allow username autocompletion in share dialog" : "לאפשר השלמה אוטומטית של שם משתמש בחלונית השיתוף", "Allow username autocompletion to users within the same groups" : "לאפשר השלמה אוטומטית של שם משתמש למשתמשים בתוך אותן הקבוצות" }, -"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); +"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json index 26bd3a424c4..5c51a6480a3 100644 --- a/apps/settings/l10n/he.json +++ b/apps/settings/l10n/he.json @@ -386,5 +386,5 @@ "Set default expiration date" : "הגדרת תאריך תפוגה ברירת מחדל", "Allow username autocompletion in share dialog" : "לאפשר השלמה אוטומטית של שם משתמש בחלונית השיתוף", "Allow username autocompletion to users within the same groups" : "לאפשר השלמה אוטומטית של שם משתמש למשתמשים בתוך אותן הקבוצות" -},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" +},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" } \ No newline at end of file diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js index cdb3d22ff8f..1a6cc6c6c05 100644 --- a/apps/settings/l10n/ko.js +++ b/apps/settings/l10n/ko.js @@ -58,7 +58,9 @@ OC.L10N.register( "Saved" : "저장됨", "Unable to change password. Password too long." : "패스워드를 변경할 수 없음. 패스워드가 너무 긺.", "Authentication error" : "인증 오류", + "Please provide an admin recovery password; otherwise, all account data will be lost." : "관리자 복구 암호를 입력하십시오. 그렇지 않으면 모든 계정 데이터가 초기화됩니다.", "Wrong admin recovery password. Please check the password and try again." : "관리자 복구 암호가 잘못되었습니다. 암호를 다시 확인하십시오.", + "Backend does not support password change, but the encryption of the account key was updated." : "백엔드에서 암호 변경을 지원하지 않지만, 계정 키의 암호화가 갱신되었습니다.", "Administrator documentation" : "관리자 문서", "User documentation" : "사용자 문서", "Nextcloud help overview" : "Nextcloud 도움말 개관", @@ -68,6 +70,7 @@ OC.L10N.register( "If you received this email, the email configuration seems to be correct." : "이 이메일을 받으셨다면 이메일 설정이 올바릅니다.", "Email could not be sent. Check your mail server log" : "이메일을 보낼 수 없습니다. 메일 서버 로그를 확인하십시오.", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "이메일을 보내는 중 오류가 발생했습니다. 설정을 확인하십시오.(오류: %s)", + "You need to set your account email before being able to send test emails. Go to %s for that." : "이메일 발송 테스트를 진행하기 앞서 계정 이메일을 설정해야 합니다. 설정을 위해 %s(으)로 가십시오.", "Invalid account" : "잘못된 계정", "Invalid mail address" : "잘못된 이메일 주소", "Settings saved" : "설정 저장됨", @@ -97,6 +100,7 @@ OC.L10N.register( "Set your password" : "내 암호 설정하기", "Go to %s" : "%s(으)로 이동", "Install Client" : "클라이언트 설치", + "Logged in account must be a subadmin" : "로그인한 계정은 부관리자여야 합니다.", "Apps" : "앱", "Personal" : "개인", "Administration" : "관리", @@ -301,6 +305,7 @@ OC.L10N.register( "Deleted disclaimer text" : "고지 사항 문구를 삭제함", "Could not set disclaimer text" : "고지 사항 문구를 설정할 수 없음", "Two-Factor Authentication" : "2단계 인증", + "Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "2단계 인증을 모든 계정 또는 특정 그룹에 강제할 수 있습니다. 만약 대상 계정이 2단계 인증 공급자를 설정하지 않았다면, 해당 계정은 시스템에 접근할 수 없게 될 것입니다.", "Enforce two-factor authentication" : "2단계 인증 강제하기", "Limit to groups" : "그룹으로 제한", "Enforcement of two-factor authentication can be set for certain groups only." : "2단계 인증 강제는 특정 그룹에게만 적용됩니다.", @@ -381,12 +386,16 @@ OC.L10N.register( "Last job ran {relativeTime}." : "마지막 작업이 {relativeTime}에 실행되었음", "Background job did not run yet!" : "백그라운드 작업이 아직 실행되지 않았습니다!", "AJAX" : "AJAX", + "Execute one task with each page loaded. Use case: Single account instance." : "페이지를 로드할 때마다 작업을 실행합니다. 계정이 하나인 인스턴스에 적합합니다.", "Webcron" : "Webcron", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 accounts depending on the usage)." : "cron.php를 webcron 서비스에 등록하여 매 5분마다 HTTP 상에서 실행합니다. 계정이 다섯 개 이하인 소규모 인스턴스에 적합합니다.", "Cron (Recommended)" : "Cron (권장됨)", "Use system cron service to call the cron.php file every 5 minutes." : "시스템 cron 서비스를 통해 5분마다 cron.php 파일을 실행합니다.", + "The cron.php needs to be executed by the system account \"{user}\"." : "시스템 계정 \"{user}\"(으)로 cron.php를 실행해야 합니다.", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX 확장이 필요합니다. 더 자세한 정보는 {linkstart}PHP 문서{linkend}를 참조하십시오.", "Unable to update background job mode" : "백그라운드 작업 모드를 업데이트 할 수 없음", "Profile" : "프로필", + "Enable or disable profile by default for new accounts." : "신규 계정에 대한 프로필 기본 사용 여부를 설정하십시오.", "Enable" : "사용함", "Unable to update profile default setting" : "프로필 기본 설정을 업데이트 할 수 없음", "Server-side encryption" : "서버 측 암호화", @@ -403,6 +412,7 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "과거에 사용하였던(ownCloud <= 8.0) 암호화된 데이터에서 키를 이전해야 합니다. \"기본 암호화 모듈\"을 활성화한 다음 {command}(을)를 실행하십시오", "Unable to update server side encryption config" : "서버 측 암호화 설정을 갱신할 수 없음", "Please confirm the group removal" : "그룹 지우기를 확인해 주십시오", + "You are about to remove the group \"{group}\". The accounts will NOT be deleted." : "그룹 \"{group}\"을(를) 지우려고 합니다. 그룹의 계정은 삭제되지 않습니다.", "Cancel" : "취소", "Confirm" : "확인", "Submit" : "제출", @@ -476,6 +486,8 @@ OC.L10N.register( "Delete" : "삭제", "Reshare" : "재공유", "No accounts" : "계정 없음", + "Loading accounts …" : "계정 불러오는 중 ...", + "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "계정 목록입니다. 성능 저하를 막기 위해 이 목록을 완전히 처리하지 않았습니다. 계속 탐색하면 남은 목록이 자동으로 처리됩니다.", "Default language" : "기본 언어", "Common languages" : "공통 언어", "Other languages" : "다른 언어", @@ -510,33 +522,44 @@ OC.L10N.register( "Storage location" : "저장소 위치", "Last login" : "마지막 로그인", "User actions" : "사용자 동작", + "Loading account …" : "계정 불러오는 중 ...", "Change display name" : "표시 이름 변경", "Set new password" : "새 암호 설정", + "You do not have permissions to see the details of this account" : "이 계정의 상세정보를 볼 권한이 없습니다.", "Set new email address" : "새 이메일 주소 설정", "Add user to group" : "사용자를 그룹에 추가", + "Add account to group" : "계정을 그룹에 추가", + "Set account as admin for" : "계정을 다음에 대한 관리자로 설정: ", + "Select account quota" : "계정 할당량 설정", "Set the language" : "언어 설정", "{size} used" : "{size} 사용됨", "Delete account" : "계정 삭제", "Wipe all devices" : "모든 기기 지우기", + "Disable account" : "계정 비활성화", + "Enable account" : "계정 활성화", "Resend welcome email" : "환영 메일 다시 보내기", "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "기기를 분실했거나 조직에서 이탈할 경우, 이를 통해 모든 기기에 있는 {userid} 관련 Nextcloud 데이터를 원격으로 삭제할 수 있습니다. 해당 기기들이 인터넷에 연결된 경우에 한하여 작동합니다.", "Remote wipe of devices" : "기기 원격 제거", "Wipe {userid}'s devices" : "{userid}의 기기 제거", "Wiped {userid}'s devices" : "{userid}의 기기를 제거함", - "Fully delete {userid}'s account including all their personal files, app data, etc." : "모든 개인 파일, 앱, 데이터 등을 포함한 {userid}계정을 완전히 삭제하기", + "Fully delete {userid}'s account including all their personal files, app data, etc." : "모든 개인 파일, 앱, 데이터 등을 포함한 {userid} 계정을 완전히 삭제하기", "Account deletion" : "계정 삭제", "Delete {userid}'s account" : "{userid}의 계정 삭제", "Display name was successfully changed" : "표시 이름이 성공적으로 변경됨", "Password was successfully changed" : "암호를 성공적으로 변경함", "Email was successfully changed" : "이메일을 성공적으로 변경함", "Welcome mail sent!" : "환영 메일을 보냈습니다!", + "Toggle account actions menu" : "계정 동작 메뉴 켜고 끄기", "Done" : "완료", "Edit" : "편집", + "Account management settings" : "계정 관리 설정", "Visibility" : "표시 여부", "Show language" : "언어 보이기", + "Show account backend" : "계정 백엔드 보이기", "Show storage path" : "스토리지 경로 보이기", "Show last login" : "마지막 로그인 보이기", "Send email" : "이메일 보내기", + "Send welcome email to new accounts" : "새 계정에 환영 이메일 보내기", "Defaults" : "기본값", "Default quota" : "기본 할당량", "Select default quota" : "기본 할당량 설정", @@ -558,13 +581,17 @@ OC.L10N.register( "{license}-licensed" : "{license} 라이선스", "Changelog" : "변경 기록", "by {author}\n{license}" : "{author} 님이 작성\n{license}", + "Account management" : "계정 관리", "New account" : "새로운 계정", + "Active accounts" : "활성화된 계정", "Admins" : "관리자", "Disabled users" : "비활성화된 사용자", "Creating group …" : "그룹 생성 ...", "Create group" : "그룹 생성", "Group name" : "그룹 이름", "Please enter a valid group name" : "올바른 그룹 이름을 입력하세요", + "Disabled accounts" : "비활성화된 계정", + "Account group: {group}" : "계정 그룹: {group}", "Failed to create group" : "그룹을 만들 수 없음", "Sending…" : "보내는 중…", "Email sent" : "이메일 보냄", @@ -583,6 +610,7 @@ OC.L10N.register( "Profile visibility" : "프로필 표시 여부", "Locale" : "지역", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "이 설정은 파일 공유, 달력 초대 등 핵심 기능에 필요하므로 비울 수 없습니다", + "Not available as federation has been disabled for your account, contact your system administration if you have any questions" : "이 계정에 대한 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오.", "Your apps" : "내 앱", "Active apps" : "활성화된 앱", "Disabled apps" : "비활성화된 앱", @@ -591,6 +619,7 @@ OC.L10N.register( "Featured apps" : "추천 앱 - ", "Supported apps" : "지원하는 앱", "Show to everyone" : "전체 공개", + "Show to logged in accounts only" : "로그인된 계정에 공개", "Hide" : "비공개", "Download and enable" : "다운로드 및 활성화", "Allow untested app" : "미시험 앱 허용", @@ -719,7 +748,7 @@ OC.L10N.register( "Send email to new user" : "새 사용자에게 이메일 보내기", "Not saved" : "저장하지 않음", "Twitter" : "트위터", - "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "계정에서 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오.", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "계정에서 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오", "Show to logged in users only" : "로그인된 사용자에게 공개", "Enable untested app" : "미시험 앱 활성화", "SMTP Username" : "SMTP 사용자 이름", diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json index 24b3e83de9a..daefce5b828 100644 --- a/apps/settings/l10n/ko.json +++ b/apps/settings/l10n/ko.json @@ -56,7 +56,9 @@ "Saved" : "저장됨", "Unable to change password. Password too long." : "패스워드를 변경할 수 없음. 패스워드가 너무 긺.", "Authentication error" : "인증 오류", + "Please provide an admin recovery password; otherwise, all account data will be lost." : "관리자 복구 암호를 입력하십시오. 그렇지 않으면 모든 계정 데이터가 초기화됩니다.", "Wrong admin recovery password. Please check the password and try again." : "관리자 복구 암호가 잘못되었습니다. 암호를 다시 확인하십시오.", + "Backend does not support password change, but the encryption of the account key was updated." : "백엔드에서 암호 변경을 지원하지 않지만, 계정 키의 암호화가 갱신되었습니다.", "Administrator documentation" : "관리자 문서", "User documentation" : "사용자 문서", "Nextcloud help overview" : "Nextcloud 도움말 개관", @@ -66,6 +68,7 @@ "If you received this email, the email configuration seems to be correct." : "이 이메일을 받으셨다면 이메일 설정이 올바릅니다.", "Email could not be sent. Check your mail server log" : "이메일을 보낼 수 없습니다. 메일 서버 로그를 확인하십시오.", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "이메일을 보내는 중 오류가 발생했습니다. 설정을 확인하십시오.(오류: %s)", + "You need to set your account email before being able to send test emails. Go to %s for that." : "이메일 발송 테스트를 진행하기 앞서 계정 이메일을 설정해야 합니다. 설정을 위해 %s(으)로 가십시오.", "Invalid account" : "잘못된 계정", "Invalid mail address" : "잘못된 이메일 주소", "Settings saved" : "설정 저장됨", @@ -95,6 +98,7 @@ "Set your password" : "내 암호 설정하기", "Go to %s" : "%s(으)로 이동", "Install Client" : "클라이언트 설치", + "Logged in account must be a subadmin" : "로그인한 계정은 부관리자여야 합니다.", "Apps" : "앱", "Personal" : "개인", "Administration" : "관리", @@ -299,6 +303,7 @@ "Deleted disclaimer text" : "고지 사항 문구를 삭제함", "Could not set disclaimer text" : "고지 사항 문구를 설정할 수 없음", "Two-Factor Authentication" : "2단계 인증", + "Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "2단계 인증을 모든 계정 또는 특정 그룹에 강제할 수 있습니다. 만약 대상 계정이 2단계 인증 공급자를 설정하지 않았다면, 해당 계정은 시스템에 접근할 수 없게 될 것입니다.", "Enforce two-factor authentication" : "2단계 인증 강제하기", "Limit to groups" : "그룹으로 제한", "Enforcement of two-factor authentication can be set for certain groups only." : "2단계 인증 강제는 특정 그룹에게만 적용됩니다.", @@ -379,12 +384,16 @@ "Last job ran {relativeTime}." : "마지막 작업이 {relativeTime}에 실행되었음", "Background job did not run yet!" : "백그라운드 작업이 아직 실행되지 않았습니다!", "AJAX" : "AJAX", + "Execute one task with each page loaded. Use case: Single account instance." : "페이지를 로드할 때마다 작업을 실행합니다. 계정이 하나인 인스턴스에 적합합니다.", "Webcron" : "Webcron", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 accounts depending on the usage)." : "cron.php를 webcron 서비스에 등록하여 매 5분마다 HTTP 상에서 실행합니다. 계정이 다섯 개 이하인 소규모 인스턴스에 적합합니다.", "Cron (Recommended)" : "Cron (권장됨)", "Use system cron service to call the cron.php file every 5 minutes." : "시스템 cron 서비스를 통해 5분마다 cron.php 파일을 실행합니다.", + "The cron.php needs to be executed by the system account \"{user}\"." : "시스템 계정 \"{user}\"(으)로 cron.php를 실행해야 합니다.", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX 확장이 필요합니다. 더 자세한 정보는 {linkstart}PHP 문서{linkend}를 참조하십시오.", "Unable to update background job mode" : "백그라운드 작업 모드를 업데이트 할 수 없음", "Profile" : "프로필", + "Enable or disable profile by default for new accounts." : "신규 계정에 대한 프로필 기본 사용 여부를 설정하십시오.", "Enable" : "사용함", "Unable to update profile default setting" : "프로필 기본 설정을 업데이트 할 수 없음", "Server-side encryption" : "서버 측 암호화", @@ -401,6 +410,7 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "과거에 사용하였던(ownCloud <= 8.0) 암호화된 데이터에서 키를 이전해야 합니다. \"기본 암호화 모듈\"을 활성화한 다음 {command}(을)를 실행하십시오", "Unable to update server side encryption config" : "서버 측 암호화 설정을 갱신할 수 없음", "Please confirm the group removal" : "그룹 지우기를 확인해 주십시오", + "You are about to remove the group \"{group}\". The accounts will NOT be deleted." : "그룹 \"{group}\"을(를) 지우려고 합니다. 그룹의 계정은 삭제되지 않습니다.", "Cancel" : "취소", "Confirm" : "확인", "Submit" : "제출", @@ -474,6 +484,8 @@ "Delete" : "삭제", "Reshare" : "재공유", "No accounts" : "계정 없음", + "Loading accounts …" : "계정 불러오는 중 ...", + "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "계정 목록입니다. 성능 저하를 막기 위해 이 목록을 완전히 처리하지 않았습니다. 계속 탐색하면 남은 목록이 자동으로 처리됩니다.", "Default language" : "기본 언어", "Common languages" : "공통 언어", "Other languages" : "다른 언어", @@ -508,33 +520,44 @@ "Storage location" : "저장소 위치", "Last login" : "마지막 로그인", "User actions" : "사용자 동작", + "Loading account …" : "계정 불러오는 중 ...", "Change display name" : "표시 이름 변경", "Set new password" : "새 암호 설정", + "You do not have permissions to see the details of this account" : "이 계정의 상세정보를 볼 권한이 없습니다.", "Set new email address" : "새 이메일 주소 설정", "Add user to group" : "사용자를 그룹에 추가", + "Add account to group" : "계정을 그룹에 추가", + "Set account as admin for" : "계정을 다음에 대한 관리자로 설정: ", + "Select account quota" : "계정 할당량 설정", "Set the language" : "언어 설정", "{size} used" : "{size} 사용됨", "Delete account" : "계정 삭제", "Wipe all devices" : "모든 기기 지우기", + "Disable account" : "계정 비활성화", + "Enable account" : "계정 활성화", "Resend welcome email" : "환영 메일 다시 보내기", "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "기기를 분실했거나 조직에서 이탈할 경우, 이를 통해 모든 기기에 있는 {userid} 관련 Nextcloud 데이터를 원격으로 삭제할 수 있습니다. 해당 기기들이 인터넷에 연결된 경우에 한하여 작동합니다.", "Remote wipe of devices" : "기기 원격 제거", "Wipe {userid}'s devices" : "{userid}의 기기 제거", "Wiped {userid}'s devices" : "{userid}의 기기를 제거함", - "Fully delete {userid}'s account including all their personal files, app data, etc." : "모든 개인 파일, 앱, 데이터 등을 포함한 {userid}계정을 완전히 삭제하기", + "Fully delete {userid}'s account including all their personal files, app data, etc." : "모든 개인 파일, 앱, 데이터 등을 포함한 {userid} 계정을 완전히 삭제하기", "Account deletion" : "계정 삭제", "Delete {userid}'s account" : "{userid}의 계정 삭제", "Display name was successfully changed" : "표시 이름이 성공적으로 변경됨", "Password was successfully changed" : "암호를 성공적으로 변경함", "Email was successfully changed" : "이메일을 성공적으로 변경함", "Welcome mail sent!" : "환영 메일을 보냈습니다!", + "Toggle account actions menu" : "계정 동작 메뉴 켜고 끄기", "Done" : "완료", "Edit" : "편집", + "Account management settings" : "계정 관리 설정", "Visibility" : "표시 여부", "Show language" : "언어 보이기", + "Show account backend" : "계정 백엔드 보이기", "Show storage path" : "스토리지 경로 보이기", "Show last login" : "마지막 로그인 보이기", "Send email" : "이메일 보내기", + "Send welcome email to new accounts" : "새 계정에 환영 이메일 보내기", "Defaults" : "기본값", "Default quota" : "기본 할당량", "Select default quota" : "기본 할당량 설정", @@ -556,13 +579,17 @@ "{license}-licensed" : "{license} 라이선스", "Changelog" : "변경 기록", "by {author}\n{license}" : "{author} 님이 작성\n{license}", + "Account management" : "계정 관리", "New account" : "새로운 계정", + "Active accounts" : "활성화된 계정", "Admins" : "관리자", "Disabled users" : "비활성화된 사용자", "Creating group …" : "그룹 생성 ...", "Create group" : "그룹 생성", "Group name" : "그룹 이름", "Please enter a valid group name" : "올바른 그룹 이름을 입력하세요", + "Disabled accounts" : "비활성화된 계정", + "Account group: {group}" : "계정 그룹: {group}", "Failed to create group" : "그룹을 만들 수 없음", "Sending…" : "보내는 중…", "Email sent" : "이메일 보냄", @@ -581,6 +608,7 @@ "Profile visibility" : "프로필 표시 여부", "Locale" : "지역", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "이 설정은 파일 공유, 달력 초대 등 핵심 기능에 필요하므로 비울 수 없습니다", + "Not available as federation has been disabled for your account, contact your system administration if you have any questions" : "이 계정에 대한 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오.", "Your apps" : "내 앱", "Active apps" : "활성화된 앱", "Disabled apps" : "비활성화된 앱", @@ -589,6 +617,7 @@ "Featured apps" : "추천 앱 - ", "Supported apps" : "지원하는 앱", "Show to everyone" : "전체 공개", + "Show to logged in accounts only" : "로그인된 계정에 공개", "Hide" : "비공개", "Download and enable" : "다운로드 및 활성화", "Allow untested app" : "미시험 앱 허용", @@ -717,7 +746,7 @@ "Send email to new user" : "새 사용자에게 이메일 보내기", "Not saved" : "저장하지 않음", "Twitter" : "트위터", - "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "계정에서 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오.", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "계정에서 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오", "Show to logged in users only" : "로그인된 사용자에게 공개", "Enable untested app" : "미시험 앱 활성화", "SMTP Username" : "SMTP 사용자 이름", diff --git a/apps/settings/lib/AppInfo/Application.php b/apps/settings/lib/AppInfo/Application.php index e295c64e249..cfe8a306365 100644 --- a/apps/settings/lib/AppInfo/Application.php +++ b/apps/settings/lib/AppInfo/Application.php @@ -69,6 +69,7 @@ use OCA\Settings\SetupChecks\LegacySSEKeyFormat; use OCA\Settings\SetupChecks\MaintenanceWindowStart; use OCA\Settings\SetupChecks\MemcacheConfigured; use OCA\Settings\SetupChecks\MysqlUnicodeSupport; +use OCA\Settings\SetupChecks\OcxProviders; use OCA\Settings\SetupChecks\OverwriteCliUrl; use OCA\Settings\SetupChecks\PhpDefaultCharset; use OCA\Settings\SetupChecks\PhpDisabledFunctions; @@ -193,6 +194,7 @@ class Application extends App implements IBootstrap { $context->registerSetupCheck(MaintenanceWindowStart::class); $context->registerSetupCheck(MemcacheConfigured::class); $context->registerSetupCheck(MysqlUnicodeSupport::class); + $context->registerSetupCheck(OcxProviders::class); $context->registerSetupCheck(OverwriteCliUrl::class); $context->registerSetupCheck(PhpDefaultCharset::class); $context->registerSetupCheck(PhpDisabledFunctions::class); diff --git a/apps/settings/lib/SetupChecks/OcxProviders.php b/apps/settings/lib/SetupChecks/OcxProviders.php new file mode 100644 index 00000000000..d24f2843829 --- /dev/null +++ b/apps/settings/lib/SetupChecks/OcxProviders.php @@ -0,0 +1,99 @@ + + * + * @author Ferdinand Thiessen + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +namespace OCA\Settings\SetupChecks; + +use OCP\Http\Client\IClientService; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\SetupCheck\ISetupCheck; +use OCP\SetupCheck\SetupResult; +use Psr\Log\LoggerInterface; + +/** + * Checks if the webserver serves the OCM and OCS providers + */ +class OcxProviders implements ISetupCheck { + use CheckServerResponseTrait; + + public function __construct( + protected IL10N $l10n, + protected IConfig $config, + protected IURLGenerator $urlGenerator, + protected IClientService $clientService, + protected LoggerInterface $logger, + ) { + } + + public function getCategory(): string { + return 'network'; + } + + public function getName(): string { + return $this->l10n->t('OCS provider resolving'); + } + + public function run(): SetupResult { + // List of providers that work + $workingProviders = []; + // List of providers we tested (in case one or multiple do not yield any response) + $testedProviders = []; + // All providers that we need to test + $providers = [ + '/ocm-provider/', + '/ocs-provider/', + ]; + + foreach ($providers as $provider) { + foreach ($this->runHEAD($this->urlGenerator->getWebroot() . $provider) as $response) { + $testedProviders[$provider] = true; + if ($response->getStatusCode() === 200) { + $workingProviders[] = $provider; + break; + } + } + } + + if (count($testedProviders) < count($providers)) { + return SetupResult::warning( + $this->l10n->t('Could not check if your web server properly resolves the OCM and OCS provider URLs.', ) . "\n" . $this->serverConfigHelp(), + ); + } + + $missingProviders = array_diff($providers, $workingProviders); + if (empty($missingProviders)) { + return SetupResult::success(); + } + + return SetupResult::warning( + $this->l10n->t('Your web server is not properly set up to resolve %1$s. +This is most likely related to a web server configuration that was not updated to deliver this folder directly. +Please compare your configuration against the shipped rewrite rules in ".htaccess" for Apache or the provided one in the documentation for Nginx. +On Nginx those are typically the lines starting with "location ~" that need an update.', [join(', ', array_map(fn ($s) => '"'.$s.'"', $missingProviders))]), + $this->urlGenerator->linkToDocs('admin-nginx'), + ); + } +} diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js index 842f79a9f0e..a22c89f8666 100644 --- a/apps/settings/src/admin.js +++ b/apps/settings/src/admin.js @@ -106,13 +106,11 @@ window.addEventListener('DOMContentLoaded', () => { OC.SetupChecks.checkWellKnownUrl('GET', '/.well-known/nodeinfo', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true, [200, 404], true), OC.SetupChecks.checkWellKnownUrl('PROPFIND', '/.well-known/caldav', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true), OC.SetupChecks.checkWellKnownUrl('PROPFIND', '/.well-known/carddav', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true), - OC.SetupChecks.checkProviderUrl(OC.getRootPath() + '/ocm-provider/', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true), - OC.SetupChecks.checkProviderUrl(OC.getRootPath() + '/ocs-provider/', OC.theme.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true), OC.SetupChecks.checkSetup(), OC.SetupChecks.checkGeneric(), OC.SetupChecks.checkDataProtected(), - ).then((check1, check2, check3, check4, check5, check6, check7, check8, check9, check10) => { - const messages = [].concat(check1, check2, check3, check4, check5, check6, check7, check8, check9, check10) + ).then((check1, check2, check3, check4, check5, check6, check7, check8) => { + const messages = [].concat(check1, check2, check3, check4, check5, check6, check7, check8) const $el = $('#postsetupchecks') $('#security-warning-state-loading').addClass('hidden') diff --git a/apps/settings/tests/SetupChecks/OcxProvicersTest.php b/apps/settings/tests/SetupChecks/OcxProvicersTest.php new file mode 100644 index 00000000000..f0f504af027 --- /dev/null +++ b/apps/settings/tests/SetupChecks/OcxProvicersTest.php @@ -0,0 +1,170 @@ + + * + * @author Ferdinand Thiessen + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +namespace OCA\Settings\Tests; + +use OCA\Settings\SetupChecks\OcxProviders; +use OCP\Http\Client\IClientService; +use OCP\Http\Client\IResponse; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\SetupCheck\SetupResult; +use PHPUnit\Framework\MockObject\MockObject; +use Psr\Log\LoggerInterface; +use Test\TestCase; + +class OcxProvicersTest extends TestCase { + private IL10N|MockObject $l10n; + private IConfig|MockObject $config; + private IURLGenerator|MockObject $urlGenerator; + private IClientService|MockObject $clientService; + private LoggerInterface|MockObject $logger; + private OcxProviders|MockObject $setupcheck; + + protected function setUp(): void { + parent::setUp(); + + /** @var IL10N|MockObject */ + $this->l10n = $this->getMockBuilder(IL10N::class) + ->disableOriginalConstructor()->getMock(); + $this->l10n->expects($this->any()) + ->method('t') + ->willReturnCallback(function ($message, array $replace) { + return vsprintf($message, $replace); + }); + + $this->config = $this->createMock(IConfig::class); + $this->urlGenerator = $this->createMock(IURLGenerator::class); + $this->clientService = $this->createMock(IClientService::class); + $this->logger = $this->createMock(LoggerInterface::class); + + $this->setupcheck = $this->getMockBuilder(OcxProviders::class) + ->onlyMethods(['runHEAD']) + ->setConstructorArgs([ + $this->l10n, + $this->config, + $this->urlGenerator, + $this->clientService, + $this->logger, + ]) + ->getMock(); + } + + public function testSuccess(): void { + $response = $this->createMock(IResponse::class); + $response->expects($this->any())->method('getStatusCode')->willReturn(200); + + $this->setupcheck + ->expects($this->exactly(2)) + ->method('runHEAD') + ->willReturnOnConsecutiveCalls($this->generate([$response]), $this->generate([$response])); + + $result = $this->setupcheck->run(); + $this->assertEquals(SetupResult::SUCCESS, $result->getSeverity()); + } + + public function testLateSuccess(): void { + $response1 = $this->createMock(IResponse::class); + $response1->expects($this->exactly(3))->method('getStatusCode')->willReturnOnConsecutiveCalls(404, 500, 200); + $response2 = $this->createMock(IResponse::class); + $response2->expects($this->any())->method('getStatusCode')->willReturnOnConsecutiveCalls(200); + + $this->setupcheck + ->expects($this->exactly(2)) + ->method('runHEAD') + ->willReturnOnConsecutiveCalls($this->generate([$response1, $response1, $response1]), $this->generate([$response2])); // only one response out of two + + $result = $this->setupcheck->run(); + $this->assertEquals(SetupResult::SUCCESS, $result->getSeverity()); + } + + public function testNoResponse(): void { + $response = $this->createMock(IResponse::class); + $response->expects($this->any())->method('getStatusCode')->willReturn(200); + + $this->setupcheck + ->expects($this->exactly(2)) + ->method('runHEAD') + ->willReturnOnConsecutiveCalls($this->generate([]), $this->generate([])); // No responses + + $result = $this->setupcheck->run(); + $this->assertEquals(SetupResult::WARNING, $result->getSeverity()); + $this->assertMatchesRegularExpression('/^Could not check/', $result->getDescription()); + } + + public function testPartialResponse(): void { + $response = $this->createMock(IResponse::class); + $response->expects($this->any())->method('getStatusCode')->willReturn(200); + + $this->setupcheck + ->expects($this->exactly(2)) + ->method('runHEAD') + ->willReturnOnConsecutiveCalls($this->generate([$response]), $this->generate([])); // only one response out of two + + $result = $this->setupcheck->run(); + $this->assertEquals(SetupResult::WARNING, $result->getSeverity()); + $this->assertMatchesRegularExpression('/^Could not check/', $result->getDescription()); + } + + public function testInvalidResponse(): void { + $response = $this->createMock(IResponse::class); + $response->expects($this->any())->method('getStatusCode')->willReturn(404); + + $this->setupcheck + ->expects($this->exactly(2)) + ->method('runHEAD') + ->willReturnOnConsecutiveCalls($this->generate([$response]), $this->generate([$response])); // only one response out of two + + $result = $this->setupcheck->run(); + $this->assertEquals(SetupResult::WARNING, $result->getSeverity()); + $this->assertMatchesRegularExpression('/^Your web server is not properly set up/', $result->getDescription()); + } + + public function testPartialInvalidResponse(): void { + $response1 = $this->createMock(IResponse::class); + $response1->expects($this->any())->method('getStatusCode')->willReturnOnConsecutiveCalls(200); + $response2 = $this->createMock(IResponse::class); + $response2->expects($this->any())->method('getStatusCode')->willReturnOnConsecutiveCalls(404); + + $this->setupcheck + ->expects($this->exactly(2)) + ->method('runHEAD') + ->willReturnOnConsecutiveCalls($this->generate([$response1]), $this->generate([$response2])); + + $result = $this->setupcheck->run(); + $this->assertEquals(SetupResult::WARNING, $result->getSeverity()); + $this->assertMatchesRegularExpression('/^Your web server is not properly set up/', $result->getDescription()); + } + + /** + * Helper function creates a nicer interface for mocking Generator behavior + */ + protected function generate(array $yield_values) { + return $this->returnCallback(function () use ($yield_values) { + yield from $yield_values; + }); + } +} diff --git a/apps/sharebymail/l10n/ja.js b/apps/sharebymail/l10n/ja.js index 74ef83dbbd5..18872b34a7f 100644 --- a/apps/sharebymail/l10n/ja.js +++ b/apps/sharebymail/l10n/ja.js @@ -14,6 +14,7 @@ OC.L10N.register( "Password to access {file} was sent to {email}" : "{file} にアクセスするパスワードを {email} に送信しました", "Password to access {file} was sent to you" : "{file} にアクセスするパスワードを あなたに送信しました", "Share by mail" : "メールで共有", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "このアイテム %1$sはすでにアカウント %2$sと共有されているため、共有に失敗しました", "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "あなたに自動生成したパスワードを送信できませんでした。個人設定画面から正しいメールアドレスを設定して再度実施してください。", "Failed to send share by email. Got an invalid email address" : "共有メールの送信に失敗しました。無効なメールアドレスが入力されています", "Failed to send share by email" : "メールで共有の送信に失敗しました", @@ -37,6 +38,7 @@ OC.L10N.register( "You can choose a different password at any time in the share dialog." : "共有ダイアログからいつでも違うパスワードに変更できます。", "Could not find share" : "共有が見つかりませんでした", "Share provider which allows you to share files by mail" : "メールでファイルを共有できる共有プロバイダー", + "Allows people to share a personalized link to a file or folder by putting in an email address." : "ユーザーがメールアドレスを使ってファイルやフォルダーへの個人リンクを共有することを許可します。", "Send password by mail" : "メールでパスワード送信", "Reply to initiator" : "返信先を共有開始者にする", "Unable to update share by mail config" : "メール共有の設定の更新に失敗しました", diff --git a/apps/sharebymail/l10n/ja.json b/apps/sharebymail/l10n/ja.json index 44a6af8bb81..8e14ac2566a 100644 --- a/apps/sharebymail/l10n/ja.json +++ b/apps/sharebymail/l10n/ja.json @@ -12,6 +12,7 @@ "Password to access {file} was sent to {email}" : "{file} にアクセスするパスワードを {email} に送信しました", "Password to access {file} was sent to you" : "{file} にアクセスするパスワードを あなたに送信しました", "Share by mail" : "メールで共有", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "このアイテム %1$sはすでにアカウント %2$sと共有されているため、共有に失敗しました", "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "あなたに自動生成したパスワードを送信できませんでした。個人設定画面から正しいメールアドレスを設定して再度実施してください。", "Failed to send share by email. Got an invalid email address" : "共有メールの送信に失敗しました。無効なメールアドレスが入力されています", "Failed to send share by email" : "メールで共有の送信に失敗しました", @@ -35,6 +36,7 @@ "You can choose a different password at any time in the share dialog." : "共有ダイアログからいつでも違うパスワードに変更できます。", "Could not find share" : "共有が見つかりませんでした", "Share provider which allows you to share files by mail" : "メールでファイルを共有できる共有プロバイダー", + "Allows people to share a personalized link to a file or folder by putting in an email address." : "ユーザーがメールアドレスを使ってファイルやフォルダーへの個人リンクを共有することを許可します。", "Send password by mail" : "メールでパスワード送信", "Reply to initiator" : "返信先を共有開始者にする", "Unable to update share by mail config" : "メール共有の設定の更新に失敗しました", diff --git a/apps/sharebymail/l10n/ko.js b/apps/sharebymail/l10n/ko.js index b5f5175b9bd..3fface05ad6 100644 --- a/apps/sharebymail/l10n/ko.js +++ b/apps/sharebymail/l10n/ko.js @@ -10,6 +10,7 @@ OC.L10N.register( "Password to access {file} was sent to {email}" : "{file}에 접근할 수 있는 암호를 {email}(으)로 보냄", "Password to access {file} was sent to you" : "{file}에 접근할 수 있는 암호를 내게 보냄", "Share by mail" : "이메일로 공유", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s을(를) 공유할 수 없습니다. 이 항목을 이미 %2$s 계정과 공유하고 있습니다", "Failed to send share by email" : "이메일로 공유를 보낼 수 없음", "%1$s shared »%2$s« with you" : "%1$s 님이 \"%2$s\" 항목을 공유했습니다", "%1$s shared »%2$s« with you." : "%1$s 님이 »%2$s« 항목을 공유했습니다", diff --git a/apps/sharebymail/l10n/ko.json b/apps/sharebymail/l10n/ko.json index 691c8db7d3b..54bbd4cc203 100644 --- a/apps/sharebymail/l10n/ko.json +++ b/apps/sharebymail/l10n/ko.json @@ -8,6 +8,7 @@ "Password to access {file} was sent to {email}" : "{file}에 접근할 수 있는 암호를 {email}(으)로 보냄", "Password to access {file} was sent to you" : "{file}에 접근할 수 있는 암호를 내게 보냄", "Share by mail" : "이메일로 공유", + "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s을(를) 공유할 수 없습니다. 이 항목을 이미 %2$s 계정과 공유하고 있습니다", "Failed to send share by email" : "이메일로 공유를 보낼 수 없음", "%1$s shared »%2$s« with you" : "%1$s 님이 \"%2$s\" 항목을 공유했습니다", "%1$s shared »%2$s« with you." : "%1$s 님이 »%2$s« 항목을 공유했습니다", diff --git a/apps/systemtags/src/services/davClient.ts b/apps/systemtags/src/services/davClient.ts index 3ac327f65e5..399ebadf05a 100644 --- a/apps/systemtags/src/services/davClient.ts +++ b/apps/systemtags/src/services/davClient.ts @@ -22,12 +22,22 @@ import { createClient } from 'webdav' import { generateRemoteUrl } from '@nextcloud/router' -import { getRequestToken } from '@nextcloud/auth' +import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' +// init webdav client const rootUrl = generateRemoteUrl('dav') +export const davClient = createClient(rootUrl) -export const davClient = createClient(rootUrl, { - headers: { - requesttoken: getRequestToken() ?? '', - }, -}) +// set CSRF token header +const setHeaders = (token: string | null) => { + davClient.setHeaders({ + // Add this so the server knows it is an request from the browser + 'X-Requested-With': 'XMLHttpRequest', + // Inject user auth + requesttoken: token ?? '', + }) +} + +// refresh headers when request token changes +onRequestTokenUpdate(setHeaders) +setHeaders(getRequestToken()) diff --git a/apps/updatenotification/l10n/ko.js b/apps/updatenotification/l10n/ko.js index 8a63080bfd3..9681c675a18 100644 --- a/apps/updatenotification/l10n/ko.js +++ b/apps/updatenotification/l10n/ko.js @@ -17,6 +17,7 @@ OC.L10N.register( "Apps missing compatible version" : "호환되지 않는 앱", "View in store" : "스토어에서 보기", "Apps with compatible version" : "호환되는 앱", + "Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!" : "계정이 100개 이상 존재하는 경우 웹 업데이터 사용을 권장하지 않습니다. 대신 명령행 업데이터를 사용하십시오. ", "Open updater" : "업데이터 열기", "Download now" : "지금 다운로드", "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "웹 업데이터가 비활성화 되었습니다. 명령행 업데이터 또는 이 인스턴스의 설치 방식(예: Docker)에 적합한 업데이트 방법을 이용하십시오.", diff --git a/apps/updatenotification/l10n/ko.json b/apps/updatenotification/l10n/ko.json index eecc257ad82..1dcd7688c30 100644 --- a/apps/updatenotification/l10n/ko.json +++ b/apps/updatenotification/l10n/ko.json @@ -15,6 +15,7 @@ "Apps missing compatible version" : "호환되지 않는 앱", "View in store" : "스토어에서 보기", "Apps with compatible version" : "호환되는 앱", + "Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!" : "계정이 100개 이상 존재하는 경우 웹 업데이터 사용을 권장하지 않습니다. 대신 명령행 업데이터를 사용하십시오. ", "Open updater" : "업데이터 열기", "Download now" : "지금 다운로드", "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "웹 업데이터가 비활성화 되었습니다. 명령행 업데이터 또는 이 인스턴스의 설치 방식(예: Docker)에 적합한 업데이트 방법을 이용하십시오.", diff --git a/apps/user_ldap/l10n/ko.js b/apps/user_ldap/l10n/ko.js index c42bcf2bfd5..1d3a31742a9 100644 --- a/apps/user_ldap/l10n/ko.js +++ b/apps/user_ldap/l10n/ko.js @@ -86,7 +86,7 @@ OC.L10N.register( "Verify settings and count the groups" : "설정을 확인하고 그룹 개수 세기", "When logging in, %s will find the user based on the following attributes:" : "로그인할 때 %s에서 다음 속성을 기반으로 사용자를 찾습니다:", "LDAP/AD Username:" : "LDAP/AD 사용자 이름:", - "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "LDAP/AD 사용자 이름으로 로그인하는 것을 허용합니다. \"uid\" 및 \"sAMAccountName\" 중 하나이며 자동으로 감지합니다.", + "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "LDAP/AD 사용자 아이디로 로그인하는 것을 허용합니다. \"uid\" 및 \"sAMAccountName\" 중 하나이며 자동으로 감지합니다.", "LDAP/AD Email Address:" : "LDAP/AD 이메일 주소:", "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "이메일 속성으로 로그인하는 것을 허용합니다. \"mail\" 및 \"mailPrimaryAddress\"를 사용할 수 있습니다.", "Other Attributes:" : "기타 속성:", diff --git a/apps/user_ldap/l10n/ko.json b/apps/user_ldap/l10n/ko.json index c888638b288..535085c661d 100644 --- a/apps/user_ldap/l10n/ko.json +++ b/apps/user_ldap/l10n/ko.json @@ -84,7 +84,7 @@ "Verify settings and count the groups" : "설정을 확인하고 그룹 개수 세기", "When logging in, %s will find the user based on the following attributes:" : "로그인할 때 %s에서 다음 속성을 기반으로 사용자를 찾습니다:", "LDAP/AD Username:" : "LDAP/AD 사용자 이름:", - "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "LDAP/AD 사용자 이름으로 로그인하는 것을 허용합니다. \"uid\" 및 \"sAMAccountName\" 중 하나이며 자동으로 감지합니다.", + "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "LDAP/AD 사용자 아이디로 로그인하는 것을 허용합니다. \"uid\" 및 \"sAMAccountName\" 중 하나이며 자동으로 감지합니다.", "LDAP/AD Email Address:" : "LDAP/AD 이메일 주소:", "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "이메일 속성으로 로그인하는 것을 허용합니다. \"mail\" 및 \"mailPrimaryAddress\"를 사용할 수 있습니다.", "Other Attributes:" : "기타 속성:", diff --git a/build/integration/dav_features/caldav.feature b/build/integration/dav_features/caldav.feature index fffdd89d367..f7baf76d4bc 100644 --- a/build/integration/dav_features/caldav.feature +++ b/build/integration/dav_features/caldav.feature @@ -75,3 +75,13 @@ Feature: caldav Then The CalDAV HTTP status code should be "404" And The exception is "Sabre\DAV\Exception\NotFound" And The error message is "Node with name 'admin' could not be found" + + Scenario: Update a principal's schedule-default-calendar-URL + Given user "user0" exists + And "user0" creates a calendar named "MyCalendar2" + When "user0" updates property "{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL" to href "/remote.php/dav/calendars/user0/MyCalendar2/" of principal "users/user0" on the endpoint "/remote.php/dav/principals/" + Then The CalDAV response should be multi status + And The CalDAV response should contain a property "{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL" + When "user0" requests principal "users/user0" on the endpoint "/remote.php/dav/principals/" + Then The CalDAV response should be multi status + And The CalDAV response should contain a property "{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL" with a href value "/remote.php/dav/calendars/user0/MyCalendar2/" diff --git a/build/integration/features/bootstrap/CalDavContext.php b/build/integration/features/bootstrap/CalDavContext.php index 936463b579e..bad0d915491 100644 --- a/build/integration/features/bootstrap/CalDavContext.php +++ b/build/integration/features/bootstrap/CalDavContext.php @@ -8,6 +8,7 @@ * @author Lukas Reschke * @author Phil Davis * @author Robin Appelman + * @author Richard Steinmetz * * @license AGPL-3.0 * @@ -105,6 +106,119 @@ class CalDavContext implements \Behat\Behat\Context\Context { } } + /** + * @When :user requests principal :principal on the endpoint :endpoint + */ + public function requestsPrincipal(string $user, string $principal, string $endpoint): void { + $davUrl = $this->baseUrl . $endpoint . $principal; + + $password = ($user === 'admin') ? 'admin' : '123456'; + try { + $this->response = $this->client->request( + 'PROPFIND', + $davUrl, + [ + 'headers' => [ + 'Content-Type' => 'application/xml; charset=UTF-8', + 'Depth' => 0, + ], + 'body' => '', + 'auth' => [ + $user, + $password, + ], + ] + ); + } catch (\GuzzleHttp\Exception\ClientException $e) { + $this->response = $e->getResponse(); + } + } + + /** + * @Then The CalDAV response should contain a property :key + * @throws \Exception + */ + public function theCaldavResponseShouldContainAProperty(string $key): void { + /** @var \Sabre\DAV\Xml\Response\MultiStatus $multiStatus */ + $multiStatus = $this->responseXml['value']; + $responses = $multiStatus->getResponses()[0]->getResponseProperties(); + if (!isset($responses[200])) { + throw new \Exception( + sprintf( + 'Expected code 200 got [%s]', + implode(',', array_keys($responses)), + ) + ); + } + + $props = $responses[200]; + if (!array_key_exists($key, $props)) { + throw new \Exception( + sprintf( + 'Expected property %s in %s', + $key, + json_encode($props, JSON_PRETTY_PRINT), + ) + ); + } + } + + /** + * @Then The CalDAV response should contain a property :key with a href value :value + * @throws \Exception + */ + public function theCaldavResponseShouldContainAPropertyWithHrefValue( + string $key, + string $value, + ): void { + /** @var \Sabre\DAV\Xml\Response\MultiStatus $multiStatus */ + $multiStatus = $this->responseXml['value']; + $responses = $multiStatus->getResponses()[0]->getResponseProperties(); + if (!isset($responses[200])) { + throw new \Exception( + sprintf( + 'Expected code 200 got [%s]', + implode(',', array_keys($responses)), + ) + ); + } + + $props = $responses[200]; + if (!array_key_exists($key, $props)) { + throw new \Exception("Cannot find property \"$key\""); + } + + $actualValue = $props[$key]->getHref(); + if ($actualValue !== $value) { + throw new \Exception("Property \"$key\" found with value \"$actualValue\", expected \"$value\""); + } + } + + /** + * @Then The CalDAV response should be multi status + * @throws \Exception + */ + public function theCaldavResponseShouldBeMultiStatus(): void { + if (207 !== $this->response->getStatusCode()) { + throw new \Exception( + sprintf( + 'Expected code 207 got %s', + $this->response->getStatusCode() + ) + ); + } + + $body = $this->response->getBody()->getContents(); + if ($body && substr($body, 0, 1) === '<') { + $reader = new Sabre\Xml\Reader(); + $reader->xml($body); + $reader->elementMap['{DAV:}multistatus'] = \Sabre\DAV\Xml\Response\MultiStatus::class; + $reader->elementMap['{DAV:}response'] = \Sabre\DAV\Xml\Element\Response::class; + $reader->elementMap['{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL'] = \Sabre\DAV\Xml\Property\Href::class; + $this->responseXml = $reader->parse(); + } + } + /** * @Then The CalDAV HTTP status code should be :code * @param int $code @@ -258,4 +372,39 @@ class CalDavContext implements \Behat\Behat\Context\Context { $this->response = $e->getResponse(); } } + + /** + * @Given :user updates property :key to href :value of principal :principal on the endpoint :endpoint + */ + public function updatesHrefPropertyOfPrincipal( + string $user, + string $key, + string $value, + string $principal, + string $endpoint, + ): void { + $davUrl = $this->baseUrl . $endpoint . $principal; + $password = ($user === 'admin') ? 'admin' : '123456'; + + $propPatch = new \Sabre\DAV\Xml\Request\PropPatch(); + $propPatch->properties = [$key => new \Sabre\DAV\Xml\Property\Href($value)]; + + $xml = new \Sabre\Xml\Service(); + $body = $xml->write('{DAV:}propertyupdate', $propPatch, '/'); + + $this->response = $this->client->request( + 'PROPPATCH', + $davUrl, + [ + 'headers' => [ + 'Content-Type' => 'application/xml; charset=UTF-8', + ], + 'body' => $body, + 'auth' => [ + $user, + $password, + ], + ] + ); + } } diff --git a/config/config.sample.php b/config/config.sample.php index d999b1e39b0..79f813a4dae 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -1962,6 +1962,8 @@ $CONFIG = [ /** * Blacklist characters from being used in filenames. This is useful if you * have a filesystem or OS which does not support certain characters like windows. + * + * The '/' and '\' characters are always forbidden. * * Example for windows systems: ``array('?', '<', '>', ':', '*', '|', '"', chr(0), "\n", "\r")`` * see https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits diff --git a/console.php b/console.php index d30db9adb6e..68647a874c4 100644 --- a/console.php +++ b/console.php @@ -57,23 +57,36 @@ try { exit(1); } + $config = \OC::$server->getConfig(); set_exception_handler('exceptionHandler'); if (!function_exists('posix_getuid')) { echo "The posix extensions are required - see https://www.php.net/manual/en/book.posix.php" . PHP_EOL; exit(1); } - $user = posix_getuid(); - $configUser = fileowner(OC::$configDir . 'config.php'); - if ($user !== $configUser) { - echo "Console has to be executed with the user that owns the file config/config.php" . PHP_EOL; - echo "Current user id: " . $user . PHP_EOL; - echo "Owner id of config.php: " . $configUser . PHP_EOL; - echo "Try adding 'sudo -u #" . $configUser . "' to the beginning of the command (without the single quotes)" . PHP_EOL; - echo "If running with 'docker exec' try adding the option '-u " . $configUser . "' to the docker command (without the single quotes)" . PHP_EOL; + + // Check if the data directory is available and the server is installed + $dataDirectory = $config->getSystemValueString('datadirectory', \OC::$SERVERROOT . '/data'); + if ($config->getSystemValueBool('installed', false) && !is_dir($dataDirectory)) { + echo "Data directory (" . $dataDirectory . ") not found" . PHP_EOL; exit(1); } + // Check if the user running the console is the same as the user that owns the data directory + // If the data directory does not exist, the server is not setup yet and we can skip. + if (is_dir($dataDirectory)) { + $user = posix_getuid(); + $dataDirectoryUser = fileowner($dataDirectory); + if ($user !== $dataDirectoryUser) { + echo "Console has to be executed with the user that owns the data directory" . PHP_EOL; + echo "Current user id: " . $user . PHP_EOL; + echo "Owner id of the data directory: " . $dataDirectoryUser . PHP_EOL; + echo "Try adding 'sudo -u #" . $dataDirectoryUser . "' to the beginning of the command (without the single quotes)" . PHP_EOL; + echo "If running with 'docker exec' try adding the option '-u " . $dataDirectoryUser . "' to the docker command (without the single quotes)" . PHP_EOL; + exit(1); + } + } + $oldWorkingDir = getcwd(); if ($oldWorkingDir === false) { echo "This script can be run from the Nextcloud root directory only." . PHP_EOL; @@ -90,7 +103,7 @@ try { } $application = new Application( - \OC::$server->getConfig(), + $config, \OC::$server->get(\OCP\EventDispatcher\IEventDispatcher::class), \OC::$server->getRequest(), \OC::$server->get(\Psr\Log\LoggerInterface::class), diff --git a/core/Command/Db/AddMissingIndices.php b/core/Command/Db/AddMissingIndices.php index bd47fea20fe..1e10b6152ce 100644 --- a/core/Command/Db/AddMissingIndices.php +++ b/core/Command/Db/AddMissingIndices.php @@ -73,7 +73,9 @@ class AddMissingIndices extends Command { $this->dispatcher->dispatchTyped($event); $missingIndices = $event->getMissingIndices(); - if ($missingIndices !== []) { + $toReplaceIndices = $event->getIndicesToReplace(); + + if ($missingIndices !== [] || $toReplaceIndices !== []) { $schema = new SchemaWrapper($this->connection); foreach ($missingIndices as $missingIndex) { @@ -97,15 +99,59 @@ class AddMissingIndices extends Command { $table->addIndex($missingIndex['columns'], $missingIndex['indexName'], [], $missingIndex['options']); } - - $sqlQueries = $this->connection->migrateToSchema($schema->getWrappedSchema(), $dryRun); - if ($dryRun && $sqlQueries !== null) { - $output->writeln($sqlQueries); + if (!$dryRun) { + $this->connection->migrateToSchema($schema->getWrappedSchema()); } $output->writeln('' . $table->getName() . ' table updated successfully.'); } } } + + foreach ($toReplaceIndices as $toReplaceIndex) { + if ($schema->hasTable($toReplaceIndex['tableName'])) { + $table = $schema->getTable($toReplaceIndex['tableName']); + + $allOldIndicesExists = true; + foreach ($toReplaceIndex['oldIndexNames'] as $oldIndexName) { + if (!$table->hasIndex($oldIndexName)) { + $allOldIndicesExists = false; + } + } + + if (!$allOldIndicesExists) { + continue; + } + + $output->writeln('Adding additional ' . $toReplaceIndex['newIndexName'] . ' index to the ' . $table->getName() . ' table, this can take some time...'); + + if ($toReplaceIndex['uniqueIndex']) { + $table->addUniqueIndex($toReplaceIndex['columns'], $toReplaceIndex['newIndexName'], $toReplaceIndex['options']); + } else { + $table->addIndex($toReplaceIndex['columns'], $toReplaceIndex['newIndexName'], [], $toReplaceIndex['options']); + } + + if (!$dryRun) { + $this->connection->migrateToSchema($schema->getWrappedSchema()); + } + + foreach ($toReplaceIndex['oldIndexNames'] as $oldIndexName) { + $output->writeln('Removing ' . $oldIndexName . ' index from the ' . $table->getName() . ' table'); + $table->dropIndex($oldIndexName); + } + + if (!$dryRun) { + $this->connection->migrateToSchema($schema->getWrappedSchema()); + } + $output->writeln('' . $table->getName() . ' table updated successfully.'); + } + } + + if ($dryRun) { + $sqlQueries = $this->connection->migrateToSchema($schema->getWrappedSchema(), $dryRun); + if ($sqlQueries !== null) { + $output->writeln($sqlQueries); + } + } } return 0; diff --git a/core/Command/Upgrade.php b/core/Command/Upgrade.php index c74b8d27049..45427f6552f 100644 --- a/core/Command/Upgrade.php +++ b/core/Command/Upgrade.php @@ -88,6 +88,7 @@ class Upgrade extends Command { $self = $this; $updater = \OCP\Server::get(Updater::class); + $incompatibleOverwrites = $this->config->getSystemValue('app_install_overwrite', []); /** @var IEventDispatcher $dispatcher */ $dispatcher = \OC::$server->get(IEventDispatcher::class); @@ -179,8 +180,10 @@ class Upgrade extends Command { $updater->listen('\OC\Updater', 'dbUpgrade', function () use ($output) { $output->writeln('Updated database'); }); - $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use ($output) { - $output->writeln('Disabled incompatible app: ' . $app . ''); + $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use ($output, &$incompatibleOverwrites) { + if (!in_array($app, $incompatibleOverwrites)) { + $output->writeln('Disabled incompatible app: ' . $app . ''); + } }); $updater->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use ($output) { $output->writeln('Update app ' . $app . ' from App Store'); diff --git a/core/Command/User/Keys/Verify.php b/core/Command/User/Keys/Verify.php new file mode 100644 index 00000000000..c4264457572 --- /dev/null +++ b/core/Command/User/Keys/Verify.php @@ -0,0 +1,100 @@ + + * + * @author Marcel Müller + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Core\Command\User\Keys; + +use OC\Security\IdentityProof\Manager; +use OCP\IUser; +use OCP\IUserManager; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class Verify extends Command { + public function __construct( + protected IUserManager $userManager, + protected Manager $keyManager, + ) { + parent::__construct(); + } + + protected function configure(): void { + $this + ->setName('user:keys:verify') + ->setDescription('Verify if the stored public key matches the stored private key') + ->addArgument( + 'user-id', + InputArgument::REQUIRED, + 'User ID of the user to verify' + ) + ; + } + + /** + * @param InputInterface $input + * @param OutputInterface $output + * @return int + */ + protected function execute(InputInterface $input, OutputInterface $output): int { + $userId = $input->getArgument('user-id'); + + $user = $this->userManager->get($userId); + if (!$user instanceof IUser) { + $output->writeln('Unknown user'); + return static::FAILURE; + } + + $key = $this->keyManager->getKey($user); + $publicKey = $key->getPublic(); + $privateKey = $key->getPrivate(); + + $output->writeln('User public key size: ' . strlen($publicKey)); + $output->writeln('User private key size: ' . strlen($privateKey)); + + // Derive the public key from the private key again to validate the stored public key + $opensslPrivateKey = openssl_pkey_get_private($privateKey); + $publicKeyDerived = openssl_pkey_get_details($opensslPrivateKey); + $publicKeyDerived = $publicKeyDerived['key']; + $output->writeln('User derived public key size: ' . strlen($publicKeyDerived)); + + $output->writeln(''); + + $output->writeln('Stored public key:'); + $output->writeln($publicKey); + $output->writeln('Derived public key:'); + $output->writeln($publicKeyDerived); + + if ($publicKey != $publicKeyDerived) { + $output->writeln('Stored public key does not match stored private key'); + return static::FAILURE; + } + + $output->writeln('Stored public key matches stored private key'); + + return static::SUCCESS; + } +} diff --git a/core/ajax/update.php b/core/ajax/update.php index 63d1bd3cf5e..ed5fe00e147 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -120,6 +120,7 @@ if (\OCP\Util::needUpgrade()) { \OC::$server->query(\OC\Installer::class) ); $incompatibleApps = []; + $incompatibleOverwrites = $config->getSystemValue('app_install_overwrite', []); /** @var IEventDispatcher $dispatcher */ $dispatcher = \OC::$server->get(IEventDispatcher::class); @@ -162,8 +163,10 @@ if (\OCP\Util::needUpgrade()) { $updater->listen('\OC\Updater', 'appUpgrade', function ($app, $version) use ($eventSource, $l) { $eventSource->send('success', $l->t('Updated "%1$s" to %2$s', [$app, $version])); }); - $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use (&$incompatibleApps) { - $incompatibleApps[] = $app; + $updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use (&$incompatibleApps, &$incompatibleOverwrites) { + if (!in_array($app, $incompatibleOverwrites)) { + $incompatibleApps[] = $app; + } }); $updater->listen('\OC\Updater', 'failure', function ($message) use ($eventSource, $config) { $eventSource->send('failure', $message); diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index be6dc747540..598fb541136 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -95,47 +95,6 @@ return deferred.promise(); }, - - /** - * Check whether the .well-known URLs works. - * - * @param url the URL to test - * @param placeholderUrl the placeholder URL - can be found at OC.theme.docPlaceholderUrl - * @param {boolean} runCheck if this is set to false the check is skipped and no error is returned - * - * @return $.Deferred object resolved with an array of error messages - */ - checkProviderUrl: function(url, placeholderUrl, runCheck) { - var expectedStatus = [200]; - var deferred = $.Deferred(); - - if(runCheck === false) { - deferred.resolve([]); - return deferred.promise(); - } - var afterCall = function(xhr) { - var messages = []; - if (expectedStatus.indexOf(xhr.status) === -1) { - var docUrl = placeholderUrl.replace('PLACEHOLDER', 'admin-nginx'); - messages.push({ - msg: t('core', 'Your web server is not properly set up to resolve "{url}". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in ".htaccess" for Apache or the provided one in the documentation for Nginx at it\'s {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with "location ~" that need an update.', { docLink: docUrl, url: url }) - .replace('{linkstart}', '') - .replace('{linkend}', ''), - type: OC.SetupChecks.MESSAGE_TYPE_WARNING - }); - } - deferred.resolve(messages); - }; - - $.ajax({ - type: 'GET', - url: url, - complete: afterCall, - allowAuthErrors: true - }); - return deferred.promise(); - }, - /** * Runs setup checks on the server side * diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 378bd4d7f39..0f042c19942 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -107,42 +107,6 @@ describe('OC.SetupChecks tests', function() { }); }); - describe('checkProviderUrl', function() { - it('should fail with another response status code than the expected one', function(done) { - var async = OC.SetupChecks.checkProviderUrl('/ocm-provider/', 'http://example.org/PLACEHOLDER', true); - - suite.server.requests[0].respond(302); - - async.done(function( data, s, x ){ - expect(data).toEqual([{ - msg: 'Your web server is not properly set up to resolve "/ocm-provider/". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in ".htaccess" for Apache or the provided one in the documentation for Nginx at it\'s documentation page ↗. On Nginx those are typically the lines starting with "location ~" that need an update.', - type: OC.SetupChecks.MESSAGE_TYPE_WARNING - }]); - done(); - }); - }); - - it('should return no error with the expected response status code', function(done) { - var async = OC.SetupChecks.checkProviderUrl('/ocm-provider/', 'http://example.org/PLACEHOLDER', true); - - suite.server.requests[0].respond(200); - - async.done(function( data, s, x ){ - expect(data).toEqual([]); - done(); - }); - }); - - it('should return no error when no check should be run', function(done) { - var async = OC.SetupChecks.checkProviderUrl('/ocm-provider/', 'http://example.org/PLACEHOLDER', false); - - async.done(function( data, s, x ){ - expect(data).toEqual([]); - done(); - }); - }); - }); - describe('checkDataProtected', function() { oc_dataURL = "data"; diff --git a/core/l10n/ar.js b/core/l10n/ar.js index aad3fff9da0..4e56d50d58b 100644 --- a/core/l10n/ar.js +++ b/core/l10n/ar.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "محدّثة مسبقاً", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : " لم يتم تعيين السماح لخادمك السحابي بتزامن الملف، بسبب واجهة التأليف الموزع على الويب وتعيين الإصدار WebDAV غير متصلة.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : " لم يتم ضبط خادمك السحابي لتعيين الكشف عن \"{url}\". للمزيد من التفاصيل يمكن العثور عليها في {linkstart}مستند ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : " لم يتم ضبط تعيين الكشف عن \"{url}\"في خادمك السحابي. من الغالب يجب تغيير اعدادات الخادم السحابي لعدم توصيل المجلد بشكل مباشر. الرجاء مقارنة إعداداتك مع الإعدادات الإصلية لملف \".htaccess\" لاباتشي أو نجينكس في {linkstart} صفحة التوثيق ↗ {linkend}. في Nginx ، عادةً ما تكون هذه الأسطر التي تبدأ بـ \"location ~\" والتي تحتاج إلى تحديث.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "أنت تقوم بالوصول إلى خادمك السحابي عبر اتصال آمن ، ولكن يقوم المثيل الخاص بك بإنشاء عناوين URL غير آمنة. هذا يعني على الأرجح أنك تعمل خلف reverse proxy وأن متغيرات تكوين الكتابة لم تعيين بشكل صحيح. يرجى قراءة {linkstart} صفحة التعليمات حول هذا الموضوع ↗{linkend}.", "Error occurred while checking server setup" : "تم العثور على خطأ اثناء فحص إعدادات الخادم", "For more details see the {linkstart}documentation ↗{linkend}." : "للمزيد من التفاصيل، يرجى الإطلاع على {linkstart} الدليل ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "يرجى إعادة المحاولة", "The user limit of this instance is reached." : "وصل المستخدم إلى الحد من هذه النسخة", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "أدخل مفتاح اشتراكك في تطبيق الدعم حتى يتسنى زيادة حد المستخدم. هذا يمنحك مزيداً من المزايا التي توفرها نسخة نكست كلاود المؤسسية و التي يُنصح بها للشركات.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : " لم يتم ضبط تعيين الكشف عن \"{url}\"في خادمك السحابي. من الغالب يجب تغيير اعدادات الخادم السحابي لعدم توصيل المجلد بشكل مباشر. الرجاء مقارنة إعداداتك مع الإعدادات الإصلية لملف \".htaccess\" لاباتشي أو نجينكس في {linkstart} صفحة التوثيق ↗ {linkend}. في Nginx ، عادةً ما تكون هذه الأسطر التي تبدأ بـ \"location ~\" والتي تحتاج إلى تحديث.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "خادمك السحابي لم يتم ضبطه لـ تعيين توصيل نوع .woff2 من الملفات. بالغالب هذه المشكلة تخص اعدادات نجينكس. لـ نيكست كلاود الاصدار 15 يتم اعادة تنظيم وضبط إعدادات التوصيل لملفات .woff2 .قارن تهيئة Nginx بالتهيئة الموصى بها في وثائق {linkstart} الخاصة بنا ↗ {linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "يبدو أن PHP لم يتم إعدادها بشكل صحيح للاستعلام عن متغيرات بيئة النظام. يقوم الاختبار باستخدام getenv (\"PATH\") بإرجاع استجابة فارغة فقط.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "يرجى التحقق من {linkstart} مستند التثبيت ↗{linkend} لملاحظات إعدادات PHP وإعدادات PHP لخادمك السحابي ، خاصة عند استخدام php-fpm.", diff --git a/core/l10n/ar.json b/core/l10n/ar.json index 611257dbc21..05b162f0c43 100644 --- a/core/l10n/ar.json +++ b/core/l10n/ar.json @@ -75,7 +75,6 @@ "Already up to date" : "محدّثة مسبقاً", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : " لم يتم تعيين السماح لخادمك السحابي بتزامن الملف، بسبب واجهة التأليف الموزع على الويب وتعيين الإصدار WebDAV غير متصلة.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : " لم يتم ضبط خادمك السحابي لتعيين الكشف عن \"{url}\". للمزيد من التفاصيل يمكن العثور عليها في {linkstart}مستند ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : " لم يتم ضبط تعيين الكشف عن \"{url}\"في خادمك السحابي. من الغالب يجب تغيير اعدادات الخادم السحابي لعدم توصيل المجلد بشكل مباشر. الرجاء مقارنة إعداداتك مع الإعدادات الإصلية لملف \".htaccess\" لاباتشي أو نجينكس في {linkstart} صفحة التوثيق ↗ {linkend}. في Nginx ، عادةً ما تكون هذه الأسطر التي تبدأ بـ \"location ~\" والتي تحتاج إلى تحديث.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "أنت تقوم بالوصول إلى خادمك السحابي عبر اتصال آمن ، ولكن يقوم المثيل الخاص بك بإنشاء عناوين URL غير آمنة. هذا يعني على الأرجح أنك تعمل خلف reverse proxy وأن متغيرات تكوين الكتابة لم تعيين بشكل صحيح. يرجى قراءة {linkstart} صفحة التعليمات حول هذا الموضوع ↗{linkend}.", "Error occurred while checking server setup" : "تم العثور على خطأ اثناء فحص إعدادات الخادم", "For more details see the {linkstart}documentation ↗{linkend}." : "للمزيد من التفاصيل، يرجى الإطلاع على {linkstart} الدليل ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "يرجى إعادة المحاولة", "The user limit of this instance is reached." : "وصل المستخدم إلى الحد من هذه النسخة", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "أدخل مفتاح اشتراكك في تطبيق الدعم حتى يتسنى زيادة حد المستخدم. هذا يمنحك مزيداً من المزايا التي توفرها نسخة نكست كلاود المؤسسية و التي يُنصح بها للشركات.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : " لم يتم ضبط تعيين الكشف عن \"{url}\"في خادمك السحابي. من الغالب يجب تغيير اعدادات الخادم السحابي لعدم توصيل المجلد بشكل مباشر. الرجاء مقارنة إعداداتك مع الإعدادات الإصلية لملف \".htaccess\" لاباتشي أو نجينكس في {linkstart} صفحة التوثيق ↗ {linkend}. في Nginx ، عادةً ما تكون هذه الأسطر التي تبدأ بـ \"location ~\" والتي تحتاج إلى تحديث.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "خادمك السحابي لم يتم ضبطه لـ تعيين توصيل نوع .woff2 من الملفات. بالغالب هذه المشكلة تخص اعدادات نجينكس. لـ نيكست كلاود الاصدار 15 يتم اعادة تنظيم وضبط إعدادات التوصيل لملفات .woff2 .قارن تهيئة Nginx بالتهيئة الموصى بها في وثائق {linkstart} الخاصة بنا ↗ {linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "يبدو أن PHP لم يتم إعدادها بشكل صحيح للاستعلام عن متغيرات بيئة النظام. يقوم الاختبار باستخدام getenv (\"PATH\") بإرجاع استجابة فارغة فقط.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "يرجى التحقق من {linkstart} مستند التثبيت ↗{linkend} لملاحظات إعدادات PHP وإعدادات PHP لخادمك السحابي ، خاصة عند استخدام php-fpm.", diff --git a/core/l10n/bg.js b/core/l10n/bg.js index afc527ff415..e5c4aa07d00 100644 --- a/core/l10n/bg.js +++ b/core/l10n/bg.js @@ -70,7 +70,6 @@ OC.L10N.register( "Already up to date" : "Актуално", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Вашият уеб сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът не работи.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Вашият уеб сървър не е настроен правилно за разрешаване на \"{url}\". Допълнителна информация можете да намерите в {linkstart}документацията ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашият уеб сървър не е настроен правилно за разрешаване на \"{url}\". Това най-вероятно е свързано с конфигурация на уеб сървър, която не е актуализирана, за да доставя тази папка директно. Моля, сравнете конфигурацията си с изпратените правила за пренаписване в \".htaccess\" за Apache или предоставеното в документацията за Nginx, на неговата {linkstart}странница за документация ↗{linkend}. В Nginx това обикновено са редовете, започващи с „location ~“/местоположение/, които се нуждаят от актуализация. ", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Вие имате достъп до вашия екземпляр през защитена връзка, но вашият екземпляр генерира несигурни URL адреси. Това най-вероятно означава, че сте зад обратен прокси и конфигурационните променливи за презаписване не са зададени правилно. Моля, прочетете {linkstart}страницата с документация за това ↗{linkend}.", "Error occurred while checking server setup" : "Възникна грешка при проверката на настройките на сървъра", "For more details see the {linkstart}documentation ↗{linkend}." : "За повече подробности вижте {linkstart}документацията ↗{linkend}.", @@ -335,6 +334,7 @@ OC.L10N.register( "Please try again" : "Моля, опитайте отново", "The user limit of this instance is reached." : " Достигнат е потребителският лимит на този екземпляр.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Въведете абонаментния си ключ в приложението за поддръжка, за да увеличите лимита на потребителите. Това ви дава и всички допълнителни предимства, които Nextcloud Enterprise предлага, и е силно препоръчително за работа в компании.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашият уеб сървър не е настроен правилно за разрешаване на \"{url}\". Това най-вероятно е свързано с конфигурация на уеб сървър, която не е актуализирана, за да доставя тази папка директно. Моля, сравнете конфигурацията си с изпратените правила за пренаписване в \".htaccess\" за Apache или предоставеното в документацията за Nginx, на неговата {linkstart}странница за документация ↗{linkend}. В Nginx това обикновено са редовете, започващи с „location ~“/местоположение/, които се нуждаят от актуализация. ", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Вашият уеб сървър не е правилно настроен да доставя .woff2 файлове. Това обикновено е проблем с конфигурацията на Nginx. За Nextcloud 15 се нуждае от корекция, за да доставя и .woff2 файлове. Сравнете вашата конфигурация на Nginx с препоръчаната конфигурация в нашата {linkstart}документация ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Изглежда, че PHP не е настроен правилно за заявки за променливи на системната среда. Тестът с getenv (\"ПЪТ\") връща само празен отговор.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Моля, проверете в {linkstart}документацията за инсталиране ↗{linkend} за бележки за конфигурацията на PHP и за PHP конфигурацията на вашия сървър, особено когато използвате php-fpm.", diff --git a/core/l10n/bg.json b/core/l10n/bg.json index e1f2b898d83..0b3d2ccbe56 100644 --- a/core/l10n/bg.json +++ b/core/l10n/bg.json @@ -68,7 +68,6 @@ "Already up to date" : "Актуално", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Вашият уеб сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът не работи.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Вашият уеб сървър не е настроен правилно за разрешаване на \"{url}\". Допълнителна информация можете да намерите в {linkstart}документацията ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашият уеб сървър не е настроен правилно за разрешаване на \"{url}\". Това най-вероятно е свързано с конфигурация на уеб сървър, която не е актуализирана, за да доставя тази папка директно. Моля, сравнете конфигурацията си с изпратените правила за пренаписване в \".htaccess\" за Apache или предоставеното в документацията за Nginx, на неговата {linkstart}странница за документация ↗{linkend}. В Nginx това обикновено са редовете, започващи с „location ~“/местоположение/, които се нуждаят от актуализация. ", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Вие имате достъп до вашия екземпляр през защитена връзка, но вашият екземпляр генерира несигурни URL адреси. Това най-вероятно означава, че сте зад обратен прокси и конфигурационните променливи за презаписване не са зададени правилно. Моля, прочетете {linkstart}страницата с документация за това ↗{linkend}.", "Error occurred while checking server setup" : "Възникна грешка при проверката на настройките на сървъра", "For more details see the {linkstart}documentation ↗{linkend}." : "За повече подробности вижте {linkstart}документацията ↗{linkend}.", @@ -333,6 +332,7 @@ "Please try again" : "Моля, опитайте отново", "The user limit of this instance is reached." : " Достигнат е потребителският лимит на този екземпляр.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Въведете абонаментния си ключ в приложението за поддръжка, за да увеличите лимита на потребителите. Това ви дава и всички допълнителни предимства, които Nextcloud Enterprise предлага, и е силно препоръчително за работа в компании.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашият уеб сървър не е настроен правилно за разрешаване на \"{url}\". Това най-вероятно е свързано с конфигурация на уеб сървър, която не е актуализирана, за да доставя тази папка директно. Моля, сравнете конфигурацията си с изпратените правила за пренаписване в \".htaccess\" за Apache или предоставеното в документацията за Nginx, на неговата {linkstart}странница за документация ↗{linkend}. В Nginx това обикновено са редовете, започващи с „location ~“/местоположение/, които се нуждаят от актуализация. ", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Вашият уеб сървър не е правилно настроен да доставя .woff2 файлове. Това обикновено е проблем с конфигурацията на Nginx. За Nextcloud 15 се нуждае от корекция, за да доставя и .woff2 файлове. Сравнете вашата конфигурация на Nginx с препоръчаната конфигурация в нашата {linkstart}документация ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Изглежда, че PHP не е настроен правилно за заявки за променливи на системната среда. Тестът с getenv (\"ПЪТ\") връща само празен отговор.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Моля, проверете в {linkstart}документацията за инсталиране ↗{linkend} за бележки за конфигурацията на PHP и за PHP конфигурацията на вашия сървър, особено когато използвате php-fpm.", diff --git a/core/l10n/ca.js b/core/l10n/ca.js index 5606a00ac18..cd522a579c3 100644 --- a/core/l10n/ca.js +++ b/core/l10n/ca.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Ja teniu la versió més recent", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "El servidor web no està configurat correctament per a permetre la sincronització de fitxers perquè sembla que la interfície WebDAV no funciona correctament.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "El servidor web no està configurat correctament per a resoldre «{url}». Podeu trobar més informació en la {linkstart}documentació ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "El servidor web no està configurat correctament per a resoldre «{url}». És probable que això estigui relacionat amb una configuració del servidor web que no s'hagi actualitzat per lliurar aquesta carpeta directament. Compareu la vostra configuració amb les regles de reescriptura incloses en el fitxer «.htaccess» per a l'Apache o amb les que es proporcionen en la documentació del Nginx en la {linkstart}pàgina de documentació ↗{linkend}. Al Nginx, normalment són les línies que comencen per «location ~» les que necessiten una actualització.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Esteu accedint a la instància mitjançant una connexió segura, però la instància genera URL insegurs. Això probablement vol dir que sou darrere d'un servidor intermediari invers i que les variables de configuració de sobreescriptura no estan configurades correctament. Llegiu la {linkstart}pàgina de documentació sobre això ↗{linkend}.", "Error occurred while checking server setup" : "S'ha produït un error en comprovar la configuració del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Per a conèixer més detalls, consulteu la {linkstart}documentació ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Torneu-ho a provar", "The user limit of this instance is reached." : "S'ha assolit el límit d'usuaris d'aquesta instància.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introduïu la clau de subscripció a l'aplicació d'assistència per a augmentar el límit d'usuaris. Això també us atorga tots els avantatges addicionals que ofereix el Nextcloud Enterprise i és molt recomanable per al funcionament en empreses.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "El servidor web no està configurat correctament per a resoldre «{url}». És probable que això estigui relacionat amb una configuració del servidor web que no s'hagi actualitzat per lliurar aquesta carpeta directament. Compareu la vostra configuració amb les regles de reescriptura incloses en el fitxer «.htaccess» per a l'Apache o amb les que es proporcionen en la documentació del Nginx en la {linkstart}pàgina de documentació ↗{linkend}. Al Nginx, normalment són les línies que comencen per «location ~» les que necessiten una actualització.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "El servidor web no està configurat correctament per a lliurar fitxers .woff2. Això sol ser un problema amb la configuració del Nginx. Per al Nextcloud 15, cal un ajust per a lliurar també fitxers .woff2. Compareu la vostra configuració del Nginx amb la configuració recomanada de la nostra {linkstart}documentació ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Sembla que el PHP no s'ha configurat correctament per a obtenir les variables d'entorn del sistema. La prova amb getenv(\"PATH\") només retorna una resposta buida.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Consulteu la {linkstart}documentació d'instal·lació ↗{linkend} per veure notes de configuració del PHP i la configuració de PHP del vostre servidor, especialment quan utilitzeu php-fpm.", diff --git a/core/l10n/ca.json b/core/l10n/ca.json index 7f8e848fcc3..2c39b178429 100644 --- a/core/l10n/ca.json +++ b/core/l10n/ca.json @@ -73,7 +73,6 @@ "Already up to date" : "Ja teniu la versió més recent", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "El servidor web no està configurat correctament per a permetre la sincronització de fitxers perquè sembla que la interfície WebDAV no funciona correctament.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "El servidor web no està configurat correctament per a resoldre «{url}». Podeu trobar més informació en la {linkstart}documentació ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "El servidor web no està configurat correctament per a resoldre «{url}». És probable que això estigui relacionat amb una configuració del servidor web que no s'hagi actualitzat per lliurar aquesta carpeta directament. Compareu la vostra configuració amb les regles de reescriptura incloses en el fitxer «.htaccess» per a l'Apache o amb les que es proporcionen en la documentació del Nginx en la {linkstart}pàgina de documentació ↗{linkend}. Al Nginx, normalment són les línies que comencen per «location ~» les que necessiten una actualització.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Esteu accedint a la instància mitjançant una connexió segura, però la instància genera URL insegurs. Això probablement vol dir que sou darrere d'un servidor intermediari invers i que les variables de configuració de sobreescriptura no estan configurades correctament. Llegiu la {linkstart}pàgina de documentació sobre això ↗{linkend}.", "Error occurred while checking server setup" : "S'ha produït un error en comprovar la configuració del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Per a conèixer més detalls, consulteu la {linkstart}documentació ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Torneu-ho a provar", "The user limit of this instance is reached." : "S'ha assolit el límit d'usuaris d'aquesta instància.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introduïu la clau de subscripció a l'aplicació d'assistència per a augmentar el límit d'usuaris. Això també us atorga tots els avantatges addicionals que ofereix el Nextcloud Enterprise i és molt recomanable per al funcionament en empreses.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "El servidor web no està configurat correctament per a resoldre «{url}». És probable que això estigui relacionat amb una configuració del servidor web que no s'hagi actualitzat per lliurar aquesta carpeta directament. Compareu la vostra configuració amb les regles de reescriptura incloses en el fitxer «.htaccess» per a l'Apache o amb les que es proporcionen en la documentació del Nginx en la {linkstart}pàgina de documentació ↗{linkend}. Al Nginx, normalment són les línies que comencen per «location ~» les que necessiten una actualització.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "El servidor web no està configurat correctament per a lliurar fitxers .woff2. Això sol ser un problema amb la configuració del Nginx. Per al Nextcloud 15, cal un ajust per a lliurar també fitxers .woff2. Compareu la vostra configuració del Nginx amb la configuració recomanada de la nostra {linkstart}documentació ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Sembla que el PHP no s'ha configurat correctament per a obtenir les variables d'entorn del sistema. La prova amb getenv(\"PATH\") només retorna una resposta buida.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Consulteu la {linkstart}documentació d'instal·lació ↗{linkend} per veure notes de configuració del PHP i la configuració de PHP del vostre servidor, especialment quan utilitzeu php-fpm.", diff --git a/core/l10n/cs.js b/core/l10n/cs.js index cdfcb227fb0..8d9b915228d 100644 --- a/core/l10n/cs.js +++ b/core/l10n/cs.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Už je aktuální", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server ještě není správně nastaven, pro umožnění synchronizace souborů, rozhraní WebDAV pravděpodobně není funkční.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Tento webový server není správně nastaven pro rozpoznání „{url}“. Další informace jsou k dispozici v {linkstart}dokumentaci ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tento webový server není správně nastaven pro rozpoznání „{url}“. To nejspíše souvisí s nastavením webového serveru, které nebylo upraveno tak, aby jej dovedlo přímo do této složky. Porovnejte svou konfiguraci s dodávanými rewrite pravidly v „.htaccess“ pro Apache nebo těm poskytnutým v dokumentaci pro Nginx na této {linkstart}stránce s dokumentací ↗{linkend}. U Nginx jsou to obvykle řádky začínající na „location ~“, které potřebují úpravu.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "K vámi využívané instanci sice přistupujete přes zabezpečené připojení, nicméně tato vytváří nezabezpečené URL adresy. To s nejvyšší pravděpodobností znamená, že se nacházíte za reverzní proxy a proměnné v jejím nastavení, ohledně procesu přepisování, nejsou správně nastavené. Přečtete si tomu věnovanou {linkstart}stránku v dokumentaci ↗{linkend}.", "Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě", "For more details see the {linkstart}documentation ↗{linkend}." : "Podrobnosti naleznete v {linkstart}dokumentaci ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Zkuste to znovu", "The user limit of this instance is reached." : "Bylo dosaženo limitu počtu uživatelů této instance.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Pokud chcete zvýšit limit počtu uživatelů, zadejte klíč svého předplatného. To vám zpřístupní také veškeré další přínosy, které Nextcloud Enterprise poskytuje a je velmi doporučováno pro provozování ve firmách.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tento webový server není správně nastaven pro rozpoznání „{url}“. To nejspíše souvisí s nastavením webového serveru, které nebylo upraveno tak, aby jej dovedlo přímo do této složky. Porovnejte svou konfiguraci s dodávanými rewrite pravidly v „.htaccess“ pro Apache nebo těm poskytnutým v dokumentaci pro Nginx na této {linkstart}stránce s dokumentací ↗{linkend}. U Nginx jsou to obvykle řádky začínající na „location ~“, které potřebují úpravu.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Váš webový server není správně nastaven k doručování .woff2 souborů. To je obvykle chyba v nastavení Nginx. Nextcloud 15 také potřebuje úpravu k doručování .woff2 souborů. Porovnejte své nastavení Nginx s doporučeným nastavením v naší {linkstart}dokumentaci ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá se, že PHP není správně nastaveno pro dotazování proměnných prostředí systému. Test s příkazem getenv(\"PATH\") vrátí pouze prázdnou odpověď.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Nahlédněte do ↗{linkstart}instalační dokumentace ↗{linkend} kvůli poznámkám pro nastavování PHP a zkontrolujte nastavení PHP na svém serveru, zejména pokud používáte php-fpm.", diff --git a/core/l10n/cs.json b/core/l10n/cs.json index 8e15a6b509f..534e95c00df 100644 --- a/core/l10n/cs.json +++ b/core/l10n/cs.json @@ -73,7 +73,6 @@ "Already up to date" : "Už je aktuální", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server ještě není správně nastaven, pro umožnění synchronizace souborů, rozhraní WebDAV pravděpodobně není funkční.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Tento webový server není správně nastaven pro rozpoznání „{url}“. Další informace jsou k dispozici v {linkstart}dokumentaci ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tento webový server není správně nastaven pro rozpoznání „{url}“. To nejspíše souvisí s nastavením webového serveru, které nebylo upraveno tak, aby jej dovedlo přímo do této složky. Porovnejte svou konfiguraci s dodávanými rewrite pravidly v „.htaccess“ pro Apache nebo těm poskytnutým v dokumentaci pro Nginx na této {linkstart}stránce s dokumentací ↗{linkend}. U Nginx jsou to obvykle řádky začínající na „location ~“, které potřebují úpravu.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "K vámi využívané instanci sice přistupujete přes zabezpečené připojení, nicméně tato vytváří nezabezpečené URL adresy. To s nejvyšší pravděpodobností znamená, že se nacházíte za reverzní proxy a proměnné v jejím nastavení, ohledně procesu přepisování, nejsou správně nastavené. Přečtete si tomu věnovanou {linkstart}stránku v dokumentaci ↗{linkend}.", "Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě", "For more details see the {linkstart}documentation ↗{linkend}." : "Podrobnosti naleznete v {linkstart}dokumentaci ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Zkuste to znovu", "The user limit of this instance is reached." : "Bylo dosaženo limitu počtu uživatelů této instance.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Pokud chcete zvýšit limit počtu uživatelů, zadejte klíč svého předplatného. To vám zpřístupní také veškeré další přínosy, které Nextcloud Enterprise poskytuje a je velmi doporučováno pro provozování ve firmách.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tento webový server není správně nastaven pro rozpoznání „{url}“. To nejspíše souvisí s nastavením webového serveru, které nebylo upraveno tak, aby jej dovedlo přímo do této složky. Porovnejte svou konfiguraci s dodávanými rewrite pravidly v „.htaccess“ pro Apache nebo těm poskytnutým v dokumentaci pro Nginx na této {linkstart}stránce s dokumentací ↗{linkend}. U Nginx jsou to obvykle řádky začínající na „location ~“, které potřebují úpravu.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Váš webový server není správně nastaven k doručování .woff2 souborů. To je obvykle chyba v nastavení Nginx. Nextcloud 15 také potřebuje úpravu k doručování .woff2 souborů. Porovnejte své nastavení Nginx s doporučeným nastavením v naší {linkstart}dokumentaci ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá se, že PHP není správně nastaveno pro dotazování proměnných prostředí systému. Test s příkazem getenv(\"PATH\") vrátí pouze prázdnou odpověď.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Nahlédněte do ↗{linkstart}instalační dokumentace ↗{linkend} kvůli poznámkám pro nastavování PHP a zkontrolujte nastavení PHP na svém serveru, zejména pokud používáte php-fpm.", diff --git a/core/l10n/da.js b/core/l10n/da.js index b76c4327eeb..ef2b0cb9772 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Allerede opdateret", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Din webserver er ikke korrekt konfigureret til at løse \"{url}\". Yderligere information kan findes i {linkstart}dokumentationen ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webserver er ikke korrekt konfigureret til at løse \"{url}\". Dette er højst sandsynligt relateret til en webserverkonfiguration, der ikke blev opdateret til at levere denne mappe direkte. Sammenlign venligst din konfiguration med de afsendte omskrivningsregler i \".htaccess\" for Apache eller den medfølgende i dokumentationen til Nginx på dens {linkstart}dokumentationsside ↗{linkend}. På Nginx er det typisk de linjer, der starter med \"placering ~\", der skal opdateres.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Du tilgår din instans via en sikker forbindelse, men din instans genererer usikre URL'er. Dette betyder højst sandsynligt, at du står bag en omvendt proxy, og at overskrivningskonfigurationsvariablerne ikke er indstillet korrekt. Læs venligst {linkstart}dokumentationssiden om dette ↗{linkend}.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", "For more details see the {linkstart}documentation ↗{linkend}." : "For flere detaljer se {linkstart}dokumentationen ↗{linkend}.", @@ -347,6 +346,7 @@ OC.L10N.register( "Please try again" : "Prøv venligst igen", "The user limit of this instance is reached." : "Brugergrænsen for denne instans er nået.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Indtast din abonnementsnøgle i supportappen for at øge brugergrænsen. Dette giver dig også alle yderligere fordele, som Nextcloud Enterprise tilbyder og anbefales stærkt til driften i virksomheder.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webserver er ikke korrekt konfigureret til at løse \"{url}\". Dette er højst sandsynligt relateret til en webserverkonfiguration, der ikke blev opdateret til at levere denne mappe direkte. Sammenlign venligst din konfiguration med de afsendte omskrivningsregler i \".htaccess\" for Apache eller den medfølgende i dokumentationen til Nginx på dens {linkstart}dokumentationsside ↗{linkend}. På Nginx er det typisk de linjer, der starter med \"placering ~\", der skal opdateres.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Din webserver er ikke korrekt sat op til at levere .woff2-filer. Dette er typisk et problem med Nginx-konfigurationen. Til Nextcloud 15 skal den justeres for også at levere .woff2-filer. Sammenlign din Nginx-konfiguration med den anbefalede konfiguration i vores {linkstart}dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lader ikke til at være korrekt opsat til at forespørge miljøvariablerne i systemet. Testen med getenv(\"PATH\") returnerer et tomt svar.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Se venligst {linkstart}installationsdokumentationen ↗{linkend} for PHP-konfigurationsnotater og PHP-konfigurationen af din server, især når du bruger php-fpm.", diff --git a/core/l10n/da.json b/core/l10n/da.json index 64e96c5b0bc..ad4a70c835d 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -73,7 +73,6 @@ "Already up to date" : "Allerede opdateret", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Din webserver er ikke korrekt konfigureret til at løse \"{url}\". Yderligere information kan findes i {linkstart}dokumentationen ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webserver er ikke korrekt konfigureret til at løse \"{url}\". Dette er højst sandsynligt relateret til en webserverkonfiguration, der ikke blev opdateret til at levere denne mappe direkte. Sammenlign venligst din konfiguration med de afsendte omskrivningsregler i \".htaccess\" for Apache eller den medfølgende i dokumentationen til Nginx på dens {linkstart}dokumentationsside ↗{linkend}. På Nginx er det typisk de linjer, der starter med \"placering ~\", der skal opdateres.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Du tilgår din instans via en sikker forbindelse, men din instans genererer usikre URL'er. Dette betyder højst sandsynligt, at du står bag en omvendt proxy, og at overskrivningskonfigurationsvariablerne ikke er indstillet korrekt. Læs venligst {linkstart}dokumentationssiden om dette ↗{linkend}.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", "For more details see the {linkstart}documentation ↗{linkend}." : "For flere detaljer se {linkstart}dokumentationen ↗{linkend}.", @@ -345,6 +344,7 @@ "Please try again" : "Prøv venligst igen", "The user limit of this instance is reached." : "Brugergrænsen for denne instans er nået.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Indtast din abonnementsnøgle i supportappen for at øge brugergrænsen. Dette giver dig også alle yderligere fordele, som Nextcloud Enterprise tilbyder og anbefales stærkt til driften i virksomheder.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webserver er ikke korrekt konfigureret til at løse \"{url}\". Dette er højst sandsynligt relateret til en webserverkonfiguration, der ikke blev opdateret til at levere denne mappe direkte. Sammenlign venligst din konfiguration med de afsendte omskrivningsregler i \".htaccess\" for Apache eller den medfølgende i dokumentationen til Nginx på dens {linkstart}dokumentationsside ↗{linkend}. På Nginx er det typisk de linjer, der starter med \"placering ~\", der skal opdateres.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Din webserver er ikke korrekt sat op til at levere .woff2-filer. Dette er typisk et problem med Nginx-konfigurationen. Til Nextcloud 15 skal den justeres for også at levere .woff2-filer. Sammenlign din Nginx-konfiguration med den anbefalede konfiguration i vores {linkstart}dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lader ikke til at være korrekt opsat til at forespørge miljøvariablerne i systemet. Testen med getenv(\"PATH\") returnerer et tomt svar.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Se venligst {linkstart}installationsdokumentationen ↗{linkend} for PHP-konfigurationsnotater og PHP-konfigurationen af din server, især når du bruger php-fpm.", diff --git a/core/l10n/de.js b/core/l10n/de.js index c41af2ef8d6..640e1317106 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Bereits aktuell", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Dein Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert, da die WebDAV-Schnittstelle vermutlich nicht funktioniert.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Dein Webserver ist nicht richtig konfiguriert, um \"{url}\" aufzulösen. Weitere Informationen hierzu findest du in unserer {linkstart}Dokumentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Dein Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleiche deine Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Du greifst über eine sichere Verbindung auf deine Instanz zu, deine Instanz generiert jedoch unsichere URLs. Dies bedeutet höchstwahrscheinlich, dass du dich hinter einem Reverse-Proxy befindest und die Konfigurationsvariablen zum Überschreiben nicht richtig eingestellt sind. Bitte lies{linkstart} die Dokumentation hierzu ↗{linkend}.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen findest du in der {linkstart}Dokumentation ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Bitte erneut versuchen.", "The user limit of this instance is reached." : "Die Benutzergrenze dieser Instanz ist erreicht.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Gib deinen Abonnementschlüssel in der Support-App ein, um das Benutzerlimit zu erhöhen. Dies gewährt dir auch alle zusätzlichen Vorteile, die Nextcloud Enterprise bietet und für den Betrieb in Unternehmen sehr zu empfehlen ist.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Dein Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleiche deine Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Dein Web-Server ist nicht richtig eingerichtet um .woff2-Dateien auszuliefern. Dies liegt meist an der Nginx-Konfiguration. Für Nextcloud 15 wird eine Anpassung für die Auslieferung von .woff2-Dateien benötigt. Vergleiche deine Nginx-Konfiguration mit der empfohlenen Nginx-Konfiguration in unserer {linkstart}Dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte schaue in der {linkstart}Installationsdokumentation ↗{linkend} auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration deines Servers, insbesondere dann, wenn du PHP-FPM einsetzt.", diff --git a/core/l10n/de.json b/core/l10n/de.json index 15abc47df2d..2a69c7cb904 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -73,7 +73,6 @@ "Already up to date" : "Bereits aktuell", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Dein Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert, da die WebDAV-Schnittstelle vermutlich nicht funktioniert.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Dein Webserver ist nicht richtig konfiguriert, um \"{url}\" aufzulösen. Weitere Informationen hierzu findest du in unserer {linkstart}Dokumentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Dein Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleiche deine Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Du greifst über eine sichere Verbindung auf deine Instanz zu, deine Instanz generiert jedoch unsichere URLs. Dies bedeutet höchstwahrscheinlich, dass du dich hinter einem Reverse-Proxy befindest und die Konfigurationsvariablen zum Überschreiben nicht richtig eingestellt sind. Bitte lies{linkstart} die Dokumentation hierzu ↗{linkend}.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen findest du in der {linkstart}Dokumentation ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Bitte erneut versuchen.", "The user limit of this instance is reached." : "Die Benutzergrenze dieser Instanz ist erreicht.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Gib deinen Abonnementschlüssel in der Support-App ein, um das Benutzerlimit zu erhöhen. Dies gewährt dir auch alle zusätzlichen Vorteile, die Nextcloud Enterprise bietet und für den Betrieb in Unternehmen sehr zu empfehlen ist.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Dein Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleiche deine Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Dein Web-Server ist nicht richtig eingerichtet um .woff2-Dateien auszuliefern. Dies liegt meist an der Nginx-Konfiguration. Für Nextcloud 15 wird eine Anpassung für die Auslieferung von .woff2-Dateien benötigt. Vergleiche deine Nginx-Konfiguration mit der empfohlenen Nginx-Konfiguration in unserer {linkstart}Dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte schaue in der {linkstart}Installationsdokumentation ↗{linkend} auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration deines Servers, insbesondere dann, wenn du PHP-FPM einsetzt.", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 43f1ef46f78..766e2dce18f 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Bereits aktuell", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ihr Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert. Die WebDAV-Schnittstelle ist vermutlich defekt.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ihr Webserver ist nicht richtig konfiguriert um \"{url}\" aufzulösen. Weitere Informationen hierzu finden Sie in unserer {linkstart}Dokumentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleichen Sie Ihre Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Sie greifen über eine sichere Verbindung auf Ihre Instanz zu, Ihre Instanz generiert jedoch unsichere URLs. Dies bedeutet höchstwahrscheinlich, dass Sie sich hinter einem Reverse-Proxy befinden und die Konfigurationsvariablen zum Überschreiben nicht richtig eingestellt sind. Bitte lesen Sie {linkstart}die Dokumentation hierzu ↗{linkend}.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen finden Sie in der {linkstart}Dokumentation ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Bitte erneut versuchen.", "The user limit of this instance is reached." : "Die Benutzergrenze dieser Instanz ist erreicht.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Geben Sie Ihren Abonnementschlüssel in der Support-App ein, um das Benutzerlimit zu erhöhen. Dies gewährt Ihnen auch alle zusätzlichen Vorteile, die Nextcloud Enterprise bietet und für den Betrieb in Unternehmen sehr zu empfehlen ist.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleichen Sie Ihre Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ihr Web-Server ist nicht richtig eingerichtet um .woff2-Dateien auszuliefern. Dies liegt meist an der Nginx-Konfiguration. Für Nextcloud 15 wird eine Anpassung für die Auslieferung von .woff2-Dateien benötigt. Vergleichen Sie Ihre Nginx-Konfiguration mit der empfohlenen Nginx-Konfiguration in unserer {linkstart}Dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der {linkstart}Installationsdokumentation ↗{linkend} auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 47e90fe6a06..31dd7199ae9 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -75,7 +75,6 @@ "Already up to date" : "Bereits aktuell", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ihr Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert. Die WebDAV-Schnittstelle ist vermutlich defekt.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ihr Webserver ist nicht richtig konfiguriert um \"{url}\" aufzulösen. Weitere Informationen hierzu finden Sie in unserer {linkstart}Dokumentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleichen Sie Ihre Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Sie greifen über eine sichere Verbindung auf Ihre Instanz zu, Ihre Instanz generiert jedoch unsichere URLs. Dies bedeutet höchstwahrscheinlich, dass Sie sich hinter einem Reverse-Proxy befinden und die Konfigurationsvariablen zum Überschreiben nicht richtig eingestellt sind. Bitte lesen Sie {linkstart}die Dokumentation hierzu ↗{linkend}.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen finden Sie in der {linkstart}Dokumentation ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Bitte erneut versuchen.", "The user limit of this instance is reached." : "Die Benutzergrenze dieser Instanz ist erreicht.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Geben Sie Ihren Abonnementschlüssel in der Support-App ein, um das Benutzerlimit zu erhöhen. Dies gewährt Ihnen auch alle zusätzlichen Vorteile, die Nextcloud Enterprise bietet und für den Betrieb in Unternehmen sehr zu empfehlen ist.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von \"{url}\" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleichen Sie Ihre Konfiguration mit den mitgelieferten Rewrite-Regeln in \".htaccess\" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen {linkstart}Dokumentationsseite ↗{linkend}. Auf Nginx sind das typischerweise die Zeilen, die mit \"location ~\" beginnen und ein Update benötigen.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ihr Web-Server ist nicht richtig eingerichtet um .woff2-Dateien auszuliefern. Dies liegt meist an der Nginx-Konfiguration. Für Nextcloud 15 wird eine Anpassung für die Auslieferung von .woff2-Dateien benötigt. Vergleichen Sie Ihre Nginx-Konfiguration mit der empfohlenen Nginx-Konfiguration in unserer {linkstart}Dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der {linkstart}Installationsdokumentation ↗{linkend} auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.", diff --git a/core/l10n/el.js b/core/l10n/el.js index 5d89689546c..0ae997ab70f 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Ενημερωμένο ήδη", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ο διακομιστής σας δεν έχει ρυθμιστεί ακόμη κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων, διότι η διεπαφή WebDAV φαίνεται να μη λειτουργεί.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για την επίλυση του \"{url}\". Περισσότερες πληροφορίες μπορείτε να βρείτε στην {linkstart} τεκμηρίωση ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για την επίλυση του \"{url}\". Αυτό πιθανότατα σχετίζεται με μια ρύθμιση του διακομιστή ιστού που δεν ενημερώθηκε ώστε να παραδίδει απευθείας αυτόν τον φάκελο. Παρακαλούμε συγκρίνετε τις ρυθμίσεις σας με τους κανόνες επανεγγραφής που παραδίδονται στο \".htaccess\" για τον Apache ή με τους παρεχόμενους στην τεκμηρίωση για τον Nginx στη {linkstart}σελίδα τεκμηρίωσης ↗{linkend}. Στο Nginx αυτές είναι συνήθως οι γραμμές που ξεκινούν με \"location ~\" και χρειάζονται ενημέρωση.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Έχετε πρόσβαση στην εγκατάστασή σας μέσω ασφαλούς σύνδεσης, ωστόσο η εγκατάστασή σας παράγει μη ασφαλείς διευθύνσεις URL. Αυτό πιθανότατα σημαίνει ότι βρίσκεστε πίσω από έναν αντίστροφο διακομιστή μεσολάβησης και ότι οι μεταβλητές ρυθμίσεων αντικατάστασης δεν έχουν οριστεί σωστά. Παρακαλούμε διαβάστε {linkstart}τη σελίδα τεκμηρίωσης σχετικά με αυτό ↗{linkend}.", "Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο των ρυθμίσεων του διακομιστή σας", "For more details see the {linkstart}documentation ↗{linkend}." : "Για περισσότερες λεπτομέρειες, ανατρέξτε στη {linkstart}τεκμηρίωση ↗{linkend}.", @@ -345,6 +344,7 @@ OC.L10N.register( "Please try again" : "Παρακαλώ δοκιμάστε αργότερα", "The user limit of this instance is reached." : "Το όριο χρήστη αυτού του instance έχει επιτευχθεί.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Εισάγετε το κλειδί συνδρομής σας στην εφαρμογή υποστήριξης για να αυξήσετε το όριο χρηστών. Αυτό σας παρέχει επίσης όλα τα πρόσθετα οφέλη που προσφέρει το Nextcloud Enterprise και συνιστάται ιδιαίτερα για τη λειτουργία σε εταιρείες.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για την επίλυση του \"{url}\". Αυτό πιθανότατα σχετίζεται με μια ρύθμιση του διακομιστή ιστού που δεν ενημερώθηκε ώστε να παραδίδει απευθείας αυτόν τον φάκελο. Παρακαλούμε συγκρίνετε τις ρυθμίσεις σας με τους κανόνες επανεγγραφής που παραδίδονται στο \".htaccess\" για τον Apache ή με τους παρεχόμενους στην τεκμηρίωση για τον Nginx στη {linkstart}σελίδα τεκμηρίωσης ↗{linkend}. Στο Nginx αυτές είναι συνήθως οι γραμμές που ξεκινούν με \"location ~\" και χρειάζονται ενημέρωση.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για να παραδίδει αρχεία .woff2. Αυτό είναι τυπικά ένα πρόβλημα με τη ρύθμιση του Nginx. Για το Nextcloud 15 χρειάζεται προσαρμογή ώστε να παραδίδει επίσης αρχεία .woff2. Συγκρίνετε τις ρυθμίσεις του Nginx σας με τη συνιστώμενη ρύθμιση στην {linkstart}τεκμηρίωση ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "H PHP δεν φαίνεται να έχει διαμορφωθεί σωστά για ερωτήματα σε μεταβλητές περιβάλλοντος του συστήματος. Η δοκιμή με την εντολή getenv(\"PATH\") επιστρέφει μια κενή απάντηση.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Παρακαλούμε ελέγξτε την {linkstart}τεκμηρίωση εγκατάστασης ↗{linkend} για σημειώσεις ρυθμίσεων της PHP και τις ρυθμίσεις της PHP του διακομιστή σας, ειδικά όταν χρησιμοποιείτε php-fpm.", diff --git a/core/l10n/el.json b/core/l10n/el.json index d85feccb5e1..1f46e03c84a 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -73,7 +73,6 @@ "Already up to date" : "Ενημερωμένο ήδη", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ο διακομιστής σας δεν έχει ρυθμιστεί ακόμη κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων, διότι η διεπαφή WebDAV φαίνεται να μη λειτουργεί.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για την επίλυση του \"{url}\". Περισσότερες πληροφορίες μπορείτε να βρείτε στην {linkstart} τεκμηρίωση ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για την επίλυση του \"{url}\". Αυτό πιθανότατα σχετίζεται με μια ρύθμιση του διακομιστή ιστού που δεν ενημερώθηκε ώστε να παραδίδει απευθείας αυτόν τον φάκελο. Παρακαλούμε συγκρίνετε τις ρυθμίσεις σας με τους κανόνες επανεγγραφής που παραδίδονται στο \".htaccess\" για τον Apache ή με τους παρεχόμενους στην τεκμηρίωση για τον Nginx στη {linkstart}σελίδα τεκμηρίωσης ↗{linkend}. Στο Nginx αυτές είναι συνήθως οι γραμμές που ξεκινούν με \"location ~\" και χρειάζονται ενημέρωση.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Έχετε πρόσβαση στην εγκατάστασή σας μέσω ασφαλούς σύνδεσης, ωστόσο η εγκατάστασή σας παράγει μη ασφαλείς διευθύνσεις URL. Αυτό πιθανότατα σημαίνει ότι βρίσκεστε πίσω από έναν αντίστροφο διακομιστή μεσολάβησης και ότι οι μεταβλητές ρυθμίσεων αντικατάστασης δεν έχουν οριστεί σωστά. Παρακαλούμε διαβάστε {linkstart}τη σελίδα τεκμηρίωσης σχετικά με αυτό ↗{linkend}.", "Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο των ρυθμίσεων του διακομιστή σας", "For more details see the {linkstart}documentation ↗{linkend}." : "Για περισσότερες λεπτομέρειες, ανατρέξτε στη {linkstart}τεκμηρίωση ↗{linkend}.", @@ -343,6 +342,7 @@ "Please try again" : "Παρακαλώ δοκιμάστε αργότερα", "The user limit of this instance is reached." : "Το όριο χρήστη αυτού του instance έχει επιτευχθεί.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Εισάγετε το κλειδί συνδρομής σας στην εφαρμογή υποστήριξης για να αυξήσετε το όριο χρηστών. Αυτό σας παρέχει επίσης όλα τα πρόσθετα οφέλη που προσφέρει το Nextcloud Enterprise και συνιστάται ιδιαίτερα για τη λειτουργία σε εταιρείες.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για την επίλυση του \"{url}\". Αυτό πιθανότατα σχετίζεται με μια ρύθμιση του διακομιστή ιστού που δεν ενημερώθηκε ώστε να παραδίδει απευθείας αυτόν τον φάκελο. Παρακαλούμε συγκρίνετε τις ρυθμίσεις σας με τους κανόνες επανεγγραφής που παραδίδονται στο \".htaccess\" για τον Apache ή με τους παρεχόμενους στην τεκμηρίωση για τον Nginx στη {linkstart}σελίδα τεκμηρίωσης ↗{linkend}. Στο Nginx αυτές είναι συνήθως οι γραμμές που ξεκινούν με \"location ~\" και χρειάζονται ενημέρωση.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ο διακομιστής ιστού σας δεν είναι σωστά ρυθμισμένος για να παραδίδει αρχεία .woff2. Αυτό είναι τυπικά ένα πρόβλημα με τη ρύθμιση του Nginx. Για το Nextcloud 15 χρειάζεται προσαρμογή ώστε να παραδίδει επίσης αρχεία .woff2. Συγκρίνετε τις ρυθμίσεις του Nginx σας με τη συνιστώμενη ρύθμιση στην {linkstart}τεκμηρίωση ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "H PHP δεν φαίνεται να έχει διαμορφωθεί σωστά για ερωτήματα σε μεταβλητές περιβάλλοντος του συστήματος. Η δοκιμή με την εντολή getenv(\"PATH\") επιστρέφει μια κενή απάντηση.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Παρακαλούμε ελέγξτε την {linkstart}τεκμηρίωση εγκατάστασης ↗{linkend} για σημειώσεις ρυθμίσεων της PHP και τις ρυθμίσεις της PHP του διακομιστή σας, ειδικά όταν χρησιμοποιείτε php-fpm.", diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index ff646993d32..8bc11f69fbb 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Already up to date", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronisation, because the WebDAV interface seems to be broken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}.", "Error occurred while checking server setup" : "Error occurred whilst checking server setup", "For more details see the {linkstart}documentation ↗{linkend}." : "For more details see the {linkstart}documentation ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Please try again", "The user limit of this instance is reached." : "The user limit of this instance is reached.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index 896c7e5cc24..0c665c88d78 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -75,7 +75,6 @@ "Already up to date" : "Already up to date", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronisation, because the WebDAV interface seems to be broken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}.", "Error occurred while checking server setup" : "Error occurred whilst checking server setup", "For more details see the {linkstart}documentation ↗{linkend}." : "For more details see the {linkstart}documentation ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Please try again", "The user limit of this instance is reached." : "The user limit of this instance is reached.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", diff --git a/core/l10n/eo.js b/core/l10n/eo.js index b5321345eda..bd14c62e213 100644 --- a/core/l10n/eo.js +++ b/core/l10n/eo.js @@ -67,7 +67,6 @@ OC.L10N.register( "Already up to date" : "Jam aktuala", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Via retservilo ankoraŭ ne estas agordita por permesi sinkronigon de dosieroj, ĉar la WebDAV-interfaco ŝajne difektiĝas.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Via retservilo ne estas bone agordita por trovi la adreson „{url}“. Pli da informo troveblas en la {linkstart}dokumentaro ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Via retservilo ne estas bone agordita por trovi la adreson „{url}“. Tio plej verŝajne estas kaŭzita de servilo ne ĝisdatigita por rekte liveri tiun ĉi dosierujon. Bv. kompari vian agordon al transformreguloj en „.htaccess“ por Apache, aŭ la reguloj por Nginx en la {linkstart}dokumentaro ↗{linkend}. Ĉe Nginx, tio, kio devas ĝisdatiĝi estas kutime linioj komencantaj per „location ~“.", "Error occurred while checking server setup" : "Eraro dum kontrolo de servila agordo", "For more details see the {linkstart}documentation ↗{linkend}." : "Por pliaj detaloj, vidu la {linkstart}dokumentaron ↗{linkend}.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La HTTP-kapo „{header}“ ne egalas al „{expected}“. Tio estas eventuala risko pri sekureco aŭ privateco. Bv. ĝustigi tiun agordon laŭe.", @@ -315,6 +314,7 @@ OC.L10N.register( "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktu vian administranton, se tiu ĉi mesaĝo daŭras aŭ aperas neatendite.", "Please try again" : "Bonvolu reprovi", "The user limit of this instance is reached." : "La maksimuma nombro de uzantoj estis atingita en tiu ĉi servilo.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Via retservilo ne estas bone agordita por trovi la adreson „{url}“. Tio plej verŝajne estas kaŭzita de servilo ne ĝisdatigita por rekte liveri tiun ĉi dosierujon. Bv. kompari vian agordon al transformreguloj en „.htaccess“ por Apache, aŭ la reguloj por Nginx en la {linkstart}dokumentaro ↗{linkend}. Ĉe Nginx, tio, kio devas ĝisdatiĝi estas kutime linioj komencantaj per „location ~“.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Via retservilo ne estas bone agordita por sendi .woff2-dosierojn. Tio estas tipe problemo kun la agordo de Nginx. Nextcloud 15 bezonas adapton por ankaŭ sendi .woff2-dosierojn. Komparu vian Nginx-agordon kun la rekomendita agordo en nia {linkstart}dokumentaro ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ŝajnas ne esti taŭge agordita por informpeti sistemajn medivariablojn. La testado kun getenv(\"PATH\") revenigas nur malplenan respondon.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bv. legi la {linkstart}instal-dokumentaron ↗{linkend} pri agordo-notoj pri PHP kaj pri PHP-agordo de via retservilo, precipe kiam vi uzas la modulon „php-fpm“.", diff --git a/core/l10n/eo.json b/core/l10n/eo.json index c1f7209056a..29691939144 100644 --- a/core/l10n/eo.json +++ b/core/l10n/eo.json @@ -65,7 +65,6 @@ "Already up to date" : "Jam aktuala", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Via retservilo ankoraŭ ne estas agordita por permesi sinkronigon de dosieroj, ĉar la WebDAV-interfaco ŝajne difektiĝas.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Via retservilo ne estas bone agordita por trovi la adreson „{url}“. Pli da informo troveblas en la {linkstart}dokumentaro ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Via retservilo ne estas bone agordita por trovi la adreson „{url}“. Tio plej verŝajne estas kaŭzita de servilo ne ĝisdatigita por rekte liveri tiun ĉi dosierujon. Bv. kompari vian agordon al transformreguloj en „.htaccess“ por Apache, aŭ la reguloj por Nginx en la {linkstart}dokumentaro ↗{linkend}. Ĉe Nginx, tio, kio devas ĝisdatiĝi estas kutime linioj komencantaj per „location ~“.", "Error occurred while checking server setup" : "Eraro dum kontrolo de servila agordo", "For more details see the {linkstart}documentation ↗{linkend}." : "Por pliaj detaloj, vidu la {linkstart}dokumentaron ↗{linkend}.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La HTTP-kapo „{header}“ ne egalas al „{expected}“. Tio estas eventuala risko pri sekureco aŭ privateco. Bv. ĝustigi tiun agordon laŭe.", @@ -313,6 +312,7 @@ "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktu vian administranton, se tiu ĉi mesaĝo daŭras aŭ aperas neatendite.", "Please try again" : "Bonvolu reprovi", "The user limit of this instance is reached." : "La maksimuma nombro de uzantoj estis atingita en tiu ĉi servilo.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Via retservilo ne estas bone agordita por trovi la adreson „{url}“. Tio plej verŝajne estas kaŭzita de servilo ne ĝisdatigita por rekte liveri tiun ĉi dosierujon. Bv. kompari vian agordon al transformreguloj en „.htaccess“ por Apache, aŭ la reguloj por Nginx en la {linkstart}dokumentaro ↗{linkend}. Ĉe Nginx, tio, kio devas ĝisdatiĝi estas kutime linioj komencantaj per „location ~“.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Via retservilo ne estas bone agordita por sendi .woff2-dosierojn. Tio estas tipe problemo kun la agordo de Nginx. Nextcloud 15 bezonas adapton por ankaŭ sendi .woff2-dosierojn. Komparu vian Nginx-agordon kun la rekomendita agordo en nia {linkstart}dokumentaro ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ŝajnas ne esti taŭge agordita por informpeti sistemajn medivariablojn. La testado kun getenv(\"PATH\") revenigas nur malplenan respondon.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bv. legi la {linkstart}instal-dokumentaron ↗{linkend} pri agordo-notoj pri PHP kaj pri PHP-agordo de via retservilo, precipe kiam vi uzas la modulon „php-fpm“.", diff --git a/core/l10n/es.js b/core/l10n/es.js index 7c64d9f0b41..eeed1255fec 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -50,6 +50,8 @@ OC.L10N.register( "Nextcloud Server" : "Servidor Nexcloud", "Some of your link shares have been removed" : "Algunos de tus enlaces compartidos han sido eliminados.", "Due to a security bug we had to remove some of your link shares. Please see the link for more information." : "Debido a un bug de seguridad hemos tenido que eliminar algunos de tus enlaces compartidos. Por favor, accede al link para más información.", + "The account limit of this instance is reached." : "Se alcanzó el límite de cuentas de esta instancia.", + "Enter your subscription key in the support app in order to increase the account limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ingrese su clave de suscripción en la aplicación de soporte para aumentar el límite de cuentas. Esto también le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y que es altamente recomendado para la operación en empresas.", "Learn more ↗" : "Saber más ↗", "Preparing update" : "Preparando la actualización", "[%d / %d]: %s" : "[%d / %d]: %s", @@ -75,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Ya actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Su servidor no está configurado correctamente para resolver \"{url}\". Se puede encontrar más información en la {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está accediendo a su instancia a través de una conexión segura, sin embargo tu instancia está generando URLs inseguras. Esto suele significar que está tras un proxy inverso y que las variables de reescritura no están bien configuradas. Por favor, revise la {linkstart}página de documentación acerca de esto ↗{linkend}.", "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para más detalles compruebe la {linkstart}documentación ↗{linkend}.", @@ -118,8 +119,11 @@ OC.L10N.register( "Please try again." : "Por favor, inténtelo de nuevo.", "An internal error occurred." : "Ha habido un error interno.", "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", + "Login or email" : "Nombre de usuario o correo electrónico", "Password" : "Contraseña", "Log in to {productName}" : "Iniciar sesión en {productName}", + "Wrong login or password." : "Nombre de usuario o contraseña incorrecto.", + "This account is disabled" : "Esta cuenta está deshabilitada", "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Hemos detectado múltiples intentos inválidos desde tu IP. Por tanto, tu próximo intento se retrasará 30 segundos.", "Log in with a device" : "Iniciar sesión con dispositivo", "Your account is not setup for passwordless login." : "Tu cuenta no está configurada para iniciar de sesión sin contraseña", @@ -128,6 +132,7 @@ OC.L10N.register( "Your connection is not secure" : "Tu conexión no es segura", "Passwordless authentication is only available over a secure connection." : "La autenticación sin contraseña solo está disponible bajo una conexión segura.", "Reset password" : "Restablecer contraseña", + "If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or Login, check your spam/junk folders or ask your local administration for help." : "Si la cuenta existe, se ha enviado un mensaje para reestablecer la contraseña a su dirección de correo. Si no lo recibe, verifique su dirección de correo y/o su nombre de cuenta, compruebe también sus carpetas de Spam/Correo basura o solicite ayuda a su administrador.", "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse el correo para restablecer la contraseña. Por favor, contacte con su administrador.", "Password cannot be changed. Please contact your administrator." : "La contraseña no puede ser cambiada. Por favor, contacte con su administrador.", "Back to login" : "Volver a la identificación", @@ -295,6 +300,7 @@ OC.L10N.register( "Only %s is available." : "Solo %s está disponible.", "Install and activate additional PHP modules to choose other database types." : "Instalar y activar módulos PHP adicionales para elegir otros formatos de base de datos.", "For more details check out the documentation." : "Para más detalles revisar la documentación.", + "Database account" : "Cuenta de la base de datos", "Database password" : "Contraseña de la base de datos", "Database name" : "Nombre de la base de datos", "Database tablespace" : "Espacio de tablas de la base de datos", @@ -357,6 +363,7 @@ OC.L10N.register( "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tiempos de espera en grandes instalaciones, en su lugar puede ejecutar el siguiente comando desde el directorio de instalación:", "Detailed logs" : "Registros detallados", "Update needed" : "Se necesita actualización", + "Please use the command line updater because you have a big instance with more than 50 accounts." : "Por favor, use el actualizador de línea de comandos ya que tiene una gran instancia con más de 50 cuentas.", "For help, see the documentation." : "Para obtener ayuda, consulta la documentación.", "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si continúo haciendo la actualización a través de la interfaz web, tengo el riesgo de que la solicitud no se ejecute en el tiempo de espera y provoque pérdida de información pero tengo una copia de seguridad de los datos y sé como restaurarla.", "Upgrade via web on my own risk" : "Actualizar a través de la web con mi consentimiento.", @@ -367,6 +374,7 @@ OC.L10N.register( "Please try again" : "Por favor intente de nuevo", "The user limit of this instance is reached." : "Se alcanzó el límite de usuarios de esta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introduzca su clave de suscripción en la aplicación de soporte para incrementar el límite de usuarios. Además, esto le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y que es altamente recomendado para la operativa dentro de empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Tu servidor web no está bien configurado para suministrar archivos .woff2 . Esto suele ser un problema de la configuración de Nginx. Para Nextcloud 15, necesita un ajuste para suministrar archivos .woff2. Compare su configuración de Nginx con la configuración recomendada en nuestra {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece no estar correctamente configurado para solicitar las variables de entorno de sistema. La prueba con getenv(\"PATH\") solo devuelve una respuesta vacía.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, compruebe las notas de configuración de PHP en la {linkstart}documentación de instalación ↗{linkend} y la configuración de PHP de su servidor, especialmente cuando se utiliza php-fpm.", diff --git a/core/l10n/es.json b/core/l10n/es.json index ba25a652a40..50cd3e849d2 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -48,6 +48,8 @@ "Nextcloud Server" : "Servidor Nexcloud", "Some of your link shares have been removed" : "Algunos de tus enlaces compartidos han sido eliminados.", "Due to a security bug we had to remove some of your link shares. Please see the link for more information." : "Debido a un bug de seguridad hemos tenido que eliminar algunos de tus enlaces compartidos. Por favor, accede al link para más información.", + "The account limit of this instance is reached." : "Se alcanzó el límite de cuentas de esta instancia.", + "Enter your subscription key in the support app in order to increase the account limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ingrese su clave de suscripción en la aplicación de soporte para aumentar el límite de cuentas. Esto también le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y que es altamente recomendado para la operación en empresas.", "Learn more ↗" : "Saber más ↗", "Preparing update" : "Preparando la actualización", "[%d / %d]: %s" : "[%d / %d]: %s", @@ -73,7 +75,6 @@ "Already up to date" : "Ya actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Su servidor no está configurado correctamente para resolver \"{url}\". Se puede encontrar más información en la {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está accediendo a su instancia a través de una conexión segura, sin embargo tu instancia está generando URLs inseguras. Esto suele significar que está tras un proxy inverso y que las variables de reescritura no están bien configuradas. Por favor, revise la {linkstart}página de documentación acerca de esto ↗{linkend}.", "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para más detalles compruebe la {linkstart}documentación ↗{linkend}.", @@ -116,8 +117,11 @@ "Please try again." : "Por favor, inténtelo de nuevo.", "An internal error occurred." : "Ha habido un error interno.", "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", + "Login or email" : "Nombre de usuario o correo electrónico", "Password" : "Contraseña", "Log in to {productName}" : "Iniciar sesión en {productName}", + "Wrong login or password." : "Nombre de usuario o contraseña incorrecto.", + "This account is disabled" : "Esta cuenta está deshabilitada", "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Hemos detectado múltiples intentos inválidos desde tu IP. Por tanto, tu próximo intento se retrasará 30 segundos.", "Log in with a device" : "Iniciar sesión con dispositivo", "Your account is not setup for passwordless login." : "Tu cuenta no está configurada para iniciar de sesión sin contraseña", @@ -126,6 +130,7 @@ "Your connection is not secure" : "Tu conexión no es segura", "Passwordless authentication is only available over a secure connection." : "La autenticación sin contraseña solo está disponible bajo una conexión segura.", "Reset password" : "Restablecer contraseña", + "If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or Login, check your spam/junk folders or ask your local administration for help." : "Si la cuenta existe, se ha enviado un mensaje para reestablecer la contraseña a su dirección de correo. Si no lo recibe, verifique su dirección de correo y/o su nombre de cuenta, compruebe también sus carpetas de Spam/Correo basura o solicite ayuda a su administrador.", "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse el correo para restablecer la contraseña. Por favor, contacte con su administrador.", "Password cannot be changed. Please contact your administrator." : "La contraseña no puede ser cambiada. Por favor, contacte con su administrador.", "Back to login" : "Volver a la identificación", @@ -293,6 +298,7 @@ "Only %s is available." : "Solo %s está disponible.", "Install and activate additional PHP modules to choose other database types." : "Instalar y activar módulos PHP adicionales para elegir otros formatos de base de datos.", "For more details check out the documentation." : "Para más detalles revisar la documentación.", + "Database account" : "Cuenta de la base de datos", "Database password" : "Contraseña de la base de datos", "Database name" : "Nombre de la base de datos", "Database tablespace" : "Espacio de tablas de la base de datos", @@ -355,6 +361,7 @@ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tiempos de espera en grandes instalaciones, en su lugar puede ejecutar el siguiente comando desde el directorio de instalación:", "Detailed logs" : "Registros detallados", "Update needed" : "Se necesita actualización", + "Please use the command line updater because you have a big instance with more than 50 accounts." : "Por favor, use el actualizador de línea de comandos ya que tiene una gran instancia con más de 50 cuentas.", "For help, see the documentation." : "Para obtener ayuda, consulta la documentación.", "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si continúo haciendo la actualización a través de la interfaz web, tengo el riesgo de que la solicitud no se ejecute en el tiempo de espera y provoque pérdida de información pero tengo una copia de seguridad de los datos y sé como restaurarla.", "Upgrade via web on my own risk" : "Actualizar a través de la web con mi consentimiento.", @@ -365,6 +372,7 @@ "Please try again" : "Por favor intente de nuevo", "The user limit of this instance is reached." : "Se alcanzó el límite de usuarios de esta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introduzca su clave de suscripción en la aplicación de soporte para incrementar el límite de usuarios. Además, esto le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y que es altamente recomendado para la operativa dentro de empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Tu servidor web no está bien configurado para suministrar archivos .woff2 . Esto suele ser un problema de la configuración de Nginx. Para Nextcloud 15, necesita un ajuste para suministrar archivos .woff2. Compare su configuración de Nginx con la configuración recomendada en nuestra {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece no estar correctamente configurado para solicitar las variables de entorno de sistema. La prueba con getenv(\"PATH\") solo devuelve una respuesta vacía.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, compruebe las notas de configuración de PHP en la {linkstart}documentación de instalación ↗{linkend} y la configuración de PHP de su servidor, especialmente cuando se utiliza php-fpm.", diff --git a/core/l10n/es_EC.js b/core/l10n/es_EC.js index b8318fc42af..658f7d8c0d0 100644 --- a/core/l10n/es_EC.js +++ b/core/l10n/es_EC.js @@ -70,7 +70,6 @@ OC.L10N.register( "Already up to date" : "Ya está actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web aún no esta correctamente configurado para permitir la sincronización de archivos porque la interfaz WebDAV parece estar rota. ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Su servidor web no está configurado correctamente para resolver \"{url}\". Puede encontrar más información en la {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su servidor web no está configurado correctamente para resolver \"{url}\". Esto probablemente se debe a una configuración del servidor web que no se actualizó para entregar esta carpeta directamente. Por favor, compare su configuración con las reglas de reescritura incluidas en \".htaccess\" para Apache o las proporcionadas en la documentación para Nginx en su {linkstart}página de documentación ↗{linkend}. En Nginx, generalmente son las líneas que comienzan con \"location ~\" las que necesitan una actualización.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está accediendo a su instancia a través de una conexión segura, sin embargo, su instancia está generando URL no seguras. Esto probablemente significa que está detrás de un proxy inverso y las variables de configuración de sobrescritura no están configuradas correctamente. Lea {linkstart}la página de documentación sobre este tema ↗{linkend}.", "Error occurred while checking server setup" : "Se presentó un error al verificar la configuración del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obtener más detalles, consulte la {linkstart}documentación ↗{linkend}.", @@ -337,6 +336,7 @@ OC.L10N.register( "Please try again" : "Por favor, inténtelo de nuevo", "The user limit of this instance is reached." : "Se ha alcanzado el límite de usuarios de esta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ingrese su clave de suscripción en la aplicación de soporte para aumentar el límite de usuarios. Esto también le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y se recomienda especialmente para el funcionamiento en empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su servidor web no está configurado correctamente para resolver \"{url}\". Esto probablemente se debe a una configuración del servidor web que no se actualizó para entregar esta carpeta directamente. Por favor, compare su configuración con las reglas de reescritura incluidas en \".htaccess\" para Apache o las proporcionadas en la documentación para Nginx en su {linkstart}página de documentación ↗{linkend}. En Nginx, generalmente son las líneas que comienzan con \"location ~\" las que necesitan una actualización.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Su servidor web no está configurado correctamente para entregar archivos .woff2. Esto suele ser un problema de configuración de Nginx. Para Nextcloud 15, necesita un ajuste para entregar también archivos .woff2. Compare su configuración de Nginx con la configuración recomendada en nuestra {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, consulte la {linkstart}documentación de instalación ↗{linkend} para obtener notas de configuración de PHP y la configuración de PHP de su servidor, especialmente cuando se utiliza php-fpm.", diff --git a/core/l10n/es_EC.json b/core/l10n/es_EC.json index 2835ed4ea50..1b265344175 100644 --- a/core/l10n/es_EC.json +++ b/core/l10n/es_EC.json @@ -68,7 +68,6 @@ "Already up to date" : "Ya está actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web aún no esta correctamente configurado para permitir la sincronización de archivos porque la interfaz WebDAV parece estar rota. ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Su servidor web no está configurado correctamente para resolver \"{url}\". Puede encontrar más información en la {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su servidor web no está configurado correctamente para resolver \"{url}\". Esto probablemente se debe a una configuración del servidor web que no se actualizó para entregar esta carpeta directamente. Por favor, compare su configuración con las reglas de reescritura incluidas en \".htaccess\" para Apache o las proporcionadas en la documentación para Nginx en su {linkstart}página de documentación ↗{linkend}. En Nginx, generalmente son las líneas que comienzan con \"location ~\" las que necesitan una actualización.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está accediendo a su instancia a través de una conexión segura, sin embargo, su instancia está generando URL no seguras. Esto probablemente significa que está detrás de un proxy inverso y las variables de configuración de sobrescritura no están configuradas correctamente. Lea {linkstart}la página de documentación sobre este tema ↗{linkend}.", "Error occurred while checking server setup" : "Se presentó un error al verificar la configuración del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obtener más detalles, consulte la {linkstart}documentación ↗{linkend}.", @@ -335,6 +334,7 @@ "Please try again" : "Por favor, inténtelo de nuevo", "The user limit of this instance is reached." : "Se ha alcanzado el límite de usuarios de esta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ingrese su clave de suscripción en la aplicación de soporte para aumentar el límite de usuarios. Esto también le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y se recomienda especialmente para el funcionamiento en empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su servidor web no está configurado correctamente para resolver \"{url}\". Esto probablemente se debe a una configuración del servidor web que no se actualizó para entregar esta carpeta directamente. Por favor, compare su configuración con las reglas de reescritura incluidas en \".htaccess\" para Apache o las proporcionadas en la documentación para Nginx en su {linkstart}página de documentación ↗{linkend}. En Nginx, generalmente son las líneas que comienzan con \"location ~\" las que necesitan una actualización.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Su servidor web no está configurado correctamente para entregar archivos .woff2. Esto suele ser un problema de configuración de Nginx. Para Nextcloud 15, necesita un ajuste para entregar también archivos .woff2. Compare su configuración de Nginx con la configuración recomendada en nuestra {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, consulte la {linkstart}documentación de instalación ↗{linkend} para obtener notas de configuración de PHP y la configuración de PHP de su servidor, especialmente cuando se utiliza php-fpm.", diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js index 34cf0be8d66..423b4ef25b5 100644 --- a/core/l10n/es_MX.js +++ b/core/l10n/es_MX.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Ya está actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web aún no esta correctamente configurado para permitir la sincronización de archivos porque la interfaz WebDAV parece estar rota. ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Su servidor no está configurado correctamente para resolver \"{url}\". Se puede encontrar más información en la {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está accediendo a su instancia a través de una conexión segura, sin embargo, su instancia está generando URLs inseguras. Esto probablemente significa que está detrás de un proxy inverso y las variables de configuración de sobrescritura no están configuradas correctamente. Por favor, revise {linkstart}la página de documentación acerca de esto ↗{linkend}.", "Error occurred while checking server setup" : "Se presentó un error al verificar la configuración del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para más detalles, consulte la {linkstart}documentación ↗{linkend}.", @@ -370,6 +369,7 @@ OC.L10N.register( "Please try again" : "Por favor, inténtelo de nuevo", "The user limit of this instance is reached." : "Se alcanzó el límite de usuarios de esta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ingrese su clave de suscripción en la aplicación de soporte para aumentar el límite de usuarios. Esto también le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y que es altamente recomendado para la operación en empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Tu servidor web no está bien configurado para suministrar archivos .woff2 . Esto suele ser un problema de la configuración de Nginx. Para Nextcloud 15, necesita un ajuste para suministrar archivos .woff2. Compare su configuración de Nginx con la configuración recomendada en nuestra {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, compruebe las notas de configuración de PHP en la {linkstart}documentación de instalación ↗{linkend} y la configuración de PHP de su servidor, especialmente cuando se utiliza php-fpm.", diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json index 7011ecad0f0..76443e5c9b4 100644 --- a/core/l10n/es_MX.json +++ b/core/l10n/es_MX.json @@ -75,7 +75,6 @@ "Already up to date" : "Ya está actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web aún no esta correctamente configurado para permitir la sincronización de archivos porque la interfaz WebDAV parece estar rota. ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Su servidor no está configurado correctamente para resolver \"{url}\". Se puede encontrar más información en la {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está accediendo a su instancia a través de una conexión segura, sin embargo, su instancia está generando URLs inseguras. Esto probablemente significa que está detrás de un proxy inverso y las variables de configuración de sobrescritura no están configuradas correctamente. Por favor, revise {linkstart}la página de documentación acerca de esto ↗{linkend}.", "Error occurred while checking server setup" : "Se presentó un error al verificar la configuración del servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para más detalles, consulte la {linkstart}documentación ↗{linkend}.", @@ -368,6 +367,7 @@ "Please try again" : "Por favor, inténtelo de nuevo", "The user limit of this instance is reached." : "Se alcanzó el límite de usuarios de esta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ingrese su clave de suscripción en la aplicación de soporte para aumentar el límite de usuarios. Esto también le otorga todos los beneficios adicionales que ofrece Nextcloud Enterprise y que es altamente recomendado para la operación en empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Tu servidor no está bien configurado para resolver \"{url}\". Esto podría estar relacionado con que la configuración del servidor web que no se ha actualizado para entregar esta carpeta directamente. Por favor, compara tu configuración con las reglas de reescritura del \".htaccess\" para Apache o la provista para Nginx en la {linkstart}página de documentación ↗{linkend}. En Nginx, suelen ser las líneas que empiezan con \"location ~\" las que hay que actualizar.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Tu servidor web no está bien configurado para suministrar archivos .woff2 . Esto suele ser un problema de la configuración de Nginx. Para Nextcloud 15, necesita un ajuste para suministrar archivos .woff2. Compare su configuración de Nginx con la configuración recomendada en nuestra {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, compruebe las notas de configuración de PHP en la {linkstart}documentación de instalación ↗{linkend} y la configuración de PHP de su servidor, especialmente cuando se utiliza php-fpm.", diff --git a/core/l10n/eu.js b/core/l10n/eu.js index f1ddb0d3d17..3375265d54e 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Eguneratuta dago dagoeneko", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta fitxategien sinkronizazioa baimentzeko, WebDAV interfazea puskatuta dagoela dirudi.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" ebazteko. Informazio gehiago {linkstart}dokumentazioan ↗{linkend} aurkitu daiteke.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" ebazteko. Ziur aski web zerbitzariaren konfigurazioa ez dago karpeta hau zuzenean entregatzeko eguneratuta. Konparatu zure konfigurazioa eskaintzen den Apacherako \".htaccess\" fitxategiko berridazketa arauekin edo Nginx-en {linkstart}dokumentazio orria ↗{linkend} dokumentazioarekin. Nginx-en \"location ~\" katearekin hasten diren lerroak izan ohi dira eguneratu beharrekoak.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Zure instantziara konexio seguru baten bidez sartzen ari zara, hala ere, instantziak seguruak ez diren URLak sortzen ditu. Seguruenik horrek esan nahi du alderantzizko proxy baten atzean zaudela eta gainidazte konfigurazio aldagaiak ez daudela ondo ezarrita. Irakurri {linkstart}honi buruzko dokumentazio orria ↗{linkend}.", "Error occurred while checking server setup" : "Errorea gertatu da zerbitzariaren konfigurazioa egiaztatzean", "For more details see the {linkstart}documentation ↗{linkend}." : "Xehetasun gehiago lortzeko, ikusi {linkstart}dokumentazioa ↗{linkedin}.", @@ -365,6 +364,7 @@ OC.L10N.register( "Please try again" : "Mesedez saiatu berriro", "The user limit of this instance is reached." : "Instantzia hau bere erabiltzaile mugara iritsi da.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Sartu zure harpidetza-gakoa laguntza-aplikazioan erabiltzaileen muga handitzeko. Horrek Nextcloud Enterprise-k eskaintzen dituen abantaila gehigarri guztiak ere ematen dizkizu eta oso gomendagarria da enpresetan funtzionatzeko.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" ebazteko. Ziur aski web zerbitzariaren konfigurazioa ez dago karpeta hau zuzenean entregatzeko eguneratuta. Konparatu zure konfigurazioa eskaintzen den Apacherako \".htaccess\" fitxategiko berridazketa arauekin edo Nginx-en {linkstart}dokumentazio orria ↗{linkend} dokumentazioarekin. Nginx-en \"location ~\" katearekin hasten diren lerroak izan ohi dira eguneratu beharrekoak.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta .woff2 fitxategiak entregatzeko. Hau Nginx-en konfigurazioaren ohiko arazo bat da. Nextcloud 15ean doikuntza bat beharrezkoa da .woff2 fitxategiak bidaltzeko. Konparatu zure Nginx konfigurazioa gure {linkstart}dokumentazioan ↗{linkend} gomendatutakoarekin.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Badirudi PHPa sistemaren ingurune aldagaiak kontsultatu ahal izateko behar bezala konfiguratu gabe dagoela. Egindako getenv(\"PATH\") probak erantzun hutsa itzultzen du.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Mesedez, begiratu {linkstart}instalazio dokumentazioa ↗ {linked} PHP konfigurazio oharrak eta zure zerbitzariaren PHP konfigurazioa, batez ere php-fpm erabiltzean. ", diff --git a/core/l10n/eu.json b/core/l10n/eu.json index 192942b5b6e..1e4e6ffcc2c 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -73,7 +73,6 @@ "Already up to date" : "Eguneratuta dago dagoeneko", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta fitxategien sinkronizazioa baimentzeko, WebDAV interfazea puskatuta dagoela dirudi.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" ebazteko. Informazio gehiago {linkstart}dokumentazioan ↗{linkend} aurkitu daiteke.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" ebazteko. Ziur aski web zerbitzariaren konfigurazioa ez dago karpeta hau zuzenean entregatzeko eguneratuta. Konparatu zure konfigurazioa eskaintzen den Apacherako \".htaccess\" fitxategiko berridazketa arauekin edo Nginx-en {linkstart}dokumentazio orria ↗{linkend} dokumentazioarekin. Nginx-en \"location ~\" katearekin hasten diren lerroak izan ohi dira eguneratu beharrekoak.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Zure instantziara konexio seguru baten bidez sartzen ari zara, hala ere, instantziak seguruak ez diren URLak sortzen ditu. Seguruenik horrek esan nahi du alderantzizko proxy baten atzean zaudela eta gainidazte konfigurazio aldagaiak ez daudela ondo ezarrita. Irakurri {linkstart}honi buruzko dokumentazio orria ↗{linkend}.", "Error occurred while checking server setup" : "Errorea gertatu da zerbitzariaren konfigurazioa egiaztatzean", "For more details see the {linkstart}documentation ↗{linkend}." : "Xehetasun gehiago lortzeko, ikusi {linkstart}dokumentazioa ↗{linkedin}.", @@ -363,6 +362,7 @@ "Please try again" : "Mesedez saiatu berriro", "The user limit of this instance is reached." : "Instantzia hau bere erabiltzaile mugara iritsi da.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Sartu zure harpidetza-gakoa laguntza-aplikazioan erabiltzaileen muga handitzeko. Horrek Nextcloud Enterprise-k eskaintzen dituen abantaila gehigarri guztiak ere ematen dizkizu eta oso gomendagarria da enpresetan funtzionatzeko.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" ebazteko. Ziur aski web zerbitzariaren konfigurazioa ez dago karpeta hau zuzenean entregatzeko eguneratuta. Konparatu zure konfigurazioa eskaintzen den Apacherako \".htaccess\" fitxategiko berridazketa arauekin edo Nginx-en {linkstart}dokumentazio orria ↗{linkend} dokumentazioarekin. Nginx-en \"location ~\" katearekin hasten diren lerroak izan ohi dira eguneratu beharrekoak.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta .woff2 fitxategiak entregatzeko. Hau Nginx-en konfigurazioaren ohiko arazo bat da. Nextcloud 15ean doikuntza bat beharrezkoa da .woff2 fitxategiak bidaltzeko. Konparatu zure Nginx konfigurazioa gure {linkstart}dokumentazioan ↗{linkend} gomendatutakoarekin.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Badirudi PHPa sistemaren ingurune aldagaiak kontsultatu ahal izateko behar bezala konfiguratu gabe dagoela. Egindako getenv(\"PATH\") probak erantzun hutsa itzultzen du.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Mesedez, begiratu {linkstart}instalazio dokumentazioa ↗ {linked} PHP konfigurazio oharrak eta zure zerbitzariaren PHP konfigurazioa, batez ere php-fpm erabiltzean. ", diff --git a/core/l10n/fa.js b/core/l10n/fa.js index a389ac1e889..307b0ea2542 100644 --- a/core/l10n/fa.js +++ b/core/l10n/fa.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "در حال حاضر بروز است", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}.", "Error occurred while checking server setup" : "خطا در هنگام چک کردن راه‌اندازی سرور رخ داده است", "For more details see the {linkstart}documentation ↗{linkend}." : "For more details see the {linkstart}documentation ↗{linkend}.", @@ -361,6 +360,7 @@ OC.L10N.register( "Please try again" : "Please try again", "The user limit of this instance is reached." : "The user limit of this instance is reached.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", diff --git a/core/l10n/fa.json b/core/l10n/fa.json index ba3c13ced97..6f3a403a851 100644 --- a/core/l10n/fa.json +++ b/core/l10n/fa.json @@ -73,7 +73,6 @@ "Already up to date" : "در حال حاضر بروز است", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}.", "Error occurred while checking server setup" : "خطا در هنگام چک کردن راه‌اندازی سرور رخ داده است", "For more details see the {linkstart}documentation ↗{linkend}." : "For more details see the {linkstart}documentation ↗{linkend}.", @@ -359,6 +358,7 @@ "Please try again" : "Please try again", "The user limit of this instance is reached." : "The user limit of this instance is reached.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index cbee49d783b..9bea16e4bb0 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Déjà à jour", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Votre serveur web n'est pas encore correctement configuré pour la synchronisation de fichiers parce que l'interface WebDAV semble ne pas fonctionner.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Votre serveur web nest pas configuré correctement pour résoudre \"{url}\". Plus d'informations peuvent être trouvées sur notre documentation.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Votre serveur web n'est pas proprement configuré pour résoudre \"{url}\". Ceci est probablement lié à une configuration du serveur web qui n'a pas été mise à jour pour délivrer directement ce dossier. Veuillez comparer votre configuration avec les règles ré-écrites dans \".htaccess\" pour Apache ou celles contenues dans la documentation de Nginx ici {linkstart}documentation page ↗{linkend}. Pour Nginx les lignes nécessitant une mise à jour sont typiquement celles débutant par \"location ~\".", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Vous accédez à votre instance via une connexion sécurisée, pourtant celle-ci génère des URLs non sécurisées. Cela signifie probablement que vous êtes derrière un reverse-proxy et que les variables de réécriture ne sont pas paramétrées correctement. Se reporter à la {linkstart}page de documentation à ce sujet ↗{linkend}.", "Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur", "For more details see the {linkstart}documentation ↗{linkend}." : "Pour plus d’information, voir la {linkstart}documentation ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Veuillez réessayer", "The user limit of this instance is reached." : "Le nombre maximum d'utilisateurs a été atteint sur cette instance.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Saisissez votre clé de licence dans l'application Support afin d'augmenter la limite d'utilisateurs. Cela vous donne également tous les avantages supplémentaires que Nextcloud Enterprise offre et est fortement recommandé pour l'exploitation dans les entreprises.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Votre serveur web n'est pas proprement configuré pour résoudre \"{url}\". Ceci est probablement lié à une configuration du serveur web qui n'a pas été mise à jour pour délivrer directement ce dossier. Veuillez comparer votre configuration avec les règles ré-écrites dans \".htaccess\" pour Apache ou celles contenues dans la documentation de Nginx ici {linkstart}documentation page ↗{linkend}. Pour Nginx les lignes nécessitant une mise à jour sont typiquement celles débutant par \"location ~\".", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Votre serveur web n'est pas correctement configuré pour distribuer des fichiers .woff2. C'est une erreur fréquente de configuration Nginx. Pour Nextcloud 15, il est nécessaire de la régler pour les fichiers .woff2. Comparer votre configuration Nginx avec la configuration recommandée dans notre {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Veuillez consulter les notes de configuration pour PHP dans la {linkstart}documentation d'installation ↗{linkend} ainsi que la configuration de votre serveur, en particulier en cas d'utilisation de php-fpm.", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index b5b153c7197..5b0fb51c2ba 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -75,7 +75,6 @@ "Already up to date" : "Déjà à jour", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Votre serveur web n'est pas encore correctement configuré pour la synchronisation de fichiers parce que l'interface WebDAV semble ne pas fonctionner.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Votre serveur web nest pas configuré correctement pour résoudre \"{url}\". Plus d'informations peuvent être trouvées sur notre documentation.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Votre serveur web n'est pas proprement configuré pour résoudre \"{url}\". Ceci est probablement lié à une configuration du serveur web qui n'a pas été mise à jour pour délivrer directement ce dossier. Veuillez comparer votre configuration avec les règles ré-écrites dans \".htaccess\" pour Apache ou celles contenues dans la documentation de Nginx ici {linkstart}documentation page ↗{linkend}. Pour Nginx les lignes nécessitant une mise à jour sont typiquement celles débutant par \"location ~\".", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Vous accédez à votre instance via une connexion sécurisée, pourtant celle-ci génère des URLs non sécurisées. Cela signifie probablement que vous êtes derrière un reverse-proxy et que les variables de réécriture ne sont pas paramétrées correctement. Se reporter à la {linkstart}page de documentation à ce sujet ↗{linkend}.", "Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur", "For more details see the {linkstart}documentation ↗{linkend}." : "Pour plus d’information, voir la {linkstart}documentation ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Veuillez réessayer", "The user limit of this instance is reached." : "Le nombre maximum d'utilisateurs a été atteint sur cette instance.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Saisissez votre clé de licence dans l'application Support afin d'augmenter la limite d'utilisateurs. Cela vous donne également tous les avantages supplémentaires que Nextcloud Enterprise offre et est fortement recommandé pour l'exploitation dans les entreprises.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Votre serveur web n'est pas proprement configuré pour résoudre \"{url}\". Ceci est probablement lié à une configuration du serveur web qui n'a pas été mise à jour pour délivrer directement ce dossier. Veuillez comparer votre configuration avec les règles ré-écrites dans \".htaccess\" pour Apache ou celles contenues dans la documentation de Nginx ici {linkstart}documentation page ↗{linkend}. Pour Nginx les lignes nécessitant une mise à jour sont typiquement celles débutant par \"location ~\".", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Votre serveur web n'est pas correctement configuré pour distribuer des fichiers .woff2. C'est une erreur fréquente de configuration Nginx. Pour Nextcloud 15, il est nécessaire de la régler pour les fichiers .woff2. Comparer votre configuration Nginx avec la configuration recommandée dans notre {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Veuillez consulter les notes de configuration pour PHP dans la {linkstart}documentation d'installation ↗{linkend} ainsi que la configuration de votre serveur, en particulier en cas d'utilisation de php-fpm.", diff --git a/core/l10n/gl.js b/core/l10n/gl.js index bc2e141a3d6..b084c7acb03 100644 --- a/core/l10n/gl.js +++ b/core/l10n/gl.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Xa está actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "O servidor non foi configurado correctamente para permitir a sincronización de ficheiros, semella que a interface WebDAV non está a funcionar.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "O servidor non está configurado correctamente para resolver «{url}». Pode atopar máis información na nosa {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O servidor web non está configurado correctamente para resolver «{url}». O máis probábel é que isto estea relacionado cunha configuración do servidor web que non se actualizou para entregar directamente este cartafol. Compare a configuración contra as regras de reescritura enviadas en «.htaccess» para Apache ou a fornecida na documentación de Nginx na súa {linkstart}páxina de documentación ↗{linkend}. En Nginx estas normalmente son as liñas que comezan por «location ~» que precisan unha actualización.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está a acceder á súa instancia a través dunha conexión segura, porén a súa instancia está a xerar URL inseguros. Isto probabelmente significa que está detrás dun proxy inverso e que as variábeis de configuración de sobrescritura non están configuradas correctamente. Lea a {linkstart}páxina de documentación sobre isto ↗{linkend}.", "Error occurred while checking server setup" : "Aconteceu un erro mentras se comprobaba a configuración do servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obter máis detalles revise a {linkstart}documentación ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Ténteo de novo", "The user limit of this instance is reached." : "Acadouse o límite de usuarios desta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introduza a súa chave de subscrición na aplicación de asistencia para aumentar o límite de usuarios. Isto tamén lle outorga todos os beneficios adicionais que ofrece Nextcloud Enterprise e é moi recomendábel para a operativa nas empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O servidor web non está configurado correctamente para resolver «{url}». O máis probábel é que isto estea relacionado cunha configuración do servidor web que non se actualizou para entregar directamente este cartafol. Compare a configuración contra as regras de reescritura enviadas en «.htaccess» para Apache ou a fornecida na documentación de Nginx na súa {linkstart}páxina de documentación ↗{linkend}. En Nginx estas normalmente son as liñas que comezan por «location ~» que precisan unha actualización.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "O servidor web non está configurado correctamente para fornecer ficheiros .woff2. Isto é un incidente frecuente en configuracións de Nginx. Para Nextcloud 15 necesita un axuste para fornecer ficheiros .woff2. Compare a súa configuración do Nginx coa configuración recomendada na nosa {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Semella que PHP non está configurado correctamente para consultar as variábeis de contorno do sistema. A proba con getenv(\"PATH\") só devolve unha resposta baleira.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Revise a {linkstart}documentación de instalación ↗{linkend} para as notas de configuración de PHP e a configuración do PHP no seu servidor, especialmente cando se está a empregar php-fpm", diff --git a/core/l10n/gl.json b/core/l10n/gl.json index e7e31716cca..06cc31859b5 100644 --- a/core/l10n/gl.json +++ b/core/l10n/gl.json @@ -73,7 +73,6 @@ "Already up to date" : "Xa está actualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "O servidor non foi configurado correctamente para permitir a sincronización de ficheiros, semella que a interface WebDAV non está a funcionar.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "O servidor non está configurado correctamente para resolver «{url}». Pode atopar máis información na nosa {linkstart}documentación ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O servidor web non está configurado correctamente para resolver «{url}». O máis probábel é que isto estea relacionado cunha configuración do servidor web que non se actualizou para entregar directamente este cartafol. Compare a configuración contra as regras de reescritura enviadas en «.htaccess» para Apache ou a fornecida na documentación de Nginx na súa {linkstart}páxina de documentación ↗{linkend}. En Nginx estas normalmente son as liñas que comezan por «location ~» que precisan unha actualización.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Está a acceder á súa instancia a través dunha conexión segura, porén a súa instancia está a xerar URL inseguros. Isto probabelmente significa que está detrás dun proxy inverso e que as variábeis de configuración de sobrescritura non están configuradas correctamente. Lea a {linkstart}páxina de documentación sobre isto ↗{linkend}.", "Error occurred while checking server setup" : "Aconteceu un erro mentras se comprobaba a configuración do servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obter máis detalles revise a {linkstart}documentación ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Ténteo de novo", "The user limit of this instance is reached." : "Acadouse o límite de usuarios desta instancia.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introduza a súa chave de subscrición na aplicación de asistencia para aumentar o límite de usuarios. Isto tamén lle outorga todos os beneficios adicionais que ofrece Nextcloud Enterprise e é moi recomendábel para a operativa nas empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O servidor web non está configurado correctamente para resolver «{url}». O máis probábel é que isto estea relacionado cunha configuración do servidor web que non se actualizou para entregar directamente este cartafol. Compare a configuración contra as regras de reescritura enviadas en «.htaccess» para Apache ou a fornecida na documentación de Nginx na súa {linkstart}páxina de documentación ↗{linkend}. En Nginx estas normalmente son as liñas que comezan por «location ~» que precisan unha actualización.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "O servidor web non está configurado correctamente para fornecer ficheiros .woff2. Isto é un incidente frecuente en configuracións de Nginx. Para Nextcloud 15 necesita un axuste para fornecer ficheiros .woff2. Compare a súa configuración do Nginx coa configuración recomendada na nosa {linkstart}documentación ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Semella que PHP non está configurado correctamente para consultar as variábeis de contorno do sistema. A proba con getenv(\"PATH\") só devolve unha resposta baleira.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Revise a {linkstart}documentación de instalación ↗{linkend} para as notas de configuración de PHP e a configuración do PHP no seu servidor, especialmente cando se está a empregar php-fpm", diff --git a/core/l10n/he.js b/core/l10n/he.js index afe79b3070b..6e43c4dd7b6 100644 --- a/core/l10n/he.js +++ b/core/l10n/he.js @@ -330,4 +330,4 @@ OC.L10N.register( "Alternative log in using app token" : "כניסה חלופית באמצעות אסימון יישומון", "Please use the command line updater because you have a big instance with more than 50 users." : "נא להשתמש בתכנית העדכון משורת הפקודה כיוון שיש לך עותק גדול עם למעלה מ־50 משתמשים." }, -"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); +"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); diff --git a/core/l10n/he.json b/core/l10n/he.json index 51cc0205b9a..9f8aefaa8dc 100644 --- a/core/l10n/he.json +++ b/core/l10n/he.json @@ -327,5 +327,5 @@ "App token" : "אסימון יישום", "Alternative log in using app token" : "כניסה חלופית באמצעות אסימון יישומון", "Please use the command line updater because you have a big instance with more than 50 users." : "נא להשתמש בתכנית העדכון משורת הפקודה כיוון שיש לך עותק גדול עם למעלה מ־50 משתמשים." -},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" +},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" } \ No newline at end of file diff --git a/core/l10n/hr.js b/core/l10n/hr.js index 7338f9059aa..2dd3ce0d15c 100644 --- a/core/l10n/hr.js +++ b/core/l10n/hr.js @@ -61,7 +61,6 @@ OC.L10N.register( "Already up to date" : "Nema potrebe za ažuriranjem", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije pravilno podešen za sinkronizaciju podataka jer je sučelje protokola WebDAV neispravno.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Vaš mrežni poslužitelj ne može razriješiti „{url}”. Više informacija možete pronaći u {linkstart}dokumentaciji ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Vaš web poslužitelj nije ispravno postavljen za razrješavanje „{url}”. To je najvjerojatnije uzrokovano konfiguracijom web-poslužitelja koja nije ažurirana i ne isporučuje izravno mapu. Usporedite svoju konfiguraciju s isporučenim pravilima za prepisivanje u „.htaccess” za Apache ili u dokumentaciji za Nginx na {linkstart}stranici s dokumentacijom ↗{linkend}. Na Nginxu su to obično linije koje počinju s „location ~” i potrebno ih je ažurirati.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Instanci pristupate putem sigurne veze, ali instanca generira nesigurne URL-ove. To najvjerojatnije znači da se nalazite iza obrnutog proxyja i nisu točno postavljene varijable za izmjenu konfiguracijske datoteke. Pročitajte {linkstart}odgovarajuću dokumentaciju ↗{linkend}.", "Error occurred while checking server setup" : "Pogreška prilikom provjere postavki poslužitelja", "For more details see the {linkstart}documentation ↗{linkend}." : "Više informacija potražite u {linkstart}dokumentaciji ↗{linkend}.", @@ -294,6 +293,7 @@ OC.L10N.register( "This page will refresh itself when the instance is available again." : "Ova će se stranica osvježiti kada je instanca ponovno dostupna.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Obratite se administratoru sustava ako se ova poruka ponavlja ili se pojavila neočekivano.", "The user limit of this instance is reached." : "Dostignuto je ograničenje broja korisnika za ovu instancu.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Vaš web poslužitelj nije ispravno postavljen za razrješavanje „{url}”. To je najvjerojatnije uzrokovano konfiguracijom web-poslužitelja koja nije ažurirana i ne isporučuje izravno mapu. Usporedite svoju konfiguraciju s isporučenim pravilima za prepisivanje u „.htaccess” za Apache ili u dokumentaciji za Nginx na {linkstart}stranici s dokumentacijom ↗{linkend}. Na Nginxu su to obično linije koje počinju s „location ~” i potrebno ih je ažurirati.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Vaš web poslužitelj nije ispravno postavljen za isporuku .woff2 datoteka. To je obično problem s konfiguracijom Nginxa. Nextcloud 15 zahtijeva podešavanje za isporuku .woff2 datoteka. Usporedite svoju Nginx konfiguraciju s preporučenom konfiguracijom u našoj {linkstart}dokumentaciji ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Čini se da PHP nije ispravno postavljen za slanje upita u vezi s varijablama okruženja sustava. Ispitivanje s getenv („PATH”) vraća samo prazan odgovor.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Provjerite {linkstart}instalacijsku dokumentaciju ↗{linkend} za napomene o konfiguraciji PHP-a i konfiguraciju PHP-a na svojem poslužitelju, posebice ako upotrebljavate php-fpm.", diff --git a/core/l10n/hr.json b/core/l10n/hr.json index 0683e873665..b099f76cad8 100644 --- a/core/l10n/hr.json +++ b/core/l10n/hr.json @@ -59,7 +59,6 @@ "Already up to date" : "Nema potrebe za ažuriranjem", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije pravilno podešen za sinkronizaciju podataka jer je sučelje protokola WebDAV neispravno.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Vaš mrežni poslužitelj ne može razriješiti „{url}”. Više informacija možete pronaći u {linkstart}dokumentaciji ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Vaš web poslužitelj nije ispravno postavljen za razrješavanje „{url}”. To je najvjerojatnije uzrokovano konfiguracijom web-poslužitelja koja nije ažurirana i ne isporučuje izravno mapu. Usporedite svoju konfiguraciju s isporučenim pravilima za prepisivanje u „.htaccess” za Apache ili u dokumentaciji za Nginx na {linkstart}stranici s dokumentacijom ↗{linkend}. Na Nginxu su to obično linije koje počinju s „location ~” i potrebno ih je ažurirati.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Instanci pristupate putem sigurne veze, ali instanca generira nesigurne URL-ove. To najvjerojatnije znači da se nalazite iza obrnutog proxyja i nisu točno postavljene varijable za izmjenu konfiguracijske datoteke. Pročitajte {linkstart}odgovarajuću dokumentaciju ↗{linkend}.", "Error occurred while checking server setup" : "Pogreška prilikom provjere postavki poslužitelja", "For more details see the {linkstart}documentation ↗{linkend}." : "Više informacija potražite u {linkstart}dokumentaciji ↗{linkend}.", @@ -292,6 +291,7 @@ "This page will refresh itself when the instance is available again." : "Ova će se stranica osvježiti kada je instanca ponovno dostupna.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Obratite se administratoru sustava ako se ova poruka ponavlja ili se pojavila neočekivano.", "The user limit of this instance is reached." : "Dostignuto je ograničenje broja korisnika za ovu instancu.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Vaš web poslužitelj nije ispravno postavljen za razrješavanje „{url}”. To je najvjerojatnije uzrokovano konfiguracijom web-poslužitelja koja nije ažurirana i ne isporučuje izravno mapu. Usporedite svoju konfiguraciju s isporučenim pravilima za prepisivanje u „.htaccess” za Apache ili u dokumentaciji za Nginx na {linkstart}stranici s dokumentacijom ↗{linkend}. Na Nginxu su to obično linije koje počinju s „location ~” i potrebno ih je ažurirati.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Vaš web poslužitelj nije ispravno postavljen za isporuku .woff2 datoteka. To je obično problem s konfiguracijom Nginxa. Nextcloud 15 zahtijeva podešavanje za isporuku .woff2 datoteka. Usporedite svoju Nginx konfiguraciju s preporučenom konfiguracijom u našoj {linkstart}dokumentaciji ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Čini se da PHP nije ispravno postavljen za slanje upita u vezi s varijablama okruženja sustava. Ispitivanje s getenv („PATH”) vraća samo prazan odgovor.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Provjerite {linkstart}instalacijsku dokumentaciju ↗{linkend} za napomene o konfiguraciji PHP-a i konfiguraciju PHP-a na svojem poslužitelju, posebice ako upotrebljavate php-fpm.", diff --git a/core/l10n/hu.js b/core/l10n/hu.js index 15a46a95b58..eba5a0c376d 100644 --- a/core/l10n/hu.js +++ b/core/l10n/hu.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Már naprakész", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "A webkiszolgáló nincs megfelelően beállítva a fájlok szinkronizálásához, mert a WebDAV interfész hibásnak tűnik.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Webkiszolgálója nincs megfelelően beállítva a(z) „{url}” feloldására. További információk a {linkstart}dokumentációban találhatók ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webkiszolgálója nincs megfelelően beállítva a(z) „{url}” feloldására. Ez valószínűleg egy webkiszolgáló konfigurációhoz kapcsolódik, amelyet nem frissítettek, hogy ezt a mappát közvetlenül kézbesítse. Hasonlítsa össze a konfigurációt az Apache „.htaccess” fájljának átírt szabályaival, vagy az Nginx a {linkstart}dokumentációs oldalán ↗ {linkend} megadottak szerint. Nginx esetén jellemzően a „location ~” kezdetű sorokat kell frissíteni.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Biztonságos kapcsolaton keresztül éri el a példányát, azonban a példánya nem biztonságos URL-eket hoz létre. Ez nagy valószínűséggel azt jelenti, hogy egy fordított proxy mögött áll, és a konfigurációs változók felülírása nincs megfelelően beállítva. Olvassa el az {linkstart}erről szóló dokumentációs oldalt{linkend}.", "Error occurred while checking server setup" : "Hiba történt a kiszolgálóbeállítások ellenőrzésekor", "For more details see the {linkstart}documentation ↗{linkend}." : "További részletekért lásd a {linkstart}dokumentációt↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Próbálja újra", "The user limit of this instance is reached." : "Elérte ennek a példánynak a felhasználói korlátját.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Adja meg az előfizetési kulcsát a támogatási alkalmazásban, hogy megnövelje a felhasználókorlátot. Ez a Nextcloud vállalati ajánlatainak további előnyeit is biztosítja, és határozottan ajánlott a céges üzemeltetés esetén.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webkiszolgálója nincs megfelelően beállítva a(z) „{url}” feloldására. Ez valószínűleg egy webkiszolgáló konfigurációhoz kapcsolódik, amelyet nem frissítettek, hogy ezt a mappát közvetlenül kézbesítse. Hasonlítsa össze a konfigurációt az Apache „.htaccess” fájljának átírt szabályaival, vagy az Nginx a {linkstart}dokumentációs oldalán ↗ {linkend} megadottak szerint. Nginx esetén jellemzően a „location ~” kezdetű sorokat kell frissíteni.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "A webkiszolgálója nincs megfelelően beállítva a .woff2 fájlok kiszolgálásához. Ezt jellemzőn a Nginx konfiguráció problémája okozza. A Nextcloud 15 esetén módosításokra van szükség a .woff2 fájlok miatt. Hasonlítsa össze az Nginx konfigurációját a dokumentációnkban ↗ javasolt konfigurációval.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik a PHP nincs rendesen beállítva a rendszer környezeti változóinak lekéréséhez. A getenv(\"PATH\") teszt csak üres értéket ad vissza.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Ellenőrizze a {linkstart}telepítési dokumentációban ↗{linkend} a PHP konfigurációs megjegyzéseit, és a kiszolgáló PHP konfigurációját, különösen a php-fpm használatakor.", diff --git a/core/l10n/hu.json b/core/l10n/hu.json index 4ba6927fb80..3bc4fbad135 100644 --- a/core/l10n/hu.json +++ b/core/l10n/hu.json @@ -73,7 +73,6 @@ "Already up to date" : "Már naprakész", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "A webkiszolgáló nincs megfelelően beállítva a fájlok szinkronizálásához, mert a WebDAV interfész hibásnak tűnik.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Webkiszolgálója nincs megfelelően beállítva a(z) „{url}” feloldására. További információk a {linkstart}dokumentációban találhatók ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webkiszolgálója nincs megfelelően beállítva a(z) „{url}” feloldására. Ez valószínűleg egy webkiszolgáló konfigurációhoz kapcsolódik, amelyet nem frissítettek, hogy ezt a mappát közvetlenül kézbesítse. Hasonlítsa össze a konfigurációt az Apache „.htaccess” fájljának átírt szabályaival, vagy az Nginx a {linkstart}dokumentációs oldalán ↗ {linkend} megadottak szerint. Nginx esetén jellemzően a „location ~” kezdetű sorokat kell frissíteni.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Biztonságos kapcsolaton keresztül éri el a példányát, azonban a példánya nem biztonságos URL-eket hoz létre. Ez nagy valószínűséggel azt jelenti, hogy egy fordított proxy mögött áll, és a konfigurációs változók felülírása nincs megfelelően beállítva. Olvassa el az {linkstart}erről szóló dokumentációs oldalt{linkend}.", "Error occurred while checking server setup" : "Hiba történt a kiszolgálóbeállítások ellenőrzésekor", "For more details see the {linkstart}documentation ↗{linkend}." : "További részletekért lásd a {linkstart}dokumentációt↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Próbálja újra", "The user limit of this instance is reached." : "Elérte ennek a példánynak a felhasználói korlátját.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Adja meg az előfizetési kulcsát a támogatási alkalmazásban, hogy megnövelje a felhasználókorlátot. Ez a Nextcloud vállalati ajánlatainak további előnyeit is biztosítja, és határozottan ajánlott a céges üzemeltetés esetén.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webkiszolgálója nincs megfelelően beállítva a(z) „{url}” feloldására. Ez valószínűleg egy webkiszolgáló konfigurációhoz kapcsolódik, amelyet nem frissítettek, hogy ezt a mappát közvetlenül kézbesítse. Hasonlítsa össze a konfigurációt az Apache „.htaccess” fájljának átírt szabályaival, vagy az Nginx a {linkstart}dokumentációs oldalán ↗ {linkend} megadottak szerint. Nginx esetén jellemzően a „location ~” kezdetű sorokat kell frissíteni.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "A webkiszolgálója nincs megfelelően beállítva a .woff2 fájlok kiszolgálásához. Ezt jellemzőn a Nginx konfiguráció problémája okozza. A Nextcloud 15 esetén módosításokra van szükség a .woff2 fájlok miatt. Hasonlítsa össze az Nginx konfigurációját a dokumentációnkban ↗ javasolt konfigurációval.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik a PHP nincs rendesen beállítva a rendszer környezeti változóinak lekéréséhez. A getenv(\"PATH\") teszt csak üres értéket ad vissza.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Ellenőrizze a {linkstart}telepítési dokumentációban ↗{linkend} a PHP konfigurációs megjegyzéseit, és a kiszolgáló PHP konfigurációját, különösen a php-fpm használatakor.", diff --git a/core/l10n/it.js b/core/l10n/it.js index e576d634f8e..c977ffb2fd4 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Già aggiornato", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file, poiché l'interfaccia WebDAV sembra essere danneggiata.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Il tuo server web non è configurato correttamente per risolvere \"{url}\". Ulteriori informazioni sono disponibili nella nostra {linkstart}documentazione ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Il tuo server non è configurato correttamente per risolvere \"{url}\". Ciò è probabilmente legato a una configurazione del server che non è stata aggiornata per fornire direttamente questa cartella. Confronta la tua configurazione con le regole di rewrite fornite in \".htaccess\" per Apache o quella fornita nella documentazione di Nginx alla sua {linkstart}pagina di documentazione ↗{linkend}. Su Nginx di solito sono le righe che iniziano con \"location ~\" quelle da aggiornare.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Stai accedendo alla tua istanza tramite una connessione sicura, tuttavia la tua istanza sta generando URL non sicuri. Questo molto probabilmente significa che sei dietro un proxy inverso e le variabili di configurazione di sovrascrittura non sono impostate correttamente. Leggi {linkstart}la pagina della documentazione relativa ↗{linkend}.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "For more details see the {linkstart}documentation ↗{linkend}." : "Per ulteriori dettagli, leggi la {linkstart}documentazione ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Riprova", "The user limit of this instance is reached." : "Il limite di utenti di questa istanza è stato raggiunto.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Inserisci la tua chiave di abbonamento nell'applicazione di supporto per aumentare il limite di utenti. In questo modo otterrai anche tutti i vantaggi aggiuntivi che Nextcloud Enterprise offre ed è altamente consigliato per l'operatività nelle aziende.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Il tuo server non è configurato correttamente per risolvere \"{url}\". Ciò è probabilmente legato a una configurazione del server che non è stata aggiornata per fornire direttamente questa cartella. Confronta la tua configurazione con le regole di rewrite fornite in \".htaccess\" per Apache o quella fornita nella documentazione di Nginx alla sua {linkstart}pagina di documentazione ↗{linkend}. Su Nginx di solito sono le righe che iniziano con \"location ~\" quelle da aggiornare.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Il tuo server web non è configurato correttamente per fornire file .woff2. Questo è solitamente un problema con la configurazione di Nginx. Per Nextcloud 15 richiede una modifica per fornire anche i file .woff2. Confronta la tua configurazione di Nginx con la configurazione consigliata nella nostra {linkstart}documentazione ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la {linkstart}documentazione di installazione ↗{linkend} per le note di configurazione di PHP e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", diff --git a/core/l10n/it.json b/core/l10n/it.json index 548f2b53e75..db572f14bd3 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -73,7 +73,6 @@ "Already up to date" : "Già aggiornato", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file, poiché l'interfaccia WebDAV sembra essere danneggiata.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Il tuo server web non è configurato correttamente per risolvere \"{url}\". Ulteriori informazioni sono disponibili nella nostra {linkstart}documentazione ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Il tuo server non è configurato correttamente per risolvere \"{url}\". Ciò è probabilmente legato a una configurazione del server che non è stata aggiornata per fornire direttamente questa cartella. Confronta la tua configurazione con le regole di rewrite fornite in \".htaccess\" per Apache o quella fornita nella documentazione di Nginx alla sua {linkstart}pagina di documentazione ↗{linkend}. Su Nginx di solito sono le righe che iniziano con \"location ~\" quelle da aggiornare.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Stai accedendo alla tua istanza tramite una connessione sicura, tuttavia la tua istanza sta generando URL non sicuri. Questo molto probabilmente significa che sei dietro un proxy inverso e le variabili di configurazione di sovrascrittura non sono impostate correttamente. Leggi {linkstart}la pagina della documentazione relativa ↗{linkend}.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "For more details see the {linkstart}documentation ↗{linkend}." : "Per ulteriori dettagli, leggi la {linkstart}documentazione ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Riprova", "The user limit of this instance is reached." : "Il limite di utenti di questa istanza è stato raggiunto.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Inserisci la tua chiave di abbonamento nell'applicazione di supporto per aumentare il limite di utenti. In questo modo otterrai anche tutti i vantaggi aggiuntivi che Nextcloud Enterprise offre ed è altamente consigliato per l'operatività nelle aziende.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Il tuo server non è configurato correttamente per risolvere \"{url}\". Ciò è probabilmente legato a una configurazione del server che non è stata aggiornata per fornire direttamente questa cartella. Confronta la tua configurazione con le regole di rewrite fornite in \".htaccess\" per Apache o quella fornita nella documentazione di Nginx alla sua {linkstart}pagina di documentazione ↗{linkend}. Su Nginx di solito sono le righe che iniziano con \"location ~\" quelle da aggiornare.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Il tuo server web non è configurato correttamente per fornire file .woff2. Questo è solitamente un problema con la configurazione di Nginx. Per Nextcloud 15 richiede una modifica per fornire anche i file .woff2. Confronta la tua configurazione di Nginx con la configurazione consigliata nella nostra {linkstart}documentazione ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la {linkstart}documentazione di installazione ↗{linkend} per le note di configurazione di PHP e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", diff --git a/core/l10n/ja.js b/core/l10n/ja.js index dcb65109723..20bacf62fef 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "すべて更新済", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAVインターフェースが動作していないようです。Webサーバーは、ファイルの同期を許可するよう適切に設定されていません。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Webサーバーで \"{url}\" が解決されるように正しく設定されていません。詳細については、{linkstart}ドキュメント↗{linkend}をご覧ください。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webサーバーで \"{url}\" が解決されるように正しく設定されていません。これは、このフォルダーを直接配信するように更新されていないWebサーバー構成が影響している可能性があります。構成を、Apacheの \".htaccess\" にある設定済みの書き換えルールまたはNginxのドキュメントの{linkstart}ドキュメントページ↗{linkend}で提供されているルールと比較してください。 Nginxでは、これらは通常、修正が必要な \"location〜\" で始まる行です。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "安全な接続でインスタンスにアクセスしていますが、インスタンスは安全でないURLを生成しています。これは、リバースプロキシの背後にあり、構成設定変数が正しく上書きされていない可能性があります。これについては、{linkend}ドキュメントページ↗{linkstart}をお読みください。", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", "For more details see the {linkstart}documentation ↗{linkend}." : "詳細については、{linkstart}ドキュメント↗{linkend}を参照してください。", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "再度お試しください", "The user limit of this instance is reached." : "このインスタンスのユーザー制限に達しました。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "サポートappへサブスクリプションキーを入力すると、ユーザー数の上限を増やすことができます。また、Nextcloud Enterpriseが提供するすべての追加特典が付与されますので、企業で運用に必須です", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webサーバーで \"{url}\" が解決されるように正しく設定されていません。これは、このフォルダーを直接配信するように更新されていないWebサーバー構成が影響している可能性があります。構成を、Apacheの \".htaccess\" にある設定済みの書き換えルールまたはNginxのドキュメントの{linkstart}ドキュメントページ↗{linkend}で提供されているルールと比較してください。 Nginxでは、これらは通常、修正が必要な \"location〜\" で始まる行です。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Webサーバーで.woff2ファイルが配信されるように適切に設定されていません。これは通常、Nginx構成の問題です。 Nextcloud 15の場合、.woff2ファイルも配信するように調整する必要があります。 Nginx構成を{linkstart}ドキュメント↗{linkend}の推奨構成と比較してください。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "特にphp-fpmを使用する場合は、{linkstart}インストールドキュメント↗{linkend}でPHP構成に関する注意事項とサーバーのPHP構成を確認してください。", diff --git a/core/l10n/ja.json b/core/l10n/ja.json index b05c9200915..9896afd7857 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -75,7 +75,6 @@ "Already up to date" : "すべて更新済", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAVインターフェースが動作していないようです。Webサーバーは、ファイルの同期を許可するよう適切に設定されていません。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Webサーバーで \"{url}\" が解決されるように正しく設定されていません。詳細については、{linkstart}ドキュメント↗{linkend}をご覧ください。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webサーバーで \"{url}\" が解決されるように正しく設定されていません。これは、このフォルダーを直接配信するように更新されていないWebサーバー構成が影響している可能性があります。構成を、Apacheの \".htaccess\" にある設定済みの書き換えルールまたはNginxのドキュメントの{linkstart}ドキュメントページ↗{linkend}で提供されているルールと比較してください。 Nginxでは、これらは通常、修正が必要な \"location〜\" で始まる行です。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "安全な接続でインスタンスにアクセスしていますが、インスタンスは安全でないURLを生成しています。これは、リバースプロキシの背後にあり、構成設定変数が正しく上書きされていない可能性があります。これについては、{linkend}ドキュメントページ↗{linkstart}をお読みください。", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", "For more details see the {linkstart}documentation ↗{linkend}." : "詳細については、{linkstart}ドキュメント↗{linkend}を参照してください。", @@ -373,6 +372,7 @@ "Please try again" : "再度お試しください", "The user limit of this instance is reached." : "このインスタンスのユーザー制限に達しました。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "サポートappへサブスクリプションキーを入力すると、ユーザー数の上限を増やすことができます。また、Nextcloud Enterpriseが提供するすべての追加特典が付与されますので、企業で運用に必須です", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Webサーバーで \"{url}\" が解決されるように正しく設定されていません。これは、このフォルダーを直接配信するように更新されていないWebサーバー構成が影響している可能性があります。構成を、Apacheの \".htaccess\" にある設定済みの書き換えルールまたはNginxのドキュメントの{linkstart}ドキュメントページ↗{linkend}で提供されているルールと比較してください。 Nginxでは、これらは通常、修正が必要な \"location〜\" で始まる行です。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Webサーバーで.woff2ファイルが配信されるように適切に設定されていません。これは通常、Nginx構成の問題です。 Nextcloud 15の場合、.woff2ファイルも配信するように調整する必要があります。 Nginx構成を{linkstart}ドキュメント↗{linkend}の推奨構成と比較してください。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "特にphp-fpmを使用する場合は、{linkstart}インストールドキュメント↗{linkend}でPHP構成に関する注意事項とサーバーのPHP構成を確認してください。", diff --git a/core/l10n/ka.js b/core/l10n/ka.js index 535be0efe0e..666fe6427c5 100644 --- a/core/l10n/ka.js +++ b/core/l10n/ka.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Already up to date", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}.", "Error occurred while checking server setup" : "Error occurred while checking server setup", "For more details see the {linkstart}documentation ↗{linkend}." : "For more details see the {linkstart}documentation ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Please try again", "The user limit of this instance is reached." : "The user limit of this instance is reached.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", diff --git a/core/l10n/ka.json b/core/l10n/ka.json index 37d6f83494a..b05be717ba5 100644 --- a/core/l10n/ka.json +++ b/core/l10n/ka.json @@ -73,7 +73,6 @@ "Already up to date" : "Already up to date", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}.", "Error occurred while checking server setup" : "Error occurred while checking server setup", "For more details see the {linkstart}documentation ↗{linkend}." : "For more details see the {linkstart}documentation ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Please try again", "The user limit of this instance is reached." : "The user limit of this instance is reached.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", diff --git a/core/l10n/ko.js b/core/l10n/ko.js index dc6ddc5cc4f..5febcc25281 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "최신 상태임", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAV 인터페이스를 사용할 수 없어서 웹 서버에서 파일 동기화를 사용할 수 있도록 설정할 수 없습니다.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "웹 서버에서 \"{url}\"을(를) 올바르게 처리할 수 없습니다. 더 많은 정보를 보려면 {linkstart}문서 ↗{linkend}를 참고하십시오.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "이 웹 서버는 “{url}”을(를) 처리하기 위해 적절히 설정되지 않았습니다. 이는 대부분 웹 서버 설정값이 이 폴더를 직접 전달하도록 설정되지 않은 상황입니다. 서버가 Apache일 경우, 서버의 설정값과 “‘htaccess”의 재작성 규칙을 대조해보십시오. Nginx 서버의 경우, 제공되는 {linkstart}문서 페이지 ↗{linkend}를 참조하십시오. Nginx에서는 보통 “location ~”으로 시작하는 부분이 이 문제와 관련이 있으며, 수정과 갱신이 필요합니다.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "당신의 인스턴스는 안전한 연결상에서 동작하고 있지만, 인스턴스는 안전하지 않은 URL입니다. 대부분의 경우 리버스 프록시 뒤에 있거나 설정 변수가 제대로 설정 되지 않기 때문입니다. 다음 {linkstart}문서를 읽어 주세요 ↗{linkend}.", "Error occurred while checking server setup" : "서버 설정을 확인하는 중 오류 발생", "For more details see the {linkstart}documentation ↗{linkend}." : "더 자세한 사항은 {linkstart}문서 ↗{linkend}를 참조하십시오.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "다시 시도하세요.", "The user limit of this instance is reached." : "이 인스턴스의 사용자 수가 한계에 도달했습니다.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "지원 앱에 구독키를 입력하여 사용자 수 제한을 상향하십시오. 이는 또한 Nextcloud Enterprise가 제공하는 다양한 혜택을 활성화하며, 기업에서 운용하는 인스턴스에 권장됩니다.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "이 웹 서버는 “{url}”을(를) 처리하기 위해 적절히 설정되지 않았습니다. 이는 대부분 웹 서버 설정값이 이 폴더를 직접 전달하도록 설정되지 않은 상황입니다. 서버가 Apache일 경우, 서버의 설정값과 “‘htaccess”의 재작성 규칙을 대조해보십시오. Nginx 서버의 경우, 제공되는 {linkstart}문서 페이지 ↗{linkend}를 참조하십시오. Nginx에서는 보통 “location ~”으로 시작하는 부분이 이 문제와 관련이 있으며, 수정과 갱신이 필요합니다.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "이 웹 서버는 .woff2 파일을 전달하기에 적절히 설정되지 않았습니다. 이는 대부분 Nginx 설정과 관련있습니다. Nextcloud 15에서는 .woff2 파일을 전달하기 위해 설정을 수정해야 합니다. 이 서버의 Nginx 설정과 저희가 제공하는 권장 설정 {linkstart}문서 ↗{linkend}를 비교하십시오.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP에서 시스템 환경 변수를 올바르게 조회할 수 없는 것 같습니다. getenv(\"PATH\") 시험 결과 빈 값이 반환되었습니다.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "PHP 설정과 관련된 {linkstart}문서 ↗{linkend}를 참조하시어 이 서버의 PHP 설정을 확인하십시오. 특히 php-fpm을 사용할 경우 관련성이 높습니다.", @@ -418,8 +418,8 @@ OC.L10N.register( "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL. For further details read {linkstart}the documentation page about this ↗{linkend}." : "MySQL이 데이터베이스로 사용되고 있으나 4바이트 문자를 지원하지 않고 있습니다. 파일 이름이나 댓글 등에 Emoji와 같은 4바이트 문자를 문제 없이 사용하기 위해, MySQL에서 4바이트 문자 지원을 활성화하길 권장합니다. 더 구체적인 정보는 {linkstart}관련 문서를 참조하십시오↗{linkend}.", "This instance uses an S3 based object store as primary storage. The uploaded files are stored temporarily on the server and thus it is recommended to have 50 GB of free space available in the temp directory of PHP. Check the logs for full details about the path and the available space. To improve this please change the temporary directory in the php.ini or make more space available in that path." : "이 인스턴스에서 S3 기반 객체 저장소를 주 저장소로 사용하고 있습니다. 업로드한 파일을 서버에 임시로 저장하기 때문에 PHP 임시 디렉터리에 최소 50 GB의 빈 공간을 두는 것을 추천합니다. 전체 경로와 사용 가능한 정보를 보려면 로그를 참조하십시오. 성능을 개선하려면 php.ini의 임시 디렉터리를 변경하거나, 해당 위치에서 사용할 수 있는 공간을 더 많이 할당하십시오.", "The temporary directory of this instance points to an either non-existing or non-writable directory." : "이 인스턴스의 임시 디렉토리가 존재하지 않거나 쓰기 불가능한 디렉토리를 가르키고 있습니다.", - "Account name or email" : "계정 이름 또는 이메일", - "Wrong username or password." : "사용자 이름이나 암호가 잘못되었습니다.", + "Account name or email" : "아이디 또는 이메일", + "Wrong username or password." : "ID나 암호가 잘못되었습니다.", "User disabled" : "사용자 비활성화됨", "Username or email" : "사용자 이름 또는 이메일", "A password reset message has been sent to the email address of this account. If you do not receive it, check your spam/junk folders or ask your local administrator for help." : "암호 초기화 메시지가 이 계정의 이메일 주소로 발송되었습니다. 메일을 받지 못했다면, 스팸/정크 폴더를 확인하거나 로컬 관리자에게 문의하십시오.", @@ -463,7 +463,7 @@ OC.L10N.register( "The database is used for transactional file locking. To enhance performance, please configure memcache, if available. See the {linkstart}documentation ↗{linkend} for more information." : "데이터베이스는 트랜잭션 파일 잠금에 사용됩니다. 성능을 향상하려면 가능한 경우 memcache를 구성하세요. 자세한 내용은 {linkstart} 문서 ↗{linkend} 를 참조하세요.", "PHP 8.0 is now deprecated in Nextcloud 27. Nextcloud 28 may require at least PHP 8.1. Please upgrade to {linkstart}one of the officially supported PHP versions provided by the PHP Group ↗{linkend} as soon as possible." : "Nextcloud 27에서 PHP 8.0 지원이 중단되었습니다. Nextcloud 28은 PHP 8.1 이상이 필요합니다. {linkstart}공식 지원되는 버전의 PHP{linkend}로 업그레이드 하십시오.", "This instance is running in debug mode. Only enable this for local development and not in production environments." : "이 인스턴스는 디버그 모드에서 작동 중입니다. 프로덕션 환경이 아닌 로컬 개발을 위해서만 활성화 하세요.", - "If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help." : "계정이 존재한다면, 암호 초기화 메시지가 해당 계정의 이메일 주소로 전송됩니다. 만일 메일을 수신하지 못했다면, 이메일 주소 및 계정 이름을 확인하고 스팸 메일 폴더를 확인하십시오. 또는, 가까운 관리자에게 도움을 요청하십시오.", + "If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help." : "계정이 존재한다면, 암호 초기화 메시지가 해당 계정의 이메일 주소로 전송됩니다. 만일 메일을 수신하지 못했다면, 이메일 주소 및 계정 ID를 확인하고 스팸 메일 폴더를 확인하십시오. 또는, 가까운 관리자에게 도움을 요청하십시오.", "Avatar of {fullName}" : "{fullName}의 아바타" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/ko.json b/core/l10n/ko.json index 122d0f5382f..664722c11d6 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -75,7 +75,6 @@ "Already up to date" : "최신 상태임", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAV 인터페이스를 사용할 수 없어서 웹 서버에서 파일 동기화를 사용할 수 있도록 설정할 수 없습니다.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "웹 서버에서 \"{url}\"을(를) 올바르게 처리할 수 없습니다. 더 많은 정보를 보려면 {linkstart}문서 ↗{linkend}를 참고하십시오.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "이 웹 서버는 “{url}”을(를) 처리하기 위해 적절히 설정되지 않았습니다. 이는 대부분 웹 서버 설정값이 이 폴더를 직접 전달하도록 설정되지 않은 상황입니다. 서버가 Apache일 경우, 서버의 설정값과 “‘htaccess”의 재작성 규칙을 대조해보십시오. Nginx 서버의 경우, 제공되는 {linkstart}문서 페이지 ↗{linkend}를 참조하십시오. Nginx에서는 보통 “location ~”으로 시작하는 부분이 이 문제와 관련이 있으며, 수정과 갱신이 필요합니다.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "당신의 인스턴스는 안전한 연결상에서 동작하고 있지만, 인스턴스는 안전하지 않은 URL입니다. 대부분의 경우 리버스 프록시 뒤에 있거나 설정 변수가 제대로 설정 되지 않기 때문입니다. 다음 {linkstart}문서를 읽어 주세요 ↗{linkend}.", "Error occurred while checking server setup" : "서버 설정을 확인하는 중 오류 발생", "For more details see the {linkstart}documentation ↗{linkend}." : "더 자세한 사항은 {linkstart}문서 ↗{linkend}를 참조하십시오.", @@ -373,6 +372,7 @@ "Please try again" : "다시 시도하세요.", "The user limit of this instance is reached." : "이 인스턴스의 사용자 수가 한계에 도달했습니다.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "지원 앱에 구독키를 입력하여 사용자 수 제한을 상향하십시오. 이는 또한 Nextcloud Enterprise가 제공하는 다양한 혜택을 활성화하며, 기업에서 운용하는 인스턴스에 권장됩니다.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "이 웹 서버는 “{url}”을(를) 처리하기 위해 적절히 설정되지 않았습니다. 이는 대부분 웹 서버 설정값이 이 폴더를 직접 전달하도록 설정되지 않은 상황입니다. 서버가 Apache일 경우, 서버의 설정값과 “‘htaccess”의 재작성 규칙을 대조해보십시오. Nginx 서버의 경우, 제공되는 {linkstart}문서 페이지 ↗{linkend}를 참조하십시오. Nginx에서는 보통 “location ~”으로 시작하는 부분이 이 문제와 관련이 있으며, 수정과 갱신이 필요합니다.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "이 웹 서버는 .woff2 파일을 전달하기에 적절히 설정되지 않았습니다. 이는 대부분 Nginx 설정과 관련있습니다. Nextcloud 15에서는 .woff2 파일을 전달하기 위해 설정을 수정해야 합니다. 이 서버의 Nginx 설정과 저희가 제공하는 권장 설정 {linkstart}문서 ↗{linkend}를 비교하십시오.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP에서 시스템 환경 변수를 올바르게 조회할 수 없는 것 같습니다. getenv(\"PATH\") 시험 결과 빈 값이 반환되었습니다.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "PHP 설정과 관련된 {linkstart}문서 ↗{linkend}를 참조하시어 이 서버의 PHP 설정을 확인하십시오. 특히 php-fpm을 사용할 경우 관련성이 높습니다.", @@ -416,8 +416,8 @@ "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL. For further details read {linkstart}the documentation page about this ↗{linkend}." : "MySQL이 데이터베이스로 사용되고 있으나 4바이트 문자를 지원하지 않고 있습니다. 파일 이름이나 댓글 등에 Emoji와 같은 4바이트 문자를 문제 없이 사용하기 위해, MySQL에서 4바이트 문자 지원을 활성화하길 권장합니다. 더 구체적인 정보는 {linkstart}관련 문서를 참조하십시오↗{linkend}.", "This instance uses an S3 based object store as primary storage. The uploaded files are stored temporarily on the server and thus it is recommended to have 50 GB of free space available in the temp directory of PHP. Check the logs for full details about the path and the available space. To improve this please change the temporary directory in the php.ini or make more space available in that path." : "이 인스턴스에서 S3 기반 객체 저장소를 주 저장소로 사용하고 있습니다. 업로드한 파일을 서버에 임시로 저장하기 때문에 PHP 임시 디렉터리에 최소 50 GB의 빈 공간을 두는 것을 추천합니다. 전체 경로와 사용 가능한 정보를 보려면 로그를 참조하십시오. 성능을 개선하려면 php.ini의 임시 디렉터리를 변경하거나, 해당 위치에서 사용할 수 있는 공간을 더 많이 할당하십시오.", "The temporary directory of this instance points to an either non-existing or non-writable directory." : "이 인스턴스의 임시 디렉토리가 존재하지 않거나 쓰기 불가능한 디렉토리를 가르키고 있습니다.", - "Account name or email" : "계정 이름 또는 이메일", - "Wrong username or password." : "사용자 이름이나 암호가 잘못되었습니다.", + "Account name or email" : "아이디 또는 이메일", + "Wrong username or password." : "ID나 암호가 잘못되었습니다.", "User disabled" : "사용자 비활성화됨", "Username or email" : "사용자 이름 또는 이메일", "A password reset message has been sent to the email address of this account. If you do not receive it, check your spam/junk folders or ask your local administrator for help." : "암호 초기화 메시지가 이 계정의 이메일 주소로 발송되었습니다. 메일을 받지 못했다면, 스팸/정크 폴더를 확인하거나 로컬 관리자에게 문의하십시오.", @@ -461,7 +461,7 @@ "The database is used for transactional file locking. To enhance performance, please configure memcache, if available. See the {linkstart}documentation ↗{linkend} for more information." : "데이터베이스는 트랜잭션 파일 잠금에 사용됩니다. 성능을 향상하려면 가능한 경우 memcache를 구성하세요. 자세한 내용은 {linkstart} 문서 ↗{linkend} 를 참조하세요.", "PHP 8.0 is now deprecated in Nextcloud 27. Nextcloud 28 may require at least PHP 8.1. Please upgrade to {linkstart}one of the officially supported PHP versions provided by the PHP Group ↗{linkend} as soon as possible." : "Nextcloud 27에서 PHP 8.0 지원이 중단되었습니다. Nextcloud 28은 PHP 8.1 이상이 필요합니다. {linkstart}공식 지원되는 버전의 PHP{linkend}로 업그레이드 하십시오.", "This instance is running in debug mode. Only enable this for local development and not in production environments." : "이 인스턴스는 디버그 모드에서 작동 중입니다. 프로덕션 환경이 아닌 로컬 개발을 위해서만 활성화 하세요.", - "If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help." : "계정이 존재한다면, 암호 초기화 메시지가 해당 계정의 이메일 주소로 전송됩니다. 만일 메일을 수신하지 못했다면, 이메일 주소 및 계정 이름을 확인하고 스팸 메일 폴더를 확인하십시오. 또는, 가까운 관리자에게 도움을 요청하십시오.", + "If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help." : "계정이 존재한다면, 암호 초기화 메시지가 해당 계정의 이메일 주소로 전송됩니다. 만일 메일을 수신하지 못했다면, 이메일 주소 및 계정 ID를 확인하고 스팸 메일 폴더를 확인하십시오. 또는, 가까운 관리자에게 도움을 요청하십시오.", "Avatar of {fullName}" : "{fullName}의 아바타" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/lo.js b/core/l10n/lo.js index 666d2206cb9..7d45bae5dcc 100644 --- a/core/l10n/lo.js +++ b/core/l10n/lo.js @@ -51,7 +51,6 @@ OC.L10N.register( "Already up to date" : "ໄດ້ອັບເດດແລ້ວ", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "ເວັບເຊີບເວີ ຂອງທ່ານຍັງບໍ່ຖືກຕັ້ງຄ່າຢ່າງຖືກຕ້ອງເພື່ອອະນຸຍາດໃຫ້ຟາຍເອກະສານກົງກັນ, ເພາະວ່າອິນເຕີເຟດ WebDAV ອາດຖືກທໍາລາຍ ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "ເວັບໄຊຂອງທ່ານບໍ່ໄດ້ຖືກຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ເພື່ອແກ້ ໄຂ \"{url}\" . ຂໍ້ມູນເພີ່ມເຕີມສາມາດເບິ່ງໄດ້ໃນເອກະສານ {linkstart}↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "ເວັບໄຊຂອງທ່ານບໍ່ໄດ້ຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ເພື່ອແກ້ ໄຂ \"{url}\" . ກ່ຽວຂ້ອງກັບການຕັ້ງຄ່າເວັບໄຊທີ່ບໍ່ມີການປັບປຸງເພື່ອສົ່ງໂຟນເດີນີ້ໂດຍກົງ. ກະລຸນາປຽບທຽບການຕັ້ງຄ່າຂອງທ່ານກັບກົດລະບຽບການຂຽນຄືນທີ່ຖືກສົ່ງໃນ \".htaccess\" ສໍາລັບ Apache ຫຼື ທີ່ສະຫນອງໃນເອກະສານສໍາລັບ Nginx ທີ່ມັນເປັນ {linkstart}ຫນ້າເອກະສານ↗{linkend}. ໃນ Nginx ເຫຼົ່ານັ້ນໂດຍປົກກະຕິແລ້ວແມ່ນເລີ່ມຕົ້ນດ້ວຍ \"ສະຖານທີ່ ~\" ທີ່ຕ້ອງການການປັບປຸງ.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "ທ່ານກໍາລັງເຂົ້າເຖິງຕົວຢ່າງຂອງທ່ານ ກ່ຽວກັບການຕິດຕໍ່ທີ່ປອດໄພ , ເຖິງຢ່າງໃດ ກໍ ຕາມ ຕົວຢ່າງຂອງ ທ່ານແມ່ນການສ້າງ URLs ບໍ່ ຫມັ້ນ ຄົງ . ຫມາຍຄວາມວ່າທ່ານຢູ່ເບື້ອງຫຼັງ proxy reverse ແລະ ຕົວປ່ຽນໃນconfig overwrite ບໍ່ຖືກຕ້ອງ. ກະລຸນາອ່ານ {linkstart}ຫນ້າເອກະສານກ່ຽວກັບ↗{linkend}.", "Error occurred while checking server setup" : "ເກີດຂໍ້ຜິດພາດໃນຂະນະທີ່ກວດສອບການຕັ້ງຄ່າ server", "For more details see the {linkstart}documentation ↗{linkend}." : "ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມເບິ່ງໃນ {linkstart}ເອກະສານ↗{linkend} ", @@ -265,6 +264,7 @@ OC.L10N.register( "This page will refresh itself when the instance is available again." : "ຫນ້ານີ້ຈະ refresh ເມື່ອມີຕົວຢ່າງອີກ.", "Contact your system administrator if this message persists or appeared unexpectedly." : "ຕິດຕໍ່ຜູ້ບໍລິຫານລະບົບຂອງທ່ານຖ້າຫາກວ່າຂ່າວສານນີ້ຍັຢູ່ ຫຼື ປາກົດໂດຍບໍ່ຄາດຄິດ.", "The user limit of this instance is reached." : "ຮອດກໍານົດ ຈໍາກັດຈໍານວນຜູ້ໃຊ້ແລ້ວ", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "ເວັບໄຊຂອງທ່ານບໍ່ໄດ້ຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ເພື່ອແກ້ ໄຂ \"{url}\" . ກ່ຽວຂ້ອງກັບການຕັ້ງຄ່າເວັບໄຊທີ່ບໍ່ມີການປັບປຸງເພື່ອສົ່ງໂຟນເດີນີ້ໂດຍກົງ. ກະລຸນາປຽບທຽບການຕັ້ງຄ່າຂອງທ່ານກັບກົດລະບຽບການຂຽນຄືນທີ່ຖືກສົ່ງໃນ \".htaccess\" ສໍາລັບ Apache ຫຼື ທີ່ສະຫນອງໃນເອກະສານສໍາລັບ Nginx ທີ່ມັນເປັນ {linkstart}ຫນ້າເອກະສານ↗{linkend}. ໃນ Nginx ເຫຼົ່ານັ້ນໂດຍປົກກະຕິແລ້ວແມ່ນເລີ່ມຕົ້ນດ້ວຍ \"ສະຖານທີ່ ~\" ທີ່ຕ້ອງການການປັບປຸງ.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "ເວັບ ໄຊຂອງທ່ານບໍ່ໄດ້ ຕິດຕັ້ງຢ່າງຖືກຕ້ອງເພື່ອສົ່ງຟາຍ ໌.woff2 . ໂດຍປົກກະຕິແລ້ວແມ່ນບັນຫາທີ່ມີການຕັ້ງຄ່າ Nginx. ສໍາລັບ Nextcloud 15 ມັນຈໍາເປັນຕ້ອງມີການປັບຕົວເພື່ອສົ່ງຟາຍ .woff2 ອີກດ້ວຍ. ປຽບທຽບການຕັ້ງຄ່າ Nginx ຂອງທ່ານກັບການຕັ້ງຄ່າທີ່ ແນະນໍາໃນເອກະສານ {linkstart} ຂອງພວກເຮົາ ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ບໍ່ໄດ້ຮັບການຕັ້ງຄ່າຢ່າງເຫມາະສົມເພື່ອສອບຖາມຕົວແປສະພາບແວດລ້ອມຂອງລະບົບ. ການທົດສອບກັບ getenv(\"PATH\") ພຽງແຕ່ກັບຄືນການຕອບສະຫນອງທີ່ຫວ່າງເປົ່າ.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "ກະລຸນາກວດເບິ່ງເອກະສານການຕິດຕັ້ງ {linkstart}↗{linkend} ສໍາລັບບັນທຶກການຕັ້ງຄ່າ PHP ແລະ ການຕັ້ງຄ່າ PHP ຂອງ server ຂອງທ່ານ, ໂດຍສະເພາະເມື່ອໃຊ້ php-fpm.", diff --git a/core/l10n/lo.json b/core/l10n/lo.json index 955ed4d72d0..cac0e5628cd 100644 --- a/core/l10n/lo.json +++ b/core/l10n/lo.json @@ -49,7 +49,6 @@ "Already up to date" : "ໄດ້ອັບເດດແລ້ວ", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "ເວັບເຊີບເວີ ຂອງທ່ານຍັງບໍ່ຖືກຕັ້ງຄ່າຢ່າງຖືກຕ້ອງເພື່ອອະນຸຍາດໃຫ້ຟາຍເອກະສານກົງກັນ, ເພາະວ່າອິນເຕີເຟດ WebDAV ອາດຖືກທໍາລາຍ ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "ເວັບໄຊຂອງທ່ານບໍ່ໄດ້ຖືກຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ເພື່ອແກ້ ໄຂ \"{url}\" . ຂໍ້ມູນເພີ່ມເຕີມສາມາດເບິ່ງໄດ້ໃນເອກະສານ {linkstart}↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "ເວັບໄຊຂອງທ່ານບໍ່ໄດ້ຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ເພື່ອແກ້ ໄຂ \"{url}\" . ກ່ຽວຂ້ອງກັບການຕັ້ງຄ່າເວັບໄຊທີ່ບໍ່ມີການປັບປຸງເພື່ອສົ່ງໂຟນເດີນີ້ໂດຍກົງ. ກະລຸນາປຽບທຽບການຕັ້ງຄ່າຂອງທ່ານກັບກົດລະບຽບການຂຽນຄືນທີ່ຖືກສົ່ງໃນ \".htaccess\" ສໍາລັບ Apache ຫຼື ທີ່ສະຫນອງໃນເອກະສານສໍາລັບ Nginx ທີ່ມັນເປັນ {linkstart}ຫນ້າເອກະສານ↗{linkend}. ໃນ Nginx ເຫຼົ່ານັ້ນໂດຍປົກກະຕິແລ້ວແມ່ນເລີ່ມຕົ້ນດ້ວຍ \"ສະຖານທີ່ ~\" ທີ່ຕ້ອງການການປັບປຸງ.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "ທ່ານກໍາລັງເຂົ້າເຖິງຕົວຢ່າງຂອງທ່ານ ກ່ຽວກັບການຕິດຕໍ່ທີ່ປອດໄພ , ເຖິງຢ່າງໃດ ກໍ ຕາມ ຕົວຢ່າງຂອງ ທ່ານແມ່ນການສ້າງ URLs ບໍ່ ຫມັ້ນ ຄົງ . ຫມາຍຄວາມວ່າທ່ານຢູ່ເບື້ອງຫຼັງ proxy reverse ແລະ ຕົວປ່ຽນໃນconfig overwrite ບໍ່ຖືກຕ້ອງ. ກະລຸນາອ່ານ {linkstart}ຫນ້າເອກະສານກ່ຽວກັບ↗{linkend}.", "Error occurred while checking server setup" : "ເກີດຂໍ້ຜິດພາດໃນຂະນະທີ່ກວດສອບການຕັ້ງຄ່າ server", "For more details see the {linkstart}documentation ↗{linkend}." : "ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມເບິ່ງໃນ {linkstart}ເອກະສານ↗{linkend} ", @@ -263,6 +262,7 @@ "This page will refresh itself when the instance is available again." : "ຫນ້ານີ້ຈະ refresh ເມື່ອມີຕົວຢ່າງອີກ.", "Contact your system administrator if this message persists or appeared unexpectedly." : "ຕິດຕໍ່ຜູ້ບໍລິຫານລະບົບຂອງທ່ານຖ້າຫາກວ່າຂ່າວສານນີ້ຍັຢູ່ ຫຼື ປາກົດໂດຍບໍ່ຄາດຄິດ.", "The user limit of this instance is reached." : "ຮອດກໍານົດ ຈໍາກັດຈໍານວນຜູ້ໃຊ້ແລ້ວ", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "ເວັບໄຊຂອງທ່ານບໍ່ໄດ້ຕິດຕັ້ງຢ່າງຖືກຕ້ອງ ເພື່ອແກ້ ໄຂ \"{url}\" . ກ່ຽວຂ້ອງກັບການຕັ້ງຄ່າເວັບໄຊທີ່ບໍ່ມີການປັບປຸງເພື່ອສົ່ງໂຟນເດີນີ້ໂດຍກົງ. ກະລຸນາປຽບທຽບການຕັ້ງຄ່າຂອງທ່ານກັບກົດລະບຽບການຂຽນຄືນທີ່ຖືກສົ່ງໃນ \".htaccess\" ສໍາລັບ Apache ຫຼື ທີ່ສະຫນອງໃນເອກະສານສໍາລັບ Nginx ທີ່ມັນເປັນ {linkstart}ຫນ້າເອກະສານ↗{linkend}. ໃນ Nginx ເຫຼົ່ານັ້ນໂດຍປົກກະຕິແລ້ວແມ່ນເລີ່ມຕົ້ນດ້ວຍ \"ສະຖານທີ່ ~\" ທີ່ຕ້ອງການການປັບປຸງ.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "ເວັບ ໄຊຂອງທ່ານບໍ່ໄດ້ ຕິດຕັ້ງຢ່າງຖືກຕ້ອງເພື່ອສົ່ງຟາຍ ໌.woff2 . ໂດຍປົກກະຕິແລ້ວແມ່ນບັນຫາທີ່ມີການຕັ້ງຄ່າ Nginx. ສໍາລັບ Nextcloud 15 ມັນຈໍາເປັນຕ້ອງມີການປັບຕົວເພື່ອສົ່ງຟາຍ .woff2 ອີກດ້ວຍ. ປຽບທຽບການຕັ້ງຄ່າ Nginx ຂອງທ່ານກັບການຕັ້ງຄ່າທີ່ ແນະນໍາໃນເອກະສານ {linkstart} ຂອງພວກເຮົາ ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ບໍ່ໄດ້ຮັບການຕັ້ງຄ່າຢ່າງເຫມາະສົມເພື່ອສອບຖາມຕົວແປສະພາບແວດລ້ອມຂອງລະບົບ. ການທົດສອບກັບ getenv(\"PATH\") ພຽງແຕ່ກັບຄືນການຕອບສະຫນອງທີ່ຫວ່າງເປົ່າ.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "ກະລຸນາກວດເບິ່ງເອກະສານການຕິດຕັ້ງ {linkstart}↗{linkend} ສໍາລັບບັນທຶກການຕັ້ງຄ່າ PHP ແລະ ການຕັ້ງຄ່າ PHP ຂອງ server ຂອງທ່ານ, ໂດຍສະເພາະເມື່ອໃຊ້ php-fpm.", diff --git a/core/l10n/mk.js b/core/l10n/mk.js index a5d2b248390..6a3b35ed86b 100644 --- a/core/l10n/mk.js +++ b/core/l10n/mk.js @@ -68,7 +68,6 @@ OC.L10N.register( "Already up to date" : "Веќе ажурирано", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Вашиот веб опслужувач сеуште не е точно подесен да овозможува синхронизација на датотеки бидејќи интерфејсот за WebDAV изгледа дека е расипан. ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Вашиот веб сервер не е правилно поставен за разрешаување на \"{url}\". Повеќе информации можат да се пронајдат во {linkstart}документацијата ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашиот веб сервер не е правилно поставен за разрешаување на \"{url}\". Ова најверојатно е поврзано со конфигурацијата на веб-серверот или не е ажуриран за директен пристап до оваа папка. Ве молиме, споредете ја вашата конфигурација дали е во согласност со правилата за пренасочување во \".htaccess\" за Apache или во документацијата за Nginx на {linkstart}страната со документација{linkend}. На Nginx тоа се најчето линиите што започнуваат со \"location ~\" што им треба ажурирање.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Пристапувате на оваа истанца преку безведносна врска, но оваа истанца генерира не-безбедни URL адреси. Ова, најверојатно, значи дека стоите зад обратниот прокси и променливите за конфигурирање за пребришување не се правилно поставени. Прочитајде во {linkstart}документацијата{linkend}.", "Error occurred while checking server setup" : "Се случи грешка при проверката на параметрите на серверот", "For more details see the {linkstart}documentation ↗{linkend}." : "За повеќе детали погледнете во {linkstart}документацијата ↗{linkend}.", @@ -346,6 +345,7 @@ OC.L10N.register( "Contact your system administrator if this message persists or appeared unexpectedly." : "Контактирајте го вашиот систем администратор до колку оваа порака продолжи да се појавува или пак се појавува ненадејно.", "Please try again" : "Ве молиме обидете се повторно", "The user limit of this instance is reached." : "Лимитот на корисници на оваа истанца е исполнет.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашиот веб сервер не е правилно поставен за разрешаување на \"{url}\". Ова најверојатно е поврзано со конфигурацијата на веб-серверот или не е ажуриран за директен пристап до оваа папка. Ве молиме, споредете ја вашата конфигурација дали е во согласност со правилата за пренасочување во \".htaccess\" за Apache или во документацијата за Nginx на {linkstart}страната со документација{linkend}. На Nginx тоа се најчето линиите што започнуваат со \"location ~\" што им треба ажурирање.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Вашиот веб сервер не е правилно поставен за испорака на .woff2 датотеки. Ова обично е проблем со конфигурацијата на Nginx. За Nextcloud 15 исто така е потребно да се испорачуваат .woff2 датотеки. Споредете ја вашата конфигурација на Nginx со препорачаната конфигурација во нашата {linkstart}документација{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP се чини дека не е правилно поставена за да испраќа барања до променливите на околината на системот. Тестот со getenv(\"PATH\") враќа само празен одговор.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Ве молиме проверете ја {linkstart}документацијата за инсталација ↗{linkend} за конфигурационите PHP белешки и PHP конфигурацијата на вашиот сервер, особено кога користите php-fpm.", diff --git a/core/l10n/mk.json b/core/l10n/mk.json index cc9ef1b1f25..c268329d1ae 100644 --- a/core/l10n/mk.json +++ b/core/l10n/mk.json @@ -66,7 +66,6 @@ "Already up to date" : "Веќе ажурирано", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Вашиот веб опслужувач сеуште не е точно подесен да овозможува синхронизација на датотеки бидејќи интерфејсот за WebDAV изгледа дека е расипан. ", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Вашиот веб сервер не е правилно поставен за разрешаување на \"{url}\". Повеќе информации можат да се пронајдат во {linkstart}документацијата ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашиот веб сервер не е правилно поставен за разрешаување на \"{url}\". Ова најверојатно е поврзано со конфигурацијата на веб-серверот или не е ажуриран за директен пристап до оваа папка. Ве молиме, споредете ја вашата конфигурација дали е во согласност со правилата за пренасочување во \".htaccess\" за Apache или во документацијата за Nginx на {linkstart}страната со документација{linkend}. На Nginx тоа се најчето линиите што започнуваат со \"location ~\" што им треба ажурирање.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Пристапувате на оваа истанца преку безведносна врска, но оваа истанца генерира не-безбедни URL адреси. Ова, најверојатно, значи дека стоите зад обратниот прокси и променливите за конфигурирање за пребришување не се правилно поставени. Прочитајде во {linkstart}документацијата{linkend}.", "Error occurred while checking server setup" : "Се случи грешка при проверката на параметрите на серверот", "For more details see the {linkstart}documentation ↗{linkend}." : "За повеќе детали погледнете во {linkstart}документацијата ↗{linkend}.", @@ -344,6 +343,7 @@ "Contact your system administrator if this message persists or appeared unexpectedly." : "Контактирајте го вашиот систем администратор до колку оваа порака продолжи да се појавува или пак се појавува ненадејно.", "Please try again" : "Ве молиме обидете се повторно", "The user limit of this instance is reached." : "Лимитот на корисници на оваа истанца е исполнет.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Вашиот веб сервер не е правилно поставен за разрешаување на \"{url}\". Ова најверојатно е поврзано со конфигурацијата на веб-серверот или не е ажуриран за директен пристап до оваа папка. Ве молиме, споредете ја вашата конфигурација дали е во согласност со правилата за пренасочување во \".htaccess\" за Apache или во документацијата за Nginx на {linkstart}страната со документација{linkend}. На Nginx тоа се најчето линиите што започнуваат со \"location ~\" што им треба ажурирање.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Вашиот веб сервер не е правилно поставен за испорака на .woff2 датотеки. Ова обично е проблем со конфигурацијата на Nginx. За Nextcloud 15 исто така е потребно да се испорачуваат .woff2 датотеки. Споредете ја вашата конфигурација на Nginx со препорачаната конфигурација во нашата {linkstart}документација{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP се чини дека не е правилно поставена за да испраќа барања до променливите на околината на системот. Тестот со getenv(\"PATH\") враќа само празен одговор.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Ве молиме проверете ја {linkstart}документацијата за инсталација ↗{linkend} за конфигурационите PHP белешки и PHP конфигурацијата на вашиот сервер, особено кога користите php-fpm.", diff --git a/core/l10n/nb.js b/core/l10n/nb.js index 63a1f1bc8d7..87a0ca0e8ba 100644 --- a/core/l10n/nb.js +++ b/core/l10n/nb.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Allerede oppdatert", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Webserveren din er ikke satt opp til å tillate synkronisering av filer ennå, fordi WebDAV-grensesnittet ikke ser ut til å virke.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Din web-server er ikke satt opp korrekt for å hente \"{url}\". Mer informasjon finner du i dokumentasjonen.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Nettserveren din er ikke riktig konfigurert for å løse \"{url}\". Dette er mest sannsynlig relatert til en webserverkonfigurasjon som ikke ble oppdatert for å levere denne mappen direkte. Sammenlign konfigurasjonen din med de tilsendte omskrivingsreglene i \".htaccess\" for Apache eller den oppgitte i dokumentasjonen for Nginx på sin {linkstart}dokumentasjonsside ↗{linkend}. På Nginx er det vanligvis linjene som starter med \"location ~\" som trenger en oppdatering.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Du får tilgang til forekomsten din via en sikker tilkobling, men forekomsten genererer usikre nettadresser. Dette betyr mest sannsynlig at du står bak en omvendt proxy og at overskrivingskonfigurasjonsvariablene ikke er satt riktig. Les {linkstart}dokumentasjonssiden om dette ↗{linkend}.", "Error occurred while checking server setup" : "Feil oppsto ved sjekking av server-oppsett", "For more details see the {linkstart}documentation ↗{linkend}." : "For mer informasjon se {linkstart}dokumentasjonen ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Vennligst prøv igjen", "The user limit of this instance is reached." : "Brukergrensen på denne installasjonen er nådd.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Skriv inn abonnementsnøkkelen din i støtteappen for å øke brukergrensen. Dette gir deg også alle tilleggsfordeler som Nextcloud Enterprise tilbyr og anbefales på det sterkeste for driften i selskaper.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Nettserveren din er ikke riktig konfigurert for å løse \"{url}\". Dette er mest sannsynlig relatert til en webserverkonfigurasjon som ikke ble oppdatert for å levere denne mappen direkte. Sammenlign konfigurasjonen din med de tilsendte omskrivingsreglene i \".htaccess\" for Apache eller den oppgitte i dokumentasjonen for Nginx på sin {linkstart}dokumentasjonsside ↗{linkend}. På Nginx er det vanligvis linjene som starter med \"location ~\" som trenger en oppdatering.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Nettserveren din er ikke riktig konfigurert til å levere .woff2-filer. Dette er vanligvis et problem med Nginx-konfigurasjonen. For Nextcloud 15 trenger den en justering for også å levere .woff2-filer. Sammenlign Nginx-konfigurasjonen din med den anbefalte konfigurasjonen i {linkstart}dokumentasjonen ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP er satt opp feil for å nå systemets miljøvariable. Test med getenv(\"PATH\") gir tom respons.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vennligst sjekk {linkstart}installasjonsdokumentasjonen ↗{linkend} for PHP-konfigurasjonsnotater og PHP-konfigurasjonen til serveren din, spesielt når du bruker php-fpm.", diff --git a/core/l10n/nb.json b/core/l10n/nb.json index a5ce78750dc..57eb7b3414d 100644 --- a/core/l10n/nb.json +++ b/core/l10n/nb.json @@ -75,7 +75,6 @@ "Already up to date" : "Allerede oppdatert", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Webserveren din er ikke satt opp til å tillate synkronisering av filer ennå, fordi WebDAV-grensesnittet ikke ser ut til å virke.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Din web-server er ikke satt opp korrekt for å hente \"{url}\". Mer informasjon finner du i dokumentasjonen.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Nettserveren din er ikke riktig konfigurert for å løse \"{url}\". Dette er mest sannsynlig relatert til en webserverkonfigurasjon som ikke ble oppdatert for å levere denne mappen direkte. Sammenlign konfigurasjonen din med de tilsendte omskrivingsreglene i \".htaccess\" for Apache eller den oppgitte i dokumentasjonen for Nginx på sin {linkstart}dokumentasjonsside ↗{linkend}. På Nginx er det vanligvis linjene som starter med \"location ~\" som trenger en oppdatering.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Du får tilgang til forekomsten din via en sikker tilkobling, men forekomsten genererer usikre nettadresser. Dette betyr mest sannsynlig at du står bak en omvendt proxy og at overskrivingskonfigurasjonsvariablene ikke er satt riktig. Les {linkstart}dokumentasjonssiden om dette ↗{linkend}.", "Error occurred while checking server setup" : "Feil oppsto ved sjekking av server-oppsett", "For more details see the {linkstart}documentation ↗{linkend}." : "For mer informasjon se {linkstart}dokumentasjonen ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Vennligst prøv igjen", "The user limit of this instance is reached." : "Brukergrensen på denne installasjonen er nådd.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Skriv inn abonnementsnøkkelen din i støtteappen for å øke brukergrensen. Dette gir deg også alle tilleggsfordeler som Nextcloud Enterprise tilbyr og anbefales på det sterkeste for driften i selskaper.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Nettserveren din er ikke riktig konfigurert for å løse \"{url}\". Dette er mest sannsynlig relatert til en webserverkonfigurasjon som ikke ble oppdatert for å levere denne mappen direkte. Sammenlign konfigurasjonen din med de tilsendte omskrivingsreglene i \".htaccess\" for Apache eller den oppgitte i dokumentasjonen for Nginx på sin {linkstart}dokumentasjonsside ↗{linkend}. På Nginx er det vanligvis linjene som starter med \"location ~\" som trenger en oppdatering.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Nettserveren din er ikke riktig konfigurert til å levere .woff2-filer. Dette er vanligvis et problem med Nginx-konfigurasjonen. For Nextcloud 15 trenger den en justering for også å levere .woff2-filer. Sammenlign Nginx-konfigurasjonen din med den anbefalte konfigurasjonen i {linkstart}dokumentasjonen ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP er satt opp feil for å nå systemets miljøvariable. Test med getenv(\"PATH\") gir tom respons.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vennligst sjekk {linkstart}installasjonsdokumentasjonen ↗{linkend} for PHP-konfigurasjonsnotater og PHP-konfigurasjonen til serveren din, spesielt når du bruker php-fpm.", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 1100f6ee2e9..77b6c14949a 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -76,7 +76,6 @@ OC.L10N.register( "Already up to date" : "Al bijgewerkt", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Je webserver is nog niet goed ingesteld voor bestandssynchronisatie, omdat de WebDAV interface niet goed lijkt te werken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Je webserver is niet goed ingesteld om \"{url}\" te vinden. Meer informatie is te vinden in onze {linkstart}documentatie↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Je webserver is niet juist ingesteld voor het verwerken van \"{url}\". De oorzaak ligt waarschijnlijk bij de webserver configuratie die niet bijgewerkt is om deze map rechtstreeks beschikbaar te stellen. Vergelijk je configuratie tegen de installatieversie van de rewrite regels die je vindt in de \".htaccess\" bestanden voor Apache of met de voorbeelden in de documentatie voor Nginx die je vindt op de {linkstart}documentatie pagina↗{linkend}. Op Nginx beginnen deze regels meestal met \"location ~\" die je moet aanpassen.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Je verbindt met je server over een beveiligd kanaal, maar je server genereert onveilige URLs. Waarschijnlijk zit je achter een reverse proxy en zijn de overschijf config variabelen niet goed ingesteld. Lees {linkstart}de documentatie hierover ↗{linkend}.", "Error occurred while checking server setup" : "Een fout trad op bij controleren van serverconfiguratie", "For more details see the {linkstart}documentation ↗{linkend}." : "Voor meer informatie word je verwezen naar de {linkstart}documentatie↗{linkend}.", @@ -374,6 +373,7 @@ OC.L10N.register( "Please try again" : "Probeer a.u.b opnieuw", "The user limit of this instance is reached." : "De limiet van het aantal gebruikers op deze server is bereikt.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Voer de ondersteuningssleutel in de supportapp in, om de gebruikerslimiet te verhogen. Dit geeft ook toegang tot de extra voordelen die Nextcloud Enterprise te bieden heeft en is sterk aangeraden voor gebruik in bedrijven.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Je webserver is niet juist ingesteld voor het verwerken van \"{url}\". De oorzaak ligt waarschijnlijk bij de webserver configuratie die niet bijgewerkt is om deze map rechtstreeks beschikbaar te stellen. Vergelijk je configuratie tegen de installatieversie van de rewrite regels die je vindt in de \".htaccess\" bestanden voor Apache of met de voorbeelden in de documentatie voor Nginx die je vindt op de {linkstart}documentatie pagina↗{linkend}. Op Nginx beginnen deze regels meestal met \"location ~\" die je moet aanpassen.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Je webserver is niet goed ingesteld om .woff2 bestanden af te leveren. Dit is meestal een probleem met de Nginx configuratie. Voor Nextcloud 15 moet die worden aangepast om ook .woff2 bestanden aan te kunnen. vergelijk jouw Nginx configuratie met de aanbevolen instellingen in onze {linkstart}documentatie ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn ingesteld voor opvragen systeemomgevingsvariabelen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lees de {linkstart}installatiedocumentatie ↗{linkend} voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index 8158b1f81c9..03597494dbd 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -74,7 +74,6 @@ "Already up to date" : "Al bijgewerkt", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Je webserver is nog niet goed ingesteld voor bestandssynchronisatie, omdat de WebDAV interface niet goed lijkt te werken.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Je webserver is niet goed ingesteld om \"{url}\" te vinden. Meer informatie is te vinden in onze {linkstart}documentatie↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Je webserver is niet juist ingesteld voor het verwerken van \"{url}\". De oorzaak ligt waarschijnlijk bij de webserver configuratie die niet bijgewerkt is om deze map rechtstreeks beschikbaar te stellen. Vergelijk je configuratie tegen de installatieversie van de rewrite regels die je vindt in de \".htaccess\" bestanden voor Apache of met de voorbeelden in de documentatie voor Nginx die je vindt op de {linkstart}documentatie pagina↗{linkend}. Op Nginx beginnen deze regels meestal met \"location ~\" die je moet aanpassen.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Je verbindt met je server over een beveiligd kanaal, maar je server genereert onveilige URLs. Waarschijnlijk zit je achter een reverse proxy en zijn de overschijf config variabelen niet goed ingesteld. Lees {linkstart}de documentatie hierover ↗{linkend}.", "Error occurred while checking server setup" : "Een fout trad op bij controleren van serverconfiguratie", "For more details see the {linkstart}documentation ↗{linkend}." : "Voor meer informatie word je verwezen naar de {linkstart}documentatie↗{linkend}.", @@ -372,6 +371,7 @@ "Please try again" : "Probeer a.u.b opnieuw", "The user limit of this instance is reached." : "De limiet van het aantal gebruikers op deze server is bereikt.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Voer de ondersteuningssleutel in de supportapp in, om de gebruikerslimiet te verhogen. Dit geeft ook toegang tot de extra voordelen die Nextcloud Enterprise te bieden heeft en is sterk aangeraden voor gebruik in bedrijven.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Je webserver is niet juist ingesteld voor het verwerken van \"{url}\". De oorzaak ligt waarschijnlijk bij de webserver configuratie die niet bijgewerkt is om deze map rechtstreeks beschikbaar te stellen. Vergelijk je configuratie tegen de installatieversie van de rewrite regels die je vindt in de \".htaccess\" bestanden voor Apache of met de voorbeelden in de documentatie voor Nginx die je vindt op de {linkstart}documentatie pagina↗{linkend}. Op Nginx beginnen deze regels meestal met \"location ~\" die je moet aanpassen.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Je webserver is niet goed ingesteld om .woff2 bestanden af te leveren. Dit is meestal een probleem met de Nginx configuratie. Voor Nextcloud 15 moet die worden aangepast om ook .woff2 bestanden aan te kunnen. vergelijk jouw Nginx configuratie met de aanbevolen instellingen in onze {linkstart}documentatie ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn ingesteld voor opvragen systeemomgevingsvariabelen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lees de {linkstart}installatiedocumentatie ↗{linkend} voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 59cbe5d6464..7ba3d2c94cf 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Już zaktualizowano", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Serwer WWW nie jest jeszcze na tyle poprawnie skonfigurowany, aby umożliwić synchronizację plików, ponieważ interfejs WebDAV może być uszkodzony.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Serwer WWW nie jest prawidłowo skonfigurowany do rozwiązania problemu z \"{url}\". Więcej informacji można znaleźć w {linkstart}dokumentacji ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serwer WWW nie został poprawnie skonfigurowany do rozwiązania problemu z \"{url}\". Jest to najprawdopodobniej związane z konfiguracją serwera, który nie został zaktualizowany do bezpośredniego dostępu tego katalogu. Proszę porównać swoją konfigurację z dostarczonymi regułami przepisywania w \".htaccess\" dla Apache lub podanymi w dokumentacji dla Nginx na {linkstart}stronie dokumentacji ↗{linkend}. W Nginx są to zazwyczaj linie zaczynające się od \"location ~\", które wymagają aktualizacji.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Dostęp do instancji odbywa się za pośrednictwem bezpiecznego połączenia, natomiast instancja generuje niezabezpieczone adresy URL. Najprawdopodobniej oznacza to, że jesteś za zwrotnym proxy, a zastępowanie zmiennych konfiguracji nie jest ustawione poprawnie. Przeczytaj o tym na {linkstart}stronie dokumentacji ↗{linkend}.", "Error occurred while checking server setup" : "Wystąpił błąd podczas sprawdzania konfiguracji serwera", "For more details see the {linkstart}documentation ↗{linkend}." : "Więcej informacji można znaleźć w {linkstart}dokumentacji ↗{linkend}.", @@ -364,6 +363,7 @@ OC.L10N.register( "Please try again" : "Spróbuj ponownie", "The user limit of this instance is reached." : "Osiągnięto limit użytkowników dla tej instancji.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Wprowadź klucz subskrypcji w aplikacji pomocy technicznej, aby zwiększyć limit użytkowników. Zapewnia to również wszystkie dodatkowe korzyści oferowane przez Nextcloud dla firm i jest wysoce zalecane dla działania w firmach.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serwer WWW nie został poprawnie skonfigurowany do rozwiązania problemu z \"{url}\". Jest to najprawdopodobniej związane z konfiguracją serwera, który nie został zaktualizowany do bezpośredniego dostępu tego katalogu. Proszę porównać swoją konfigurację z dostarczonymi regułami przepisywania w \".htaccess\" dla Apache lub podanymi w dokumentacji dla Nginx na {linkstart}stronie dokumentacji ↗{linkend}. W Nginx są to zazwyczaj linie zaczynające się od \"location ~\", które wymagają aktualizacji.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Serwer WWW nie został poprawnie skonfigurowany do dostarczania plików .woff2. Zazwyczaj jest to problem z konfiguracją Nginx. Dla Nextcloud 15 wymagane jest dostosowanie jej, aby dostarczać pliki .woff2. Porównaj swoją konfigurację Nginx z zalecaną konfiguracją w naszej {linkstart}dokumentacji ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Wygląda na to, że PHP nie jest poprawnie skonfigurowany do wysyłania zapytań o zmienne środowiskowe systemu. Test gentenv(\"PATH\") zwraca tylko pustą wartość.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sprawdź {linkstart}dokumentację instalacji ↗{linkend}, aby znaleźć uwagi dotyczące konfiguracji PHP i konfiguracji PHP serwera, zwłaszcza jeśli używasz php-fpm.", diff --git a/core/l10n/pl.json b/core/l10n/pl.json index 19f054afbd4..45a06917f3a 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -73,7 +73,6 @@ "Already up to date" : "Już zaktualizowano", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Serwer WWW nie jest jeszcze na tyle poprawnie skonfigurowany, aby umożliwić synchronizację plików, ponieważ interfejs WebDAV może być uszkodzony.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Serwer WWW nie jest prawidłowo skonfigurowany do rozwiązania problemu z \"{url}\". Więcej informacji można znaleźć w {linkstart}dokumentacji ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serwer WWW nie został poprawnie skonfigurowany do rozwiązania problemu z \"{url}\". Jest to najprawdopodobniej związane z konfiguracją serwera, który nie został zaktualizowany do bezpośredniego dostępu tego katalogu. Proszę porównać swoją konfigurację z dostarczonymi regułami przepisywania w \".htaccess\" dla Apache lub podanymi w dokumentacji dla Nginx na {linkstart}stronie dokumentacji ↗{linkend}. W Nginx są to zazwyczaj linie zaczynające się od \"location ~\", które wymagają aktualizacji.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Dostęp do instancji odbywa się za pośrednictwem bezpiecznego połączenia, natomiast instancja generuje niezabezpieczone adresy URL. Najprawdopodobniej oznacza to, że jesteś za zwrotnym proxy, a zastępowanie zmiennych konfiguracji nie jest ustawione poprawnie. Przeczytaj o tym na {linkstart}stronie dokumentacji ↗{linkend}.", "Error occurred while checking server setup" : "Wystąpił błąd podczas sprawdzania konfiguracji serwera", "For more details see the {linkstart}documentation ↗{linkend}." : "Więcej informacji można znaleźć w {linkstart}dokumentacji ↗{linkend}.", @@ -362,6 +361,7 @@ "Please try again" : "Spróbuj ponownie", "The user limit of this instance is reached." : "Osiągnięto limit użytkowników dla tej instancji.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Wprowadź klucz subskrypcji w aplikacji pomocy technicznej, aby zwiększyć limit użytkowników. Zapewnia to również wszystkie dodatkowe korzyści oferowane przez Nextcloud dla firm i jest wysoce zalecane dla działania w firmach.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serwer WWW nie został poprawnie skonfigurowany do rozwiązania problemu z \"{url}\". Jest to najprawdopodobniej związane z konfiguracją serwera, który nie został zaktualizowany do bezpośredniego dostępu tego katalogu. Proszę porównać swoją konfigurację z dostarczonymi regułami przepisywania w \".htaccess\" dla Apache lub podanymi w dokumentacji dla Nginx na {linkstart}stronie dokumentacji ↗{linkend}. W Nginx są to zazwyczaj linie zaczynające się od \"location ~\", które wymagają aktualizacji.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Serwer WWW nie został poprawnie skonfigurowany do dostarczania plików .woff2. Zazwyczaj jest to problem z konfiguracją Nginx. Dla Nextcloud 15 wymagane jest dostosowanie jej, aby dostarczać pliki .woff2. Porównaj swoją konfigurację Nginx z zalecaną konfiguracją w naszej {linkstart}dokumentacji ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Wygląda na to, że PHP nie jest poprawnie skonfigurowany do wysyłania zapytań o zmienne środowiskowe systemu. Test gentenv(\"PATH\") zwraca tylko pustą wartość.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sprawdź {linkstart}dokumentację instalacji ↗{linkend}, aby znaleźć uwagi dotyczące konfiguracji PHP i konfiguracji PHP serwera, zwłaszcza jeśli używasz php-fpm.", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index e0985f3e540..1a866853a20 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Já está atualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Seu servidor web ainda não está configurado corretamente para permitir a sincronização de arquivos, porque a interface do WebDAV parece estar quebrada.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Seu servidor da web não está configurado corretamente para resolver \"{url}\". Mais informações podem ser encontradas na {linkstart}documentação ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Seu servidor da web não está configurado corretamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor da web que não foi atualizada para entregar essa pasta diretamente. Compare sua configuração com as regras de reescrita enviadas em \".htaccess\" para Apache ou aquela fornecida na documentação para Nginx em sua {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma atualização. ", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Você está acessando sua instância por meio de uma conexão segura, mas sua instância está gerando URLs inseguros. Isso provavelmente significa que você está atrás de um proxy reverso e as variáveis de configuração de substituição não estão definidas corretamente. Por favor leia {linkstart}a página de documentação sobre isso ↗{linkend}.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obter mais detalhes, consulte a {linkstart}documentação ↗{linkend}.", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "Por favor, tente novamente", "The user limit of this instance is reached." : "O limite do usuário desta instância foi atingido.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Insira sua chave de assinatura no aplicativo de suporte para aumentar o limite de usuários. Isso também garante a você todos os benefícios adicionais que o Nextcloud Enterprise oferece e é altamente recomendado para operação em empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Seu servidor da web não está configurado corretamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor da web que não foi atualizada para entregar essa pasta diretamente. Compare sua configuração com as regras de reescrita enviadas em \".htaccess\" para Apache ou aquela fornecida na documentação para Nginx em sua {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma atualização. ", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Seu servidor da web não está configurado corretamente para entregar arquivos .woff2. Normalmente, esse é um problema com a configuração do Nginx. Para o Nextcloud 15, é necessário um ajuste para entregar também arquivos .woff2. Compare sua configuração Nginx com a configuração recomendada em nossa {linkstart}documentação ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece estar configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") retorna apenas uma resposta vazia.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Verifique a {linkstart}documentação de instalação ↗{linkend} para notas de configuração de PHP e a configuração de PHP do seu servidor, especialmente ao usar php-fpm.", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index d24825670d4..8064477c2c8 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -73,7 +73,6 @@ "Already up to date" : "Já está atualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Seu servidor web ainda não está configurado corretamente para permitir a sincronização de arquivos, porque a interface do WebDAV parece estar quebrada.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Seu servidor da web não está configurado corretamente para resolver \"{url}\". Mais informações podem ser encontradas na {linkstart}documentação ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Seu servidor da web não está configurado corretamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor da web que não foi atualizada para entregar essa pasta diretamente. Compare sua configuração com as regras de reescrita enviadas em \".htaccess\" para Apache ou aquela fornecida na documentação para Nginx em sua {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma atualização. ", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Você está acessando sua instância por meio de uma conexão segura, mas sua instância está gerando URLs inseguros. Isso provavelmente significa que você está atrás de um proxy reverso e as variáveis de configuração de substituição não estão definidas corretamente. Por favor leia {linkstart}a página de documentação sobre isso ↗{linkend}.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obter mais detalhes, consulte a {linkstart}documentação ↗{linkend}.", @@ -365,6 +364,7 @@ "Please try again" : "Por favor, tente novamente", "The user limit of this instance is reached." : "O limite do usuário desta instância foi atingido.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Insira sua chave de assinatura no aplicativo de suporte para aumentar o limite de usuários. Isso também garante a você todos os benefícios adicionais que o Nextcloud Enterprise oferece e é altamente recomendado para operação em empresas.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Seu servidor da web não está configurado corretamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor da web que não foi atualizada para entregar essa pasta diretamente. Compare sua configuração com as regras de reescrita enviadas em \".htaccess\" para Apache ou aquela fornecida na documentação para Nginx em sua {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma atualização. ", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Seu servidor da web não está configurado corretamente para entregar arquivos .woff2. Normalmente, esse é um problema com a configuração do Nginx. Para o Nextcloud 15, é necessário um ajuste para entregar também arquivos .woff2. Compare sua configuração Nginx com a configuração recomendada em nossa {linkstart}documentação ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece estar configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") retorna apenas uma resposta vazia.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Verifique a {linkstart}documentação de instalação ↗{linkend} para notas de configuração de PHP e a configuração de PHP do seu servidor, especialmente ao usar php-fpm.", diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js index 6716207290f..3d7df2fe5a1 100644 --- a/core/l10n/pt_PT.js +++ b/core/l10n/pt_PT.js @@ -66,7 +66,6 @@ OC.L10N.register( "Already up to date" : "Já está atualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "O seu servidor da Web não está configurado corretamente para permitir a sincronização de ficheiros, porque a interface WebDAV parece estar com problemas.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "O seu webserver não está configurado correctamente resolver \"{url}\". Pode encontrar mais informações na documentação {linkstart} ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O seu servidor web não está configurado correctamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor web que não foi actualizada para entregar essa pasta directamente. Compare a sua configuração com as regras de reescrita disponibilizadas em \".htaccess\" para Apache ou as fornecida na documentação para Nginx na {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma actualização. ", "Error occurred while checking server setup" : "Ocorreu um erro durante a verificação da configuração do servidor", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Isto é um potencial risco de segurança ou privacidade, pelo que recomendamos que ajuste esta opção em conformidade.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Algumas funcionalidades poderão não funcionar correctamente, pelo que recomendamos que ajuste esta opção em conformidade.", @@ -285,6 +284,7 @@ OC.L10N.register( "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte o seu administrador do sistema se esta mensagem persistir ou apareceu inesperadamente.", "Please try again" : "Por favor tente novamente", "The user limit of this instance is reached." : "O limite de utilizador desta instância foi atingido", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O seu servidor web não está configurado correctamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor web que não foi actualizada para entregar essa pasta directamente. Compare a sua configuração com as regras de reescrita disponibilizadas em \".htaccess\" para Apache ou as fornecida na documentação para Nginx na {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma actualização. ", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "O seu servidor web não está configurado correctamente para entregar arquivos .woff2. Normalmente, esse é um problema com a configuração do Nginx. Para o Nextcloud 15, é necessário um ajuste para entregar também arquivos .woff2. Compare sua configuração Nginx com a configuração recomendada na nossa {linkstart}documentação ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece estar bem configurado para consultar variáveis do ambiente do sistema. O teste com getenv(\"PATH\") apenas devolveu uma resposta em branco.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, verifique a {linkstart}documentação de instalação ↗{linkend} para notas de configuração de PHP e a configuração de PHP do seu servidor, especialmente ao utilizar php-fpm.", diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json index d8e27e6f02f..46482c788bf 100644 --- a/core/l10n/pt_PT.json +++ b/core/l10n/pt_PT.json @@ -64,7 +64,6 @@ "Already up to date" : "Já está atualizado", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "O seu servidor da Web não está configurado corretamente para permitir a sincronização de ficheiros, porque a interface WebDAV parece estar com problemas.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "O seu webserver não está configurado correctamente resolver \"{url}\". Pode encontrar mais informações na documentação {linkstart} ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O seu servidor web não está configurado correctamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor web que não foi actualizada para entregar essa pasta directamente. Compare a sua configuração com as regras de reescrita disponibilizadas em \".htaccess\" para Apache ou as fornecida na documentação para Nginx na {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma actualização. ", "Error occurred while checking server setup" : "Ocorreu um erro durante a verificação da configuração do servidor", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Isto é um potencial risco de segurança ou privacidade, pelo que recomendamos que ajuste esta opção em conformidade.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Algumas funcionalidades poderão não funcionar correctamente, pelo que recomendamos que ajuste esta opção em conformidade.", @@ -283,6 +282,7 @@ "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte o seu administrador do sistema se esta mensagem persistir ou apareceu inesperadamente.", "Please try again" : "Por favor tente novamente", "The user limit of this instance is reached." : "O limite de utilizador desta instância foi atingido", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "O seu servidor web não está configurado correctamente para resolver \"{url}\". Provavelmente, isso está relacionado a uma configuração do servidor web que não foi actualizada para entregar essa pasta directamente. Compare a sua configuração com as regras de reescrita disponibilizadas em \".htaccess\" para Apache ou as fornecida na documentação para Nginx na {linkstart}página de documentação ↗{linkend}. No Nginx essas são normalmente as linhas que começam com \"location ~\" que precisam de uma actualização. ", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "O seu servidor web não está configurado correctamente para entregar arquivos .woff2. Normalmente, esse é um problema com a configuração do Nginx. Para o Nextcloud 15, é necessário um ajuste para entregar também arquivos .woff2. Compare sua configuração Nginx com a configuração recomendada na nossa {linkstart}documentação ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece estar bem configurado para consultar variáveis do ambiente do sistema. O teste com getenv(\"PATH\") apenas devolveu uma resposta em branco.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, verifique a {linkstart}documentação de instalação ↗{linkend} para notas de configuração de PHP e a configuração de PHP do seu servidor, especialmente ao utilizar php-fpm.", diff --git a/core/l10n/ro.js b/core/l10n/ro.js index 8802bb5d7e9..77e3fc0fddc 100644 --- a/core/l10n/ro.js +++ b/core/l10n/ro.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Deja actualizat", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Serverul dvs. web nu este încă configurat corespunzător pentru a permite sincronizarea fișierelor, deoarece interfața WebDAV pare să fie defectă.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Serverul dvs. web nu este configurat corespunzător pentru a rezolva \"{url}\". Informații suplimentare pot fi găsite în documentația {linkstart} documentația ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serverul dvs. web nu este configurat corespunzător pentru a rezolva \"{url}\". Cel mai probabil, acest lucru este legat de o configurație a serverului web care nu a fost actualizată pentru a furniza direct acest folder. Vă rugăm să comparați configurația dvs. cu regulile de rescriere livrate în \".htaccess\" pentru Apache sau cu cea furnizată în documentația pentru Nginx la pagina de documentare {linkstart}↗{linkend}. În cazul Nginx, liniile care încep cu \"location ~\" sunt cele care au nevoie de o actualizare.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Instanța este accesată printr-o conexiune sigură. Totuși aceasta generează URL-uri nesigure. Cel mai probabil sunteți în spatele unui proxy revers și variabilele de substituție a adresei sunt configurate incorect. Citiți {linkstart}documentația ↗{linkend}.", "Error occurred while checking server setup" : "A apărut o eroare la verificarea configurației serverului", "For more details see the {linkstart}documentation ↗{linkend}." : "Pentru mai multe detalii vedeți {linkstart}documentația ↗{linkend}.", @@ -362,6 +361,7 @@ OC.L10N.register( "Please try again" : "Vă rugăm încercați din nou", "The user limit of this instance is reached." : "A fost atinsă limita de utilizatori a acestei instanțe.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introdu cheia de abonament în aplicația de suport pentru a mări limitarea numărului de utilizatori. Acestă cheie vă oferă toate beneficiile suplimentare oferite Nextcloud Enterprise și este recomandat pentru operațiuni în companii.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serverul dvs. web nu este configurat corespunzător pentru a rezolva \"{url}\". Cel mai probabil, acest lucru este legat de o configurație a serverului web care nu a fost actualizată pentru a furniza direct acest folder. Vă rugăm să comparați configurația dvs. cu regulile de rescriere livrate în \".htaccess\" pentru Apache sau cu cea furnizată în documentația pentru Nginx la pagina de documentare {linkstart}↗{linkend}. În cazul Nginx, liniile care încep cu \"location ~\" sunt cele care au nevoie de o actualizare.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Serverul dvs. web nu este configurat corespunzător pentru a furniza fișiere .woff2. Aceasta este de obicei o problemă cu configurația Nginx. Pentru Nextcloud 15 este nevoie de o ajustare pentru a furniza și fișierele .woff2. Comparați configurația Nginx cu configurația recomandată în documentația noastră {linkstart} ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nu pare să fie configurat corespunzător pentru a interoga variabilele de mediu ale sistemului. Testul cu getenv(\"PATH\") returnează doar un răspuns gol.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vă rugăm să verificați documentația de instalare {linkstart} ↗{linkend} pentru note de configurare PHP și pentru configurația PHP a serverului dumneavoastră, în special atunci când utilizați php-fpm.", diff --git a/core/l10n/ro.json b/core/l10n/ro.json index 4574b1e0a34..7aa50447c26 100644 --- a/core/l10n/ro.json +++ b/core/l10n/ro.json @@ -73,7 +73,6 @@ "Already up to date" : "Deja actualizat", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Serverul dvs. web nu este încă configurat corespunzător pentru a permite sincronizarea fișierelor, deoarece interfața WebDAV pare să fie defectă.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Serverul dvs. web nu este configurat corespunzător pentru a rezolva \"{url}\". Informații suplimentare pot fi găsite în documentația {linkstart} documentația ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serverul dvs. web nu este configurat corespunzător pentru a rezolva \"{url}\". Cel mai probabil, acest lucru este legat de o configurație a serverului web care nu a fost actualizată pentru a furniza direct acest folder. Vă rugăm să comparați configurația dvs. cu regulile de rescriere livrate în \".htaccess\" pentru Apache sau cu cea furnizată în documentația pentru Nginx la pagina de documentare {linkstart}↗{linkend}. În cazul Nginx, liniile care încep cu \"location ~\" sunt cele care au nevoie de o actualizare.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Instanța este accesată printr-o conexiune sigură. Totuși aceasta generează URL-uri nesigure. Cel mai probabil sunteți în spatele unui proxy revers și variabilele de substituție a adresei sunt configurate incorect. Citiți {linkstart}documentația ↗{linkend}.", "Error occurred while checking server setup" : "A apărut o eroare la verificarea configurației serverului", "For more details see the {linkstart}documentation ↗{linkend}." : "Pentru mai multe detalii vedeți {linkstart}documentația ↗{linkend}.", @@ -360,6 +359,7 @@ "Please try again" : "Vă rugăm încercați din nou", "The user limit of this instance is reached." : "A fost atinsă limita de utilizatori a acestei instanțe.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Introdu cheia de abonament în aplicația de suport pentru a mări limitarea numărului de utilizatori. Acestă cheie vă oferă toate beneficiile suplimentare oferite Nextcloud Enterprise și este recomandat pentru operațiuni în companii.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Serverul dvs. web nu este configurat corespunzător pentru a rezolva \"{url}\". Cel mai probabil, acest lucru este legat de o configurație a serverului web care nu a fost actualizată pentru a furniza direct acest folder. Vă rugăm să comparați configurația dvs. cu regulile de rescriere livrate în \".htaccess\" pentru Apache sau cu cea furnizată în documentația pentru Nginx la pagina de documentare {linkstart}↗{linkend}. În cazul Nginx, liniile care încep cu \"location ~\" sunt cele care au nevoie de o actualizare.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Serverul dvs. web nu este configurat corespunzător pentru a furniza fișiere .woff2. Aceasta este de obicei o problemă cu configurația Nginx. Pentru Nextcloud 15 este nevoie de o ajustare pentru a furniza și fișierele .woff2. Comparați configurația Nginx cu configurația recomandată în documentația noastră {linkstart} ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nu pare să fie configurat corespunzător pentru a interoga variabilele de mediu ale sistemului. Testul cu getenv(\"PATH\") returnează doar un răspuns gol.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vă rugăm să verificați documentația de instalare {linkstart} ↗{linkend} pentru note de configurare PHP și pentru configurația PHP a serverului dumneavoastră, în special atunci când utilizați php-fpm.", diff --git a/core/l10n/ru.js b/core/l10n/ru.js index 21dd651cb77..f39ed81d135 100644 --- a/core/l10n/ru.js +++ b/core/l10n/ru.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Не нуждается в обновлении", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Веб-сервер ещё не настроен должным образом для синхронизации файлов: похоже, что не работоспособен интерфейс WebDAV.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Веб-сервер не настроен должным образом для разрешения «{url}». Дополнительная информация представлена в {linkstart}документации ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Веб-сервер не настроен должным образом для разрешения пути «{url}». Скорее всего, это связано с конфигурацией веб-сервера, которая не была обновлена для непосредственного доступа к этой папке. Сравните свою конфигурацию с поставляемыми правилами перезаписи в файле «.htaccess» для Apache или предоставленными в документации для Nginx на {linkstart}странице документации ↗{linkend}. Для Nginx, как правило, требуется обновить строки, начинающиеся с «location ~».", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Сервер создаёт небезопасные ссылки, несмотря на то, что к нему осуществлено безопасное подключение. Скорее всего, причиной являются неверно настроенные параметры обратного прокси и значения переменных перезаписи исходного адреса. Рекомендации по верной настройке приведены в {linkstart}документации ↗{linkend}.", "Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера", "For more details see the {linkstart}documentation ↗{linkend}." : "За дополнительными сведениями обратитесь к {linkstart}документации ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Попробуйте ещё раз", "The user limit of this instance is reached." : "Достигнут лимит пользователей этого экземпляра", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Для увеличения лимита пользователей введите код подписки в приложении «Поддержка». Оформление подписки рекомендуется при использовании Nexcloud в бизнесе, а также позволяет получить дополнительные преимущества, предлагаемые Nextcloud для корпоративных пользователей.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Веб-сервер не настроен должным образом для разрешения пути «{url}». Скорее всего, это связано с конфигурацией веб-сервера, которая не была обновлена для непосредственного доступа к этой папке. Сравните свою конфигурацию с поставляемыми правилами перезаписи в файле «.htaccess» для Apache или предоставленными в документации для Nginx на {linkstart}странице документации ↗{linkend}. Для Nginx, как правило, требуется обновить строки, начинающиеся с «location ~».", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Веб-сервер не настроен должным образом для передачи файлов шрифтов в формате .woff2, что необходимо для правильной работы Nextcloud версии 15. Как правило, это связано с конфигурацией веб-сервера Nginx. Сравните используемую конфигурацию с рекомендуемой конфигурацией из {linkstart}документации ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Обратитесь к {linkstart}документации по установке ↗{linkend} для получения информации по правильной настройке PHP, что особенно важно в случае использования php-fpm.", diff --git a/core/l10n/ru.json b/core/l10n/ru.json index 0cae629ad40..708c642b1a1 100644 --- a/core/l10n/ru.json +++ b/core/l10n/ru.json @@ -75,7 +75,6 @@ "Already up to date" : "Не нуждается в обновлении", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Веб-сервер ещё не настроен должным образом для синхронизации файлов: похоже, что не работоспособен интерфейс WebDAV.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Веб-сервер не настроен должным образом для разрешения «{url}». Дополнительная информация представлена в {linkstart}документации ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Веб-сервер не настроен должным образом для разрешения пути «{url}». Скорее всего, это связано с конфигурацией веб-сервера, которая не была обновлена для непосредственного доступа к этой папке. Сравните свою конфигурацию с поставляемыми правилами перезаписи в файле «.htaccess» для Apache или предоставленными в документации для Nginx на {linkstart}странице документации ↗{linkend}. Для Nginx, как правило, требуется обновить строки, начинающиеся с «location ~».", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Сервер создаёт небезопасные ссылки, несмотря на то, что к нему осуществлено безопасное подключение. Скорее всего, причиной являются неверно настроенные параметры обратного прокси и значения переменных перезаписи исходного адреса. Рекомендации по верной настройке приведены в {linkstart}документации ↗{linkend}.", "Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера", "For more details see the {linkstart}documentation ↗{linkend}." : "За дополнительными сведениями обратитесь к {linkstart}документации ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Попробуйте ещё раз", "The user limit of this instance is reached." : "Достигнут лимит пользователей этого экземпляра", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Для увеличения лимита пользователей введите код подписки в приложении «Поддержка». Оформление подписки рекомендуется при использовании Nexcloud в бизнесе, а также позволяет получить дополнительные преимущества, предлагаемые Nextcloud для корпоративных пользователей.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Веб-сервер не настроен должным образом для разрешения пути «{url}». Скорее всего, это связано с конфигурацией веб-сервера, которая не была обновлена для непосредственного доступа к этой папке. Сравните свою конфигурацию с поставляемыми правилами перезаписи в файле «.htaccess» для Apache или предоставленными в документации для Nginx на {linkstart}странице документации ↗{linkend}. Для Nginx, как правило, требуется обновить строки, начинающиеся с «location ~».", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Веб-сервер не настроен должным образом для передачи файлов шрифтов в формате .woff2, что необходимо для правильной работы Nextcloud версии 15. Как правило, это связано с конфигурацией веб-сервера Nginx. Сравните используемую конфигурацию с рекомендуемой конфигурацией из {linkstart}документации ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Обратитесь к {linkstart}документации по установке ↗{linkend} для получения информации по правильной настройке PHP, что особенно важно в случае использования php-fpm.", diff --git a/core/l10n/sc.js b/core/l10n/sc.js index 0963180333a..7b732ff867f 100644 --- a/core/l10n/sc.js +++ b/core/l10n/sc.js @@ -68,7 +68,6 @@ OC.L10N.register( "Already up to date" : "Giai agiornadu", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su serbidore tuo no est impostadu pro permìtere sa sincronizatzione de is archìvios, ca s'interfache WebDAV paret arrogada.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Si serbidore tuo no est impostadu pro risòlvere \"{url}\". Podes agatare àteras informatziones in sa {linkstart} documentatzione ↗{linkend}..", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su serbidore internet tuo no est cunfiguradu comente si depet pro resòlvere \"{url}\". Est probàbile chi custu dipendat dae una cunfiguratzione de su serbidore no agiornada pro cunsignare deretu custa cartella. Cunfronta sa cunfiguratzione tua cun is règulas de re-iscritura imbiadas in \".htaccess\" pro Apache o cussa frunida in sa documentatzione pro Nginx in sa {linkstart}pàgina de documentatzione ↗{linkend}. In Nginx giai semper sunt is lìneas chi incarrerant cun \"location ~\" chi tenent bisòngiu de un'agiornamentu.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Ses faghende s'atzessu a s'istàntzia dae una connessione segura, ma in cada manera s'istàntzia est generende URLs no seguros. Est meda probàbile chi siast a palas de unu serbidore intermèdiu e is variàbiles de sa cunfiguratzione de sa subra-iscritura no siant impostadas in sa manera curreta. Leghe {linkstart}sa pàgina de sa documentatzione subra de custu ↗{linkend}.", "Error occurred while checking server setup" : "Ddoe at àpidu un'errore in su controllu de sa cunfiguratzione de su serbidore", "For more details see the {linkstart}documentation ↗{linkend}." : "Pro àteros detàllios controlla sa {linkstart}documentatzione ↗{linkend}.", @@ -341,6 +340,7 @@ OC.L10N.register( "Contact your system administrator if this message persists or appeared unexpectedly." : "Cuntata s'amministratzione de sistema si custu messàgiu abarrat o torrat a cumpàrrere", "Please try again" : "Torra·nce a proare", "The user limit of this instance is reached." : "S'est lòmpidu su lìmite de utèntzia pro custa istàntzia.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su serbidore internet tuo no est cunfiguradu comente si depet pro resòlvere \"{url}\". Est probàbile chi custu dipendat dae una cunfiguratzione de su serbidore no agiornada pro cunsignare deretu custa cartella. Cunfronta sa cunfiguratzione tua cun is règulas de re-iscritura imbiadas in \".htaccess\" pro Apache o cussa frunida in sa documentatzione pro Nginx in sa {linkstart}pàgina de documentatzione ↗{linkend}. In Nginx giai semper sunt is lìneas chi incarrerant cun \"location ~\" chi tenent bisòngiu de un'agiornamentu.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Su serbidore internet tuo no est cunfiguradu comente si depet pro produire archìvios .woff2. Custu est giai semper unu problema de sa cunfiguratzione Nginx. Pro Nextcloud 15 tocat de dd'adecuare pro produire puru archìvios .woff2. Cunfronta sa cunfiguratzione Nginx tua cun sa cunfiguratzione cussigiada in sa {linkstart}documentation ↗{linkend} nostra.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Paret chi PHP no est cunfigradu comente si depet pro rechèrrere variàbiles de ambiente de sistema. Sa proa cun getenv(\"PATH\") at torradu isceti una isceda bòida.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Càstia sa {linkstart}documentatzione de installatzione ↗{linkend} pro is notas de cunfiguratzione de su PHP e sa cunfiguratzione de su serbidore tuo, prus che totu cando impreas php-fpm.", diff --git a/core/l10n/sc.json b/core/l10n/sc.json index d92d9feb430..80adec161e0 100644 --- a/core/l10n/sc.json +++ b/core/l10n/sc.json @@ -66,7 +66,6 @@ "Already up to date" : "Giai agiornadu", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su serbidore tuo no est impostadu pro permìtere sa sincronizatzione de is archìvios, ca s'interfache WebDAV paret arrogada.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Si serbidore tuo no est impostadu pro risòlvere \"{url}\". Podes agatare àteras informatziones in sa {linkstart} documentatzione ↗{linkend}..", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su serbidore internet tuo no est cunfiguradu comente si depet pro resòlvere \"{url}\". Est probàbile chi custu dipendat dae una cunfiguratzione de su serbidore no agiornada pro cunsignare deretu custa cartella. Cunfronta sa cunfiguratzione tua cun is règulas de re-iscritura imbiadas in \".htaccess\" pro Apache o cussa frunida in sa documentatzione pro Nginx in sa {linkstart}pàgina de documentatzione ↗{linkend}. In Nginx giai semper sunt is lìneas chi incarrerant cun \"location ~\" chi tenent bisòngiu de un'agiornamentu.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Ses faghende s'atzessu a s'istàntzia dae una connessione segura, ma in cada manera s'istàntzia est generende URLs no seguros. Est meda probàbile chi siast a palas de unu serbidore intermèdiu e is variàbiles de sa cunfiguratzione de sa subra-iscritura no siant impostadas in sa manera curreta. Leghe {linkstart}sa pàgina de sa documentatzione subra de custu ↗{linkend}.", "Error occurred while checking server setup" : "Ddoe at àpidu un'errore in su controllu de sa cunfiguratzione de su serbidore", "For more details see the {linkstart}documentation ↗{linkend}." : "Pro àteros detàllios controlla sa {linkstart}documentatzione ↗{linkend}.", @@ -339,6 +338,7 @@ "Contact your system administrator if this message persists or appeared unexpectedly." : "Cuntata s'amministratzione de sistema si custu messàgiu abarrat o torrat a cumpàrrere", "Please try again" : "Torra·nce a proare", "The user limit of this instance is reached." : "S'est lòmpidu su lìmite de utèntzia pro custa istàntzia.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Su serbidore internet tuo no est cunfiguradu comente si depet pro resòlvere \"{url}\". Est probàbile chi custu dipendat dae una cunfiguratzione de su serbidore no agiornada pro cunsignare deretu custa cartella. Cunfronta sa cunfiguratzione tua cun is règulas de re-iscritura imbiadas in \".htaccess\" pro Apache o cussa frunida in sa documentatzione pro Nginx in sa {linkstart}pàgina de documentatzione ↗{linkend}. In Nginx giai semper sunt is lìneas chi incarrerant cun \"location ~\" chi tenent bisòngiu de un'agiornamentu.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Su serbidore internet tuo no est cunfiguradu comente si depet pro produire archìvios .woff2. Custu est giai semper unu problema de sa cunfiguratzione Nginx. Pro Nextcloud 15 tocat de dd'adecuare pro produire puru archìvios .woff2. Cunfronta sa cunfiguratzione Nginx tua cun sa cunfiguratzione cussigiada in sa {linkstart}documentation ↗{linkend} nostra.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Paret chi PHP no est cunfigradu comente si depet pro rechèrrere variàbiles de ambiente de sistema. Sa proa cun getenv(\"PATH\") at torradu isceti una isceda bòida.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Càstia sa {linkstart}documentatzione de installatzione ↗{linkend} pro is notas de cunfiguratzione de su PHP e sa cunfiguratzione de su serbidore tuo, prus che totu cando impreas php-fpm.", diff --git a/core/l10n/sk.js b/core/l10n/sk.js index 46fca8c37b4..55fba61f00d 100644 --- a/core/l10n/sk.js +++ b/core/l10n/sk.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Už aktuálne", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server nie je zatiaľ správne nastavený, aby umožnil synchronizáciu súborov, pretože rozhranie WebDAV sa zdá byť nefunkčné.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Váš webový server nie je správne nastavený na spracovanie \"{url}\". Viac informácií môžete nájsť v {linkstart}dokumentácii ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Váš web server nie je správne nastavený, aby preložil \"{url}\". To pravdepodobne súvisí s nastavením webového servera, ktoré nebolo aktualizované pre priame doručovanie tohto priečinka. Porovnajte prosím svoje nastavenia voči dodávaným rewrite pravidlám v \".htaccess\" pre Apache alebo tým, ktoré uvádzame v {linkstart}dokumentácii ↗{linkend} pre Nginx. V Nginx je typicky potrebné aktualizovať riadky začínajúce na \"location ~\".", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "K svojej inštancii pristupujete cez zabezpečené pripojenie, avšak vaša inštancia generuje nezabezpečené adresy URL. To s najväčšou pravdepodobnosťou znamená, že ste za reverzným proxy serverom a konfiguračné premenné prepisu nie sú nastavené správne. Prečítajte si o tom {linkstart} stránku s dokumentáciou ↗{linkend}.", "Error occurred while checking server setup" : "Počas kontroly nastavenia serveru sa stala chyba", "For more details see the {linkstart}documentation ↗{linkend}." : "Viac podrobností nájdete v {linkstart}dokumentácii ↗{linkend}.", @@ -361,6 +360,7 @@ OC.L10N.register( "Please try again" : "Prosím, skúste to znova", "The user limit of this instance is reached." : "Limit pre počet užívateľov pre túto inštanciu bol dosiahnutý.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Zadajte svoj kľúč predplatného v aplikácii podpory, aby ste zvýšili limit používateľov. To vám tiež poskytuje všetky ďalšie výhody, ktoré Nextcloud Enterprise ponúka a je vysoko odporúčaný pre prevádzku vo firemnom prostredí.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Váš web server nie je správne nastavený, aby preložil \"{url}\". To pravdepodobne súvisí s nastavením webového servera, ktoré nebolo aktualizované pre priame doručovanie tohto priečinka. Porovnajte prosím svoje nastavenia voči dodávaným rewrite pravidlám v \".htaccess\" pre Apache alebo tým, ktoré uvádzame v {linkstart}dokumentácii ↗{linkend} pre Nginx. V Nginx je typicky potrebné aktualizovať riadky začínajúce na \"location ~\".", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Váš server nie je správne nastavený tak, aby doručoval súbory .woff2. Toto je typicky problém s nastavením Nginx. Pre Nextcloud 15 je potrebné ho upraviť, aby tieto súbory doručoval. Porovnajte nastavenie svojho Nginx s tým, ktorý je odporúčaný v našej {linkstart}dokumentácii ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s príkazom getenv(\"PATH\") vráti prázdnu odpoveď.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím skontrolujte {linkstart}inštalačnú dokumentáciu ↗{linkend} ohľadne PHP konfigurácie a PHP konfiguráciu Vášho servra, hlavne ak používate php-fpm.", diff --git a/core/l10n/sk.json b/core/l10n/sk.json index cf805ca28b2..2e177e6198a 100644 --- a/core/l10n/sk.json +++ b/core/l10n/sk.json @@ -73,7 +73,6 @@ "Already up to date" : "Už aktuálne", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server nie je zatiaľ správne nastavený, aby umožnil synchronizáciu súborov, pretože rozhranie WebDAV sa zdá byť nefunkčné.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Váš webový server nie je správne nastavený na spracovanie \"{url}\". Viac informácií môžete nájsť v {linkstart}dokumentácii ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Váš web server nie je správne nastavený, aby preložil \"{url}\". To pravdepodobne súvisí s nastavením webového servera, ktoré nebolo aktualizované pre priame doručovanie tohto priečinka. Porovnajte prosím svoje nastavenia voči dodávaným rewrite pravidlám v \".htaccess\" pre Apache alebo tým, ktoré uvádzame v {linkstart}dokumentácii ↗{linkend} pre Nginx. V Nginx je typicky potrebné aktualizovať riadky začínajúce na \"location ~\".", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "K svojej inštancii pristupujete cez zabezpečené pripojenie, avšak vaša inštancia generuje nezabezpečené adresy URL. To s najväčšou pravdepodobnosťou znamená, že ste za reverzným proxy serverom a konfiguračné premenné prepisu nie sú nastavené správne. Prečítajte si o tom {linkstart} stránku s dokumentáciou ↗{linkend}.", "Error occurred while checking server setup" : "Počas kontroly nastavenia serveru sa stala chyba", "For more details see the {linkstart}documentation ↗{linkend}." : "Viac podrobností nájdete v {linkstart}dokumentácii ↗{linkend}.", @@ -359,6 +358,7 @@ "Please try again" : "Prosím, skúste to znova", "The user limit of this instance is reached." : "Limit pre počet užívateľov pre túto inštanciu bol dosiahnutý.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Zadajte svoj kľúč predplatného v aplikácii podpory, aby ste zvýšili limit používateľov. To vám tiež poskytuje všetky ďalšie výhody, ktoré Nextcloud Enterprise ponúka a je vysoko odporúčaný pre prevádzku vo firemnom prostredí.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Váš web server nie je správne nastavený, aby preložil \"{url}\". To pravdepodobne súvisí s nastavením webového servera, ktoré nebolo aktualizované pre priame doručovanie tohto priečinka. Porovnajte prosím svoje nastavenia voči dodávaným rewrite pravidlám v \".htaccess\" pre Apache alebo tým, ktoré uvádzame v {linkstart}dokumentácii ↗{linkend} pre Nginx. V Nginx je typicky potrebné aktualizovať riadky začínajúce na \"location ~\".", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Váš server nie je správne nastavený tak, aby doručoval súbory .woff2. Toto je typicky problém s nastavením Nginx. Pre Nextcloud 15 je potrebné ho upraviť, aby tieto súbory doručoval. Porovnajte nastavenie svojho Nginx s tým, ktorý je odporúčaný v našej {linkstart}dokumentácii ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s príkazom getenv(\"PATH\") vráti prázdnu odpoveď.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím skontrolujte {linkstart}inštalačnú dokumentáciu ↗{linkend} ohľadne PHP konfigurácie a PHP konfiguráciu Vášho servra, hlavne ak používate php-fpm.", diff --git a/core/l10n/sl.js b/core/l10n/sl.js index 4d7f3e9c12f..3801a9fb927 100644 --- a/core/l10n/sl.js +++ b/core/l10n/sl.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "Sistem je že posodobljen", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je vmesnik WebDAV videti okvarjen.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Spletni strežnik ni ustrezno nastavljen za razreševanje naslova URL »{url}«. Več podrobnosti je zapisanih v {linkstart}dokumentaciji ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Spletni strežnik ni ustrezno nastavljen za razreševanje naslova URL »{url}«. Napaka je najverjetneje povezana z nastavitvami, ki niso bile posodobljene za neposreden dostop do te mape. Primerjajte nastavitve s privzeto različico pravil ».htaccess« za strežnik Apache, ali pa zapis za Nginx, ki je opisan v {linkstart}dokumentaciji ↗{linkend}. Na strežniku Nginx je običajno treba posodobiti vrstice, ki se začnejo z »location ~«.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Dostop do okolja poteka prek varne povezave, a ta ustvarja ne-varne naslove URL. To najverjetneje pomeni, da je strežnik za povratnim strežnikom in da spremenljivke nastavitev niso pravilno nastavljene. Več o tem je zabeleženo v {linkstart}dokumentaciji ↗{linkend}.", "Error occurred while checking server setup" : "Prišlo je do napake med preverjanjem nastavitev strežnika", "For more details see the {linkstart}documentation ↗{linkend}." : "Za več podrobnosti preverite {linkstart}dokumentacijo ↗{linkend}.", @@ -364,6 +363,7 @@ OC.L10N.register( "Please try again" : "Poskusite znova.", "The user limit of this instance is reached." : "Dosežena je količinska omejitev za uporabnika.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Vpišite ključ naročila podpornega programa in povečajte omejitev za uporabnika. S tem pridobite tudi vse dodatne ugodnosti, ki jih omogoča Poslovno okolje Nextcloud. Način je zelo priporočljiv za podjatja.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Spletni strežnik ni ustrezno nastavljen za razreševanje naslova URL »{url}«. Napaka je najverjetneje povezana z nastavitvami, ki niso bile posodobljene za neposreden dostop do te mape. Primerjajte nastavitve s privzeto različico pravil ».htaccess« za strežnik Apache, ali pa zapis za Nginx, ki je opisan v {linkstart}dokumentaciji ↗{linkend}. Na strežniku Nginx je običajno treba posodobiti vrstice, ki se začnejo z »location ~«.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Spletni strežnik ni ustrezno nastavljen za obdelavo datotek .wolff2. Običajno je težava v nastavitvah Nginx. Različica Nextcloud 15 zahteva posebno prilagoditev. Primerjajte nastavitve s priporočenimi, kot je to zabeleženo v {linkstart}dokumentaciji ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Kaže, da okolje PHP ni ustrezno nastavljeno za poizvedovanje sistemskih spremenljivk. Preizkus z ukazom getegetenv(\"PATH\") vrne le prazen odziv.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Preverite {linkstart}namestitveno dokumentacijo ↗{linkend} za nastavitve PHP strežnika, še posebej, če uporabljate php-fpm.", diff --git a/core/l10n/sl.json b/core/l10n/sl.json index 70e183638b2..8c0e7c00378 100644 --- a/core/l10n/sl.json +++ b/core/l10n/sl.json @@ -73,7 +73,6 @@ "Already up to date" : "Sistem je že posodobljen", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je vmesnik WebDAV videti okvarjen.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Spletni strežnik ni ustrezno nastavljen za razreševanje naslova URL »{url}«. Več podrobnosti je zapisanih v {linkstart}dokumentaciji ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Spletni strežnik ni ustrezno nastavljen za razreševanje naslova URL »{url}«. Napaka je najverjetneje povezana z nastavitvami, ki niso bile posodobljene za neposreden dostop do te mape. Primerjajte nastavitve s privzeto različico pravil ».htaccess« za strežnik Apache, ali pa zapis za Nginx, ki je opisan v {linkstart}dokumentaciji ↗{linkend}. Na strežniku Nginx je običajno treba posodobiti vrstice, ki se začnejo z »location ~«.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Dostop do okolja poteka prek varne povezave, a ta ustvarja ne-varne naslove URL. To najverjetneje pomeni, da je strežnik za povratnim strežnikom in da spremenljivke nastavitev niso pravilno nastavljene. Več o tem je zabeleženo v {linkstart}dokumentaciji ↗{linkend}.", "Error occurred while checking server setup" : "Prišlo je do napake med preverjanjem nastavitev strežnika", "For more details see the {linkstart}documentation ↗{linkend}." : "Za več podrobnosti preverite {linkstart}dokumentacijo ↗{linkend}.", @@ -362,6 +361,7 @@ "Please try again" : "Poskusite znova.", "The user limit of this instance is reached." : "Dosežena je količinska omejitev za uporabnika.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Vpišite ključ naročila podpornega programa in povečajte omejitev za uporabnika. S tem pridobite tudi vse dodatne ugodnosti, ki jih omogoča Poslovno okolje Nextcloud. Način je zelo priporočljiv za podjatja.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Spletni strežnik ni ustrezno nastavljen za razreševanje naslova URL »{url}«. Napaka je najverjetneje povezana z nastavitvami, ki niso bile posodobljene za neposreden dostop do te mape. Primerjajte nastavitve s privzeto različico pravil ».htaccess« za strežnik Apache, ali pa zapis za Nginx, ki je opisan v {linkstart}dokumentaciji ↗{linkend}. Na strežniku Nginx je običajno treba posodobiti vrstice, ki se začnejo z »location ~«.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Spletni strežnik ni ustrezno nastavljen za obdelavo datotek .wolff2. Običajno je težava v nastavitvah Nginx. Različica Nextcloud 15 zahteva posebno prilagoditev. Primerjajte nastavitve s priporočenimi, kot je to zabeleženo v {linkstart}dokumentaciji ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Kaže, da okolje PHP ni ustrezno nastavljeno za poizvedovanje sistemskih spremenljivk. Preizkus z ukazom getegetenv(\"PATH\") vrne le prazen odziv.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Preverite {linkstart}namestitveno dokumentacijo ↗{linkend} za nastavitve PHP strežnika, še posebej, če uporabljate php-fpm.", diff --git a/core/l10n/sr.js b/core/l10n/sr.js index 6174c79cf7a..5bf6f0782d0 100644 --- a/core/l10n/sr.js +++ b/core/l10n/sr.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Већ је ажурна", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Сервер није правилно подешен за синхронизацију фајлова. Изгледа да је ВебДАВ сучеље покварено.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ваш веб сервер није исправно подешен да разреши „{url}”. Више информација можете да пронађете у {linkstart}документацији ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб сервер није исправно подешен да разреши „{url}”. Ово је највероватније везано за конфигурацију веб сервера која није ажурирана тако да директно достави овај фолдер. Молимо вас да упоредите своју конфигурацију са оном испорученом уз програм и поново испишите правила у „.htaccess” за Apache, или приложену у документацији за Nginx на његовој {linkstart}страници документације ↗{linkend}. На Nginx су обично линије које почињу са \"location ~\" оне које треба да се преправе.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Вашој инстанци приступате преко безбедне везе, међутим, ова инстанца генерише небезбедне URL адресе. Ово највероватније значи да се налазите иза реверсног проксија и да променљиве подешавања преписивања нису исправно постављене. Молимо вас да прочитате {linkstart}страницу документације у вези овога ↗{linkend}.", "Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера", "For more details see the {linkstart}documentation ↗{linkend}." : "За више детаља погледајте {linkstart}документацију ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Молимо вас да покушате поново", "The user limit of this instance is reached." : "Достигнута је граница броја корисника ове инстанце.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Унестите ваш кључ претплате у апликацију за подршку да бисте увећали границу броја корисника. На овај начин добијате још погодности које нуди Nextcloud Enterprise и топло се препоручује за рад у компанијама.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб сервер није исправно подешен да разреши „{url}”. Ово је највероватније везано за конфигурацију веб сервера која није ажурирана тако да директно достави овај фолдер. Молимо вас да упоредите своју конфигурацију са оном испорученом уз програм и поново испишите правила у „.htaccess” за Apache, или приложену у документацији за Nginx на његовој {linkstart}страници документације ↗{linkend}. На Nginx су обично линије које почињу са \"location ~\" оне које треба да се преправе.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ваш веб сервер није исправно подешен да испоручи .woff2 фајлове. Ово је обично проблем са Nginx конфигурацијом. За Nextcloud 15 је неопходно да се направе измене у конфигурацији како би могли да се испоруче и .woff2 фајлови. Упоредите своју Nginx конфигурацију са препорученом конфигурацијом у нашој {linkstart}документацији ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Молимо вас да погледате напомене у вези са PHP конфигурацијом и PHP конфигурацијом вашег сервера у {linkstart}документацији за инсталирање, ↗{linkend} поготово ако користите php-fpm.", diff --git a/core/l10n/sr.json b/core/l10n/sr.json index 66cabb218d2..6a180a4451a 100644 --- a/core/l10n/sr.json +++ b/core/l10n/sr.json @@ -75,7 +75,6 @@ "Already up to date" : "Већ је ажурна", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Сервер није правилно подешен за синхронизацију фајлова. Изгледа да је ВебДАВ сучеље покварено.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ваш веб сервер није исправно подешен да разреши „{url}”. Више информација можете да пронађете у {linkstart}документацији ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб сервер није исправно подешен да разреши „{url}”. Ово је највероватније везано за конфигурацију веб сервера која није ажурирана тако да директно достави овај фолдер. Молимо вас да упоредите своју конфигурацију са оном испорученом уз програм и поново испишите правила у „.htaccess” за Apache, или приложену у документацији за Nginx на његовој {linkstart}страници документације ↗{linkend}. На Nginx су обично линије које почињу са \"location ~\" оне које треба да се преправе.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Вашој инстанци приступате преко безбедне везе, међутим, ова инстанца генерише небезбедне URL адресе. Ово највероватније значи да се налазите иза реверсног проксија и да променљиве подешавања преписивања нису исправно постављене. Молимо вас да прочитате {linkstart}страницу документације у вези овога ↗{linkend}.", "Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера", "For more details see the {linkstart}documentation ↗{linkend}." : "За више детаља погледајте {linkstart}документацију ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Молимо вас да покушате поново", "The user limit of this instance is reached." : "Достигнута је граница броја корисника ове инстанце.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Унестите ваш кључ претплате у апликацију за подршку да бисте увећали границу броја корисника. На овај начин добијате још погодности које нуди Nextcloud Enterprise и топло се препоручује за рад у компанијама.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб сервер није исправно подешен да разреши „{url}”. Ово је највероватније везано за конфигурацију веб сервера која није ажурирана тако да директно достави овај фолдер. Молимо вас да упоредите своју конфигурацију са оном испорученом уз програм и поново испишите правила у „.htaccess” за Apache, или приложену у документацији за Nginx на његовој {linkstart}страници документације ↗{linkend}. На Nginx су обично линије које почињу са \"location ~\" оне које треба да се преправе.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ваш веб сервер није исправно подешен да испоручи .woff2 фајлове. Ово је обично проблем са Nginx конфигурацијом. За Nextcloud 15 је неопходно да се направе измене у конфигурацији како би могли да се испоруче и .woff2 фајлови. Упоредите своју Nginx конфигурацију са препорученом конфигурацијом у нашој {linkstart}документацији ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Молимо вас да погледате напомене у вези са PHP конфигурацијом и PHP конфигурацијом вашег сервера у {linkstart}документацији за инсталирање, ↗{linkend} поготово ако користите php-fpm.", diff --git a/core/l10n/sv.js b/core/l10n/sv.js index ee034835272..efea82a0205 100644 --- a/core/l10n/sv.js +++ b/core/l10n/sv.js @@ -76,7 +76,6 @@ OC.L10N.register( "Already up to date" : "Redan uppdaterad", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webbserver är ännu inte korrekt inställd för att tillåta filsynkronisering, eftersom WebDAV-gränssnittet verkar vara trasigt.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Din webbserver är inte korrekt inställd för att lösa \"{url}\". Ytterligare information finns i {linkstart}dokumentationen ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webbserver är inte korrekt inställd för att lösa \"{url}\". Detta är troligen relaterat till en webbserverkonfiguration som inte uppdaterades för att leverera den här mappen direkt. Vänligen jämför din konfiguration med de skickade omskrivningsreglerna i \".htaccess\" för Apache eller den som tillhandahålls i dokumentationen för Nginx på dess {linkstart}dokumentationssida ↗{linkend}. På Nginx är det vanligtvis raderna som börjar med \"plats ~\" som behöver en uppdatering.", "Error occurred while checking server setup" : "Ett fel inträffade när en kontroll av serverns konfiguration utfördes", "For more details see the {linkstart}documentation ↗{linkend}." : "För mer detaljer se {linkstart}dokumentationen ↗{linkend}.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-rubriken \"{header}\" är inte inställd till \"{expected}\". Detta är en potentiell säkerhets- eller sekretessrisk, eftersom det rekommenderas att justera denna inställning i enlighet med detta.", @@ -362,6 +361,7 @@ OC.L10N.register( "Please try again" : "Var vänlig och försök igen", "The user limit of this instance is reached." : "Maximala användarantalet för denna instansen har uppnåts", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ange din prenumerationsnyckel i supportappen för att öka användargränsen. Detta ger dig också alla ytterligare fördelar som Nextcloud Enterprise erbjuder och rekommenderas starkt för användning i företag.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webbserver är inte korrekt inställd för att lösa \"{url}\". Detta är troligen relaterat till en webbserverkonfiguration som inte uppdaterades för att leverera den här mappen direkt. Vänligen jämför din konfiguration med de skickade omskrivningsreglerna i \".htaccess\" för Apache eller den som tillhandahålls i dokumentationen för Nginx på dess {linkstart}dokumentationssida ↗{linkend}. På Nginx är det vanligtvis raderna som börjar med \"plats ~\" som behöver en uppdatering.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Din webbserver är inte korrekt inställd för att leverera .woff2-filer. Detta är vanligtvis ett problem med Nginx-konfigurationen. För Nextcloud 15 behöver det en justering för att även leverera .woff2-filer. Jämför din Nginx-konfiguration med den rekommenderade konfigurationen i vår {linkstart}dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP verkar inte vara korrekt inställd för att fråga efter systemmiljövariabler. Testet med getenv(\"PATH\") ger bara ett tomt svar.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vänligen kontrollera {linkstart}installationsdokumentationen ↗{linkend} för PHP-konfigurationsanteckningar och PHP-konfigurationen för din server, speciellt när du använder php-fpm.", diff --git a/core/l10n/sv.json b/core/l10n/sv.json index a73dbfbd3a6..9022c1a0216 100644 --- a/core/l10n/sv.json +++ b/core/l10n/sv.json @@ -74,7 +74,6 @@ "Already up to date" : "Redan uppdaterad", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webbserver är ännu inte korrekt inställd för att tillåta filsynkronisering, eftersom WebDAV-gränssnittet verkar vara trasigt.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Din webbserver är inte korrekt inställd för att lösa \"{url}\". Ytterligare information finns i {linkstart}dokumentationen ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webbserver är inte korrekt inställd för att lösa \"{url}\". Detta är troligen relaterat till en webbserverkonfiguration som inte uppdaterades för att leverera den här mappen direkt. Vänligen jämför din konfiguration med de skickade omskrivningsreglerna i \".htaccess\" för Apache eller den som tillhandahålls i dokumentationen för Nginx på dess {linkstart}dokumentationssida ↗{linkend}. På Nginx är det vanligtvis raderna som börjar med \"plats ~\" som behöver en uppdatering.", "Error occurred while checking server setup" : "Ett fel inträffade när en kontroll av serverns konfiguration utfördes", "For more details see the {linkstart}documentation ↗{linkend}." : "För mer detaljer se {linkstart}dokumentationen ↗{linkend}.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-rubriken \"{header}\" är inte inställd till \"{expected}\". Detta är en potentiell säkerhets- eller sekretessrisk, eftersom det rekommenderas att justera denna inställning i enlighet med detta.", @@ -360,6 +359,7 @@ "Please try again" : "Var vänlig och försök igen", "The user limit of this instance is reached." : "Maximala användarantalet för denna instansen har uppnåts", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Ange din prenumerationsnyckel i supportappen för att öka användargränsen. Detta ger dig också alla ytterligare fördelar som Nextcloud Enterprise erbjuder och rekommenderas starkt för användning i företag.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Din webbserver är inte korrekt inställd för att lösa \"{url}\". Detta är troligen relaterat till en webbserverkonfiguration som inte uppdaterades för att leverera den här mappen direkt. Vänligen jämför din konfiguration med de skickade omskrivningsreglerna i \".htaccess\" för Apache eller den som tillhandahålls i dokumentationen för Nginx på dess {linkstart}dokumentationssida ↗{linkend}. På Nginx är det vanligtvis raderna som börjar med \"plats ~\" som behöver en uppdatering.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Din webbserver är inte korrekt inställd för att leverera .woff2-filer. Detta är vanligtvis ett problem med Nginx-konfigurationen. För Nextcloud 15 behöver det en justering för att även leverera .woff2-filer. Jämför din Nginx-konfiguration med den rekommenderade konfigurationen i vår {linkstart}dokumentation ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP verkar inte vara korrekt inställd för att fråga efter systemmiljövariabler. Testet med getenv(\"PATH\") ger bara ett tomt svar.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vänligen kontrollera {linkstart}installationsdokumentationen ↗{linkend} för PHP-konfigurationsanteckningar och PHP-konfigurationen för din server, speciellt när du använder php-fpm.", diff --git a/core/l10n/tr.js b/core/l10n/tr.js index abb75366441..aa9929fd188 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Zaten güncel", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Site sunucunuz dosya eşitlemesi için doğru şekilde ayarlanmamış. WebDAV arabirimi sorunlu görünüyor.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Site sunucunuz \"{url}\" adresini çözümleyebilmesi için doğru şekilde ayarlanmamış. Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Site sunucunuz \"{url}\" adresini doğru olarak çözümleyecek şekilde yapılandırılmamış. Bu sorun genellikle site sunucusu yapılandırmasının bu klasörü doğrudan aktaracak şekilde güncellenmemiş olmasından kaynaklanır. Lütfen kendi yapılandırmanızı, Apache için uygulama ile gelen \".htaccess\" dosyasındaki rewrite komutları ile ya da Nginx için {linkstart}belgeler ↗{linkend} bölümünde bulunan ayarlar ile karşılaştırın. Nginx üzerinde genellikle \"location ~\" ile başlayan satırların güncellenmesi gerekir.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Kopyanıza güvenli bir bağlantı üzerinden erişiyorsunuz. Bununla birlikte kopyanız güvenli olmayan adresler üretiyor. Bu durum genellikle bir ters vekil sunucunun arkasında bulunmanız nedeniyle düzgün ayarlanmamış yapılandırma değişkenlerinin değiştirilmesinden kaynaklanır. Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.", "Error occurred while checking server setup" : "Sunucu ayarları denetlenirken sorun çıktı", "For more details see the {linkstart}documentation ↗{linkend}." : "Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Lütfen yeniden deneyin", "The user limit of this instance is reached." : "Bu kopya için kullanıcı sayısı sınırına ulaşıldı.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Kullanıcı sayısı sınırını artırmak için destek uygulamasına abonelik kodunuzu yazın. Bu ayrıca size Nextcloud Enterprise sürümünün sunduğu ve kurumsal operasyonlar için önemle önerilen tüm ek faydaları sağlar.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Site sunucunuz \"{url}\" adresini doğru olarak çözümleyecek şekilde yapılandırılmamış. Bu sorun genellikle site sunucusu yapılandırmasının bu klasörü doğrudan aktaracak şekilde güncellenmemiş olmasından kaynaklanır. Lütfen kendi yapılandırmanızı, Apache için uygulama ile gelen \".htaccess\" dosyasındaki rewrite komutları ile ya da Nginx için {linkstart}belgeler ↗{linkend} bölümünde bulunan ayarlar ile karşılaştırın. Nginx üzerinde genellikle \"location ~\" ile başlayan satırların güncellenmesi gerekir.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Site sunucunuz .woff2 dosyalarını aktaracak şekilde yapılandırılmamış. Bu sık karşılaşılan bir Nginx yapılandırma sorunudur. Nextcloud 15 için .woff2 dosyalarını da aktaracak ek bir ayar yapılması gereklidir. Kullandığınız Nginx yapılandırmasını {linkstart}belgeler ↗{linkend} bölümünde bulunan önerilen yapılandırma dosyası ile karşılaştırın.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için {linkstart}kurulum belgeleri ↗{linkend} bölümüne bakabilirsiniz.", diff --git a/core/l10n/tr.json b/core/l10n/tr.json index f1cff833213..7989b8c76c3 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -75,7 +75,6 @@ "Already up to date" : "Zaten güncel", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Site sunucunuz dosya eşitlemesi için doğru şekilde ayarlanmamış. WebDAV arabirimi sorunlu görünüyor.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Site sunucunuz \"{url}\" adresini çözümleyebilmesi için doğru şekilde ayarlanmamış. Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Site sunucunuz \"{url}\" adresini doğru olarak çözümleyecek şekilde yapılandırılmamış. Bu sorun genellikle site sunucusu yapılandırmasının bu klasörü doğrudan aktaracak şekilde güncellenmemiş olmasından kaynaklanır. Lütfen kendi yapılandırmanızı, Apache için uygulama ile gelen \".htaccess\" dosyasındaki rewrite komutları ile ya da Nginx için {linkstart}belgeler ↗{linkend} bölümünde bulunan ayarlar ile karşılaştırın. Nginx üzerinde genellikle \"location ~\" ile başlayan satırların güncellenmesi gerekir.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Kopyanıza güvenli bir bağlantı üzerinden erişiyorsunuz. Bununla birlikte kopyanız güvenli olmayan adresler üretiyor. Bu durum genellikle bir ters vekil sunucunun arkasında bulunmanız nedeniyle düzgün ayarlanmamış yapılandırma değişkenlerinin değiştirilmesinden kaynaklanır. Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.", "Error occurred while checking server setup" : "Sunucu ayarları denetlenirken sorun çıktı", "For more details see the {linkstart}documentation ↗{linkend}." : "Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.", @@ -373,6 +372,7 @@ "Please try again" : "Lütfen yeniden deneyin", "The user limit of this instance is reached." : "Bu kopya için kullanıcı sayısı sınırına ulaşıldı.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Kullanıcı sayısı sınırını artırmak için destek uygulamasına abonelik kodunuzu yazın. Bu ayrıca size Nextcloud Enterprise sürümünün sunduğu ve kurumsal operasyonlar için önemle önerilen tüm ek faydaları sağlar.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Site sunucunuz \"{url}\" adresini doğru olarak çözümleyecek şekilde yapılandırılmamış. Bu sorun genellikle site sunucusu yapılandırmasının bu klasörü doğrudan aktaracak şekilde güncellenmemiş olmasından kaynaklanır. Lütfen kendi yapılandırmanızı, Apache için uygulama ile gelen \".htaccess\" dosyasındaki rewrite komutları ile ya da Nginx için {linkstart}belgeler ↗{linkend} bölümünde bulunan ayarlar ile karşılaştırın. Nginx üzerinde genellikle \"location ~\" ile başlayan satırların güncellenmesi gerekir.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Site sunucunuz .woff2 dosyalarını aktaracak şekilde yapılandırılmamış. Bu sık karşılaşılan bir Nginx yapılandırma sorunudur. Nextcloud 15 için .woff2 dosyalarını da aktaracak ek bir ayar yapılması gereklidir. Kullandığınız Nginx yapılandırmasını {linkstart}belgeler ↗{linkend} bölümünde bulunan önerilen yapılandırma dosyası ile karşılaştırın.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için {linkstart}kurulum belgeleri ↗{linkend} bölümüne bakabilirsiniz.", diff --git a/core/l10n/uk.js b/core/l10n/uk.js index c729d939932..bb684b37120 100644 --- a/core/l10n/uk.js +++ b/core/l10n/uk.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "Вже актуально", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш вебсервер не налаштований як треба для синхронізації файлів, схоже інтерфейс WebDAV поламаний.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ваш веб-сервер неправильно налаштовано для вирішення \"{url}\". Додаткову інформацію можна знайти в {linkstart}документації ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб-сервер неправильно налаштовано для вирішення \"{url}\". Швидше за все, це пов’язано з конфігурацією вебсервера, який не було оновлено для безпосередньої доставки цього каталогу. Будь ласка, порівняйте свою конфігурацію з надісланими правилами перезапису в \".htaccess\" для Apache або наданими в документації для Nginx на його {linkstart}сторінці документації ↗{linkend}. У Nginx зазвичай це рядки, що починаються з \"location ~\", які потребують оновлення.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Доступ до вашого сервера хмари здійснюється через безпечне з’єднання, однак ваш сервер створює незахищені URL-адреси. Ймовірно, що ви працюєте за зворотним проксі-сервером, при цьому неправильно зазначено параметри змінних overwrite. Рекомендуємо переглянгути {linkstart}документацію із налаштування ↗{linkend}.", "Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка", "For more details see the {linkstart}documentation ↗{linkend}." : "Додаткову інформацію див. у {linkstart}документації ↗{linkend}.", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "Будь ласка, спробуйте ще раз", "The user limit of this instance is reached." : "Досягнуто ліміту користувачів для цього сервера хмари.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Будь ласка, зазначте ключ підписки у застосунку підтримки, щоби збільшити ваш ліміт на користування. Після цього ви отримаєте додаткові можливості, які надає Nextcloud Enterprise, яку рекомендовано для бізнесу.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб-сервер неправильно налаштовано для вирішення \"{url}\". Швидше за все, це пов’язано з конфігурацією вебсервера, який не було оновлено для безпосередньої доставки цього каталогу. Будь ласка, порівняйте свою конфігурацію з надісланими правилами перезапису в \".htaccess\" для Apache або наданими в документації для Nginx на його {linkstart}сторінці документації ↗{linkend}. У Nginx зазвичай це рядки, що починаються з \"location ~\", які потребують оновлення.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ваш веб-сервер неправильно налаштовано для доставки файлів .woff2. Зазвичай це проблема з конфігурацією Nginx. Для Nextcloud 15 потрібно налаштувати, щоб також надавати файли .woff2. Порівняйте свою конфігурацію Nginx із рекомендованою конфігурацією в нашій {linkstart}документації ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не налаштований правильно для отримання змінних системного оточення. Запит getenv(\"PATH\") повертає пусті результати.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Будь ласка, перевірте {linkstart}документацію щодо встановлення ↗{linkend}, щоб отримати примітки щодо конфігурації PHP і конфігурацію PHP вашого сервера, особливо якщо використовується php-fpm.", diff --git a/core/l10n/uk.json b/core/l10n/uk.json index b410db73833..bf1f10f0620 100644 --- a/core/l10n/uk.json +++ b/core/l10n/uk.json @@ -75,7 +75,6 @@ "Already up to date" : "Вже актуально", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш вебсервер не налаштований як треба для синхронізації файлів, схоже інтерфейс WebDAV поламаний.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Ваш веб-сервер неправильно налаштовано для вирішення \"{url}\". Додаткову інформацію можна знайти в {linkstart}документації ↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб-сервер неправильно налаштовано для вирішення \"{url}\". Швидше за все, це пов’язано з конфігурацією вебсервера, який не було оновлено для безпосередньої доставки цього каталогу. Будь ласка, порівняйте свою конфігурацію з надісланими правилами перезапису в \".htaccess\" для Apache або наданими в документації для Nginx на його {linkstart}сторінці документації ↗{linkend}. У Nginx зазвичай це рядки, що починаються з \"location ~\", які потребують оновлення.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Доступ до вашого сервера хмари здійснюється через безпечне з’єднання, однак ваш сервер створює незахищені URL-адреси. Ймовірно, що ви працюєте за зворотним проксі-сервером, при цьому неправильно зазначено параметри змінних overwrite. Рекомендуємо переглянгути {linkstart}документацію із налаштування ↗{linkend}.", "Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка", "For more details see the {linkstart}documentation ↗{linkend}." : "Додаткову інформацію див. у {linkstart}документації ↗{linkend}.", @@ -373,6 +372,7 @@ "Please try again" : "Будь ласка, спробуйте ще раз", "The user limit of this instance is reached." : "Досягнуто ліміту користувачів для цього сервера хмари.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Будь ласка, зазначте ключ підписки у застосунку підтримки, щоби збільшити ваш ліміт на користування. Після цього ви отримаєте додаткові можливості, які надає Nextcloud Enterprise, яку рекомендовано для бізнесу.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Ваш веб-сервер неправильно налаштовано для вирішення \"{url}\". Швидше за все, це пов’язано з конфігурацією вебсервера, який не було оновлено для безпосередньої доставки цього каталогу. Будь ласка, порівняйте свою конфігурацію з надісланими правилами перезапису в \".htaccess\" для Apache або наданими в документації для Nginx на його {linkstart}сторінці документації ↗{linkend}. У Nginx зазвичай це рядки, що починаються з \"location ~\", які потребують оновлення.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Ваш веб-сервер неправильно налаштовано для доставки файлів .woff2. Зазвичай це проблема з конфігурацією Nginx. Для Nextcloud 15 потрібно налаштувати, щоб також надавати файли .woff2. Порівняйте свою конфігурацію Nginx із рекомендованою конфігурацією в нашій {linkstart}документації ↗{linkend}.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не налаштований правильно для отримання змінних системного оточення. Запит getenv(\"PATH\") повертає пусті результати.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Будь ласка, перевірте {linkstart}документацію щодо встановлення ↗{linkend}, щоб отримати примітки щодо конфігурації PHP і конфігурацію PHP вашого сервера, особливо якщо використовується php-fpm.", diff --git a/core/l10n/vi.js b/core/l10n/vi.js index 2855ca90c33..01100eaa6d4 100644 --- a/core/l10n/vi.js +++ b/core/l10n/vi.js @@ -73,7 +73,6 @@ OC.L10N.register( "Already up to date" : "Đã được cập nhật bản mới nhất", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Máy chủ web của bạn chưa được thiết lập đúng cách để cho phép đồng bộ hóa tệp vì giao diện WebDAV dường như bị hỏng.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Máy chủ web của bạn không được thiết lập đúng cách để xử lý \"{url}\". Bạn có thể tìm thêm thông tin trong tài liệu {linkstart}↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Máy chủ web của bạn không được thiết lập đúng cách để xử lý \"{url}\". Điều này rất có thể liên quan đến cấu hình máy chủ web chưa được cập nhật để phân phối trực tiếp thư mục này. Vui lòng so sánh cấu hình của bạn với các quy tắc rewrite trong \".htaccess\" cho Apache hoặc quy tắc được cung cấp trong tài liệu dành cho Nginx tại trang tài liệu {linkstart}của nó ↗{linkend}. Trên Nginx, đó thường là những dòng bắt đầu bằng \"location ~\" cần cập nhật.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Bạn đang truy cập phiên bản của mình qua kết nối bảo mật, tuy nhiên phiên bản của bạn đang tạo ra các URL không an toàn. Điều này rất có thể có nghĩa là bạn đang đứng sau một proxy ngược và các biến cấu hình ghi đè không được đặt chính xác. Vui lòng đọc {linkstart} trang tài liệu về {linkend} này ↗.", "Error occurred while checking server setup" : "Có lỗi xảy ra khi kiểm tra thiết lập máy chủ", "For more details see the {linkstart}documentation ↗{linkend}." : "Để biết thêm chi tiết, hãy xem tài liệu ↗ {linkstart} {linkend}.", @@ -340,6 +339,7 @@ OC.L10N.register( "Please try again" : "Vui lòng thử lại", "The user limit of this instance is reached." : "Đã đạt đến giới hạn người dùng của phiên bản này.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Nhập mã đăng ký của bạn vào ứng dụng hỗ trợ để tăng giới hạn người dùng. Điều này cũng cấp cho bạn tất cả các lợi ích bổ sung mà Nextcloud Enterprise cung cấp và rất được khuyến khích cho hoạt động của các công ty.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Máy chủ web của bạn không được thiết lập đúng cách để xử lý \"{url}\". Điều này rất có thể liên quan đến cấu hình máy chủ web chưa được cập nhật để phân phối trực tiếp thư mục này. Vui lòng so sánh cấu hình của bạn với các quy tắc rewrite trong \".htaccess\" cho Apache hoặc quy tắc được cung cấp trong tài liệu dành cho Nginx tại trang tài liệu {linkstart}của nó ↗{linkend}. Trên Nginx, đó thường là những dòng bắt đầu bằng \"location ~\" cần cập nhật.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Máy chủ web của bạn không được thiết lập đúng cách để phân phối các tệp .woff2. Đây thường là sự cố với cấu hình Nginx. Đối với Nextcloud 15, nó cần điều chỉnh để phân phối các tệp .woff2. So sánh cấu hình Nginx của bạn với cấu hình đề xuất trong {linkstart}tài liệu ↗{linkend} của chúng tôi.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP dường như không được thiết lập đúng cách để truy vấn các biến môi trường hệ thống. Thử nghiệm với getenv(\"PATH\") trả về một phản hồi trống.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vui lòng kiểm tra tài liệu cài đặt {linkstart}↗{linkend} để biết các ghi chú cấu hình PHP và cấu hình PHP của máy chủ của bạn, đặc biệt là khi sử dụng php-fpm.", diff --git a/core/l10n/vi.json b/core/l10n/vi.json index 1045be36b82..d19ce21db6c 100644 --- a/core/l10n/vi.json +++ b/core/l10n/vi.json @@ -71,7 +71,6 @@ "Already up to date" : "Đã được cập nhật bản mới nhất", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Máy chủ web của bạn chưa được thiết lập đúng cách để cho phép đồng bộ hóa tệp vì giao diện WebDAV dường như bị hỏng.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "Máy chủ web của bạn không được thiết lập đúng cách để xử lý \"{url}\". Bạn có thể tìm thêm thông tin trong tài liệu {linkstart}↗{linkend}.", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Máy chủ web của bạn không được thiết lập đúng cách để xử lý \"{url}\". Điều này rất có thể liên quan đến cấu hình máy chủ web chưa được cập nhật để phân phối trực tiếp thư mục này. Vui lòng so sánh cấu hình của bạn với các quy tắc rewrite trong \".htaccess\" cho Apache hoặc quy tắc được cung cấp trong tài liệu dành cho Nginx tại trang tài liệu {linkstart}của nó ↗{linkend}. Trên Nginx, đó thường là những dòng bắt đầu bằng \"location ~\" cần cập nhật.", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "Bạn đang truy cập phiên bản của mình qua kết nối bảo mật, tuy nhiên phiên bản của bạn đang tạo ra các URL không an toàn. Điều này rất có thể có nghĩa là bạn đang đứng sau một proxy ngược và các biến cấu hình ghi đè không được đặt chính xác. Vui lòng đọc {linkstart} trang tài liệu về {linkend} này ↗.", "Error occurred while checking server setup" : "Có lỗi xảy ra khi kiểm tra thiết lập máy chủ", "For more details see the {linkstart}documentation ↗{linkend}." : "Để biết thêm chi tiết, hãy xem tài liệu ↗ {linkstart} {linkend}.", @@ -338,6 +337,7 @@ "Please try again" : "Vui lòng thử lại", "The user limit of this instance is reached." : "Đã đạt đến giới hạn người dùng của phiên bản này.", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Nhập mã đăng ký của bạn vào ứng dụng hỗ trợ để tăng giới hạn người dùng. Điều này cũng cấp cho bạn tất cả các lợi ích bổ sung mà Nextcloud Enterprise cung cấp và rất được khuyến khích cho hoạt động của các công ty.", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "Máy chủ web của bạn không được thiết lập đúng cách để xử lý \"{url}\". Điều này rất có thể liên quan đến cấu hình máy chủ web chưa được cập nhật để phân phối trực tiếp thư mục này. Vui lòng so sánh cấu hình của bạn với các quy tắc rewrite trong \".htaccess\" cho Apache hoặc quy tắc được cung cấp trong tài liệu dành cho Nginx tại trang tài liệu {linkstart}của nó ↗{linkend}. Trên Nginx, đó thường là những dòng bắt đầu bằng \"location ~\" cần cập nhật.", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "Máy chủ web của bạn không được thiết lập đúng cách để phân phối các tệp .woff2. Đây thường là sự cố với cấu hình Nginx. Đối với Nextcloud 15, nó cần điều chỉnh để phân phối các tệp .woff2. So sánh cấu hình Nginx của bạn với cấu hình đề xuất trong {linkstart}tài liệu ↗{linkend} của chúng tôi.", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP dường như không được thiết lập đúng cách để truy vấn các biến môi trường hệ thống. Thử nghiệm với getenv(\"PATH\") trả về một phản hồi trống.", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Vui lòng kiểm tra tài liệu cài đặt {linkstart}↗{linkend} để biết các ghi chú cấu hình PHP và cấu hình PHP của máy chủ của bạn, đặc biệt là khi sử dụng php-fpm.", diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index 3f4e35ab831..9b87f9de0fd 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -75,7 +75,6 @@ OC.L10N.register( "Already up to date" : "已经是最新版本", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的网页服务器没有正确设置允许文件同步,因为 WebDAV 接口看起来无法正常工作。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "您的网页服务器未正确设置以解析“{url}”。更多信息请参见{linkstart}文档↗{linkend}。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的网页服务器没有正确配置以解析“{url}”。这很可能与 web 服务器配置没有更新以发布这个文件夹有关。请将您的配置与 Apache 的“.htaccess”文件中的默认重写规则或与这个{linkstart}文档页面↗{linkend}中提供的 Nginx 配置进行比较。在 Nginx 配置中通常需要修改以“location ~”开头的行。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "您正通过安全连接访问您的实例,然而您的实例正生成不安全的 URL。这很可能意味着您位于反向代理的后面,覆盖的配置变量没有正确设置。可以阅读{linkstart}有关此问题的文档页 ↗{linkend}", "Error occurred while checking server setup" : "检查服务器设置时出错", "For more details see the {linkstart}documentation ↗{linkend}." : "更多细节,请参见{linkstart}文档 ↗{linkend}。", @@ -367,6 +366,7 @@ OC.L10N.register( "Please try again" : "请重试", "The user limit of this instance is reached." : "已达到这个实例的最大用户数。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "在支持应用程序输入您的订阅密钥以增加用户限制。这也为您提供了 Nextcloud 企业版提供的所有额外优势,非常推荐用于公司的运营。", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的网页服务器没有正确配置以解析“{url}”。这很可能与 web 服务器配置没有更新以发布这个文件夹有关。请将您的配置与 Apache 的“.htaccess”文件中的默认重写规则或与这个{linkstart}文档页面↗{linkend}中提供的 Nginx 配置进行比较。在 Nginx 配置中通常需要修改以“location ~”开头的行。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "您的网页服务器未正确设置以服务 .woff2 文件。这通常是一个 Nginx 配置的问题。对于 Nextcloud 15,需要更改一个设置才能发布 .woff2 文件。请将您的 Nginx 配置与我们{linkstart}文档↗{linkend}中的推荐配置进行比较。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的安装似乎不正确,无法访问系统环境变量。getenv(\"PATH\") 函数测试返回了一个空值。", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "请检查{linkstart}安装文档 ↗{linkend}中关于 PHP 的配置说明和您服务器上的 PHP 配置,特别是在使用 php-fpm 时。", diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index 2cd686584fc..4e10cded916 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -73,7 +73,6 @@ "Already up to date" : "已经是最新版本", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的网页服务器没有正确设置允许文件同步,因为 WebDAV 接口看起来无法正常工作。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "您的网页服务器未正确设置以解析“{url}”。更多信息请参见{linkstart}文档↗{linkend}。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的网页服务器没有正确配置以解析“{url}”。这很可能与 web 服务器配置没有更新以发布这个文件夹有关。请将您的配置与 Apache 的“.htaccess”文件中的默认重写规则或与这个{linkstart}文档页面↗{linkend}中提供的 Nginx 配置进行比较。在 Nginx 配置中通常需要修改以“location ~”开头的行。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "您正通过安全连接访问您的实例,然而您的实例正生成不安全的 URL。这很可能意味着您位于反向代理的后面,覆盖的配置变量没有正确设置。可以阅读{linkstart}有关此问题的文档页 ↗{linkend}", "Error occurred while checking server setup" : "检查服务器设置时出错", "For more details see the {linkstart}documentation ↗{linkend}." : "更多细节,请参见{linkstart}文档 ↗{linkend}。", @@ -365,6 +364,7 @@ "Please try again" : "请重试", "The user limit of this instance is reached." : "已达到这个实例的最大用户数。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "在支持应用程序输入您的订阅密钥以增加用户限制。这也为您提供了 Nextcloud 企业版提供的所有额外优势,非常推荐用于公司的运营。", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的网页服务器没有正确配置以解析“{url}”。这很可能与 web 服务器配置没有更新以发布这个文件夹有关。请将您的配置与 Apache 的“.htaccess”文件中的默认重写规则或与这个{linkstart}文档页面↗{linkend}中提供的 Nginx 配置进行比较。在 Nginx 配置中通常需要修改以“location ~”开头的行。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "您的网页服务器未正确设置以服务 .woff2 文件。这通常是一个 Nginx 配置的问题。对于 Nextcloud 15,需要更改一个设置才能发布 .woff2 文件。请将您的 Nginx 配置与我们{linkstart}文档↗{linkend}中的推荐配置进行比较。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的安装似乎不正确,无法访问系统环境变量。getenv(\"PATH\") 函数测试返回了一个空值。", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "请检查{linkstart}安装文档 ↗{linkend}中关于 PHP 的配置说明和您服务器上的 PHP 配置,特别是在使用 php-fpm 时。", diff --git a/core/l10n/zh_HK.js b/core/l10n/zh_HK.js index a79bbfda3d5..88d98859908 100644 --- a/core/l10n/zh_HK.js +++ b/core/l10n/zh_HK.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "此版本為最新版本", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAV 界面似乎為故障狀態,導致您的網頁伺服器無法提供檔案同步功能。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "您的網絡伺服器未正確設置為解析“ {url}”。可以在 {linkstart} 說明書↗{linkend} 中找到更多信息。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的網絡伺服器未正確設置為解析“ {url}”。這很可能與未更新為直接傳送此資料夾的Web伺服器配置有關。請將您的配置與Apache的“。htaccess”中提供的重寫規則或Nginx文檔中提供的重寫規則(位於{linkstart}文檔頁面↗{linkend})進行比較。在Nginx上,通常以“ location ~”開頭的行需要更新。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "您正在通過安全連接存取實例,但是您的實例正在生成不安全的URL。這很可能意味著您被隱藏在反向代理(reverse proxy)之後,並且覆蓋配置變量(overwrite config variables)未正確設置。請閱讀{linkstart}有關此的文檔頁面↗{linkend}。", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "For more details see the {linkstart}documentation ↗{linkend}." : "有關更多細節,請參見 {linkstart} 說明書↗{linkedin}。", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "請再試一次", "The user limit of this instance is reached." : "的達此實例的用戶上限。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "在支援應用程式中輸入您的訂閱金鑰以增加用戶限制。這也確實為您提供了 Nextcloud Enterprise 提供的所有額外好處,並且強烈推薦用於公司的營運。", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的網絡伺服器未正確設置為解析“ {url}”。這很可能與未更新為直接傳送此資料夾的Web伺服器配置有關。請將您的配置與Apache的“。htaccess”中提供的重寫規則或Nginx文檔中提供的重寫規則(位於{linkstart}文檔頁面↗{linkend})進行比較。在Nginx上,通常以“ location ~”開頭的行需要更新。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "您的 Web 伺服器未正確設置為傳遞 .woff2 檔案。這通常是 Nginx 配置的問題。對於Nextcloud 15,需要進行調整以同時交付 .woff2 檔案。將您的 Nginx 配置與我們的{linkstart}文檔↗{linkend}中的推薦配置進行比較。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 設定似乎不完整,導致無法正確取得系統環境變數,因為偵測到 getenv(\"PATH\") 回傳資料為空值", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "請查看 {linkstart}安裝文檔↗{linkend},以獲取PHP配置說明和伺服器的PHP配置,尤其是在使用 php-fpm 時。", diff --git a/core/l10n/zh_HK.json b/core/l10n/zh_HK.json index 6bfd9d76945..361d7e720df 100644 --- a/core/l10n/zh_HK.json +++ b/core/l10n/zh_HK.json @@ -75,7 +75,6 @@ "Already up to date" : "此版本為最新版本", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAV 界面似乎為故障狀態,導致您的網頁伺服器無法提供檔案同步功能。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "您的網絡伺服器未正確設置為解析“ {url}”。可以在 {linkstart} 說明書↗{linkend} 中找到更多信息。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的網絡伺服器未正確設置為解析“ {url}”。這很可能與未更新為直接傳送此資料夾的Web伺服器配置有關。請將您的配置與Apache的“。htaccess”中提供的重寫規則或Nginx文檔中提供的重寫規則(位於{linkstart}文檔頁面↗{linkend})進行比較。在Nginx上,通常以“ location ~”開頭的行需要更新。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "您正在通過安全連接存取實例,但是您的實例正在生成不安全的URL。這很可能意味著您被隱藏在反向代理(reverse proxy)之後,並且覆蓋配置變量(overwrite config variables)未正確設置。請閱讀{linkstart}有關此的文檔頁面↗{linkend}。", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "For more details see the {linkstart}documentation ↗{linkend}." : "有關更多細節,請參見 {linkstart} 說明書↗{linkedin}。", @@ -373,6 +372,7 @@ "Please try again" : "請再試一次", "The user limit of this instance is reached." : "的達此實例的用戶上限。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "在支援應用程式中輸入您的訂閱金鑰以增加用戶限制。這也確實為您提供了 Nextcloud Enterprise 提供的所有額外好處,並且強烈推薦用於公司的營運。", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的網絡伺服器未正確設置為解析“ {url}”。這很可能與未更新為直接傳送此資料夾的Web伺服器配置有關。請將您的配置與Apache的“。htaccess”中提供的重寫規則或Nginx文檔中提供的重寫規則(位於{linkstart}文檔頁面↗{linkend})進行比較。在Nginx上,通常以“ location ~”開頭的行需要更新。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "您的 Web 伺服器未正確設置為傳遞 .woff2 檔案。這通常是 Nginx 配置的問題。對於Nextcloud 15,需要進行調整以同時交付 .woff2 檔案。將您的 Nginx 配置與我們的{linkstart}文檔↗{linkend}中的推薦配置進行比較。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 設定似乎不完整,導致無法正確取得系統環境變數,因為偵測到 getenv(\"PATH\") 回傳資料為空值", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "請查看 {linkstart}安裝文檔↗{linkend},以獲取PHP配置說明和伺服器的PHP配置,尤其是在使用 php-fpm 時。", diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index 5568251e6a2..965c35779fd 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -77,7 +77,6 @@ OC.L10N.register( "Already up to date" : "此版本為最新版本", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAV 介面似乎為故障狀態,導致您的網頁伺服器無法提供檔案同步功能。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "您的網頁伺服器設定不正確,因此無法解析「{url}」。更多資訊可在{linkstart}文件 ↗{linkend}中找到。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的伺服器並未正確的設定解析「{url}」。這可能與伺服器的設定未更新為直接傳送此資料夾有關。請檢查 Apache 的 \".htaccess\" 檔案,或在 Nginx 中的{linkstart}文件頁面 ↗{linkend}中查閱重寫規則。在 Nginx 環境中,通常是在由 \"location ~\" 開始的那行需要做調整。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "你經由安全的連線存取系統,但系統卻生成了不安全的 URL。這很有可能是因為你使用了反向代理伺服器,但反向代理伺服器的改寫規則並未正常工作,請閱讀{linkstart}關於此問題的文件頁面 ↗{linkend}。", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "For more details see the {linkstart}documentation ↗{linkend}." : "更多詳細資訊請見{linkstart}文件 ↗{linkend}。", @@ -375,6 +374,7 @@ OC.L10N.register( "Please try again" : "請再試一次", "The user limit of this instance is reached." : "已達此站台的使用者數量上限。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "在支援應用程式中輸入您的訂閱金鑰以增加使用者限制。這也確實為您提供了 Nextcloud Enterprise 提供的所有額外好處,並且強烈推薦用於公司的營運。", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的伺服器並未正確的設定解析「{url}」。這可能與伺服器的設定未更新為直接傳送此資料夾有關。請檢查 Apache 的 \".htaccess\" 檔案,或在 Nginx 中的{linkstart}文件頁面 ↗{linkend}中查閱重寫規則。在 Nginx 環境中,通常是在由 \"location ~\" 開始的那行需要做調整。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "您的伺服器並未正確的設定,因此無法傳遞 .woff2 的檔案。這通常是因為 Nginx 的設定問題所導致。在 Nextcloud 15 中,需要一些調整才能一並傳遞 .woff2 的檔案。請檢查您的 Nginx 設定,和 Nextcloud {linkstart}說明文件 ↗{linkend}中提到的建議設定。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 設定似乎不完整,導致無法正確取得系統環境變數,因為偵測到 getenv(\"PATH\") 回傳資料為空值", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "請參考{linkstart}安裝文件 ↗{linkend}中 PHP 設定的註記,並檢查您伺服器上的 PHP 設定,特別是如果您是使用 php-fpm 的情況下。", diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index 0b691409cb7..fc348f3942e 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -75,7 +75,6 @@ "Already up to date" : "此版本為最新版本", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "WebDAV 介面似乎為故障狀態,導致您的網頁伺服器無法提供檔案同步功能。", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the {linkstart}documentation ↗{linkend}." : "您的網頁伺服器設定不正確,因此無法解析「{url}」。更多資訊可在{linkstart}文件 ↗{linkend}中找到。", - "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的伺服器並未正確的設定解析「{url}」。這可能與伺服器的設定未更新為直接傳送此資料夾有關。請檢查 Apache 的 \".htaccess\" 檔案,或在 Nginx 中的{linkstart}文件頁面 ↗{linkend}中查閱重寫規則。在 Nginx 環境中,通常是在由 \"location ~\" 開始的那行需要做調整。", "You are accessing your instance over a secure connection, however your instance is generating insecure URLs. This most likely means that you are behind a reverse proxy and the overwrite config variables are not set correctly. Please read {linkstart}the documentation page about this ↗{linkend}." : "你經由安全的連線存取系統,但系統卻生成了不安全的 URL。這很有可能是因為你使用了反向代理伺服器,但反向代理伺服器的改寫規則並未正常工作,請閱讀{linkstart}關於此問題的文件頁面 ↗{linkend}。", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "For more details see the {linkstart}documentation ↗{linkend}." : "更多詳細資訊請見{linkstart}文件 ↗{linkend}。", @@ -373,6 +372,7 @@ "Please try again" : "請再試一次", "The user limit of this instance is reached." : "已達此站台的使用者數量上限。", "Enter your subscription key in the support app in order to increase the user limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "在支援應用程式中輸入您的訂閱金鑰以增加使用者限制。這也確實為您提供了 Nextcloud Enterprise 提供的所有額外好處,並且強烈推薦用於公司的營運。", + "Your web server is not properly set up to resolve \"{url}\". This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx at it's {linkstart}documentation page ↗{linkend}. On Nginx those are typically the lines starting with \"location ~\" that need an update." : "您的伺服器並未正確的設定解析「{url}」。這可能與伺服器的設定未更新為直接傳送此資料夾有關。請檢查 Apache 的 \".htaccess\" 檔案,或在 Nginx 中的{linkstart}文件頁面 ↗{linkend}中查閱重寫規則。在 Nginx 環境中,通常是在由 \"location ~\" 開始的那行需要做調整。", "Your web server is not properly set up to deliver .woff2 files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustement to also deliver .woff2 files. Compare your Nginx configuration to the recommended configuration in our {linkstart}documentation ↗{linkend}." : "您的伺服器並未正確的設定,因此無法傳遞 .woff2 的檔案。這通常是因為 Nginx 的設定問題所導致。在 Nextcloud 15 中,需要一些調整才能一並傳遞 .woff2 的檔案。請檢查您的 Nginx 設定,和 Nextcloud {linkstart}說明文件 ↗{linkend}中提到的建議設定。", "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 設定似乎不完整,導致無法正確取得系統環境變數,因為偵測到 getenv(\"PATH\") 回傳資料為空值", "Please check the {linkstart}installation documentation ↗{linkend} for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "請參考{linkstart}安裝文件 ↗{linkend}中 PHP 設定的註記,並檢查您伺服器上的 PHP 設定,特別是如果您是使用 php-fpm 的情況下。", diff --git a/core/register_command.php b/core/register_command.php index ac585214906..4a84e551ce0 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -161,6 +161,7 @@ if ($config->getSystemValueBool('installed', false)) { $application->add(Server::get(Command\User\AuthTokens\Add::class)); $application->add(Server::get(Command\User\AuthTokens\ListCommand::class)); $application->add(Server::get(Command\User\AuthTokens\Delete::class)); + $application->add(Server::get(Command\User\Keys\Verify::class)); $application->add(Server::get(Command\Group\Add::class)); $application->add(Server::get(Command\Group\Delete::class)); diff --git a/cron.php b/cron.php index 4e95481deb6..6f61bb0c2a2 100644 --- a/cron.php +++ b/cron.php @@ -115,11 +115,11 @@ try { } $user = posix_getuid(); - $configUser = fileowner(OC::$configDir . 'config.php'); - if ($user !== $configUser) { - echo "Console has to be executed with the user that owns the file config/config.php" . PHP_EOL; + $dataDirectoryUser = fileowner($config->getSystemValueString('datadirectory', \OC::$SERVERROOT . '/data')); + if ($user !== $dataDirectoryUser) { + echo "Console has to be executed with the user that owns the data directory" . PHP_EOL; echo "Current user id: " . $user . PHP_EOL; - echo "Owner id of config.php: " . $configUser . PHP_EOL; + echo "Owner id of the data directory: " . $dataDirectoryUser . PHP_EOL; exit(1); } diff --git a/dist/comments-comments-app.js b/dist/comments-comments-app.js index 72e9682d403..7fc2e694ada 100644 --- a/dist/comments-comments-app.js +++ b/dist/comments-comments-app.js @@ -1,3 +1,3 @@ /*! For license information please see comments-comments-app.js.LICENSE.txt */ -(()=>{var e,n,r,o={46504:(e,n,r)=>{"use strict";var o=r(53334),s=r(92457),i=r(85471),a=r(85168),c=r(80284),l=r(96763);function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function p(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},i=function(i){for(var a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1){var r=t.find((function(t){return t.isIntersecting}));r&&(e=r)}if(n.callback){var o=e.isIntersecting&&e.intersectionRatio>=n.threshold;if(o===n.oldResult)return;n.oldResult=o,n.callback(o,e)}}),this.options.intersection),e.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&"number"==typeof this.options.intersection.threshold?this.options.intersection.threshold:0}}],n&&p(e.prototype,n),t}();function f(t,e,n){var r=e.value;if(r)if("undefined"==typeof IntersectionObserver)l.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new m(t,r,n);t._vue_visibilityState=o}}function g(t){var e=t._vue_visibilityState;e&&(e.destroyObserver(),delete t._vue_visibilityState)}var b={bind:f,update:function(t,e,n){var r=e.value;if(!d(r,e.oldValue)){var o=t._vue_visibilityState;r?o?o.createObserver(r,n):f(t,{value:r},n):g(t)}},unbind:g},v={version:"1.0.0",install:function(t){t.directive("observe-visibility",b)}},A=null;"undefined"!=typeof window?A=window.Vue:void 0!==r.g&&(A=r.g.Vue),A&&A.use(v);const y=v;var C=r(30161),w=r(54576);const _={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var x=r(14486);const O=(0,x.A)(_,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,S={name:"MessageReplyTextIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},j=(0,x.A)(S,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon message-reply-text-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,k={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},E=(0,x.A)(k,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var T=r(52054),M=r(24764),N=r(81004),P=r(41944),I=r(4604),R=r(80701),$=r(9191),D=r(99498);const L=function(){return(0,D.dC)("dav/comments")};function B(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const n=new DOMParser;let r=t;for(let t=0;t({deleted:!1,editing:!1,loading:!1}),methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(e){this.loading=!0;try{await async function(t,e,n,r){const o=["",t,e,n].join("/");return await V.customRequest(o,Object.assign({method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(r,"\n\t\t\t\t\n\t\t\t\n\t\t\t")}))}(this.resourceType,this.resourceId,this.id,e),q.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:e}),this.$emit("update:message",e),this.editing=!1}catch(e){(0,a.Qg)(t("comments","An error occurred while trying to edit the comment")),G.error(e)}finally{this.loading=!1}},onDeleteWithUndo(){this.deleted=!0;const e=setTimeout(this.onDelete,a.Br);(0,a._h)(t("comments","Comment deleted"),(()=>{clearTimeout(e),this.deleted=!1}))},async onDelete(){try{await async function(t,e,n){const r=["",t,e,n].join("/");await V.deleteFile(r)}(this.resourceType,this.resourceId,this.id),q.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(e){(0,a.Qg)(t("comments","An error occurred while trying to delete the comment")),G.error(e),this.deleted=!1}},async onNewComment(e){this.loading=!0;try{const t=await async function(t,e,n){const r=["",t,e].join("/"),o=await z.A.post(L()+r,{actorDisplayName:(0,s.HW)().displayName,actorId:(0,s.HW)().uid,actorType:"users",creationDateTime:(new Date).toUTCString(),message:n,objectType:t,verb:"comment"}),i=r+"/"+parseInt(o.headers["content-location"].split("/").pop()),a=await V.stat(i,{details:!0}),c=a.data.props;return c.actorDisplayName=B(c.actorDisplayName,2),c.message=B(c.message,2),a.data}(this.resourceType,this.resourceId,e);q.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:t}),this.$emit("new",t),this.$emit("update:message",""),this.localMessage=""}catch(e){(0,a.Qg)(t("comments","An error occurred while trying to create the comment")),G.error(e)}finally{this.loading=!1}}}},U={name:"Comment",components:{ArrowRight:$.A,NcActionButton:T.A,NcActions:M.A,NcActionSeparator:N.A,NcAvatar:P.A,NcButton:w.A,NcDateTime:I.A,NcRichContenteditable:()=>Promise.all([r.e(4208),r.e(5528)]).then(r.bind(r,95528))},mixins:[R.Ay,F],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},tag:{type:String,default:"div"}},data:()=>({expanded:!1,localMessage:"",submitted:!1}),computed:{isOwnComment(){return(0,s.HW)().uid===this.actorId},renderedContent(){return this.isEmptyMessage?"":this.renderContent(this.localMessage)},isEmptyMessage(){return!this.localMessage||""===this.localMessage.trim()},timestamp(){return Date.parse(this.creationDateTime)}},watch:{message(t){this.updateLocalMessage(t)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:o.Tl,updateLocalMessage(t){this.localMessage=t.toString(),this.submitted=!1},onSubmit(){if(""!==this.localMessage.trim())return this.editor?(this.onNewComment(this.localMessage.trim()),void this.$nextTick((()=>{this.$refs.editor.$el.focus()}))):void this.onEditComment(this.localMessage.trim())},onExpand(){this.expanded=!0}}};var Z=r(85072),Q=r.n(Z),Y=r(97825),X=r.n(Y),K=r(77659),J=r.n(K),tt=r(55056),et=r.n(tt),nt=r(10540),rt=r.n(nt),ot=r(41113),st=r.n(ot),it=r(95039),at={};at.styleTagTransform=st(),at.setAttributes=et(),at.insert=J().bind(null,"head"),at.domAPI=X(),at.insertStyleElement=rt(),Q()(it.A,at),it.A&&it.A.locals&&it.A.locals;const ct=(0,x.A)(U,(function(){var t=this,e=t._self._c;return e(t.tag,{directives:[{name:"show",rawName:"v-show",value:!t.deleted,expression:"!deleted"}],tag:"component",staticClass:"comment",class:{"comment--loading":t.loading}},[e("div",{staticClass:"comment__side"},[e("NcAvatar",{staticClass:"comment__avatar",attrs:{"display-name":t.actorDisplayName,user:t.actorId,size:32}})],1),t._v(" "),e("div",{staticClass:"comment__body"},[e("div",{staticClass:"comment__header"},[e("span",{staticClass:"comment__author"},[t._v(t._s(t.actorDisplayName))]),t._v(" "),t.isOwnComment&&t.id&&!t.loading?e("NcActions",{staticClass:"comment__actions"},[t.editing?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:t.onEditCancel}},[t._v("\n\t\t\t\t\t"+t._s(t.t("comments","Cancel edit"))+"\n\t\t\t\t")]):[e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-rename"},on:{click:t.onEdit}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Edit comment"))+"\n\t\t\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-delete"},on:{click:t.onDeleteWithUndo}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Delete comment"))+"\n\t\t\t\t\t")])]],2):t._e(),t._v(" "),t.id&&t.loading?e("div",{staticClass:"comment_loading icon-loading-small"}):t.creationDateTime?e("NcDateTime",{staticClass:"comment__timestamp",attrs:{timestamp:t.timestamp,"ignore-seconds":!0}}):t._e()],1),t._v(" "),t.editor||t.editing?e("form",{staticClass:"comment__editor",on:{submit:function(t){t.preventDefault()}}},[e("div",{staticClass:"comment__editor-group"},[e("NcRichContenteditable",{ref:"editor",attrs:{"auto-complete":t.autoComplete,contenteditable:!t.loading,label:t.editor?t.t("comments","New comment"):t.t("comments","Edit comment"),placeholder:t.t("comments","Write a comment …"),value:t.localMessage,"user-data":t.userData,"aria-describedby":"tab-comments__editor-description"},on:{"update:value":t.updateLocalMessage,submit:t.onSubmit}}),t._v(" "),e("div",{staticClass:"comment__submit"},[e("NcButton",{attrs:{type:"tertiary-no-background","native-type":"submit","aria-label":t.t("comments","Post comment"),disabled:t.isEmptyMessage},on:{click:t.onSubmit},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("span",{staticClass:"icon-loading-small"}):e("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,2357784758)})],1)],1),t._v(" "),e("div",{staticClass:"comment__editor-description",attrs:{id:"tab-comments__editor-description"}},[t._v("\n\t\t\t\t"+t._s(t.t("comments","@ for mentions, : for emoji, / for smart picker"))+"\n\t\t\t")])]):e("div",{staticClass:"comment__message",class:{"comment__message--expanded":t.expanded},domProps:{innerHTML:t._s(t.renderedContent)},on:{click:t.onExpand}})])])}),[],!1,null,"e4ab9720",null).exports;var lt=r(68928);const ut={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},pt=t=>t.replace(/[[\]\\-]/g,"\\$&"),ht=t=>t.join(""),dt=(t,e)=>{const n=e;if("["!==t.charAt(n))throw new Error("not in a brace expression");const r=[],o=[];let s=n+1,i=!1,a=!1,c=!1,l=!1,u=n,p="";t:for(;sp?r.push(pt(p)+"-"+pt(e)):e===p&&r.push(pt(e)),p="",s++):t.startsWith("-]",s+1)?(r.push(pt(e+"-")),s+=2):t.startsWith("-",s+1)?(p=e,s+=2):(r.push(pt(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(Ut(e),!(!n.nocomment&&"#"===e.charAt(0))&&new Yt(e,n).match(t)),bt=/^\*+([^+@!?\*\[\(]*)$/,vt=t=>e=>!e.startsWith(".")&&e.endsWith(t),At=t=>e=>e.endsWith(t),yt=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),Ct=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),wt=/^\*+\.\*+$/,_t=t=>!t.startsWith(".")&&t.includes("."),xt=t=>"."!==t&&".."!==t&&t.includes("."),Ot=/^\.\*+$/,St=t=>"."!==t&&".."!==t&&t.startsWith("."),jt=/^\*+$/,kt=t=>0!==t.length&&!t.startsWith("."),Et=t=>0!==t.length&&"."!==t&&".."!==t,Tt=/^\?+([^+@!?\*\[\(]*)?$/,Mt=([t,e=""])=>{const n=Rt([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},Nt=([t,e=""])=>{const n=$t([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},Pt=([t,e=""])=>{const n=$t([t]);return e?t=>n(t)&&t.endsWith(e):n},It=([t,e=""])=>{const n=Rt([t]);return e?t=>n(t)&&t.endsWith(e):n},Rt=([t])=>{const e=t.length;return t=>t.length===e&&!t.startsWith(".")},$t=([t])=>{const e=t.length;return t=>t.length===e&&"."!==t&&".."!==t},Dt="object"==typeof mt&&mt?"object"==typeof mt.env&&mt.env&&mt.env.__MINIMATCH_TESTING_PLATFORM__||mt.platform:"posix";gt.sep="win32"===Dt?"\\":"/";const Lt=Symbol("globstar **");gt.GLOBSTAR=Lt;const Bt={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},Wt="[^/]",zt=Wt+"*?",Ht=t=>t.split("").reduce(((t,e)=>(t[e]=!0,t)),{}),Vt=Ht("().*{}+?[]^$\\!"),qt=Ht("[.(");gt.filter=(t,e={})=>n=>gt(n,t,e);const Gt=(t,e={})=>Object.assign({},t,e);gt.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return gt;const e=gt;return Object.assign(((n,r,o={})=>e(n,r,Gt(t,o))),{Minimatch:class extends e.Minimatch{constructor(e,n={}){super(e,Gt(t,n))}static defaults(n){return e.defaults(Gt(t,n)).Minimatch}},unescape:(n,r={})=>e.unescape(n,Gt(t,r)),escape:(n,r={})=>e.escape(n,Gt(t,r)),filter:(n,r={})=>e.filter(n,Gt(t,r)),defaults:n=>e.defaults(Gt(t,n)),makeRe:(n,r={})=>e.makeRe(n,Gt(t,r)),braceExpand:(n,r={})=>e.braceExpand(n,Gt(t,r)),match:(n,r,o={})=>e.match(n,r,Gt(t,o)),sep:e.sep,GLOBSTAR:Lt})};const Ft=(t,e={})=>(Ut(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:lt(t));gt.braceExpand=Ft;const Ut=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")};gt.makeRe=(t,e={})=>new Yt(t,e).makeRe(),gt.match=(t,e,n={})=>{const r=new Yt(e,n);return t=t.filter((t=>r.match(t))),r.options.nonull&&!t.length&&t.push(e),t};const Zt=/[?*]|[+@!]\(.*?\)|\[|\]/,Qt=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Yt{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){Ut(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||Dt,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if("string"!=typeof e)return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...t)=>ft.error(...t)),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&Zt.test(t[2])||Zt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf("**",e+1));){let n=e;for(;"**"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return"**"===e&&"**"===n?t:".."===e&&n&&".."!==n&&"."!==n&&"**"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let s=n[r+1];const i=n[r+2],a=n[r+3];if(".."!==s)continue;if(!i||"."===i||".."===i||!a||"."===a||".."===a)continue;e=!0,n.splice(r,1);const c=n.slice(0);c[r]="**",t.push(c),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e,n=!1){let r=0,o=0,s=[],i="";for(;r=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var s=0,i=0,a=t.length,c=e.length;s>> no match, partial?",t,p,e,h),p!==a))}let o;if("string"==typeof l?(o=u===l,this.debug("string match",l,u,o)):(o=l.test(u),this.debug("pattern match",l,u,o)),!o)return!1}if(s===a&&i===c)return!0;if(s===a)return n;if(i===c)return s===a-1&&""===t[s];throw new Error("wtf?")}braceExpand(){return Ft(this.pattern,this.options)}parse(t){Ut(t);const e=this.options;if("**"===t)return Lt;if(""===t)return"";let n,r=null;(n=t.match(jt))?r=e.dot?Et:kt:(n=t.match(bt))?r=(e.nocase?e.dot?Ct:yt:e.dot?At:vt)(n[1]):(n=t.match(Tt))?r=(e.nocase?e.dot?Nt:Mt:e.dot?Pt:It)(n):(n=t.match(wt))?r=e.dot?xt:_t:(n=t.match(Ot))&&(r=St);let o="",s=!1,i=!1;const a=[],c=[];let l,u=!1,p=!1,h="."===t.charAt(0),d=e.dot||h;const m=t=>"."===t.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",f=()=>{if(u){switch(u){case"*":o+=zt,s=!0;break;case"?":o+=Wt,s=!0;break;default:o+="\\"+u}this.debug("clearStateChar %j %j",u,o),u=!1}};for(let n,r=0;r(n||(n="\\"),e+e+n+"|"))),this.debug("tail=%j\n %s",t,t,l,o);const e="*"===l.type?zt:"?"===l.type?Wt:"\\"+l.type;s=!0,o=o.slice(0,l.reStart)+e+"\\("+t}f(),i&&(o+="\\\\");const g=qt[o.charAt(0)];for(let t=c.length-1;t>-1;t--){const e=c[t],n=o.slice(0,e.reStart),r=o.slice(e.reStart,e.reEnd-8);let s=o.slice(e.reEnd);const i=o.slice(e.reEnd-8,e.reEnd)+s,a=n.split(")").length,l=n.split("(").length-a;let u=s;for(let t=0;t{const e=t.map((t=>"string"==typeof t?Qt(t):t===Lt?Lt:t._src));return e.forEach(((t,r)=>{const o=e[r+1],s=e[r-1];t===Lt&&s!==Lt&&(void 0===s?void 0!==o&&o!==Lt?e[r+1]="(?:\\/|"+n+"\\/)?"+o:e[r]=n:void 0===o?e[r-1]=s+"(?:\\/|"+n+")?":o!==Lt&&(e[r-1]=s+"(?:\\/|\\/"+n+"\\/)"+o,e[r+1]=Lt))})),e.filter((t=>t!==Lt)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,r)}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const r=this.slashSplit(t);this.debug(this.pattern,"split",r);const o=this.set;this.debug(this.pattern,"set",o);let s=r[r.length-1];if(!s)for(let t=r.length-2;!s&&t>=0;t--)s=r[t];for(let t=0;te?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),gt.unescape=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var Xt,Kt=r(79605),Jt=r(12692);r(86454),r(26602),Error,function(t){t.Array="array",t.Object="object",t.Original="original"}(Xt||(Xt={}));const te=async function(t,e){var n;let{resourceType:r,resourceId:o}=t;const s=["",r,o].join("/"),i=e.datetime?"".concat(e.datetime.toISOString(),""):"",a=await V.customRequest(s,Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t'.concat(null!==(n=e.limit)&&void 0!==n?n:20,"\n\t\t\t\t").concat(e.offset||0,"\n\t\t\t\t").concat(i,"\n\t\t\t")},e)),c=await a.text(),l=await(0,H.h4)(c);return function(t,e,n=!1){return n?{data:e,headers:t.headers?(0,Kt.N)(t.headers):{},status:t.status,statusText:t.statusText}:e}(a,ee(l,!0),!0)},ee=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:n}}=t;return n.map((t=>{const{propstat:{prop:n}}=t;return function(t,e,n=!1){const{getlastmodified:r=null,getcontentlength:o="0",resourcetype:s=null,getcontenttype:i=null,getetag:a=null}=t,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l={filename:e,basename:Jt.basename(e),lastmod:r,size:parseInt(o,10),type:c,etag:"string"==typeof a?a.replace(/"/g,""):null};return"file"===c&&(l.mime=i&&"string"==typeof i?i.split(";")[0]:""),n&&(l.props=t),l}(n,n.id.toString(),e)}))};var ne=r(38613);const re=(0,i.pM)({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data:()=>({editorData:{actorDisplayName:(0,s.HW)().displayName,actorId:(0,s.HW)().uid,key:"editor"},userData:{}}),methods:{async autoComplete(t,e){const{data:n}=await z.A.get((0,D.KT)("core/autocomplete/get"),{params:{search:t,itemType:"files",itemId:this.resourceId,sorter:"commenters|share-recipients",limit:(0,ne.C)("comments","maxAutoCompleteResults")}});return n.ocs.data.forEach((t=>{this.userData[t.id]=t})),e(Object.values(this.userData))},genMentionsData(t){return Object.values(t).flat().forEach((t=>{var e;this.userData[t.mentionId]={icon:"icon-user",id:t.mentionId,label:t.mentionDisplayName,source:"users",primary:(null===(e=(0,s.HW)())||void 0===e?void 0:e.uid)===t.mentionId}})),this.userData}}});var oe=r(96763);i.Ay.use(c.Ay),i.Ay.use(y);const se={name:"Comments",components:{Comment:ct,NcEmptyContent:C.A,NcButton:w.A,RefreshIcon:O,MessageReplyTextIcon:j,AlertCircleOutlineIcon:E},mixins:[re],data:()=>({error:"",loading:!1,done:!1,resourceId:null,offset:0,comments:[],cancelRequest:()=>{},Comment:ct,userData:{}}),computed:{hasComments(){return this.comments.length>0},isFirstLoading(){return this.loading&&0===this.offset}},methods:{t:o.Tl,async onVisibilityChange(t){if(t)try{await((t,e,n)=>{const r=["",t,e].join("/"),o=n.toUTCString();return V.customRequest(r,{method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(o,"\n\t\t\t\t\n\t\t\t\n\t\t\t")})})(this.resourceType,this.resourceId,new Date)}catch(t){(0,a.Qg)(t.message||(0,o.Tl)("comments","Failed to mark comments as read"))}},async update(t){this.resourceId=t,this.resetState(),this.getComments()},onScrollBottomReached(){this.error||this.done||this.loading||this.getComments()},async getComments(){this.cancelRequest("cancel");try{this.loading=!0,this.error="";const{request:t,abort:e}=function(t){const e=new AbortController,n=e.signal;return{request:async function(e,r){return await t(e,Object.assign({signal:n},r))},abort:()=>e.abort()}}(te);this.cancelRequest=e;const{data:n}=await t({resourceType:this.resourceType,resourceId:this.resourceId},{offset:this.offset})||{data:[]};this.logger.debug("Processed ".concat(n.length," comments"),{comments:n}),n.length<20&&(this.done=!0),this.comments.push(...n),this.offset+=20}catch(t){if("cancel"===t.message)return;this.error=(0,o.Tl)("comments","Unable to load the comments list"),oe.error("Error loading the comments list",t)}finally{this.loading=!1}},onNewComment(t){this.comments.unshift(t)},onDelete(t){const e=this.comments.findIndex((e=>e.props.id===t));e>-1?this.comments.splice(e,1):oe.error("Could not find the deleted comment in the list",t)},resetState(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}};var ie=r(18038),ae={};ae.styleTagTransform=st(),ae.setAttributes=et(),ae.insert=J().bind(null,"head"),ae.domAPI=X(),ae.insertStyleElement=rt(),Q()(ie.A,ae),ie.A&&ie.A.locals&&ie.A.locals;const ce=(0,x.A)(se,(function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:t.onVisibilityChange,expression:"onVisibilityChange"}],staticClass:"comments",class:{"icon-loading":t.isFirstLoading}},[e("Comment",t._b({staticClass:"comments__writer",attrs:{"auto-complete":t.autoComplete,"resource-type":t.resourceType,editor:!0,"user-data":t.userData,"resource-id":t.resourceId},on:{new:t.onNewComment}},"Comment",t.editorData,!1)),t._v(" "),t.isFirstLoading?t._e():[!t.hasComments&&t.done?e("NcEmptyContent",{staticClass:"comments__empty",attrs:{name:t.t("comments","No comments yet, start the conversation!")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("MessageReplyTextIcon")]},proxy:!0}],null,!1,1033639148)}):e("ul",t._l(t.comments,(function(n){return e("Comment",t._b({key:n.props.id,staticClass:"comments__list",attrs:{tag:"li","auto-complete":t.autoComplete,"resource-type":t.resourceType,message:n.props.message,"resource-id":t.resourceId,"user-data":t.genMentionsData(n.props.mentions)},on:{"update:message":function(e){return t.$set(n.props,"message",e)},delete:t.onDelete}},"Comment",n.props,!1))})),1),t._v(" "),t.loading&&!t.isFirstLoading?e("div",{staticClass:"comments__info icon-loading"}):t.hasComments&&t.done?e("div",{staticClass:"comments__info"},[t._v("\n\t\t\t"+t._s(t.t("comments","No more messages"))+"\n\t\t")]):t.error?[e("NcEmptyContent",{staticClass:"comments__error",attrs:{name:t.error},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AlertCircleOutlineIcon")]},proxy:!0}],null,!1,66050004)}),t._v(" "),e("NcButton",{staticClass:"comments__retry",on:{click:t.getComments},scopedSlots:t._u([{key:"icon",fn:function(){return[e("RefreshIcon")]},proxy:!0}],null,!1,3924573781)},[t._v("\n\t\t\t\t"+t._s(t.t("comments","Retry"))+"\n\t\t\t")])]:t._e()]],2)}),[],!1,null,"b2489a3c",null).exports;r.nc=btoa((0,s.do)()),i.Ay.mixin({data:()=>({logger:q}),methods:{t:o.Tl,n:o.zw}});var le=r(96763);window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:class{constructor(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n={...n,propsData:{...null!==(t=n.propsData)&&void 0!==t?t:{},resourceType:e}},new(i.Ay.extend(ce))(n)}}}),le.debug("OCA.Comments.View initialized")},8505:t=>{"use strict";function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var s=r(t,e,o);return s&&{start:s[0],end:s[1],pre:o.slice(0,s[0]),body:o.slice(s[0]+t.length,s[1]),post:o.slice(s[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,s,i,a,c=n.indexOf(t),l=n.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(t===e)return[c,l];for(r=[],s=n.length;u>=0&&!a;)u==c?(r.push(u),c=n.indexOf(t,u+1)):1==r.length?a=[r.pop(),l]:((o=r.pop())=0?c:l;r.length&&(a=[s,i])}return a}t.exports=e,e.range=r},68928:(t,e,n)=>{var r=n(8505);t.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),g(function(t){return t.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(i).split("\\,").join(a).split("\\.").join(c)}(t),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",i="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function u(t){return t.split(o).join("\\").split(s).join("{").split(i).join("}").split(a).join(",").split(c).join(".")}function p(t){if(!t)return[""];var e=[],n=r("{","}",t);if(!n)return t.split(",");var o=n.pre,s=n.body,i=n.post,a=o.split(",");a[a.length-1]+="{"+s+"}";var c=p(i);return i.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),e.push.apply(e,a),e}function h(t){return"{"+t+"}"}function d(t){return/^-?0\d/.test(t)}function m(t,e){return t<=e}function f(t,e){return t>=e}function g(t,e){var n=[],o=r("{","}",t);if(!o)return[t];var s=o.pre,a=o.post.length?g(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!C&&!w)return o.post.match(/,.*\}/)?g(t=o.pre+"{"+o.body+i+o.post):[t];if(C)b=o.body.split(/\.\./);else if(1===(b=p(o.body)).length&&1===(b=g(b[0],!1).map(h)).length)return a.map((function(t){return o.pre+b[0]+t}));if(C){var _=l(b[0]),x=l(b[1]),O=Math.max(b[0].length,b[1].length),S=3==b.length?Math.abs(l(b[2])):1,j=m;x<_&&(S*=-1,j=f);var k=b.some(d);v=[];for(var E=_;j(E,x);E+=S){var T;if(y)"\\"===(T=String.fromCharCode(E))&&(T="");else if(T=String(E),k){var M=O-T.length;if(M>0){var N=new Array(M+1).join("0");T=E<0?"-"+N+T.slice(1):N+T}}v.push(T)}}else{v=[];for(var P=0;P{"use strict";n.d(e,{A:()=>a});var r=n(71354),o=n.n(r),s=n(76314),i=n.n(s)()(o());i.push([t.id,".comment[data-v-e4ab9720]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-e4ab9720]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-e4ab9720]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-e4ab9720]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-e4ab9720]{margin-left:10px !important}.comment__author[data-v-e4ab9720]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-e4ab9720],.comment__timestamp[data-v-e4ab9720]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-e4ab9720]{position:relative}.comment__editor-description[data-v-e4ab9720]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-e4ab9720]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-e4ab9720]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-e4ab9720]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-e4ab9720]{min-height:44px;margin:0;padding:10px}","",{version:3,sources:["webpack://./apps/comments/src/components/Comment.vue"],names:[],mappings:"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB",sourcesContent:['\n@use "sass:math";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 8px;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 6px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__editor-group {\n\t\tposition: relative;\n\t}\n\n\t&__editor-description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding-block: var(--default-grid-baseline);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n'],sourceRoot:""}]);const a=i},18038:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var r=n(71354),o=n.n(r),s=n(76314),i=n.n(s)()(o());i.push([t.id,".comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}","",{version:3,sources:["webpack://./apps/comments/src/views/Comments.vue"],names:[],mappings:"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA",sourcesContent:["\n.comments {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__empty,\n\t&__error {\n\t\tflex: 1 0;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n"],sourceRoot:""}]);const a=i},86454:(t,e,n)=>{"use strict";const r=n(43918),o=n(32923),s=n(8904);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:s}},26602:t=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t){var e="function"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,i)}function i(){return r(t,arguments,s(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,t)},n(t)}function r(t,e,n){return r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var s=new(Function.bind.apply(t,r));return n&&o(s,n.prototype),s},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}var i=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),(r=function(t,n){return!n||"object"!==e(n)&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}(this,s(n).call(this,t))).name="ObjectPrototypeMutationError",r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split("."),s=o.length,i=function(e){var n=o[e];if(!t)return{v:void 0};if("+"===n){if(Array.isArray(t))return{v:t.map((function(n,s){var i=o.slice(e+1);return i.length>0?a(n,i.join("."),r):r(t,s,o,e)}))};var s=o.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}t=r(t,n,o,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;if("number"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,s){if(!c(n,s))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var s=!1,i=!1;return a(t,n,(function(t,n,o,a){return s=s||t===r||!!t&&t[n]===r,i=c(o,a)&&"object"===e(t)&&n in t,t&&t[n]})),o.validPath?s&&i:s}catch(t){return!1}},ObjectPrototypeMutationError:i}},12692:(t,e,n)=>{"use strict";var r=n(65606),o=n(40537),s=function(t){return"string"==typeof t};function i(t,e){for(var n=[],r=0;r=-1&&!e;n--){var o=n>=0?arguments[n]:r.cwd();if(!s(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,e="/"===o.charAt(0))}return(e?"/":"")+(t=i(t.split("/"),!e).join("/"))||"."},c.normalize=function(t){var e=c.isAbsolute(t),n="/"===t.substr(-1);return(t=i(t.split("/"),!e).join("/"))||e||(t="."),t&&n&&(t+="/"),(e?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){for(var t="",e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=c.resolve(t).substr(1),e=c.resolve(e).substr(1);for(var r=n(t.split("/")),o=n(e.split("/")),s=Math.min(r.length,o.length),i=s,a=0;a{if(!n){var s=1/0;for(u=0;u=o)&&Object.keys(i.O).every((t=>i.O[t](n[c])))?n.splice(c--,1):(a=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,n)=>(i.f[n](t,e),e)),[])),i.u=t=>t+"-"+t+".js?v="+{3747:"bb4bbdf7802c276cc6d5",5528:"a811fe13115fafc1fa2e",5662:"d1f20e62402d8be29948"}[t],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",i.l=(t,e,o,s)=>{if(n[t])n[t].push(e);else{var a,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(d);var o=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((t=>t(r))),e)return e(r)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),i.j=7062,(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t})(),(()=>{i.b=document.baseURI||self.location.href;var t={7062:0};i.f.j=(e,n)=>{var r=i.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,o)=>r=t[e]=[n,o]));n.push(r[2]=o);var s=i.p+i.u(e),a=new Error;i.l(s,(n=>{if(i.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+s+")",a.name="ChunkLoadError",a.type=o,a.request=s,r[1](a)}}),"chunk-"+e,e)}},i.O.j=e=>0===t[e];var e=(e,n)=>{var r,o,s=n[0],a=n[1],c=n[2],l=0;if(s.some((e=>0!==t[e]))){for(r in a)i.o(a,r)&&(i.m[r]=a[r]);if(c)var u=c(i)}for(e&&e(n);li(46504)));a=i.O(a)})(); -//# sourceMappingURL=comments-comments-app.js.map?v=a9caef00d88ca8167b87 \ No newline at end of file +(()=>{var e,n,r,o={39256:(e,n,r)=>{"use strict";var o=r(53334),s=r(92457),i=r(85471),a=r(85168),c=r(80284),l=r(96763);function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function p(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},i=function(i){for(var a=arguments.length,c=new Array(a>1?a-1:0),l=1;l1){var r=t.find((function(t){return t.isIntersecting}));r&&(e=r)}if(n.callback){var o=e.isIntersecting&&e.intersectionRatio>=n.threshold;if(o===n.oldResult)return;n.oldResult=o,n.callback(o,e)}}),this.options.intersection),e.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&"number"==typeof this.options.intersection.threshold?this.options.intersection.threshold:0}}],n&&p(e.prototype,n),t}();function f(t,e,n){var r=e.value;if(r)if("undefined"==typeof IntersectionObserver)l.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new m(t,r,n);t._vue_visibilityState=o}}function g(t){var e=t._vue_visibilityState;e&&(e.destroyObserver(),delete t._vue_visibilityState)}var b={bind:f,update:function(t,e,n){var r=e.value;if(!d(r,e.oldValue)){var o=t._vue_visibilityState;r?o?o.createObserver(r,n):f(t,{value:r},n):g(t)}},unbind:g},v={version:"1.0.0",install:function(t){t.directive("observe-visibility",b)}},A=null;"undefined"!=typeof window?A=window.Vue:void 0!==r.g&&(A=r.g.Vue),A&&A.use(v);const y=v;var C=r(30161),w=r(54576);const _={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var x=r(14486);const O=(0,x.A)(_,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,S={name:"MessageReplyTextIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},j=(0,x.A)(S,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon message-reply-text-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,k={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},E=(0,x.A)(k,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var T=r(52054),M=r(24764),N=r(81004),P=r(41944),I=r(4604),R=r(80701),$=r(9191),D=r(99498);const L=function(){return(0,D.dC)("dav/comments")};function B(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const n=new DOMParser;let r=t;for(let t=0;t{H.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:null!=t?t:""})};(0,s.zo)(V),V((0,s.do)());const q=H,G=(0,r(53529).YK)().setApp("comments").detectUser().build();var F=r(96763);const U={props:{id:{type:Number,default:null},message:{type:String,default:""},resourceId:{type:[String,Number],required:!0},resourceType:{type:String,default:"files"}},data:()=>({deleted:!1,editing:!1,loading:!1}),methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(e){this.loading=!0;try{await async function(t,e,n,r){const o=["",t,e,n].join("/");return await q.customRequest(o,Object.assign({method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(r,"\n\t\t\t\t\n\t\t\t\n\t\t\t")}))}(this.resourceType,this.resourceId,this.id,e),G.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:e}),this.$emit("update:message",e),this.editing=!1}catch(e){(0,a.Qg)(t("comments","An error occurred while trying to edit the comment")),F.error(e)}finally{this.loading=!1}},onDeleteWithUndo(){this.deleted=!0;const e=setTimeout(this.onDelete,a.Br);(0,a._h)(t("comments","Comment deleted"),(()=>{clearTimeout(e),this.deleted=!1}))},async onDelete(){try{await async function(t,e,n){const r=["",t,e,n].join("/");await q.deleteFile(r)}(this.resourceType,this.resourceId,this.id),G.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(e){(0,a.Qg)(t("comments","An error occurred while trying to delete the comment")),F.error(e),this.deleted=!1}},async onNewComment(e){this.loading=!0;try{const t=await async function(t,e,n){const r=["",t,e].join("/"),o=await W.A.post(L()+r,{actorDisplayName:(0,s.HW)().displayName,actorId:(0,s.HW)().uid,actorType:"users",creationDateTime:(new Date).toUTCString(),message:n,objectType:t,verb:"comment"}),i=r+"/"+parseInt(o.headers["content-location"].split("/").pop()),a=await q.stat(i,{details:!0}),c=a.data.props;return c.actorDisplayName=B(c.actorDisplayName,2),c.message=B(c.message,2),a.data}(this.resourceType,this.resourceId,e);G.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:t}),this.$emit("new",t),this.$emit("update:message",""),this.localMessage=""}catch(e){(0,a.Qg)(t("comments","An error occurred while trying to create the comment")),F.error(e)}finally{this.loading=!1}}}},Z={name:"Comment",components:{ArrowRight:$.A,NcActionButton:T.A,NcActions:M.A,NcActionSeparator:N.A,NcAvatar:P.A,NcButton:w.A,NcDateTime:I.A,NcRichContenteditable:()=>Promise.all([r.e(4208),r.e(5528)]).then(r.bind(r,95528))},mixins:[R.Ay,U],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},tag:{type:String,default:"div"}},data:()=>({expanded:!1,localMessage:"",submitted:!1}),computed:{isOwnComment(){return(0,s.HW)().uid===this.actorId},renderedContent(){return this.isEmptyMessage?"":this.renderContent(this.localMessage)},isEmptyMessage(){return!this.localMessage||""===this.localMessage.trim()},timestamp(){return Date.parse(this.creationDateTime)}},watch:{message(t){this.updateLocalMessage(t)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:o.Tl,updateLocalMessage(t){this.localMessage=t.toString(),this.submitted=!1},onSubmit(){if(""!==this.localMessage.trim())return this.editor?(this.onNewComment(this.localMessage.trim()),void this.$nextTick((()=>{this.$refs.editor.$el.focus()}))):void this.onEditComment(this.localMessage.trim())},onExpand(){this.expanded=!0}}};var Q=r(85072),Y=r.n(Q),X=r(97825),K=r.n(X),J=r(77659),tt=r.n(J),et=r(55056),nt=r.n(et),rt=r(10540),ot=r.n(rt),st=r(41113),it=r.n(st),at=r(95039),ct={};ct.styleTagTransform=it(),ct.setAttributes=nt(),ct.insert=tt().bind(null,"head"),ct.domAPI=K(),ct.insertStyleElement=ot(),Y()(at.A,ct),at.A&&at.A.locals&&at.A.locals;const lt=(0,x.A)(Z,(function(){var t=this,e=t._self._c;return e(t.tag,{directives:[{name:"show",rawName:"v-show",value:!t.deleted,expression:"!deleted"}],tag:"component",staticClass:"comment",class:{"comment--loading":t.loading}},[e("div",{staticClass:"comment__side"},[e("NcAvatar",{staticClass:"comment__avatar",attrs:{"display-name":t.actorDisplayName,user:t.actorId,size:32}})],1),t._v(" "),e("div",{staticClass:"comment__body"},[e("div",{staticClass:"comment__header"},[e("span",{staticClass:"comment__author"},[t._v(t._s(t.actorDisplayName))]),t._v(" "),t.isOwnComment&&t.id&&!t.loading?e("NcActions",{staticClass:"comment__actions"},[t.editing?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:t.onEditCancel}},[t._v("\n\t\t\t\t\t"+t._s(t.t("comments","Cancel edit"))+"\n\t\t\t\t")]):[e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-rename"},on:{click:t.onEdit}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Edit comment"))+"\n\t\t\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-delete"},on:{click:t.onDeleteWithUndo}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Delete comment"))+"\n\t\t\t\t\t")])]],2):t._e(),t._v(" "),t.id&&t.loading?e("div",{staticClass:"comment_loading icon-loading-small"}):t.creationDateTime?e("NcDateTime",{staticClass:"comment__timestamp",attrs:{timestamp:t.timestamp,"ignore-seconds":!0}}):t._e()],1),t._v(" "),t.editor||t.editing?e("form",{staticClass:"comment__editor",on:{submit:function(t){t.preventDefault()}}},[e("div",{staticClass:"comment__editor-group"},[e("NcRichContenteditable",{ref:"editor",attrs:{"auto-complete":t.autoComplete,contenteditable:!t.loading,label:t.editor?t.t("comments","New comment"):t.t("comments","Edit comment"),placeholder:t.t("comments","Write a comment …"),value:t.localMessage,"user-data":t.userData,"aria-describedby":"tab-comments__editor-description"},on:{"update:value":t.updateLocalMessage,submit:t.onSubmit}}),t._v(" "),e("div",{staticClass:"comment__submit"},[e("NcButton",{attrs:{type:"tertiary-no-background","native-type":"submit","aria-label":t.t("comments","Post comment"),disabled:t.isEmptyMessage},on:{click:t.onSubmit},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("span",{staticClass:"icon-loading-small"}):e("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,2357784758)})],1)],1),t._v(" "),e("div",{staticClass:"comment__editor-description",attrs:{id:"tab-comments__editor-description"}},[t._v("\n\t\t\t\t"+t._s(t.t("comments","@ for mentions, : for emoji, / for smart picker"))+"\n\t\t\t")])]):e("div",{staticClass:"comment__message",class:{"comment__message--expanded":t.expanded},domProps:{innerHTML:t._s(t.renderedContent)},on:{click:t.onExpand}})])])}),[],!1,null,"e4ab9720",null).exports;var ut=r(68928);const pt={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},ht=t=>t.replace(/[[\]\\-]/g,"\\$&"),dt=t=>t.join(""),mt=(t,e)=>{const n=e;if("["!==t.charAt(n))throw new Error("not in a brace expression");const r=[],o=[];let s=n+1,i=!1,a=!1,c=!1,l=!1,u=n,p="";t:for(;sp?r.push(ht(p)+"-"+ht(e)):e===p&&r.push(ht(e)),p="",s++):t.startsWith("-]",s+1)?(r.push(ht(e+"-")),s+=2):t.startsWith("-",s+1)?(p=e,s+=2):(r.push(ht(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(Zt(e),!(!n.nocomment&&"#"===e.charAt(0))&&new Xt(e,n).match(t)),vt=/^\*+([^+@!?\*\[\(]*)$/,At=t=>e=>!e.startsWith(".")&&e.endsWith(t),yt=t=>e=>e.endsWith(t),Ct=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),wt=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),_t=/^\*+\.\*+$/,xt=t=>!t.startsWith(".")&&t.includes("."),Ot=t=>"."!==t&&".."!==t&&t.includes("."),St=/^\.\*+$/,jt=t=>"."!==t&&".."!==t&&t.startsWith("."),kt=/^\*+$/,Et=t=>0!==t.length&&!t.startsWith("."),Tt=t=>0!==t.length&&"."!==t&&".."!==t,Mt=/^\?+([^+@!?\*\[\(]*)?$/,Nt=([t,e=""])=>{const n=$t([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},Pt=([t,e=""])=>{const n=Dt([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},It=([t,e=""])=>{const n=Dt([t]);return e?t=>n(t)&&t.endsWith(e):n},Rt=([t,e=""])=>{const n=$t([t]);return e?t=>n(t)&&t.endsWith(e):n},$t=([t])=>{const e=t.length;return t=>t.length===e&&!t.startsWith(".")},Dt=([t])=>{const e=t.length;return t=>t.length===e&&"."!==t&&".."!==t},Lt="object"==typeof ft&&ft?"object"==typeof ft.env&&ft.env&&ft.env.__MINIMATCH_TESTING_PLATFORM__||ft.platform:"posix";bt.sep="win32"===Lt?"\\":"/";const Bt=Symbol("globstar **");bt.GLOBSTAR=Bt;const Wt={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},zt="[^/]",Ht=zt+"*?",Vt=t=>t.split("").reduce(((t,e)=>(t[e]=!0,t)),{}),qt=Vt("().*{}+?[]^$\\!"),Gt=Vt("[.(");bt.filter=(t,e={})=>n=>bt(n,t,e);const Ft=(t,e={})=>Object.assign({},t,e);bt.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return bt;const e=bt;return Object.assign(((n,r,o={})=>e(n,r,Ft(t,o))),{Minimatch:class extends e.Minimatch{constructor(e,n={}){super(e,Ft(t,n))}static defaults(n){return e.defaults(Ft(t,n)).Minimatch}},unescape:(n,r={})=>e.unescape(n,Ft(t,r)),escape:(n,r={})=>e.escape(n,Ft(t,r)),filter:(n,r={})=>e.filter(n,Ft(t,r)),defaults:n=>e.defaults(Ft(t,n)),makeRe:(n,r={})=>e.makeRe(n,Ft(t,r)),braceExpand:(n,r={})=>e.braceExpand(n,Ft(t,r)),match:(n,r,o={})=>e.match(n,r,Ft(t,o)),sep:e.sep,GLOBSTAR:Bt})};const Ut=(t,e={})=>(Zt(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:ut(t));bt.braceExpand=Ut;const Zt=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")};bt.makeRe=(t,e={})=>new Xt(t,e).makeRe(),bt.match=(t,e,n={})=>{const r=new Xt(e,n);return t=t.filter((t=>r.match(t))),r.options.nonull&&!t.length&&t.push(e),t};const Qt=/[?*]|[+@!]\(.*?\)|\[|\]/,Yt=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Xt{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){Zt(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||Lt,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if("string"!=typeof e)return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...t)=>gt.error(...t)),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&Qt.test(t[2])||Qt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf("**",e+1));){let n=e;for(;"**"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return"**"===e&&"**"===n?t:".."===e&&n&&".."!==n&&"."!==n&&"**"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let s=n[r+1];const i=n[r+2],a=n[r+3];if(".."!==s)continue;if(!i||"."===i||".."===i||!a||"."===a||".."===a)continue;e=!0,n.splice(r,1);const c=n.slice(0);c[r]="**",t.push(c),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e,n=!1){let r=0,o=0,s=[],i="";for(;r=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var s=0,i=0,a=t.length,c=e.length;s>> no match, partial?",t,p,e,h),p!==a))}let o;if("string"==typeof l?(o=u===l,this.debug("string match",l,u,o)):(o=l.test(u),this.debug("pattern match",l,u,o)),!o)return!1}if(s===a&&i===c)return!0;if(s===a)return n;if(i===c)return s===a-1&&""===t[s];throw new Error("wtf?")}braceExpand(){return Ut(this.pattern,this.options)}parse(t){Zt(t);const e=this.options;if("**"===t)return Bt;if(""===t)return"";let n,r=null;(n=t.match(kt))?r=e.dot?Tt:Et:(n=t.match(vt))?r=(e.nocase?e.dot?wt:Ct:e.dot?yt:At)(n[1]):(n=t.match(Mt))?r=(e.nocase?e.dot?Pt:Nt:e.dot?It:Rt)(n):(n=t.match(_t))?r=e.dot?Ot:xt:(n=t.match(St))&&(r=jt);let o="",s=!1,i=!1;const a=[],c=[];let l,u=!1,p=!1,h="."===t.charAt(0),d=e.dot||h;const m=t=>"."===t.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",f=()=>{if(u){switch(u){case"*":o+=Ht,s=!0;break;case"?":o+=zt,s=!0;break;default:o+="\\"+u}this.debug("clearStateChar %j %j",u,o),u=!1}};for(let n,r=0;r(n||(n="\\"),e+e+n+"|"))),this.debug("tail=%j\n %s",t,t,l,o);const e="*"===l.type?Ht:"?"===l.type?zt:"\\"+l.type;s=!0,o=o.slice(0,l.reStart)+e+"\\("+t}f(),i&&(o+="\\\\");const g=Gt[o.charAt(0)];for(let t=c.length-1;t>-1;t--){const e=c[t],n=o.slice(0,e.reStart),r=o.slice(e.reStart,e.reEnd-8);let s=o.slice(e.reEnd);const i=o.slice(e.reEnd-8,e.reEnd)+s,a=n.split(")").length,l=n.split("(").length-a;let u=s;for(let t=0;t{const e=t.map((t=>"string"==typeof t?Yt(t):t===Bt?Bt:t._src));return e.forEach(((t,r)=>{const o=e[r+1],s=e[r-1];t===Bt&&s!==Bt&&(void 0===s?void 0!==o&&o!==Bt?e[r+1]="(?:\\/|"+n+"\\/)?"+o:e[r]=n:void 0===o?e[r-1]=s+"(?:\\/|"+n+")?":o!==Bt&&(e[r-1]=s+"(?:\\/|\\/"+n+"\\/)"+o,e[r+1]=Bt))})),e.filter((t=>t!==Bt)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,r)}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const r=this.slashSplit(t);this.debug(this.pattern,"split",r);const o=this.set;this.debug(this.pattern,"set",o);let s=r[r.length-1];if(!s)for(let t=r.length-2;!s&&t>=0;t--)s=r[t];for(let t=0;te?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),bt.unescape=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var Jt,te=r(12692);r(86454),r(26602),Error,function(t){t.Array="array",t.Object="object",t.Original="original"}(Jt||(Jt={}));const ee=async function(t,e){var n;let{resourceType:r,resourceId:o}=t;const s=["",r,o].join("/"),i=e.datetime?"".concat(e.datetime.toISOString(),""):"",a=await q.customRequest(s,Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t'.concat(null!==(n=e.limit)&&void 0!==n?n:20,"\n\t\t\t\t").concat(e.offset||0,"\n\t\t\t\t").concat(i,"\n\t\t\t")},e)),c=await a.text(),l=await(0,z.h4)(c);return function(t,e,n=!1){return n?{data:e,headers:t.headers?Kt(t.headers):{},status:t.status,statusText:t.statusText}:e}(a,ne(l,!0),!0)},ne=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:n}}=t;return n.map((t=>{const n=t.propstat.prop;return function(t,e,n=!1){const{getlastmodified:r=null,getcontentlength:o="0",resourcetype:s=null,getcontenttype:i=null,getetag:a=null}=t,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l={filename:e,basename:te.basename(e),lastmod:r,size:parseInt(o,10),type:c,etag:"string"==typeof a?a.replace(/"/g,""):null};return"file"===c&&(l.mime=i&&"string"==typeof i?i.split(";")[0]:""),n&&(l.props=t),l}(n,n.id.toString(),e)}))};var re=r(38613);const oe=(0,i.pM)({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data:()=>({editorData:{actorDisplayName:(0,s.HW)().displayName,actorId:(0,s.HW)().uid,key:"editor"},userData:{}}),methods:{async autoComplete(t,e){const{data:n}=await W.A.get((0,D.KT)("core/autocomplete/get"),{params:{search:t,itemType:"files",itemId:this.resourceId,sorter:"commenters|share-recipients",limit:(0,re.C)("comments","maxAutoCompleteResults")}});return n.ocs.data.forEach((t=>{this.userData[t.id]=t})),e(Object.values(this.userData))},genMentionsData(t){return Object.values(t).flat().forEach((t=>{var e;this.userData[t.mentionId]={icon:"icon-user",id:t.mentionId,label:t.mentionDisplayName,source:"users",primary:(null===(e=(0,s.HW)())||void 0===e?void 0:e.uid)===t.mentionId}})),this.userData}}});var se=r(96763);i.Ay.use(c.Ay),i.Ay.use(y);const ie={name:"Comments",components:{Comment:lt,NcEmptyContent:C.A,NcButton:w.A,RefreshIcon:O,MessageReplyTextIcon:j,AlertCircleOutlineIcon:E},mixins:[oe],data:()=>({error:"",loading:!1,done:!1,resourceId:null,offset:0,comments:[],cancelRequest:()=>{},Comment:lt,userData:{}}),computed:{hasComments(){return this.comments.length>0},isFirstLoading(){return this.loading&&0===this.offset}},methods:{t:o.Tl,async onVisibilityChange(t){if(t)try{await((t,e,n)=>{const r=["",t,e].join("/"),o=n.toUTCString();return q.customRequest(r,{method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(o,"\n\t\t\t\t\n\t\t\t\n\t\t\t")})})(this.resourceType,this.resourceId,new Date)}catch(t){(0,a.Qg)(t.message||(0,o.Tl)("comments","Failed to mark comments as read"))}},async update(t){this.resourceId=t,this.resetState(),this.getComments()},onScrollBottomReached(){this.error||this.done||this.loading||this.getComments()},async getComments(){this.cancelRequest("cancel");try{this.loading=!0,this.error="";const{request:t,abort:e}=function(t){const e=new AbortController,n=e.signal;return{request:async function(e,r){return await t(e,Object.assign({signal:n},r))},abort:()=>e.abort()}}(ee);this.cancelRequest=e;const{data:n}=await t({resourceType:this.resourceType,resourceId:this.resourceId},{offset:this.offset})||{data:[]};this.logger.debug("Processed ".concat(n.length," comments"),{comments:n}),n.length<20&&(this.done=!0),this.comments.push(...n),this.offset+=20}catch(t){if("cancel"===t.message)return;this.error=(0,o.Tl)("comments","Unable to load the comments list"),se.error("Error loading the comments list",t)}finally{this.loading=!1}},onNewComment(t){this.comments.unshift(t)},onDelete(t){const e=this.comments.findIndex((e=>e.props.id===t));e>-1?this.comments.splice(e,1):se.error("Could not find the deleted comment in the list",t)},resetState(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}};var ae=r(18038),ce={};ce.styleTagTransform=it(),ce.setAttributes=nt(),ce.insert=tt().bind(null,"head"),ce.domAPI=K(),ce.insertStyleElement=ot(),Y()(ae.A,ce),ae.A&&ae.A.locals&&ae.A.locals;const le=(0,x.A)(ie,(function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:t.onVisibilityChange,expression:"onVisibilityChange"}],staticClass:"comments",class:{"icon-loading":t.isFirstLoading}},[e("Comment",t._b({staticClass:"comments__writer",attrs:{"auto-complete":t.autoComplete,"resource-type":t.resourceType,editor:!0,"user-data":t.userData,"resource-id":t.resourceId},on:{new:t.onNewComment}},"Comment",t.editorData,!1)),t._v(" "),t.isFirstLoading?t._e():[!t.hasComments&&t.done?e("NcEmptyContent",{staticClass:"comments__empty",attrs:{name:t.t("comments","No comments yet, start the conversation!")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("MessageReplyTextIcon")]},proxy:!0}],null,!1,1033639148)}):e("ul",t._l(t.comments,(function(n){return e("Comment",t._b({key:n.props.id,staticClass:"comments__list",attrs:{tag:"li","auto-complete":t.autoComplete,"resource-type":t.resourceType,message:n.props.message,"resource-id":t.resourceId,"user-data":t.genMentionsData(n.props.mentions)},on:{"update:message":function(e){return t.$set(n.props,"message",e)},delete:t.onDelete}},"Comment",n.props,!1))})),1),t._v(" "),t.loading&&!t.isFirstLoading?e("div",{staticClass:"comments__info icon-loading"}):t.hasComments&&t.done?e("div",{staticClass:"comments__info"},[t._v("\n\t\t\t"+t._s(t.t("comments","No more messages"))+"\n\t\t")]):t.error?[e("NcEmptyContent",{staticClass:"comments__error",attrs:{name:t.error},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AlertCircleOutlineIcon")]},proxy:!0}],null,!1,66050004)}),t._v(" "),e("NcButton",{staticClass:"comments__retry",on:{click:t.getComments},scopedSlots:t._u([{key:"icon",fn:function(){return[e("RefreshIcon")]},proxy:!0}],null,!1,3924573781)},[t._v("\n\t\t\t\t"+t._s(t.t("comments","Retry"))+"\n\t\t\t")])]:t._e()]],2)}),[],!1,null,"b2489a3c",null).exports;r.nc=btoa((0,s.do)()),i.Ay.mixin({data:()=>({logger:G}),methods:{t:o.Tl,n:o.zw}});var ue=r(96763);window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:class{constructor(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n={...n,propsData:{...null!==(t=n.propsData)&&void 0!==t?t:{},resourceType:e}},new(i.Ay.extend(le))(n)}}}),ue.debug("OCA.Comments.View initialized")},8505:t=>{"use strict";function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var s=r(t,e,o);return s&&{start:s[0],end:s[1],pre:o.slice(0,s[0]),body:o.slice(s[0]+t.length,s[1]),post:o.slice(s[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,s,i,a,c=n.indexOf(t),l=n.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(t===e)return[c,l];for(r=[],s=n.length;u>=0&&!a;)u==c?(r.push(u),c=n.indexOf(t,u+1)):1==r.length?a=[r.pop(),l]:((o=r.pop())=0?c:l;r.length&&(a=[s,i])}return a}t.exports=e,e.range=r},68928:(t,e,n)=>{var r=n(8505);t.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),g(function(t){return t.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(i).split("\\,").join(a).split("\\.").join(c)}(t),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",i="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function u(t){return t.split(o).join("\\").split(s).join("{").split(i).join("}").split(a).join(",").split(c).join(".")}function p(t){if(!t)return[""];var e=[],n=r("{","}",t);if(!n)return t.split(",");var o=n.pre,s=n.body,i=n.post,a=o.split(",");a[a.length-1]+="{"+s+"}";var c=p(i);return i.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),e.push.apply(e,a),e}function h(t){return"{"+t+"}"}function d(t){return/^-?0\d/.test(t)}function m(t,e){return t<=e}function f(t,e){return t>=e}function g(t,e){var n=[],o=r("{","}",t);if(!o)return[t];var s=o.pre,a=o.post.length?g(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!C&&!w)return o.post.match(/,.*\}/)?g(t=o.pre+"{"+o.body+i+o.post):[t];if(C)b=o.body.split(/\.\./);else if(1===(b=p(o.body)).length&&1===(b=g(b[0],!1).map(h)).length)return a.map((function(t){return o.pre+b[0]+t}));if(C){var _=l(b[0]),x=l(b[1]),O=Math.max(b[0].length,b[1].length),S=3==b.length?Math.abs(l(b[2])):1,j=m;x<_&&(S*=-1,j=f);var k=b.some(d);v=[];for(var E=_;j(E,x);E+=S){var T;if(y)"\\"===(T=String.fromCharCode(E))&&(T="");else if(T=String(E),k){var M=O-T.length;if(M>0){var N=new Array(M+1).join("0");T=E<0?"-"+N+T.slice(1):N+T}}v.push(T)}}else{v=[];for(var P=0;P{"use strict";n.d(e,{A:()=>a});var r=n(71354),o=n.n(r),s=n(76314),i=n.n(s)()(o());i.push([t.id,".comment[data-v-e4ab9720]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-e4ab9720]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-e4ab9720]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-e4ab9720]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-e4ab9720]{margin-left:10px !important}.comment__author[data-v-e4ab9720]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-e4ab9720],.comment__timestamp[data-v-e4ab9720]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-e4ab9720]{position:relative}.comment__editor-description[data-v-e4ab9720]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-e4ab9720]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-e4ab9720]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-e4ab9720]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-e4ab9720]{min-height:44px;margin:0;padding:10px}","",{version:3,sources:["webpack://./apps/comments/src/components/Comment.vue"],names:[],mappings:"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB",sourcesContent:['\n@use "sass:math";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 8px;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 6px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__editor-group {\n\t\tposition: relative;\n\t}\n\n\t&__editor-description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding-block: var(--default-grid-baseline);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n'],sourceRoot:""}]);const a=i},18038:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var r=n(71354),o=n.n(r),s=n(76314),i=n.n(s)()(o());i.push([t.id,".comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}","",{version:3,sources:["webpack://./apps/comments/src/views/Comments.vue"],names:[],mappings:"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA",sourcesContent:["\n.comments {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__empty,\n\t&__error {\n\t\tflex: 1 0;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n"],sourceRoot:""}]);const a=i},86454:(t,e,n)=>{"use strict";const r=n(43918),o=n(32923),s=n(8904);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:s}},26602:t=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t){var e="function"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,i)}function i(){return r(t,arguments,s(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,t)},n(t)}function r(t,e,n){return r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var s=new(Function.bind.apply(t,r));return n&&o(s,n.prototype),s},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}var i=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),(r=function(t,n){return!n||"object"!==e(n)&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}(this,s(n).call(this,t))).name="ObjectPrototypeMutationError",r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split("."),s=o.length,i=function(e){var n=o[e];if(!t)return{v:void 0};if("+"===n){if(Array.isArray(t))return{v:t.map((function(n,s){var i=o.slice(e+1);return i.length>0?a(n,i.join("."),r):r(t,s,o,e)}))};var s=o.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}t=r(t,n,o,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;if("number"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,s){if(!c(n,s))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var s=!1,i=!1;return a(t,n,(function(t,n,o,a){return s=s||t===r||!!t&&t[n]===r,i=c(o,a)&&"object"===e(t)&&n in t,t&&t[n]})),o.validPath?s&&i:s}catch(t){return!1}},ObjectPrototypeMutationError:i}},12692:(t,e,n)=>{"use strict";var r=n(65606),o=n(40537),s=function(t){return"string"==typeof t};function i(t,e){for(var n=[],r=0;r=-1&&!e;n--){var o=n>=0?arguments[n]:r.cwd();if(!s(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,e="/"===o.charAt(0))}return(e?"/":"")+(t=i(t.split("/"),!e).join("/"))||"."},c.normalize=function(t){var e=c.isAbsolute(t),n="/"===t.substr(-1);return(t=i(t.split("/"),!e).join("/"))||e||(t="."),t&&n&&(t+="/"),(e?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){for(var t="",e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=c.resolve(t).substr(1),e=c.resolve(e).substr(1);for(var r=n(t.split("/")),o=n(e.split("/")),s=Math.min(r.length,o.length),i=s,a=0;a{if(!n){var s=1/0;for(u=0;u=o)&&Object.keys(i.O).every((t=>i.O[t](n[c])))?n.splice(c--,1):(a=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,n)=>(i.f[n](t,e),e)),[])),i.u=t=>t+"-"+t+".js?v="+{3747:"bb4bbdf7802c276cc6d5",5528:"a811fe13115fafc1fa2e",5662:"d1f20e62402d8be29948"}[t],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",i.l=(t,e,o,s)=>{if(n[t])n[t].push(e);else{var a,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(d);var o=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((t=>t(r))),e)return e(r)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),i.j=7062,(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t})(),(()=>{i.b=document.baseURI||self.location.href;var t={7062:0};i.f.j=(e,n)=>{var r=i.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,o)=>r=t[e]=[n,o]));n.push(r[2]=o);var s=i.p+i.u(e),a=new Error;i.l(s,(n=>{if(i.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+s+")",a.name="ChunkLoadError",a.type=o,a.request=s,r[1](a)}}),"chunk-"+e,e)}},i.O.j=e=>0===t[e];var e=(e,n)=>{var r,o,s=n[0],a=n[1],c=n[2],l=0;if(s.some((e=>0!==t[e]))){for(r in a)i.o(a,r)&&(i.m[r]=a[r]);if(c)var u=c(i)}for(e&&e(n);li(39256)));a=i.O(a)})(); +//# sourceMappingURL=comments-comments-app.js.map?v=89defe2f94b5dd9c415e \ No newline at end of file diff --git a/dist/comments-comments-app.js.map b/dist/comments-comments-app.js.map index 35df4074a3f..d5d93c7ff05 100644 --- a/dist/comments-comments-app.js.map +++ b/dist/comments-comments-app.js.map @@ -1 +1 @@ -{"version":3,"file":"comments-comments-app.js?v=a9caef00d88ca8167b87","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=7301d745","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MessageReplyText.vue?2121","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=template&id=5b37a4cf","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertCircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertCircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AlertCircleOutline.vue?730b","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertCircleOutline.vue?vue&type=template&id=4aed4486","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?65e8","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/node_modules/layerr/dist/layerr.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/mixins/CommentView.ts","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/services/ReadComments.ts","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack://nextcloud/./apps/comments/src/views/Comments.vue?ec1a","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/brace-expansion/index.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.0\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=7301d745\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=5b37a4cf\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js\"\nexport * from \"./MessageReplyText.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon message-reply-text-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircleOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AlertCircleOutline.vue?vue&type=template&id=4aed4486\"\nimport script from \"./AlertCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AlertCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon alert-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('NcDateTime',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp,\"ignore-seconds\":true}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"label\":_vm.editor ? _vm.t('comments', 'New comment') : _vm.t('comments', 'Edit comment'),\"placeholder\":_vm.t('comments', 'Write a comment …'),\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '@ for mentions, : for emoji, / for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport logger from '../logger.js'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(resourceType, resourceId, commentId, message) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(resourceType, resourceId, commentId) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(resourceType, resourceId, message) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=e4ab9720&scoped=true\"\nimport script from \"./Comment.vue?vue&type=script&lang=js\"\nexport * from \"./Comment.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e4ab9720\",\n null\n \n)\n\nexport default component.exports","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n const pos = position;\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression');\n }\n /* c8 ignore stop */\n const ranges = [];\n const negs = [];\n let i = pos + 1;\n let sawStart = false;\n let uflag = false;\n let escaping = false;\n let negate = false;\n let endPos = pos;\n let rangeStart = '';\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i);\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true;\n i++;\n continue;\n }\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1;\n break;\n }\n sawStart = true;\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true;\n i++;\n continue;\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true];\n }\n i += cls.length;\n if (neg)\n negs.push(unip);\n else\n ranges.push(unip);\n uflag = uflag || u;\n continue WHILE;\n }\n }\n }\n // now it's just a normal character, effectively\n escaping = false;\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n }\n else if (c === rangeStart) {\n ranges.push(braceEscape(c));\n }\n rangeStart = '';\n i++;\n continue;\n }\n // now might be the start of a range.\n // can be either c-d or c-] or c] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'));\n i += 2;\n continue;\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c;\n i += 2;\n continue;\n }\n // not the start of a range, just a single character\n ranges.push(braceEscape(c));\n i++;\n }\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false];\n }\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true];\n }\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n return [regexpEscape(r), false, endPos - pos, false];\n }\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n const comb = ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs;\n return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n assertValidPattern(pattern);\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false;\n }\n return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n ext = ext.toLowerCase();\n return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n ext = ext.toLowerCase();\n return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix');\nconst path = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n set[c] = true;\n return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch;\n }\n const orig = minimatch;\n const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern, options = {}) {\n super(pattern, ext(def, options));\n }\n static defaults(options) {\n return orig.defaults(ext(def, options)).Minimatch;\n }\n },\n unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n defaults: (options) => orig.defaults(ext(def, options)),\n makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR,\n });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n assertValidPattern(pattern);\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern];\n }\n return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern');\n }\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long');\n }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n const mm = new Minimatch(pattern, options);\n list = list.filter(f => mm.match(f));\n if (mm.options.nonull && !list.length) {\n list.push(pattern);\n }\n return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n options;\n set;\n pattern;\n windowsPathsNoEscape;\n nonegate;\n negate;\n comment;\n empty;\n preserveMultipleSlashes;\n partial;\n globSet;\n globParts;\n nocase;\n isWindows;\n platform;\n windowsNoMagicRoot;\n regexp;\n constructor(pattern, options = {}) {\n assertValidPattern(pattern);\n options = options || {};\n this.options = options;\n this.pattern = pattern;\n this.platform = options.platform || defaultPlatform;\n this.isWindows = this.platform === 'win32';\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/');\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n this.regexp = null;\n this.negate = false;\n this.nonegate = !!options.nonegate;\n this.comment = false;\n this.empty = false;\n this.partial = !!options.partial;\n this.nocase = !!this.options.nocase;\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase);\n this.globSet = [];\n this.globParts = [];\n this.set = [];\n // make the set of regexps etc.\n this.make();\n }\n hasMagic() {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true;\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string')\n return true;\n }\n }\n return false;\n }\n debug(..._) { }\n make() {\n const pattern = this.pattern;\n const options = this.options;\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true;\n return;\n }\n if (!pattern) {\n this.empty = true;\n return;\n }\n // step 1: figure out negation, etc.\n this.parseNegate();\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())];\n if (options.debug) {\n this.debug = (...args) => console.error(...args);\n }\n this.debug(this.pattern, this.globSet);\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n this.globParts = this.preprocess(rawGlobParts);\n this.debug(this.pattern, this.globParts);\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC = s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3]);\n const isDrive = /^[a-z]:/i.test(s[0]);\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n }\n else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n }\n }\n return s.map(ss => this.parse(ss));\n });\n this.debug(this.pattern, set);\n // filter out everything that didn't compile properly.\n this.set = set.filter(s => s.indexOf(false) === -1);\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i];\n if (p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])) {\n p[2] = '?';\n }\n }\n }\n this.debug(this.pattern, this.set);\n }\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*';\n }\n }\n }\n }\n const { optimizationLevel = 1 } = this.options;\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts);\n globParts = this.secondPhasePreProcess(globParts);\n }\n else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts);\n }\n else {\n globParts = this.adjascentGlobstarOptimize(globParts);\n }\n return globParts;\n }\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts) {\n return globParts.map(parts => {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs;\n while (parts[i + 1] === '**') {\n i++;\n }\n if (i !== gs) {\n parts.splice(gs, i - gs);\n }\n }\n return parts;\n });\n }\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts) {\n return globParts.map(parts => {\n parts = parts.reduce((set, part) => {\n const prev = set[set.length - 1];\n if (part === '**' && prev === '**') {\n return set;\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop();\n return set;\n }\n }\n set.push(part);\n return set;\n }, []);\n return parts.length === 0 ? [''] : parts;\n });\n }\n levelTwoFileOptimize(parts) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts);\n }\n let didSomething = false;\n do {\n didSomething = false;\n //
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, filename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","import { assertError, isError } from \"./error.js\";\nimport { parseArguments } from \"./tools.js\";\nexport class Layerr extends Error {\n    constructor(errorOptionsOrMessage, messageText) {\n        const args = [...arguments];\n        const { options, shortMessage } = parseArguments(args);\n        let message = shortMessage;\n        if (options.cause) {\n            message = `${message}: ${options.cause.message}`;\n        }\n        super(message);\n        this.message = message;\n        if (options.name && typeof options.name === \"string\") {\n            this.name = options.name;\n        }\n        else {\n            this.name = \"Layerr\";\n        }\n        if (options.cause) {\n            Object.defineProperty(this, \"_cause\", { value: options.cause });\n        }\n        Object.defineProperty(this, \"_info\", { value: {} });\n        if (options.info && typeof options.info === \"object\") {\n            Object.assign(this._info, options.info);\n        }\n        if (Error.captureStackTrace) {\n            const ctor = options.constructorOpt || this.constructor;\n            Error.captureStackTrace(this, ctor);\n        }\n    }\n    static cause(err) {\n        assertError(err);\n        if (!err._cause)\n            return null;\n        return isError(err._cause) ? err._cause : null;\n    }\n    static fullStack(err) {\n        assertError(err);\n        const cause = Layerr.cause(err);\n        if (cause) {\n            return `${err.stack}\\ncaused by: ${Layerr.fullStack(cause)}`;\n        }\n        return err.stack;\n    }\n    static info(err) {\n        assertError(err);\n        const output = {};\n        const cause = Layerr.cause(err);\n        if (cause) {\n            Object.assign(output, Layerr.info(cause));\n        }\n        if (err._info) {\n            Object.assign(output, err._info);\n        }\n        return output;\n    }\n    cause() {\n        return Layerr.cause(this);\n    }\n    toString() {\n        let output = this.name || this.constructor.name || this.constructor.prototype.name;\n        if (this.message) {\n            output = `${output}: ${this.message}`;\n        }\n        return output;\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","import axios from '@nextcloud/axios';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n    props: {\n        resourceId: {\n            type: Number,\n            required: true,\n        },\n        resourceType: {\n            type: String,\n            default: 'files',\n        },\n    },\n    data() {\n        return {\n            editorData: {\n                actorDisplayName: getCurrentUser().displayName,\n                actorId: getCurrentUser().uid,\n                key: 'editor',\n            },\n            userData: {},\n        };\n    },\n    methods: {\n        /**\n         * Autocomplete @mentions\n         *\n         * @param {string} search the query\n         * @param {Function} callback the callback to process the results with\n         */\n        async autoComplete(search, callback) {\n            const { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n                params: {\n                    search,\n                    itemType: 'files',\n                    itemId: this.resourceId,\n                    sorter: 'commenters|share-recipients',\n                    limit: loadState('comments', 'maxAutoCompleteResults'),\n                },\n            });\n            // Save user data so it can be used by the editor to replace mentions\n            data.ocs.data.forEach(user => { this.userData[user.id] = user; });\n            return callback(Object.values(this.userData));\n        },\n        /**\n         * Make sure we have all mentions as Array of objects\n         *\n         * @param mentions the mentions list\n         */\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        genMentionsData(mentions) {\n            Object.values(mentions)\n                .flat()\n                .forEach(mention => {\n                this.userData[mention.mentionId] = {\n                    // TODO: support groups\n                    icon: 'icon-user',\n                    id: mention.mentionId,\n                    label: mention.mentionDisplayName,\n                    source: 'users',\n                    primary: getCurrentUser()?.uid === mention.mentionId,\n                };\n            });\n            return this.userData;\n        },\n    },\n});\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (resourceType, resourceId, date) => {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const readMarker = date.toUTCString();\n    return client.customRequest(resourcePath, {\n        method: 'PROPPATCH',\n        data: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n    });\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=b2489a3c&scoped=true\"\nimport script from \"./Comments.vue?vue&type=script&lang=js\"\nexport * from \"./Comments.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b2489a3c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"editor\":true,\"user-data\":_vm.userData,\"resource-id\":_vm.resourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"name\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"message\":comment.props.message,\"resource-id\":_vm.resourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"name\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\nimport CommentsApp from '../views/Comments.vue'\nimport logger from '../logger.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} resourceType the comments endpoint type\n\t * @param  {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(resourceType = 'files', options = {}) {\n\t\t// Merge options and set `resourceType` property\n\t\toptions = {\n\t\t\t...options,\n\t\t\tpropsData: {\n\t\t\t\t...(options.propsData ?? {}),\n\t\t\t\tresourceType,\n\t\t\t},\n\t\t}\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comment[data-v-e4ab9720]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-e4ab9720]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-e4ab9720]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-e4ab9720]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-e4ab9720]{margin-left:10px !important}.comment__author[data-v-e4ab9720]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-e4ab9720],.comment__timestamp[data-v-e4ab9720]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-e4ab9720]{position:relative}.comment__editor-description[data-v-e4ab9720]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-e4ab9720]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-e4ab9720]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-e4ab9720]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-e4ab9720]{min-height:44px;margin:0;padding:10px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 8px;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 6px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__editor-group {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__editor-description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-block: var(--default-grid-baseline);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tflex: 1 0;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"3747\":\"bb4bbdf7802c276cc6d5\",\"5528\":\"a811fe13115fafc1fa2e\",\"5662\":\"d1f20e62402d8be29948\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 7062;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7062: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(46504)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","oldValue","version","install","Vue","directive","GlobalVue","window","g","use","name","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","createClient","headers","requesttoken","_getRequestToken","getRequestToken","getLoggerBuilder","setApp","detectUser","build","id","message","resourceId","required","resourceType","data","deleted","editing","loading","methods","onEdit","onEditCancel","updateLocalMessage","onEditComment","async","commentId","commentPath","join","client","customRequest","assign","method","EditComment","logger","debug","error","showError","t","onDeleteWithUndo","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","deleteFile","DeleteComment","onNewComment","newComment","resourcePath","response","axios","post","actorDisplayName","getCurrentUser","displayName","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","split","pop","comment","stat","details","NewComment","localMessage","components","ArrowRight","NcActionButton","NcActions","NcActionSeparator","NcAvatar","NcButton","NcDateTime","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","Boolean","autoComplete","Function","tag","expanded","submitted","computed","isOwnComment","renderedContent","isEmptyMessage","renderContent","trim","timestamp","parse","watch","beforeMount","onSubmit","$refs","$el","focus","onExpand","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","directives","rawName","expression","class","preventDefault","ref","userData","scopedSlots","_u","fn","proxy","domProps","posixClasses","braceEscape","s","replace","rangesToString","ranges","parseClass","glob","position","pos","charAt","Error","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","c","cls","unip","u","neg","startsWith","push","test","slice","sranges","snegs","p","pattern","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","set","reSpecials","addPatternStartSet","filter","a","b","defaults","def","keys","orig","super","unescape","escape","makeRe","braceExpand","list","nobrace","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","allowWindowsEscape","make","hasMagic","magicalBraces","part","_","parseNegate","Set","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","levelTwoFileOptimize","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","PropertyType","getComments","_ref","_options$limit","datetime","toISOString","limit","offset","responseData","text","parseXML","isDetailed","status","statusText","processResponsePayload","getDirectoryFiles","multistatus","responseItems","item","propstat","prop","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","getcontenttype","mimeType","getetag","etag","collection","basename","lastmod","mime","prepareFileFromProps","defineComponent","editorData","search","generateOcsUrl","params","itemType","itemId","sorter","loadState","ocs","user","values","genMentionsData","mentions","flat","mention","_getCurrentUser","mentionId","icon","label","mentionDisplayName","source","primary","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","CommentView","done","comments","cancelRequest","hasComments","isFirstLoading","onVisibilityChange","isVisible","markCommentsAsRead","date","readMarker","resetState","onScrollBottomReached","request","abort","controller","AbortController","signal","url","cancelableRequest","unshift","index","findIndex","_l","$set","__webpack_nonce__","btoa","mixin","OCA","Comments","View","_options$propsData","propsData","extend","CommentsApp","balanced","str","maybeMatch","r","range","end","pre","body","reg","begs","beg","left","right","module","exports","substr","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","Math","random","numeric","charCodeAt","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","x","width","max","incr","abs","pad","some","fromCharCode","need","z","___CSS_LOADER_EXPORT___","validator","XMLParser","XMLBuilder","XMLValidator","_wrapNativeSuper","Class","_cache","Map","has","Wrapper","_construct","_getPrototypeOf","create","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","o","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","object","path","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","err","own","hasOwnProperty","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolve","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","segment","relative","to","fromParts","toParts","min","samePartsLength","outputParts","_makeLong","dirname","root","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","chunkId","Promise","all","promises","globalThis","l","script","needAttach","scripts","document","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"comments-comments-app.js?v=89defe2f94b5dd9c415e","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=7301d745","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MessageReplyText.vue?2121","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=template&id=5b37a4cf","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertCircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertCircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AlertCircleOutline.vue?730b","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertCircleOutline.vue?vue&type=template&id=4aed4486","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?65e8","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/node_modules/layerr/dist/layerr.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/mixins/CommentView.ts","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/services/ReadComments.ts","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack://nextcloud/./apps/comments/src/views/Comments.vue?ec1a","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/brace-expansion/index.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n  var options;\n\n  if (typeof value === 'function') {\n    // Simple options (callback-only)\n    options = {\n      callback: value\n    };\n  } else {\n    // Options object\n    options = value;\n  }\n\n  return options;\n}\nfunction throttle(callback, delay) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  var timeout;\n  var lastState;\n  var currentArgs;\n\n  var throttled = function throttled(state) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    currentArgs = args;\n    if (timeout && state === lastState) return;\n    var leading = options.leading;\n\n    if (typeof leading === 'function') {\n      leading = leading(state, lastState);\n    }\n\n    if ((!timeout || state !== lastState) && leading) {\n      callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n    }\n\n    lastState = state;\n    clearTimeout(timeout);\n    timeout = setTimeout(function () {\n      callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n      timeout = 0;\n    }, delay);\n  };\n\n  throttled._clear = function () {\n    clearTimeout(timeout);\n    timeout = null;\n  };\n\n  return throttled;\n}\nfunction deepEqual(val1, val2) {\n  if (val1 === val2) return true;\n\n  if (_typeof(val1) === 'object') {\n    for (var key in val1) {\n      if (!deepEqual(val1[key], val2[key])) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n  function VisibilityState(el, options, vnode) {\n    _classCallCheck(this, VisibilityState);\n\n    this.el = el;\n    this.observer = null;\n    this.frozen = false;\n    this.createObserver(options, vnode);\n  }\n\n  _createClass(VisibilityState, [{\n    key: \"createObserver\",\n    value: function createObserver(options, vnode) {\n      var _this = this;\n\n      if (this.observer) {\n        this.destroyObserver();\n      }\n\n      if (this.frozen) return;\n      this.options = processOptions(options);\n\n      this.callback = function (result, entry) {\n        _this.options.callback(result, entry);\n\n        if (result && _this.options.once) {\n          _this.frozen = true;\n\n          _this.destroyObserver();\n        }\n      }; // Throttle\n\n\n      if (this.callback && this.options.throttle) {\n        var _ref = this.options.throttleOptions || {},\n            _leading = _ref.leading;\n\n        this.callback = throttle(this.callback, this.options.throttle, {\n          leading: function leading(state) {\n            return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n          }\n        });\n      }\n\n      this.oldResult = undefined;\n      this.observer = new IntersectionObserver(function (entries) {\n        var entry = entries[0];\n\n        if (entries.length > 1) {\n          var intersectingEntry = entries.find(function (e) {\n            return e.isIntersecting;\n          });\n\n          if (intersectingEntry) {\n            entry = intersectingEntry;\n          }\n        }\n\n        if (_this.callback) {\n          // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n          var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n          if (result === _this.oldResult) return;\n          _this.oldResult = result;\n\n          _this.callback(result, entry);\n        }\n      }, this.options.intersection); // Wait for the element to be in document\n\n      vnode.context.$nextTick(function () {\n        if (_this.observer) {\n          _this.observer.observe(_this.el);\n        }\n      });\n    }\n  }, {\n    key: \"destroyObserver\",\n    value: function destroyObserver() {\n      if (this.observer) {\n        this.observer.disconnect();\n        this.observer = null;\n      } // Cancel throttled call\n\n\n      if (this.callback && this.callback._clear) {\n        this.callback._clear();\n\n        this.callback = null;\n      }\n    }\n  }, {\n    key: \"threshold\",\n    get: function get() {\n      return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n    }\n  }]);\n\n  return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n  var value = _ref2.value;\n  if (!value) return;\n\n  if (typeof IntersectionObserver === 'undefined') {\n    console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n  } else {\n    var state = new VisibilityState(el, value, vnode);\n    el._vue_visibilityState = state;\n  }\n}\n\nfunction update(el, _ref3, vnode) {\n  var value = _ref3.value,\n      oldValue = _ref3.oldValue;\n  if (deepEqual(value, oldValue)) return;\n  var state = el._vue_visibilityState;\n\n  if (!value) {\n    unbind(el);\n    return;\n  }\n\n  if (state) {\n    state.createObserver(value, vnode);\n  } else {\n    bind(el, {\n      value: value\n    }, vnode);\n  }\n}\n\nfunction unbind(el) {\n  var state = el._vue_visibilityState;\n\n  if (state) {\n    state.destroyObserver();\n    delete el._vue_visibilityState;\n  }\n}\n\nvar ObserveVisibility = {\n  bind: bind,\n  update: update,\n  unbind: unbind\n};\n\nfunction install(Vue) {\n  Vue.directive('observe-visibility', ObserveVisibility);\n  /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n  // eslint-disable-next-line no-undef\n  version: \"1.0.0\",\n  install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n  GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n  GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n  GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=7301d745\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=5b37a4cf\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js\"\nexport * from \"./MessageReplyText.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon message-reply-text-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircleOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AlertCircleOutline.vue?vue&type=template&id=4aed4486\"\nimport script from \"./AlertCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AlertCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon alert-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('NcDateTime',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp,\"ignore-seconds\":true}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"label\":_vm.editor ? _vm.t('comments', 'New comment') : _vm.t('comments', 'Edit comment'),\"placeholder\":_vm.t('comments', 'Write a comment …'),\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '@ for mentions, : for emoji, / for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath())\n\n// set CSRF token header\nconst setHeaders = (token) => {\n  client.setHeaders({\n    // Add this so the server knows it is an request from the browser\n    'X-Requested-With': 'XMLHttpRequest',\n    // Inject user auth\n    requesttoken: token ?? '',\n  })\n}\n\n// refresh headers when request token changes\nonRequestTokenUpdate(setHeaders)\nsetHeaders(getRequestToken())\n\nexport default client\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport logger from '../logger.js'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(resourceType, resourceId, commentId, message) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(resourceType, resourceId, commentId) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(resourceType, resourceId, message) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=e4ab9720&scoped=true\"\nimport script from \"./Comment.vue?vue&type=script&lang=js\"\nexport * from \"./Comment.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=e4ab9720&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e4ab9720\",\n  null\n  \n)\n\nexport default component.exports","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, filename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","import { assertError, isError } from \"./error.js\";\nimport { parseArguments } from \"./tools.js\";\nexport class Layerr extends Error {\n    constructor(errorOptionsOrMessage, messageText) {\n        const args = [...arguments];\n        const { options, shortMessage } = parseArguments(args);\n        let message = shortMessage;\n        if (options.cause) {\n            message = `${message}: ${options.cause.message}`;\n        }\n        super(message);\n        this.message = message;\n        if (options.name && typeof options.name === \"string\") {\n            this.name = options.name;\n        }\n        else {\n            this.name = \"Layerr\";\n        }\n        if (options.cause) {\n            Object.defineProperty(this, \"_cause\", { value: options.cause });\n        }\n        Object.defineProperty(this, \"_info\", { value: {} });\n        if (options.info && typeof options.info === \"object\") {\n            Object.assign(this._info, options.info);\n        }\n        if (Error.captureStackTrace) {\n            const ctor = options.constructorOpt || this.constructor;\n            Error.captureStackTrace(this, ctor);\n        }\n    }\n    static cause(err) {\n        assertError(err);\n        if (!err._cause)\n            return null;\n        return isError(err._cause) ? err._cause : null;\n    }\n    static fullStack(err) {\n        assertError(err);\n        const cause = Layerr.cause(err);\n        if (cause) {\n            return `${err.stack}\\ncaused by: ${Layerr.fullStack(cause)}`;\n        }\n        return err.stack;\n    }\n    static info(err) {\n        assertError(err);\n        const output = {};\n        const cause = Layerr.cause(err);\n        if (cause) {\n            Object.assign(output, Layerr.info(cause));\n        }\n        if (err._info) {\n            Object.assign(output, err._info);\n        }\n        return output;\n    }\n    cause() {\n        return Layerr.cause(this);\n    }\n    toString() {\n        let output = this.name || this.constructor.name || this.constructor.prototype.name;\n        if (this.message) {\n            output = `${output}: ${this.message}`;\n        }\n        return output;\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from 'webdav/dist/node/response.js';\nimport { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const props = item.propstat.prop;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","import axios from '@nextcloud/axios';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n    props: {\n        resourceId: {\n            type: Number,\n            required: true,\n        },\n        resourceType: {\n            type: String,\n            default: 'files',\n        },\n    },\n    data() {\n        return {\n            editorData: {\n                actorDisplayName: getCurrentUser().displayName,\n                actorId: getCurrentUser().uid,\n                key: 'editor',\n            },\n            userData: {},\n        };\n    },\n    methods: {\n        /**\n         * Autocomplete @mentions\n         *\n         * @param {string} search the query\n         * @param {Function} callback the callback to process the results with\n         */\n        async autoComplete(search, callback) {\n            const { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n                params: {\n                    search,\n                    itemType: 'files',\n                    itemId: this.resourceId,\n                    sorter: 'commenters|share-recipients',\n                    limit: loadState('comments', 'maxAutoCompleteResults'),\n                },\n            });\n            // Save user data so it can be used by the editor to replace mentions\n            data.ocs.data.forEach(user => { this.userData[user.id] = user; });\n            return callback(Object.values(this.userData));\n        },\n        /**\n         * Make sure we have all mentions as Array of objects\n         *\n         * @param mentions the mentions list\n         */\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        genMentionsData(mentions) {\n            Object.values(mentions)\n                .flat()\n                .forEach(mention => {\n                this.userData[mention.mentionId] = {\n                    // TODO: support groups\n                    icon: 'icon-user',\n                    id: mention.mentionId,\n                    label: mention.mentionDisplayName,\n                    source: 'users',\n                    primary: getCurrentUser()?.uid === mention.mentionId,\n                };\n            });\n            return this.userData;\n        },\n    },\n});\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (resourceType, resourceId, date) => {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const readMarker = date.toUTCString();\n    return client.customRequest(resourcePath, {\n        method: 'PROPPATCH',\n        data: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n    });\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=b2489a3c&scoped=true\"\nimport script from \"./Comments.vue?vue&type=script&lang=js\"\nexport * from \"./Comments.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b2489a3c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"editor\":true,\"user-data\":_vm.userData,\"resource-id\":_vm.resourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"name\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"message\":comment.props.message,\"resource-id\":_vm.resourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"name\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\nimport CommentsApp from '../views/Comments.vue'\nimport logger from '../logger.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} resourceType the comments endpoint type\n\t * @param  {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(resourceType = 'files', options = {}) {\n\t\t// Merge options and set `resourceType` property\n\t\toptions = {\n\t\t\t...options,\n\t\t\tpropsData: {\n\t\t\t\t...(options.propsData ?? {}),\n\t\t\t\tresourceType,\n\t\t\t},\n\t\t}\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comment[data-v-e4ab9720]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-e4ab9720]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-e4ab9720]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-e4ab9720]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-e4ab9720]{margin-left:10px !important}.comment__author[data-v-e4ab9720]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-e4ab9720],.comment__timestamp[data-v-e4ab9720]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-e4ab9720]{position:relative}.comment__editor-description[data-v-e4ab9720]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-e4ab9720]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-e4ab9720]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-e4ab9720]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-e4ab9720]{min-height:44px;margin:0;padding:10px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 8px;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 6px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__editor-group {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__editor-description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-block: var(--default-grid-baseline);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tflex: 1 0;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"3747\":\"bb4bbdf7802c276cc6d5\",\"5528\":\"a811fe13115fafc1fa2e\",\"5662\":\"d1f20e62402d8be29948\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 7062;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7062: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(39256)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","oldValue","version","install","Vue","directive","GlobalVue","window","g","use","name","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","client","createClient","setHeaders","token","requesttoken","onRequestTokenUpdate","getRequestToken","getLoggerBuilder","setApp","detectUser","build","id","message","resourceId","required","resourceType","data","deleted","editing","loading","methods","onEdit","onEditCancel","updateLocalMessage","onEditComment","async","commentId","commentPath","join","customRequest","assign","method","EditComment","logger","debug","error","showError","t","onDeleteWithUndo","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","deleteFile","DeleteComment","onNewComment","newComment","resourcePath","response","axios","post","actorDisplayName","getCurrentUser","displayName","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","headers","split","pop","comment","stat","details","NewComment","localMessage","components","ArrowRight","NcActionButton","NcActions","NcActionSeparator","NcAvatar","NcButton","NcDateTime","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","Boolean","autoComplete","Function","tag","expanded","submitted","computed","isOwnComment","renderedContent","isEmptyMessage","renderContent","trim","timestamp","parse","watch","beforeMount","onSubmit","$refs","$el","focus","onExpand","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","directives","rawName","expression","class","preventDefault","ref","userData","scopedSlots","_u","fn","proxy","domProps","posixClasses","braceEscape","s","replace","rangesToString","ranges","parseClass","glob","position","pos","charAt","Error","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","c","cls","unip","u","neg","startsWith","push","test","slice","sranges","snegs","p","pattern","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","set","reSpecials","addPatternStartSet","filter","a","b","defaults","def","keys","orig","super","unescape","escape","makeRe","braceExpand","list","nobrace","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","allowWindowsEscape","make","hasMagic","magicalBraces","part","_","parseNegate","Set","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","levelTwoFileOptimize","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","convertResponseHeaders","output","PropertyType","getComments","_ref","_options$limit","datetime","toISOString","limit","offset","responseData","text","parseXML","isDetailed","status","statusText","processResponsePayload","getDirectoryFiles","multistatus","responseItems","item","propstat","prop","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","getcontenttype","mimeType","getetag","etag","collection","basename","lastmod","mime","prepareFileFromProps","defineComponent","editorData","search","generateOcsUrl","params","itemType","itemId","sorter","loadState","ocs","user","values","genMentionsData","mentions","flat","mention","_getCurrentUser","mentionId","icon","label","mentionDisplayName","source","primary","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","CommentView","done","comments","cancelRequest","hasComments","isFirstLoading","onVisibilityChange","isVisible","markCommentsAsRead","date","readMarker","resetState","onScrollBottomReached","request","abort","controller","AbortController","signal","url","cancelableRequest","unshift","index","findIndex","_l","$set","__webpack_nonce__","btoa","mixin","OCA","Comments","View","_options$propsData","propsData","extend","CommentsApp","balanced","str","maybeMatch","r","range","end","pre","body","reg","begs","beg","left","right","module","exports","substr","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","Math","random","numeric","charCodeAt","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","x","width","max","incr","abs","pad","some","fromCharCode","need","z","___CSS_LOADER_EXPORT___","validator","XMLParser","XMLBuilder","XMLValidator","_wrapNativeSuper","Class","_cache","Map","has","Wrapper","_construct","_getPrototypeOf","create","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","o","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","object","path","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","err","own","hasOwnProperty","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolve","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","segment","relative","to","fromParts","toParts","min","samePartsLength","outputParts","_makeLong","dirname","root","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","chunkId","Promise","all","promises","globalThis","l","script","needAttach","scripts","document","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/comments-comments-tab.js b/dist/comments-comments-tab.js
index f308d89595c..fdcd7afc4fa 100644
--- a/dist/comments-comments-tab.js
+++ b/dist/comments-comments-tab.js
@@ -1,3 +1,3 @@
 /*! For license information please see comments-comments-tab.js.LICENSE.txt */
-(()=>{var e,n,r,o={23165:(e,n,r)=>{"use strict";var o=r(92457),i=r(38613),s=r(51651),a=r(85471),c=r(96689),l=r(44719),u=r(68928);const p={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},h=t=>t.replace(/[[\]\\-]/g,"\\$&"),f=t=>t.join(""),d=(t,e)=>{const n=e;if("["!==t.charAt(n))throw new Error("not in a brace expression");const r=[],o=[];let i=n+1,s=!1,a=!1,c=!1,l=!1,u=n,d="";t:for(;id?r.push(h(d)+"-"+h(e)):e===d&&r.push(h(e)),d="",i++):t.startsWith("-]",i+1)?(r.push(h(e+"-")),i+=2):t.startsWith("-",i+1)?(d=e,i+=2):(r.push(h(e)),i++)}else c=!0,i++}else l=!0,i++}if(u(U(e),!(!n.nocomment&&"#"===e.charAt(0))&&new Y(e,n).match(t)),v=/^\*+([^+@!?\*\[\(]*)$/,y=t=>e=>!e.startsWith(".")&&e.endsWith(t),w=t=>e=>e.endsWith(t),O=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),j=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),x=/^\*+\.\*+$/,A=t=>!t.startsWith(".")&&t.includes("."),S=t=>"."!==t&&".."!==t&&t.includes("."),E=/^\.\*+$/,C=t=>"."!==t&&".."!==t&&t.startsWith("."),P=/^\*+$/,M=t=>0!==t.length&&!t.startsWith("."),$=t=>0!==t.length&&"."!==t&&".."!==t,L=/^\?+([^+@!?\*\[\(]*)?$/,T=([t,e=""])=>{const n=W([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},R=([t,e=""])=>{const n=_([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},N=([t,e=""])=>{const n=_([t]);return e?t=>n(t)&&t.endsWith(e):n},k=([t,e=""])=>{const n=W([t]);return e?t=>n(t)&&t.endsWith(e):n},W=([t])=>{const e=t.length;return t=>t.length===e&&!t.startsWith(".")},_=([t])=>{const e=t.length;return t=>t.length===e&&"."!==t&&".."!==t},I="object"==typeof g&&g?"object"==typeof g.env&&g.env&&g.env.__MINIMATCH_TESTING_PLATFORM__||g.platform:"posix";b.sep="win32"===I?"\\":"/";const z=Symbol("globstar **");b.GLOBSTAR=z;const V={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},F="[^/]",B=F+"*?",H=t=>t.split("").reduce(((t,e)=>(t[e]=!0,t)),{}),D=H("().*{}+?[]^$\\!"),G=H("[.(");b.filter=(t,e={})=>n=>b(n,t,e);const Z=(t,e={})=>Object.assign({},t,e);b.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return b;const e=b;return Object.assign(((n,r,o={})=>e(n,r,Z(t,o))),{Minimatch:class extends e.Minimatch{constructor(e,n={}){super(e,Z(t,n))}static defaults(n){return e.defaults(Z(t,n)).Minimatch}},unescape:(n,r={})=>e.unescape(n,Z(t,r)),escape:(n,r={})=>e.escape(n,Z(t,r)),filter:(n,r={})=>e.filter(n,Z(t,r)),defaults:n=>e.defaults(Z(t,n)),makeRe:(n,r={})=>e.makeRe(n,Z(t,r)),braceExpand:(n,r={})=>e.braceExpand(n,Z(t,r)),match:(n,r,o={})=>e.match(n,r,Z(t,o)),sep:e.sep,GLOBSTAR:z})};const q=(t,e={})=>(U(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:u(t));b.braceExpand=q;const U=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")};b.makeRe=(t,e={})=>new Y(t,e).makeRe(),b.match=(t,e,n={})=>{const r=new Y(e,n);return t=t.filter((t=>r.match(t))),r.options.nonull&&!t.length&&t.push(e),t};const X=/[?*]|[+@!]\(.*?\)|\[|\]/,K=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Y{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){U(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||I,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if("string"!=typeof e)return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...t)=>m.error(...t)),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&X.test(t[2])||X.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf("**",e+1));){let n=e;for(;"**"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return"**"===e&&"**"===n?t:".."===e&&n&&".."!==n&&"."!==n&&"**"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let i=n[r+1];const s=n[r+2],a=n[r+3];if(".."!==i)continue;if(!s||"."===s||".."===s||!a||"."===a||".."===a)continue;e=!0,n.splice(r,1);const c=n.slice(0);c[r]="**",t.push(c),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e,n=!1){let r=0,o=0,i=[],s="";for(;r=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var i=0,s=0,a=t.length,c=e.length;i>> no match, partial?",t,p,e,h),p!==a))}let o;if("string"==typeof l?(o=u===l,this.debug("string match",l,u,o)):(o=l.test(u),this.debug("pattern match",l,u,o)),!o)return!1}if(i===a&&s===c)return!0;if(i===a)return n;if(s===c)return i===a-1&&""===t[i];throw new Error("wtf?")}braceExpand(){return q(this.pattern,this.options)}parse(t){U(t);const e=this.options;if("**"===t)return z;if(""===t)return"";let n,r=null;(n=t.match(P))?r=e.dot?$:M:(n=t.match(v))?r=(e.nocase?e.dot?j:O:e.dot?w:y)(n[1]):(n=t.match(L))?r=(e.nocase?e.dot?R:T:e.dot?N:k)(n):(n=t.match(x))?r=e.dot?S:A:(n=t.match(E))&&(r=C);let o="",i=!1,s=!1;const a=[],c=[];let l,u=!1,p=!1,h="."===t.charAt(0),f=e.dot||h;const g=t=>"."===t.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",m=()=>{if(u){switch(u){case"*":o+=B,i=!0;break;case"?":o+=F,i=!0;break;default:o+="\\"+u}this.debug("clearStateChar %j %j",u,o),u=!1}};for(let n,r=0;r(n||(n="\\"),e+e+n+"|"))),this.debug("tail=%j\n   %s",t,t,l,o);const e="*"===l.type?B:"?"===l.type?F:"\\"+l.type;i=!0,o=o.slice(0,l.reStart)+e+"\\("+t}m(),s&&(o+="\\\\");const b=G[o.charAt(0)];for(let t=c.length-1;t>-1;t--){const e=c[t],n=o.slice(0,e.reStart),r=o.slice(e.reStart,e.reEnd-8);let i=o.slice(e.reEnd);const s=o.slice(e.reEnd-8,e.reEnd)+i,a=n.split(")").length,l=n.split("(").length-a;let u=i;for(let t=0;t{const e=t.map((t=>"string"==typeof t?K(t):t===z?z:t._src));return e.forEach(((t,r)=>{const o=e[r+1],i=e[r-1];t===z&&i!==z&&(void 0===i?void 0!==o&&o!==z?e[r+1]="(?:\\/|"+n+"\\/)?"+o:e[r]=n:void 0===o?e[r-1]=i+"(?:\\/|"+n+")?":o!==z&&(e[r-1]=i+"(?:\\/|\\/"+n+"\\/)"+o,e[r+1]=z))})),e.filter((t=>t!==z)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,r)}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const r=this.slashSplit(t);this.debug(this.pattern,"split",r);const o=this.set;this.debug(this.pattern,"set",o);let i=r[r.length-1];if(!i)for(let t=r.length-2;!i&&t>=0;t--)i=r[t];for(let t=0;te?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),b.unescape=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var J,Q=r(79605),tt=r(12692);r(86454),r(26602),Error,function(t){t.Array="array",t.Object="object",t.Original="original"}(J||(J={}));var et=r(35550);const nt=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:n}}=t;return n.map((t=>{const{propstat:{prop:n}}=t;return function(t,e,n=!1){const{getlastmodified:r=null,getcontentlength:o="0",resourcetype:i=null,getcontenttype:s=null,getetag:a=null}=t,c=i&&"object"==typeof i&&void 0!==i.collection?"directory":"file",l={filename:e,basename:tt.basename(e),lastmod:r,size:parseInt(o,10),type:c,etag:"string"==typeof a?a.replace(/"/g,""):null};return"file"===c&&(l.mime=s&&"string"==typeof s?s.split(";")[0]:""),n&&(l.props=t),l}(n,n.id.toString(),e)}))};let rt,ot;var it;if(r.nc=btoa((0,o.do)()),(0,i.C)("comments","activityEnabled",!1)&&void 0!==(null===(it=OCA)||void 0===it||null===(it=it.Activity)||void 0===it?void 0:it.registerSidebarAction))window.addEventListener("DOMContentLoaded",(function(){window.OCA.Activity.registerSidebarAction({mount:async(t,e)=>{let{context:n,fileInfo:o,reload:i}=e;if(!rt){const{default:t}=await Promise.all([r.e(4208),r.e(7462),r.e(2913)]).then(r.bind(r,72913));rt=a.Ay.extend(t)}ot=new rt({parent:n,propsData:{reloadCallback:i,resourceId:o.id}}),ot.$mount(t),c.A.info("Comments plugin mounted in Activity sidebar action",{fileInfo:o})},unmount:()=>{ot&&ot.$destroy()}}),window.OCA.Activity.registerSidebarEntries((async t=>{let{fileInfo:e,limit:n,offset:o}=t;const{data:i}=await async function(t,e){var n;let{resourceType:r,resourceId:o}=t;const i=["",r,o].join("/"),s=e.datetime?"".concat(e.datetime.toISOString(),""):"",a=await et.A.customRequest(i,Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t'.concat(null!==(n=e.limit)&&void 0!==n?n:20,"\n\t\t\t\t").concat(e.offset||0,"\n\t\t\t\t").concat(s,"\n\t\t\t")},e)),c=await a.text(),u=await(0,l.h4)(c);return function(t,e,n=!1){return n?{data:e,headers:t.headers?(0,Q.N)(t.headers):{},status:t.status,statusText:t.statusText}:e}(a,nt(u,!0),!0)}({resourceType:"files",resourceId:e.id},{limit:n,offset:o});c.A.debug("Loaded comments",{fileInfo:e,comments:i});const{default:u}=await Promise.all([r.e(4208),r.e(7462),r.e(5632)]).then(r.bind(r,25632)),p=a.Ay.extend(u);return i.map((t=>({timestamp:(0,s.A)(t.props.creationDateTime).toDate().getTime(),mount(n,r){let{context:o,reload:i}=r;this._CommentsViewInstance=new p({parent:o,propsData:{comment:t,resourceId:e.id,reloadCallback:i}}),this._CommentsViewInstance.$mount(n)},unmount(){this._CommentsViewInstance.$destroy()}})))})),window.OCA.Activity.registerSidebarFilter((t=>"comments"!==t.type)),c.A.info("Comments plugin registered for Activity sidebar action")}));else{let e=null;const n=new OCA.Files.Sidebar.Tab({id:"comments",name:t("comments","Comments"),iconSvg:'',async mount(t,n,r){e&&e.$destroy(),e=new OCA.Comments.View("files",{parent:r}),await e.update(n.id),e.$mount(t)},update(t){e.update(t.id)},destroy(){e.$destroy(),e=null},scrollBottomReached(){e.onScrollBottomReached()}});window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(n)}))}},96689:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});const r=(0,n(53529).YK)().setApp("comments").detectUser().build()},35550:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var r,o=n(44719),i=n(17003),s=n(92457);const a=(0,o.UU)((0,i.e)(),{headers:{"X-Requested-With":"XMLHttpRequest",requesttoken:null!==(r=(0,s.do)())&&void 0!==r?r:""}})},17003:(t,e,n)=>{"use strict";n.d(e,{e:()=>o});var r=n(99498);const o=function(){return(0,r.dC)("dav/comments")}},8505:t=>{"use strict";function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var i=r(t,e,o);return i&&{start:i[0],end:i[1],pre:o.slice(0,i[0]),body:o.slice(i[0]+t.length,i[1]),post:o.slice(i[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,i,s,a,c=n.indexOf(t),l=n.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(t===e)return[c,l];for(r=[],i=n.length;u>=0&&!a;)u==c?(r.push(u),c=n.indexOf(t,u+1)):1==r.length?a=[r.pop(),l]:((o=r.pop())=0?c:l;r.length&&(a=[i,s])}return a}t.exports=e,e.range=r},68928:(t,e,n)=>{var r=n(8505);t.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),m(function(t){return t.split("\\\\").join(o).split("\\{").join(i).split("\\}").join(s).split("\\,").join(a).split("\\.").join(c)}(t),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",i="\0OPEN"+Math.random()+"\0",s="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function u(t){return t.split(o).join("\\").split(i).join("{").split(s).join("}").split(a).join(",").split(c).join(".")}function p(t){if(!t)return[""];var e=[],n=r("{","}",t);if(!n)return t.split(",");var o=n.pre,i=n.body,s=n.post,a=o.split(",");a[a.length-1]+="{"+i+"}";var c=p(s);return s.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),e.push.apply(e,a),e}function h(t){return"{"+t+"}"}function f(t){return/^-?0\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function m(t,e){var n=[],o=r("{","}",t);if(!o)return[t];var i=o.pre,a=o.post.length?m(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!O&&!j)return o.post.match(/,.*\}/)?m(t=o.pre+"{"+o.body+s+o.post):[t];if(O)b=o.body.split(/\.\./);else if(1===(b=p(o.body)).length&&1===(b=m(b[0],!1).map(h)).length)return a.map((function(t){return o.pre+b[0]+t}));if(O){var x=l(b[0]),A=l(b[1]),S=Math.max(b[0].length,b[1].length),E=3==b.length?Math.abs(l(b[2])):1,C=d;A0){var T=new Array(L+1).join("0");$=M<0?"-"+T+$.slice(1):T+$}}v.push($)}}else{v=[];for(var R=0;R{"use strict";const r=n(43918),o=n(32923),i=n(8904);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:i}},26602:t=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t){var e="function"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,s)}function s(){return r(t,arguments,i(this).constructor)}return s.prototype=Object.create(t.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),o(s,t)},n(t)}function r(t,e,n){return r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&o(i,n.prototype),i},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}var s=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),(r=function(t,n){return!n||"object"!==e(n)&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}(this,i(n).call(this,t))).name="ObjectPrototypeMutationError",r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split("."),i=o.length,s=function(e){var n=o[e];if(!t)return{v:void 0};if("+"===n){if(Array.isArray(t))return{v:t.map((function(n,i){var s=o.slice(e+1);return s.length>0?a(n,s.join("."),r):r(t,i,o,e)}))};var i=o.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(i,") is not an array"))}t=r(t,n,o,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;if("number"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,i){if(!c(n,i))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var i=!1,s=!1;return a(t,n,(function(t,n,o,a){return i=i||t===r||!!t&&t[n]===r,s=c(o,a)&&"object"===e(t)&&n in t,t&&t[n]})),o.validPath?i&&s:i}catch(t){return!1}},ObjectPrototypeMutationError:s}},12692:(t,e,n)=>{"use strict";var r=n(65606),o=n(40537),i=function(t){return"string"==typeof t};function s(t,e){for(var n=[],r=0;r=-1&&!e;n--){var o=n>=0?arguments[n]:r.cwd();if(!i(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,e="/"===o.charAt(0))}return(e?"/":"")+(t=s(t.split("/"),!e).join("/"))||"."},c.normalize=function(t){var e=c.isAbsolute(t),n="/"===t.substr(-1);return(t=s(t.split("/"),!e).join("/"))||e||(t="."),t&&n&&(t+="/"),(e?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){for(var t="",e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=c.resolve(t).substr(1),e=c.resolve(e).substr(1);for(var r=n(t.split("/")),o=n(e.split("/")),i=Math.min(r.length,o.length),s=i,a=0;a{if(!n){var i=1/0;for(u=0;u=o)&&Object.keys(s.O).every((t=>s.O[t](n[c])))?n.splice(c--,1):(a=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o]},s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.f={},s.e=t=>Promise.all(Object.keys(s.f).reduce(((e,n)=>(s.f[n](t,e),e)),[])),s.u=t=>t+"-"+t+".js?v="+{2913:"1ccb2adaaea884424d3c",3747:"bb4bbdf7802c276cc6d5",5528:"a811fe13115fafc1fa2e",5632:"f16542372833977f05d1",5662:"d1f20e62402d8be29948",7462:"c694a3e8612f892fcd21"}[t],s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",s.l=(t,e,o,i)=>{if(n[t])n[t].push(e);else{var a,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(f);var o=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((t=>t(r))),e)return e(r)},f=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),s.j=2122,(()=>{var t;s.g.importScripts&&(t=s.g.location+"");var e=s.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t})(),(()=>{s.b=document.baseURI||self.location.href;var t={2122:0};s.f.j=(e,n)=>{var r=s.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,o)=>r=t[e]=[n,o]));n.push(r[2]=o);var i=s.p+s.u(e),a=new Error;s.l(i,(n=>{if(s.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,r[1](a)}}),"chunk-"+e,e)}},s.O.j=e=>0===t[e];var e=(e,n)=>{var r,o,i=n[0],a=n[1],c=n[2],l=0;if(i.some((e=>0!==t[e]))){for(r in a)s.o(a,r)&&(s.m[r]=a[r]);if(c)var u=c(s)}for(e&&e(n);ls(23165)));a=s.O(a)})();
-//# sourceMappingURL=comments-comments-tab.js.map?v=9ec6c5148bae5fc769bb
\ No newline at end of file
+(()=>{var e,n,r,o={7041:(e,n,r)=>{"use strict";var o=r(92457),s=r(38613),i=r(51651),a=r(85471),c=r(96689),l=r(44719),u=r(68928);const p={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},h=t=>t.replace(/[[\]\\-]/g,"\\$&"),f=t=>t.join(""),d=(t,e)=>{const n=e;if("["!==t.charAt(n))throw new Error("not in a brace expression");const r=[],o=[];let s=n+1,i=!1,a=!1,c=!1,l=!1,u=n,d="";t:for(;sd?r.push(h(d)+"-"+h(e)):e===d&&r.push(h(e)),d="",s++):t.startsWith("-]",s+1)?(r.push(h(e+"-")),s+=2):t.startsWith("-",s+1)?(d=e,s+=2):(r.push(h(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(U(e),!(!n.nocomment&&"#"===e.charAt(0))&&new Y(e,n).match(t)),v=/^\*+([^+@!?\*\[\(]*)$/,y=t=>e=>!e.startsWith(".")&&e.endsWith(t),w=t=>e=>e.endsWith(t),O=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),j=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),x=/^\*+\.\*+$/,A=t=>!t.startsWith(".")&&t.includes("."),S=t=>"."!==t&&".."!==t&&t.includes("."),E=/^\.\*+$/,C=t=>"."!==t&&".."!==t&&t.startsWith("."),P=/^\*+$/,M=t=>0!==t.length&&!t.startsWith("."),$=t=>0!==t.length&&"."!==t&&".."!==t,L=/^\?+([^+@!?\*\[\(]*)?$/,T=([t,e=""])=>{const n=W([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},R=([t,e=""])=>{const n=_([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},k=([t,e=""])=>{const n=_([t]);return e?t=>n(t)&&t.endsWith(e):n},N=([t,e=""])=>{const n=W([t]);return e?t=>n(t)&&t.endsWith(e):n},W=([t])=>{const e=t.length;return t=>t.length===e&&!t.startsWith(".")},_=([t])=>{const e=t.length;return t=>t.length===e&&"."!==t&&".."!==t},I="object"==typeof g&&g?"object"==typeof g.env&&g.env&&g.env.__MINIMATCH_TESTING_PLATFORM__||g.platform:"posix";b.sep="win32"===I?"\\":"/";const z=Symbol("globstar **");b.GLOBSTAR=z;const V={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},F="[^/]",H=F+"*?",B=t=>t.split("").reduce(((t,e)=>(t[e]=!0,t)),{}),D=B("().*{}+?[]^$\\!"),G=B("[.(");b.filter=(t,e={})=>n=>b(n,t,e);const Z=(t,e={})=>Object.assign({},t,e);b.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return b;const e=b;return Object.assign(((n,r,o={})=>e(n,r,Z(t,o))),{Minimatch:class extends e.Minimatch{constructor(e,n={}){super(e,Z(t,n))}static defaults(n){return e.defaults(Z(t,n)).Minimatch}},unescape:(n,r={})=>e.unescape(n,Z(t,r)),escape:(n,r={})=>e.escape(n,Z(t,r)),filter:(n,r={})=>e.filter(n,Z(t,r)),defaults:n=>e.defaults(Z(t,n)),makeRe:(n,r={})=>e.makeRe(n,Z(t,r)),braceExpand:(n,r={})=>e.braceExpand(n,Z(t,r)),match:(n,r,o={})=>e.match(n,r,Z(t,o)),sep:e.sep,GLOBSTAR:z})};const q=(t,e={})=>(U(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:u(t));b.braceExpand=q;const U=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")};b.makeRe=(t,e={})=>new Y(t,e).makeRe(),b.match=(t,e,n={})=>{const r=new Y(e,n);return t=t.filter((t=>r.match(t))),r.options.nonull&&!t.length&&t.push(e),t};const X=/[?*]|[+@!]\(.*?\)|\[|\]/,K=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Y{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){U(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||I,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if("string"!=typeof e)return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...t)=>m.error(...t)),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&X.test(t[2])||X.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf("**",e+1));){let n=e;for(;"**"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return"**"===e&&"**"===n?t:".."===e&&n&&".."!==n&&"."!==n&&"**"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let s=n[r+1];const i=n[r+2],a=n[r+3];if(".."!==s)continue;if(!i||"."===i||".."===i||!a||"."===a||".."===a)continue;e=!0,n.splice(r,1);const c=n.slice(0);c[r]="**",t.push(c),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e,n=!1){let r=0,o=0,s=[],i="";for(;r=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var s=0,i=0,a=t.length,c=e.length;s>> no match, partial?",t,p,e,h),p!==a))}let o;if("string"==typeof l?(o=u===l,this.debug("string match",l,u,o)):(o=l.test(u),this.debug("pattern match",l,u,o)),!o)return!1}if(s===a&&i===c)return!0;if(s===a)return n;if(i===c)return s===a-1&&""===t[s];throw new Error("wtf?")}braceExpand(){return q(this.pattern,this.options)}parse(t){U(t);const e=this.options;if("**"===t)return z;if(""===t)return"";let n,r=null;(n=t.match(P))?r=e.dot?$:M:(n=t.match(v))?r=(e.nocase?e.dot?j:O:e.dot?w:y)(n[1]):(n=t.match(L))?r=(e.nocase?e.dot?R:T:e.dot?k:N)(n):(n=t.match(x))?r=e.dot?S:A:(n=t.match(E))&&(r=C);let o="",s=!1,i=!1;const a=[],c=[];let l,u=!1,p=!1,h="."===t.charAt(0),f=e.dot||h;const g=t=>"."===t.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",m=()=>{if(u){switch(u){case"*":o+=H,s=!0;break;case"?":o+=F,s=!0;break;default:o+="\\"+u}this.debug("clearStateChar %j %j",u,o),u=!1}};for(let n,r=0;r(n||(n="\\"),e+e+n+"|"))),this.debug("tail=%j\n   %s",t,t,l,o);const e="*"===l.type?H:"?"===l.type?F:"\\"+l.type;s=!0,o=o.slice(0,l.reStart)+e+"\\("+t}m(),i&&(o+="\\\\");const b=G[o.charAt(0)];for(let t=c.length-1;t>-1;t--){const e=c[t],n=o.slice(0,e.reStart),r=o.slice(e.reStart,e.reEnd-8);let s=o.slice(e.reEnd);const i=o.slice(e.reEnd-8,e.reEnd)+s,a=n.split(")").length,l=n.split("(").length-a;let u=s;for(let t=0;t{const e=t.map((t=>"string"==typeof t?K(t):t===z?z:t._src));return e.forEach(((t,r)=>{const o=e[r+1],s=e[r-1];t===z&&s!==z&&(void 0===s?void 0!==o&&o!==z?e[r+1]="(?:\\/|"+n+"\\/)?"+o:e[r]=n:void 0===o?e[r-1]=s+"(?:\\/|"+n+")?":o!==z&&(e[r-1]=s+"(?:\\/|\\/"+n+"\\/)"+o,e[r+1]=z))})),e.filter((t=>t!==z)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,r)}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const r=this.slashSplit(t);this.debug(this.pattern,"split",r);const o=this.set;this.debug(this.pattern,"set",o);let s=r[r.length-1];if(!s)for(let t=r.length-2;!s&&t>=0;t--)s=r[t];for(let t=0;te?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),b.unescape=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var Q,tt=r(12692);r(86454),r(26602),Error,function(t){t.Array="array",t.Object="object",t.Original="original"}(Q||(Q={}));var et=r(35550);const nt=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:n}}=t;return n.map((t=>{const n=t.propstat.prop;return function(t,e,n=!1){const{getlastmodified:r=null,getcontentlength:o="0",resourcetype:s=null,getcontenttype:i=null,getetag:a=null}=t,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l={filename:e,basename:tt.basename(e),lastmod:r,size:parseInt(o,10),type:c,etag:"string"==typeof a?a.replace(/"/g,""):null};return"file"===c&&(l.mime=i&&"string"==typeof i?i.split(";")[0]:""),n&&(l.props=t),l}(n,n.id.toString(),e)}))};let rt,ot;var st;if(r.nc=btoa((0,o.do)()),(0,s.C)("comments","activityEnabled",!1)&&void 0!==(null===(st=OCA)||void 0===st||null===(st=st.Activity)||void 0===st?void 0:st.registerSidebarAction))window.addEventListener("DOMContentLoaded",(function(){window.OCA.Activity.registerSidebarAction({mount:async(t,e)=>{let{context:n,fileInfo:o,reload:s}=e;if(!rt){const{default:t}=await Promise.all([r.e(4208),r.e(7462),r.e(2913)]).then(r.bind(r,72913));rt=a.Ay.extend(t)}ot=new rt({parent:n,propsData:{reloadCallback:s,resourceId:o.id}}),ot.$mount(t),c.A.info("Comments plugin mounted in Activity sidebar action",{fileInfo:o})},unmount:()=>{ot&&ot.$destroy()}}),window.OCA.Activity.registerSidebarEntries((async t=>{let{fileInfo:e,limit:n,offset:o}=t;const{data:s}=await async function(t,e){var n;let{resourceType:r,resourceId:o}=t;const s=["",r,o].join("/"),i=e.datetime?"".concat(e.datetime.toISOString(),""):"",a=await et.A.customRequest(s,Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t'.concat(null!==(n=e.limit)&&void 0!==n?n:20,"\n\t\t\t\t").concat(e.offset||0,"\n\t\t\t\t").concat(i,"\n\t\t\t")},e)),c=await a.text(),u=await(0,l.h4)(c);return function(t,e,n=!1){return n?{data:e,headers:t.headers?J(t.headers):{},status:t.status,statusText:t.statusText}:e}(a,nt(u,!0),!0)}({resourceType:"files",resourceId:e.id},{limit:n,offset:o});c.A.debug("Loaded comments",{fileInfo:e,comments:s});const{default:u}=await Promise.all([r.e(4208),r.e(7462),r.e(5632)]).then(r.bind(r,25632)),p=a.Ay.extend(u);return s.map((t=>({timestamp:(0,i.A)(t.props.creationDateTime).toDate().getTime(),mount(n,r){let{context:o,reload:s}=r;this._CommentsViewInstance=new p({parent:o,propsData:{comment:t,resourceId:e.id,reloadCallback:s}}),this._CommentsViewInstance.$mount(n)},unmount(){this._CommentsViewInstance.$destroy()}})))})),window.OCA.Activity.registerSidebarFilter((t=>"comments"!==t.type)),c.A.info("Comments plugin registered for Activity sidebar action")}));else{let e=null;const n=new OCA.Files.Sidebar.Tab({id:"comments",name:t("comments","Comments"),iconSvg:'',async mount(t,n,r){e&&e.$destroy(),e=new OCA.Comments.View("files",{parent:r}),await e.update(n.id),e.$mount(t)},update(t){e.update(t.id)},destroy(){e.$destroy(),e=null},scrollBottomReached(){e.onScrollBottomReached()}});window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(n)}))}},96689:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});const r=(0,n(53529).YK)().setApp("comments").detectUser().build()},35550:(t,e,n)=>{"use strict";n.d(e,{A:()=>c});var r=n(44719),o=n(17003),s=n(92457);const i=(0,r.UU)((0,o.e)()),a=t=>{i.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:null!=t?t:""})};(0,s.zo)(a),a((0,s.do)());const c=i},17003:(t,e,n)=>{"use strict";n.d(e,{e:()=>o});var r=n(99498);const o=function(){return(0,r.dC)("dav/comments")}},8505:t=>{"use strict";function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var s=r(t,e,o);return s&&{start:s[0],end:s[1],pre:o.slice(0,s[0]),body:o.slice(s[0]+t.length,s[1]),post:o.slice(s[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,s,i,a,c=n.indexOf(t),l=n.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(t===e)return[c,l];for(r=[],s=n.length;u>=0&&!a;)u==c?(r.push(u),c=n.indexOf(t,u+1)):1==r.length?a=[r.pop(),l]:((o=r.pop())=0?c:l;r.length&&(a=[s,i])}return a}t.exports=e,e.range=r},68928:(t,e,n)=>{var r=n(8505);t.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),m(function(t){return t.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(i).split("\\,").join(a).split("\\.").join(c)}(t),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",i="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function u(t){return t.split(o).join("\\").split(s).join("{").split(i).join("}").split(a).join(",").split(c).join(".")}function p(t){if(!t)return[""];var e=[],n=r("{","}",t);if(!n)return t.split(",");var o=n.pre,s=n.body,i=n.post,a=o.split(",");a[a.length-1]+="{"+s+"}";var c=p(i);return i.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),e.push.apply(e,a),e}function h(t){return"{"+t+"}"}function f(t){return/^-?0\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function m(t,e){var n=[],o=r("{","}",t);if(!o)return[t];var s=o.pre,a=o.post.length?m(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!O&&!j)return o.post.match(/,.*\}/)?m(t=o.pre+"{"+o.body+i+o.post):[t];if(O)b=o.body.split(/\.\./);else if(1===(b=p(o.body)).length&&1===(b=m(b[0],!1).map(h)).length)return a.map((function(t){return o.pre+b[0]+t}));if(O){var x=l(b[0]),A=l(b[1]),S=Math.max(b[0].length,b[1].length),E=3==b.length?Math.abs(l(b[2])):1,C=d;A0){var T=new Array(L+1).join("0");$=M<0?"-"+T+$.slice(1):T+$}}v.push($)}}else{v=[];for(var R=0;R{"use strict";const r=n(43918),o=n(32923),s=n(8904);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:s}},26602:t=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t){var e="function"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,i)}function i(){return r(t,arguments,s(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,t)},n(t)}function r(t,e,n){return r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var s=new(Function.bind.apply(t,r));return n&&o(s,n.prototype),s},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}var i=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),(r=function(t,n){return!n||"object"!==e(n)&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}(this,s(n).call(this,t))).name="ObjectPrototypeMutationError",r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split("."),s=o.length,i=function(e){var n=o[e];if(!t)return{v:void 0};if("+"===n){if(Array.isArray(t))return{v:t.map((function(n,s){var i=o.slice(e+1);return i.length>0?a(n,i.join("."),r):r(t,s,o,e)}))};var s=o.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}t=r(t,n,o,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;if("number"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,s){if(!c(n,s))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var s=!1,i=!1;return a(t,n,(function(t,n,o,a){return s=s||t===r||!!t&&t[n]===r,i=c(o,a)&&"object"===e(t)&&n in t,t&&t[n]})),o.validPath?s&&i:s}catch(t){return!1}},ObjectPrototypeMutationError:i}},12692:(t,e,n)=>{"use strict";var r=n(65606),o=n(40537),s=function(t){return"string"==typeof t};function i(t,e){for(var n=[],r=0;r=-1&&!e;n--){var o=n>=0?arguments[n]:r.cwd();if(!s(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,e="/"===o.charAt(0))}return(e?"/":"")+(t=i(t.split("/"),!e).join("/"))||"."},c.normalize=function(t){var e=c.isAbsolute(t),n="/"===t.substr(-1);return(t=i(t.split("/"),!e).join("/"))||e||(t="."),t&&n&&(t+="/"),(e?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){for(var t="",e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=c.resolve(t).substr(1),e=c.resolve(e).substr(1);for(var r=n(t.split("/")),o=n(e.split("/")),s=Math.min(r.length,o.length),i=s,a=0;a{if(!n){var s=1/0;for(u=0;u=o)&&Object.keys(i.O).every((t=>i.O[t](n[c])))?n.splice(c--,1):(a=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,n)=>(i.f[n](t,e),e)),[])),i.u=t=>t+"-"+t+".js?v="+{2913:"1ccb2adaaea884424d3c",3747:"bb4bbdf7802c276cc6d5",5528:"a811fe13115fafc1fa2e",5632:"f16542372833977f05d1",5662:"d1f20e62402d8be29948",7462:"c694a3e8612f892fcd21"}[t],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="nextcloud:",i.l=(t,e,o,s)=>{if(n[t])n[t].push(e);else{var a,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(f);var o=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((t=>t(r))),e)return e(r)},f=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),i.j=2122,(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t})(),(()=>{i.b=document.baseURI||self.location.href;var t={2122:0};i.f.j=(e,n)=>{var r=i.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,o)=>r=t[e]=[n,o]));n.push(r[2]=o);var s=i.p+i.u(e),a=new Error;i.l(s,(n=>{if(i.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+s+")",a.name="ChunkLoadError",a.type=o,a.request=s,r[1](a)}}),"chunk-"+e,e)}},i.O.j=e=>0===t[e];var e=(e,n)=>{var r,o,s=n[0],a=n[1],c=n[2],l=0;if(s.some((e=>0!==t[e]))){for(r in a)i.o(a,r)&&(i.m[r]=a[r]);if(c)var u=c(i)}for(e&&e(n);li(7041)));a=i.O(a)})();
+//# sourceMappingURL=comments-comments-tab.js.map?v=3ecebafdf4d828f7f2f9
\ No newline at end of file
diff --git a/dist/comments-comments-tab.js.map b/dist/comments-comments-tab.js.map
index cac23dc4f8e..a10074e9ee6 100644
--- a/dist/comments-comments-tab.js.map
+++ b/dist/comments-comments-tab.js.map
@@ -1 +1 @@
-{"version":3,"file":"comments-comments-tab.js?v=9ec6c5148bae5fc769bb","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/node_modules/layerr/dist/layerr.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/apps/comments/src/comments-activity-tab.ts","webpack:///nextcloud/apps/comments/src/comments-tab.js","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/brace-expansion/index.js","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, filename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","import { assertError, isError } from \"./error.js\";\nimport { parseArguments } from \"./tools.js\";\nexport class Layerr extends Error {\n    constructor(errorOptionsOrMessage, messageText) {\n        const args = [...arguments];\n        const { options, shortMessage } = parseArguments(args);\n        let message = shortMessage;\n        if (options.cause) {\n            message = `${message}: ${options.cause.message}`;\n        }\n        super(message);\n        this.message = message;\n        if (options.name && typeof options.name === \"string\") {\n            this.name = options.name;\n        }\n        else {\n            this.name = \"Layerr\";\n        }\n        if (options.cause) {\n            Object.defineProperty(this, \"_cause\", { value: options.cause });\n        }\n        Object.defineProperty(this, \"_info\", { value: {} });\n        if (options.info && typeof options.info === \"object\") {\n            Object.assign(this._info, options.info);\n        }\n        if (Error.captureStackTrace) {\n            const ctor = options.constructorOpt || this.constructor;\n            Error.captureStackTrace(this, ctor);\n        }\n    }\n    static cause(err) {\n        assertError(err);\n        if (!err._cause)\n            return null;\n        return isError(err._cause) ? err._cause : null;\n    }\n    static fullStack(err) {\n        assertError(err);\n        const cause = Layerr.cause(err);\n        if (cause) {\n            return `${err.stack}\\ncaused by: ${Layerr.fullStack(cause)}`;\n        }\n        return err.stack;\n    }\n    static info(err) {\n        assertError(err);\n        const output = {};\n        const cause = Layerr.cause(err);\n        if (cause) {\n            Object.assign(output, Layerr.info(cause));\n        }\n        if (err._info) {\n            Object.assign(output, err._info);\n        }\n        return output;\n    }\n    cause() {\n        return Layerr.cause(this);\n    }\n    toString() {\n        let output = this.name || this.constructor.name || this.constructor.prototype.name;\n        if (this.message) {\n            output = `${output}: ${this.message}`;\n        }\n        return output;\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport moment from '@nextcloud/moment';\nimport Vue from 'vue';\nimport logger from './logger.js';\nimport { getComments } from './services/GetComments.js';\nlet ActivityTabPluginView;\nlet ActivityTabPluginInstance;\n/**\n * Register the comments plugins for the Activity sidebar\n */\nexport function registerCommentsPlugins() {\n    window.OCA.Activity.registerSidebarAction({\n        mount: async (el, { context, fileInfo, reload }) => {\n            if (!ActivityTabPluginView) {\n                const { default: ActivityCommmentAction } = await import('./views/ActivityCommentAction.vue');\n                ActivityTabPluginView = Vue.extend(ActivityCommmentAction);\n            }\n            ActivityTabPluginInstance = new ActivityTabPluginView({\n                parent: context,\n                propsData: {\n                    reloadCallback: reload,\n                    resourceId: fileInfo.id,\n                },\n            });\n            ActivityTabPluginInstance.$mount(el);\n            logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo });\n        },\n        unmount: () => {\n            // destroy previous instance if available\n            if (ActivityTabPluginInstance) {\n                ActivityTabPluginInstance.$destroy();\n            }\n        },\n    });\n    window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {\n        const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset });\n        logger.debug('Loaded comments', { fileInfo, comments });\n        const { default: CommentView } = await import('./views/ActivityCommentEntry.vue');\n        const CommentsViewObject = Vue.extend(CommentView);\n        return comments.map((comment) => ({\n            timestamp: moment(comment.props.creationDateTime).toDate().getTime(),\n            mount(element, { context, reload }) {\n                this._CommentsViewInstance = new CommentsViewObject({\n                    parent: context,\n                    propsData: {\n                        comment,\n                        resourceId: fileInfo.id,\n                        reloadCallback: reload,\n                    },\n                });\n                this._CommentsViewInstance.$mount(element);\n            },\n            unmount() {\n                this._CommentsViewInstance.$destroy();\n            },\n        }));\n    });\n    window.OCA.Activity.registerSidebarFilter((activity) => activity.type !== 'comments');\n    logger.info('Comments plugin registered for Activity sidebar action');\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { registerCommentsPlugins } from './comments-activity-tab.ts'\n\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken())\n\nif (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {\n\t// Do not mount own tab but mount into activity\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tregisterCommentsPlugins()\n\t})\n} else {\n\t// Init Comments tab component\n\tlet TabInstance = null\n\tconst commentTab = new OCA.Files.Sidebar.Tab({\n\t\tid: 'comments',\n\t\tname: t('comments', 'Comments'),\n\t\ticonSvg: MessageReplyText,\n\n\t\tasync mount(el, fileInfo, context) {\n\t\t\tif (TabInstance) {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t}\n\t\t\tTabInstance = new OCA.Comments.View('files', {\n\t\t\t\t// Better integration with vue parent component\n\t\t\t\tparent: context,\n\t\t\t})\n\t\t\t// Only mount after we have all the info we need\n\t\t\tawait TabInstance.update(fileInfo.id)\n\t\t\tTabInstance.$mount(el)\n\t\t},\n\t\tupdate(fileInfo) {\n\t\t\tTabInstance.update(fileInfo.id)\n\t\t},\n\t\tdestroy() {\n\t\t\tTabInstance.$destroy()\n\t\t\tTabInstance = null\n\t\t},\n\t\tscrollBottomReached() {\n\t\t\tTabInstance.onScrollBottomReached()\n\t\t},\n\t})\n\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\t\tOCA.Files.Sidebar.registerTab(commentTab)\n\t\t}\n\t})\n}\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2913\":\"1ccb2adaaea884424d3c\",\"3747\":\"bb4bbdf7802c276cc6d5\",\"5528\":\"a811fe13115fafc1fa2e\",\"5632\":\"f16542372833977f05d1\",\"5662\":\"d1f20e62402d8be29948\",\"7462\":\"c694a3e8612f892fcd21\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2122;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2122: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(23165)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","posixClasses","braceEscape","s","replace","rangesToString","ranges","join","parseClass","glob","position","pos","charAt","Error","negs","i","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","length","c","cls","unip","u","neg","Object","entries","startsWith","push","test","slice","sranges","snegs","p","pattern","options","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","Symbol","plTypes","open","close","qmark","star","charSet","split","reduce","set","reSpecials","addPatternStartSet","filter","a","b","assign","defaults","def","keys","orig","constructor","super","unescape","escape","makeRe","braceExpand","list","nobrace","TypeError","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","comment","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","this","allowWindowsEscape","undefined","make","hasMagic","magicalBraces","part","debug","_","parseNegate","Set","args","console","error","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","parse","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","pop","levelTwoFileOptimize","Array","isArray","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","result","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","type","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","t","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","PropertyType","getDirectoryFiles","isDetailed","arguments","multistatus","response","responseItems","item","propstat","prop","props","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","collection","stat","basename","lastmod","size","parseInt","mime","prepareFileFromProps","id","toString","ActivityTabPluginView","ActivityTabPluginInstance","__webpack_nonce__","btoa","getRequestToken","loadState","_OCA","OCA","Activity","registerSidebarAction","window","addEventListener","mount","async","el","_ref","context","fileInfo","reload","default","ActivityCommmentAction","Vue","extend","parent","propsData","reloadCallback","resourceId","$mount","logger","info","unmount","$destroy","registerSidebarEntries","limit","offset","_ref2","data","comments","_options$limit","resourcePath","datetime","concat","toISOString","client","customRequest","method","responseData","text","parseXML","headers","status","statusText","processResponsePayload","getComments","CommentView","CommentsViewObject","timestamp","moment","creationDateTime","toDate","getTime","element","_ref3","_CommentsViewInstance","registerSidebarFilter","activity","TabInstance","commentTab","Files","Sidebar","Tab","name","iconSvg","Comments","View","update","destroy","scrollBottomReached","onScrollBottomReached","registerTab","getLoggerBuilder","setApp","detectUser","build","createClient","getRootPath","requesttoken","_getRequestToken","generateRemoteUrl","balanced","str","maybeMatch","r","range","end","pre","body","post","reg","begs","beg","left","right","module","exports","substr","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","Math","random","numeric","charCodeAt","parseCommaParts","postParts","shift","apply","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","x","width","max","incr","abs","pad","some","String","fromCharCode","need","z","validator","XMLParser","XMLBuilder","XMLValidator","_typeof","obj","iterator","prototype","_wrapNativeSuper","Class","_cache","Map","fn","Function","call","has","get","Wrapper","_construct","_getPrototypeOf","create","value","enumerable","writable","configurable","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","Date","e","_isNativeReflectConstruct","instance","bind","o","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","params","_this","Constructor","_classCallCheck","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","object","path","callback","segments","_loop","idx","currentSegment","v","index","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","Number","isInteger","nextPropIsArrayWildcard","err","own","hasOwnProperty","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolve","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","segment","relative","from","to","trim","arr","fromParts","toParts","min","samePartsLength","outputParts","_makeLong","dirname","root","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","key","getter","__esModule","d","definition","defineProperty","chunkId","Promise","all","promises","g","globalThis","l","url","done","script","needAttach","scripts","document","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","target","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"comments-comments-tab.js?v=3ecebafdf4d828f7f2f9","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/node_modules/layerr/dist/layerr.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/apps/comments/src/comments-activity-tab.ts","webpack:///nextcloud/apps/comments/src/comments-tab.js","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/brace-expansion/index.js","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, filename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","import { assertError, isError } from \"./error.js\";\nimport { parseArguments } from \"./tools.js\";\nexport class Layerr extends Error {\n    constructor(errorOptionsOrMessage, messageText) {\n        const args = [...arguments];\n        const { options, shortMessage } = parseArguments(args);\n        let message = shortMessage;\n        if (options.cause) {\n            message = `${message}: ${options.cause.message}`;\n        }\n        super(message);\n        this.message = message;\n        if (options.name && typeof options.name === \"string\") {\n            this.name = options.name;\n        }\n        else {\n            this.name = \"Layerr\";\n        }\n        if (options.cause) {\n            Object.defineProperty(this, \"_cause\", { value: options.cause });\n        }\n        Object.defineProperty(this, \"_info\", { value: {} });\n        if (options.info && typeof options.info === \"object\") {\n            Object.assign(this._info, options.info);\n        }\n        if (Error.captureStackTrace) {\n            const ctor = options.constructorOpt || this.constructor;\n            Error.captureStackTrace(this, ctor);\n        }\n    }\n    static cause(err) {\n        assertError(err);\n        if (!err._cause)\n            return null;\n        return isError(err._cause) ? err._cause : null;\n    }\n    static fullStack(err) {\n        assertError(err);\n        const cause = Layerr.cause(err);\n        if (cause) {\n            return `${err.stack}\\ncaused by: ${Layerr.fullStack(cause)}`;\n        }\n        return err.stack;\n    }\n    static info(err) {\n        assertError(err);\n        const output = {};\n        const cause = Layerr.cause(err);\n        if (cause) {\n            Object.assign(output, Layerr.info(cause));\n        }\n        if (err._info) {\n            Object.assign(output, err._info);\n        }\n        return output;\n    }\n    cause() {\n        return Layerr.cause(this);\n    }\n    toString() {\n        let output = this.name || this.constructor.name || this.constructor.prototype.name;\n        if (this.message) {\n            output = `${output}: ${this.message}`;\n        }\n        return output;\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from 'webdav/dist/node/response.js';\nimport { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const props = item.propstat.prop;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport moment from '@nextcloud/moment';\nimport Vue from 'vue';\nimport logger from './logger.js';\nimport { getComments } from './services/GetComments.js';\nlet ActivityTabPluginView;\nlet ActivityTabPluginInstance;\n/**\n * Register the comments plugins for the Activity sidebar\n */\nexport function registerCommentsPlugins() {\n    window.OCA.Activity.registerSidebarAction({\n        mount: async (el, { context, fileInfo, reload }) => {\n            if (!ActivityTabPluginView) {\n                const { default: ActivityCommmentAction } = await import('./views/ActivityCommentAction.vue');\n                ActivityTabPluginView = Vue.extend(ActivityCommmentAction);\n            }\n            ActivityTabPluginInstance = new ActivityTabPluginView({\n                parent: context,\n                propsData: {\n                    reloadCallback: reload,\n                    resourceId: fileInfo.id,\n                },\n            });\n            ActivityTabPluginInstance.$mount(el);\n            logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo });\n        },\n        unmount: () => {\n            // destroy previous instance if available\n            if (ActivityTabPluginInstance) {\n                ActivityTabPluginInstance.$destroy();\n            }\n        },\n    });\n    window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {\n        const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset });\n        logger.debug('Loaded comments', { fileInfo, comments });\n        const { default: CommentView } = await import('./views/ActivityCommentEntry.vue');\n        const CommentsViewObject = Vue.extend(CommentView);\n        return comments.map((comment) => ({\n            timestamp: moment(comment.props.creationDateTime).toDate().getTime(),\n            mount(element, { context, reload }) {\n                this._CommentsViewInstance = new CommentsViewObject({\n                    parent: context,\n                    propsData: {\n                        comment,\n                        resourceId: fileInfo.id,\n                        reloadCallback: reload,\n                    },\n                });\n                this._CommentsViewInstance.$mount(element);\n            },\n            unmount() {\n                this._CommentsViewInstance.$destroy();\n            },\n        }));\n    });\n    window.OCA.Activity.registerSidebarFilter((activity) => activity.type !== 'comments');\n    logger.info('Comments plugin registered for Activity sidebar action');\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { registerCommentsPlugins } from './comments-activity-tab.ts'\n\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken())\n\nif (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {\n\t// Do not mount own tab but mount into activity\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tregisterCommentsPlugins()\n\t})\n} else {\n\t// Init Comments tab component\n\tlet TabInstance = null\n\tconst commentTab = new OCA.Files.Sidebar.Tab({\n\t\tid: 'comments',\n\t\tname: t('comments', 'Comments'),\n\t\ticonSvg: MessageReplyText,\n\n\t\tasync mount(el, fileInfo, context) {\n\t\t\tif (TabInstance) {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t}\n\t\t\tTabInstance = new OCA.Comments.View('files', {\n\t\t\t\t// Better integration with vue parent component\n\t\t\t\tparent: context,\n\t\t\t})\n\t\t\t// Only mount after we have all the info we need\n\t\t\tawait TabInstance.update(fileInfo.id)\n\t\t\tTabInstance.$mount(el)\n\t\t},\n\t\tupdate(fileInfo) {\n\t\t\tTabInstance.update(fileInfo.id)\n\t\t},\n\t\tdestroy() {\n\t\t\tTabInstance.$destroy()\n\t\t\tTabInstance = null\n\t\t},\n\t\tscrollBottomReached() {\n\t\t\tTabInstance.onScrollBottomReached()\n\t\t},\n\t})\n\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\t\tOCA.Files.Sidebar.registerTab(commentTab)\n\t\t}\n\t})\n}\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath())\n\n// set CSRF token header\nconst setHeaders = (token) => {\n  client.setHeaders({\n    // Add this so the server knows it is an request from the browser\n    'X-Requested-With': 'XMLHttpRequest',\n    // Inject user auth\n    requesttoken: token ?? '',\n  })\n}\n\n// refresh headers when request token changes\nonRequestTokenUpdate(setHeaders)\nsetHeaders(getRequestToken())\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2913\":\"1ccb2adaaea884424d3c\",\"3747\":\"bb4bbdf7802c276cc6d5\",\"5528\":\"a811fe13115fafc1fa2e\",\"5632\":\"f16542372833977f05d1\",\"5662\":\"d1f20e62402d8be29948\",\"7462\":\"c694a3e8612f892fcd21\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2122;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2122: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(7041)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","posixClasses","braceEscape","s","replace","rangesToString","ranges","join","parseClass","glob","position","pos","charAt","Error","negs","i","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","length","c","cls","unip","u","neg","Object","entries","startsWith","push","test","slice","sranges","snegs","p","pattern","options","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","Symbol","plTypes","open","close","qmark","star","charSet","split","reduce","set","reSpecials","addPatternStartSet","filter","a","b","assign","defaults","def","keys","orig","constructor","super","unescape","escape","makeRe","braceExpand","list","nobrace","TypeError","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","comment","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","this","allowWindowsEscape","undefined","make","hasMagic","magicalBraces","part","debug","_","parseNegate","Set","args","console","error","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","parse","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","pop","levelTwoFileOptimize","Array","isArray","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","result","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","type","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","t","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","convertResponseHeaders","headers","output","key","get","PropertyType","getDirectoryFiles","isDetailed","arguments","multistatus","response","responseItems","item","props","propstat","prop","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","collection","stat","basename","lastmod","size","parseInt","mime","prepareFileFromProps","id","toString","ActivityTabPluginView","ActivityTabPluginInstance","__webpack_nonce__","btoa","getRequestToken","loadState","_OCA","OCA","Activity","registerSidebarAction","window","addEventListener","mount","async","el","_ref","context","fileInfo","reload","default","ActivityCommmentAction","Vue","extend","parent","propsData","reloadCallback","resourceId","$mount","logger","info","unmount","$destroy","registerSidebarEntries","limit","offset","_ref2","data","comments","_options$limit","resourcePath","datetime","concat","toISOString","client","customRequest","method","responseData","text","parseXML","status","statusText","processResponsePayload","getComments","CommentView","CommentsViewObject","timestamp","moment","creationDateTime","toDate","getTime","element","_ref3","_CommentsViewInstance","registerSidebarFilter","activity","TabInstance","commentTab","Files","Sidebar","Tab","name","iconSvg","Comments","View","update","destroy","scrollBottomReached","onScrollBottomReached","registerTab","getLoggerBuilder","setApp","detectUser","build","createClient","getRootPath","setHeaders","token","requesttoken","onRequestTokenUpdate","generateRemoteUrl","balanced","str","maybeMatch","r","range","end","pre","body","post","reg","begs","beg","left","right","module","exports","substr","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","Math","random","numeric","charCodeAt","parseCommaParts","postParts","shift","apply","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","x","width","max","incr","abs","pad","some","String","fromCharCode","need","z","validator","XMLParser","XMLBuilder","XMLValidator","_typeof","obj","iterator","prototype","_wrapNativeSuper","Class","_cache","Map","fn","Function","call","has","Wrapper","_construct","_getPrototypeOf","create","value","enumerable","writable","configurable","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","Date","e","_isNativeReflectConstruct","instance","bind","o","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","params","_this","Constructor","_classCallCheck","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","object","path","callback","segments","_loop","idx","currentSegment","v","index","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","Number","isInteger","nextPropIsArrayWildcard","err","own","hasOwnProperty","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolve","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","segment","relative","from","to","trim","arr","fromParts","toParts","min","samePartsLength","outputParts","_makeLong","dirname","root","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","defineProperty","chunkId","Promise","all","promises","g","globalThis","l","url","done","script","needAttach","scripts","document","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","target","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/core-common.js b/dist/core-common.js
index 85accbdd4f5..c45b87cc7cd 100644
--- a/dist/core-common.js
+++ b/dist/core-common.js
@@ -1,3 +1,3 @@
 /*! For license information please see core-common.js.LICENSE.txt */
-(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[4208],{42660:(e,t,n)=>{"use strict";var r=n(49574),a=Object.prototype.hasOwnProperty,i={align:"text-align",valign:"vertical-align",height:"height",width:"width"};function o(e){var t;if("tr"===e.tagName||"td"===e.tagName||"th"===e.tagName)for(t in i)a.call(i,t)&&void 0!==e.properties[t]&&(s(e,i[t],e.properties[t]),delete e.properties[t])}function s(e,t,n){var r=(e.properties.style||"").trim();r&&!/;\s*/.test(r)&&(r+=";"),r&&(r+=" ");var a=r+t+": "+n+";";e.properties.style=a}e.exports=function(e){return r(e,"element",o),e}},20856:e=>{"use strict";function t(e){if("string"==typeof e)return function(e){return function(t){return Boolean(t&&t.type===e)}}(e);if(null==e)return a;if("object"==typeof e)return("length"in e?r:n)(e);if("function"==typeof e)return e;throw new Error("Expected function, string, or object as test")}function n(e){return function(t){var n;for(n in e)if(t[n]!==e[n])return!1;return!0}}function r(e){var n=function(e){for(var n=[],r=e.length,a=-1;++a{"use strict";e.exports=s;var r=n(20856),a=!0,i="skip",o=!1;function s(e,t,n,a){var s;"function"==typeof t&&"function"!=typeof n&&(a=n,n=t,t=null),s=r(t),function e(r,u,d){var c,h=[];return(t&&!s(r,u,d[d.length-1]||null)||(h=l(n(r,d)))[0]!==o)&&r.children&&h[0]!==i?(c=l(function(t,n){for(var r,i=a?-1:1,s=(a?t.length:-1)+i;s>-1&&s{"use strict";e.exports=s;var r=n(29222),a=r.CONTINUE,i=r.SKIP,o=r.EXIT;function s(e,t,n,a){"function"==typeof t&&"function"!=typeof n&&(a=n,n=t,t=null),r(e,t,(function(e,t){var r=t[t.length-1],a=r?r.children.indexOf(e):null;return n(e,a,r)}),a)}s.CONTINUE=a,s.SKIP=i,s.EXIT=o},79875:(e,t,n)=>{"use strict";var r=n(96763),a=n(19850),i=void 0,o=[];a.subscribe("csrf-token-update",(function(e){i=e.token,o.forEach((function(t){try{t(e.token)}catch(e){r.error("error updating CSRF token observer",e)}}))}));var s=function(e,t){return e?e.getAttribute(t):null},l=void 0;t.getCurrentUser=function(){if(void 0!==l)return l;var e=null===document||void 0===document?void 0:document.getElementsByTagName("head")[0];if(!e)return null;var t=s(e,"data-user");return l=null===t?null:{uid:t,displayName:s(e,"data-user-displayname"),isAdmin:!!window._oc_isadmin}},t.getRequestToken=function(){if(void 0===i){var e=null===document||void 0===document?void 0:document.getElementsByTagName("head")[0];i=e?e.getAttribute("data-requesttoken"):null}return i},t.onRequestTokenUpdate=function(e){o.push(e)}},59097:(e,t,n)=>{"use strict";t.c0=function(e){return new r.default(e)};var r=a(n(59457));a(n(50432));function a(e){return e&&e.__esModule?e:{default:e}}},50432:(e,t)=>{"use strict";function n(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class r{constructor(e,t,a){n(this,"scope",void 0),n(this,"wrapped",void 0),this.scope=`${a?r.GLOBAL_SCOPE_PERSISTENT:r.GLOBAL_SCOPE_VOLATILE}_${btoa(e)}_`,this.wrapped=t}scopeKey(e){return`${this.scope}${e}`}setItem(e,t){this.wrapped.setItem(this.scopeKey(e),t)}getItem(e){return this.wrapped.getItem(this.scopeKey(e))}removeItem(e){this.wrapped.removeItem(this.scopeKey(e))}clear(){Object.keys(this.wrapped).filter((e=>e.startsWith(this.scope))).map(this.wrapped.removeItem.bind(this.wrapped))}}t.default=r,n(r,"GLOBAL_SCOPE_VOLATILE","nextcloud_vol"),n(r,"GLOBAL_SCOPE_PERSISTENT","nextcloud_per")},59457:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,a=(r=n(50432))&&r.__esModule?r:{default:r};function i(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}t.default=class{constructor(e){i(this,"appId",void 0),i(this,"persisted",!1),i(this,"clearedOnLogout",!1),this.appId=e}persist(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.persisted=e,this}clearOnLogout(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.clearedOnLogout=e,this}build(){return new a.default(this.appId,this.persisted?window.localStorage:window.sessionStorage,!this.clearedOnLogout)}}},22843:(e,t,n)=>{"use strict";var r=n(96763);n(84185),t.F=function(){try{return(0,a.loadState)("core","capabilities")}catch(e){return r.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}};var a=n(10129)},9784:(e,t,n)=>{"use strict";var r=n(96763);n(84185),n(2259),n(23792),n(47764),n(62953),Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleLogger=void 0,t.buildConsoleLogger=function(e){return new l(e)},n(69085),n(45700),n(89572),n(52675),n(89463),n(26099),n(2892);var a=n(1282);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){for(var n=0;n{"use strict";n(84185),n(2259),n(23792),n(47764),n(62953),Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerBuilder=void 0,n(45700),n(89572),n(52675),n(89463),n(26099),n(2892);var r=n(79875),a=n(1282);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){for(var n=0;n{"use strict";n(84185),Object.defineProperty(t,"__esModule",{value:!0}),t.LogLevel=void 0;var r=function(e){return e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Fatal=4]="Fatal",e}({});t.LogLevel=r},53529:(e,t,n)=>{"use strict";n(84185),t.YK=function(){return new a.LoggerBuilder(r.buildConsoleLogger)};var r=n(9784),a=n(690);n(1282)},71089:(e,t,n)=>{"use strict";function r(){for(var e=arguments.length,t=new Array(e),n=0;n0}));if(r.length<1)return"";var a=r[r.length-1],i="/"===r[0].charAt(0),o="/"===a.charAt(a.length-1),s=r.reduce((function(e,t){return e.concat(t.split("/"))}),[]),l=!i,u=s.reduce((function(e,t){return""===t?e:l?(l=!1,e+t):e+"/"+t}),"");return o?u+"/":u}t.O0=function(e){return e?e.split("/").map(encodeURIComponent).join("/"):e},t.P8=function(e){return e.replace(/\\/g,"/").replace(/.*\//,"")},t.pD=function(e){return e.replace(/\\/g,"/").replace(/\/[^\/]*$/,"")},t.HS=r,t.ys=function(e,t){var n=(e||"").split("/").filter((function(e){return"."!==e})),a=(t||"").split("/").filter((function(e){return"."!==e}));return(e=r.apply(void 0,n))===(t=r.apply(void 0,a))},n(62062),n(27495),n(90744),n(25440),n(2008),n(72712),n(28706)},99498:(e,t,n)=>{"use strict";t.Jv=t.dC=t.KT=t.fg=void 0,t.aU=i,t.uM=t.d0=void 0,n(25440),t.uM=(e,t)=>a(e,"",t),t.dC=e=>window.location.protocol+"//"+window.location.host+(e=>i()+"/remote.php/"+e)(e),t.KT=(e,t,n)=>{const a=1===Object.assign({ocsVersion:2},n||{}).ocsVersion?1:2;return window.location.protocol+"//"+window.location.host+i()+"/ocs/v"+a+".php"+r(e,t,n)};const r=(e,t,n)=>{const r=Object.assign({escape:!0},n||{});return"/"!==e.charAt(0)&&(e="/"+e),a=(a=t||{})||{},e.replace(/{([^{}]*)}/g,(function(e,t){var n=a[t];return r.escape?"string"==typeof n||"number"==typeof n?encodeURIComponent(n.toString()):encodeURIComponent(e):"string"==typeof n||"number"==typeof n?n.toString():e}));var a};t.Jv=(e,t,n)=>{var a;const o=Object.assign({noRewrite:!1},n||{});return!0!==(null===(a=window)||void 0===a||null===(a=a.OC)||void 0===a||null===(a=a.config)||void 0===a?void 0:a.modRewriteWorking)||o.noRewrite?i()+"/index.php"+r(e,t,n):i()+r(e,t,n)},t.d0=(e,t)=>-1===t.indexOf(".")?a(e,"img",t+".svg"):a(e,"img",t);const a=(e,t,n)=>{var r;const a=-1!==(null===(r=window)||void 0===r||null===(r=r.OC)||void 0===r||null===(r=r.coreApps)||void 0===r?void 0:r.indexOf(e));let o=i();return"php"!==n.substring(n.length-3)||a?"php"===n.substring(n.length-3)||a?(o+="settings"!==e&&"core"!==e&&"search"!==e||"ajax"!==t?"/":"/index.php/",a||(o+="apps/"),""!==e&&(o+=e+="/"),t&&(o+=t+"/"),o+=n):(o=function(e){var t,n;return null!==(n=(null!==(t=window._oc_appswebroots)&&void 0!==t?t:{})[e])&&void 0!==n?n:""}(e),t&&(o+="/"+t+"/"),"/"!==o.substring(o.length-1)&&(o+="/"),o+=n):(o+="/index.php/apps/"+e,"index.php"!==n&&(o+="/",t&&(o+=encodeURI(t+"/")),o+=n)),o};function i(){let e=window._oc_webroot;if(void 0===e){e=location.pathname;const t=e.indexOf("/index.php/");e=-1!==t?e.substr(0,t):e.substr(0,e.lastIndexOf("/"))}return e}t.fg=a},52129:(e,t)=>{"use strict";var n;t.Z=void 0,t.Z=n,function(e){e[e.SHARE_TYPE_USER=0]="SHARE_TYPE_USER",e[e.SHARE_TYPE_GROUP=1]="SHARE_TYPE_GROUP",e[e.SHARE_TYPE_LINK=3]="SHARE_TYPE_LINK",e[e.SHARE_TYPE_EMAIL=4]="SHARE_TYPE_EMAIL",e[e.SHARE_TYPE_REMOTE=6]="SHARE_TYPE_REMOTE",e[e.SHARE_TYPE_CIRCLE=7]="SHARE_TYPE_CIRCLE",e[e.SHARE_TYPE_GUEST=8]="SHARE_TYPE_GUEST",e[e.SHARE_TYPE_REMOTE_GROUP=9]="SHARE_TYPE_REMOTE_GROUP",e[e.SHARE_TYPE_ROOM=10]="SHARE_TYPE_ROOM",e[e.SHARE_TYPE_DECK=12]="SHARE_TYPE_DECK"}(n||(t.Z=n={}))},37417:function(e,t,n){var r=n(96763);"undefined"!=typeof self&&self,e.exports=(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(e,t,n)=>{var r=n(646),a=n(860),i=n(206);e.exports=function(e){return r(e)||a(e)||i()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{"use strict";n.r(a),n.d(a,{VueSelect:()=>v,default:()=>b,mixins:()=>A});var e=n(319),t=n.n(e),i=n(8),o=n.n(i),s=n(713),l=n.n(s);const u={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),r=t.getBoundingClientRect(),a=r.top,i=r.bottom,o=r.height;if(an.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-o)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},d={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange)for(var e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function h(e,t,n,r,a,i,o,s){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):a&&(l=s?function(){a.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(e,t){return l.call(t),d(e,t)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:e,options:u}}const f={Deselect:h({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[t("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])}),[],!1,null,null,null).exports,OpenIndicator:h({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[t("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])}),[],!1,null,null,null).exports},m={inserted:function(e,t,n){var r=n.context;if(r.appendToBody){document.body.appendChild(e);var a=r.$refs.toggle.getBoundingClientRect(),i=a.height,o=a.top,s=a.left,l=a.width,u=window.scrollX||window.pageXOffset,d=window.scrollY||window.pageYOffset;e.unbindPosition=r.calculatePosition(e,r,{width:l+"px",left:u+s+"px",top:d+o+i+"px"})}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&"function"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};var p=0;function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var r=n.getOptionLabel(e);return"number"==typeof r&&(r=r.toString()),n.filterBy(e,r,t)}))}},createOption:{type:Function,default:function(e){return"object"===o()(this.optionList[0])?l()({},this.label,e):e}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(e){return["function","boolean"].includes(o()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var r=n.width,a=n.top,i=n.left;e.style.top=a,e.style.left=i,e.style.width=r}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,r=e.mutableLoading;return!t&&n&&!r}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return++p}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&""!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:_({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:"combobox","aria-autocomplete":"list","aria-label":this.ariaLabelCombobox,"aria-controls":"vs".concat(this.uid,"__listbox"),"aria-owns":"vs".concat(this.uid,"__listbox"),"aria-expanded":this.dropdownOpen.toString(),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:t,listFooter:t,header:_({},t,{deselect:this.deselect}),footer:_({},t,{deselect:this.deselect})}},childComponents:function(){return _({},f,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=this,t=function(t){return null!==e.limit?t.slice(0,e.limit):t},n=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t(n);var r=this.search.length?this.filter(n,this.search,this):n;if(this.taggable&&this.search.length){var a=this.createOption(this.search);this.optionExists(a)||r.unshift(a)}return t(r)},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&("function"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?"open":"close")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit("option:selecting",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit("option:created",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit("option:selected",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit("option:deselecting",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit("option:deselected",e)},keyboardDeselect:function(e,t){var n,r;this.deselect(e);var a=null===(n=this.$refs.deselectButtons)||void 0===n?void 0:n[t+1],i=null===(r=this.$refs.deselectButtons)||void 0===r?void 0:r[t-1],o=null!=a?a:i;o?o.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit("input",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var r=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||r.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(e){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&e===this.typeAheadPointer},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,r=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===r.length?r[0]:r.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},optionAriaSelected:function(e){return this.selectable(e)?String(this.isOptionSelected(e)):null},normalizeOptionForSlot:function(e){return"object"===o()(e)?e:l()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(e,t){this.isKeyboardNavigation=!1,this.selectable(e)&&(this.typeAheadPointer=t)},onSearchKeyDown:function(e){var t=this,n=function(e){if(e.preventDefault(),t.open)return!t.isComposing&&t.typeAheadSelect();t.open=!0},r={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return r[e]=n}));var a=this.mapKeydown(r,this);if("function"==typeof a[e.keyCode])return a[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"v-select",class:e.stateClasses,attrs:{id:"v-select-"+e.uid,dir:e.dir}},[e._t("header",null,null,e.scope.header),e._v(" "),n("div",{ref:"toggle",staticClass:"vs__dropdown-toggle"},[n("div",{ref:"selectedOptions",staticClass:"vs__selected-options",on:{mousedown:e.toggleDropdown}},[e._l(e.selectedValue,(function(t,r){return e._t("selected-option-container",[n("span",{key:e.getOptionKey(t),staticClass:"vs__selected"},[e._t("selected-option",[e._v("\n            "+e._s(e.getOptionLabel(t))+"\n          ")],null,e.normalizeOptionForSlot(t)),e._v(" "),e.multiple?n("button",{ref:"deselectButtons",refInFor:!0,staticClass:"vs__deselect",attrs:{disabled:e.disabled,type:"button",title:e.ariaLabelDeselectOption(e.getOptionLabel(t)),"aria-label":e.ariaLabelDeselectOption(e.getOptionLabel(t))},on:{mousedown:function(n){return n.stopPropagation(),e.deselect(t)},keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:e.keyboardDeselect(t,r)}}},[n(e.childComponents.Deselect,{tag:"component"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(" "),e._t("search",[n("input",e._g(e._b({staticClass:"vs__search"},"input",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(" "),n("div",{ref:"actions",staticClass:"vs__actions"},[n("button",{directives:[{name:"show",rawName:"v-show",value:e.showClearButton,expression:"showClearButton"}],ref:"clearButton",staticClass:"vs__clear",attrs:{disabled:e.disabled,type:"button",title:e.ariaLabelClearSelected,"aria-label":e.ariaLabelClearSelected},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:"component"})],1),e._v(" "),e.noDrop?e._e():n("button",{ref:"openIndicatorButton",staticClass:"vs__open-indicator-button",attrs:{type:"button",tabindex:"-1","aria-labelledby":"vs"+e.uid+"__listbox","aria-controls":"vs"+e.uid+"__listbox","aria-expanded":e.dropdownOpen.toString()},on:{mousedown:e.toggleDropdown}},[e._t("open-indicator",[n(e.childComponents.OpenIndicator,e._b({tag:"component"},"component",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator)],2),e._v(" "),e._t("spinner",[n("div",{directives:[{name:"show",rawName:"v-show",value:e.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[e._v("Loading...")])],null,e.scope.spinner)],2)]),e._v(" "),n("transition",{attrs:{name:e.transition}},[e.dropdownOpen?n("ul",{directives:[{name:"append-to-body",rawName:"v-append-to-body"}],key:"vs"+e.uid+"__listbox",ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{id:"vs"+e.uid+"__listbox",role:"listbox","aria-label":e.ariaLabelListbox,"aria-multiselectable":e.multiple,tabindex:"-1"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t("list-header",null,null,e.scope.listHeader),e._v(" "),e._l(e.filteredOptions,(function(t,r){return n("li",{key:e.getOptionKey(t),staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--deselect":e.isOptionDeselectable(t)&&r===e.typeAheadPointer,"vs__dropdown-option--selected":e.isOptionSelected(t),"vs__dropdown-option--highlight":r===e.typeAheadPointer,"vs__dropdown-option--kb-focus":e.hasKeyboardFocusBorder(r),"vs__dropdown-option--disabled":!e.selectable(t)},attrs:{id:"vs"+e.uid+"__option-"+r,role:"option","aria-selected":e.optionAriaSelected(t)},on:{mousemove:function(n){return e.onMouseMove(t,r)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t("option",[e._v("\n          "+e._s(e.getOptionLabel(t))+"\n        ")],null,e.normalizeOptionForSlot(t))],2)})),e._v(" "),0===e.filteredOptions.length?n("li",{staticClass:"vs__no-options"},[e._t("no-options",[e._v("\n          Sorry, no matching options.\n        ")],null,e.scope.noOptions)],2):e._e(),e._v(" "),e._t("list-footer",null,null,e.scope.listFooter)],2):n("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs"+e.uid+"__listbox",role:"listbox","aria-label":e.ariaLabelListbox}})]),e._v(" "),e._t("footer",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,A={ajax:c,pointer:d,pointerScroll:u},b=v})(),a})()},84055:e=>{function t(e,t=100,n={}){if("function"!=typeof e)throw new TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(t<0)throw new RangeError("`wait` must not be negative.");const{immediate:r}="boolean"==typeof n?{immediate:n}:n;let a,i,o,s,l;function u(){const n=Date.now()-s;if(n=0)o=setTimeout(u,t-n);else if(o=void 0,!r){const t=a,n=i;a=void 0,i=void 0,l=e.apply(t,n)}}const d=function(...n){if(a&&this!==a)throw new Error("Debounced method called with different contexts.");a=this,i=n,s=Date.now();const d=r&&!o;if(o||(o=setTimeout(u,t)),d){const t=a,n=i;a=void 0,i=void 0,l=e.apply(t,n)}return l};return d.clear=()=>{o&&(clearTimeout(o),o=void 0)},d.flush=()=>{if(!o)return;const t=a,n=i;a=void 0,i=void 0,l=e.apply(t,n),clearTimeout(o),o=void 0},d}e.exports.debounce=t,e.exports=t},94148:(e,t,n)=>{"use strict";var r=n(65606),a=n(96763);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){for(var n=0;n1?n-1:0),a=1;a1?n-1:0),a=1;a1?n-1:0),a=1;a1?n-1:0),a=1;a{"use strict";var r=n(65606);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;te.length)&&(n=e.length),e.substring(n-t.length,n)===t}var A="",b="",y="",F="",T={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function E(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function w(e){return g(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(k,e);var n,a,s,d,c=(n=k,a=h(),function(){var e,t=m(n);if(a){var r=m(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return l(this,e)});function k(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,k),"object"!==p(e)||null===e)throw new _("options","Object",e);var n=e.message,a=e.operator,i=e.stackStartFn,o=e.actual,s=e.expected,d=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)t=c.call(this,String(n));else if(r.stderr&&r.stderr.isTTY&&(r.stderr&&r.stderr.getColorDepth&&1!==r.stderr.getColorDepth()?(A="",b="",F="",y=""):(A="",b="",F="",y="")),"object"===p(o)&&null!==o&&"object"===p(s)&&null!==s&&"stack"in o&&o instanceof Error&&"stack"in s&&s instanceof Error&&(o=E(o),s=E(s)),"deepStrictEqual"===a||"strictEqual"===a)t=c.call(this,function(e,t,n){var a="",i="",o=0,s="",l=!1,u=w(e),d=u.split("\n"),c=w(t).split("\n"),h=0,f="";if("strictEqual"===n&&"object"===p(e)&&"object"===p(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===d.length&&1===c.length&&d[0]!==c[0]){var m=d[0].length+c[0].length;if(m<=10){if(!("object"===p(e)&&null!==e||"object"===p(t)&&null!==t||0===e&&0===t))return"".concat(T[n],"\n\n")+"".concat(d[0]," !== ").concat(c[0],"\n")}else if("strictEqualObject"!==n&&m<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;d[0][h]===c[0][h];)h++;h>2&&(f="\n  ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",h),"^"),h=0)}}for(var g=d[d.length-1],_=c[c.length-1];g===_&&(h++<2?s="\n  ".concat(g).concat(s):a=g,d.pop(),c.pop(),0!==d.length&&0!==c.length);)g=d[d.length-1],_=c[c.length-1];var E=Math.max(d.length,c.length);if(0===E){var k=u.split("\n");if(k.length>30)for(k[26]="".concat(A,"...").concat(F);k.length>27;)k.pop();return"".concat(T.notIdentical,"\n\n").concat(k.join("\n"),"\n")}h>3&&(s="\n".concat(A,"...").concat(F).concat(s),l=!0),""!==a&&(s="\n  ".concat(a).concat(s),a="");var D=0,C=T[n]+"\n".concat(b,"+ actual").concat(F," ").concat(y,"- expected").concat(F),S=" ".concat(A,"...").concat(F," Lines skipped");for(h=0;h1&&h>2&&(x>4?(i+="\n".concat(A,"...").concat(F),l=!0):x>3&&(i+="\n  ".concat(c[h-2]),D++),i+="\n  ".concat(c[h-1]),D++),o=h,a+="\n".concat(y,"-").concat(F," ").concat(c[h]),D++;else if(c.length1&&h>2&&(x>4?(i+="\n".concat(A,"...").concat(F),l=!0):x>3&&(i+="\n  ".concat(d[h-2]),D++),i+="\n  ".concat(d[h-1]),D++),o=h,i+="\n".concat(b,"+").concat(F," ").concat(d[h]),D++;else{var M=c[h],B=d[h],N=B!==M&&(!v(B,",")||B.slice(0,-1)!==M);N&&v(M,",")&&M.slice(0,-1)===B&&(N=!1,B+=","),N?(x>1&&h>2&&(x>4?(i+="\n".concat(A,"...").concat(F),l=!0):x>3&&(i+="\n  ".concat(d[h-2]),D++),i+="\n  ".concat(d[h-1]),D++),o=h,i+="\n".concat(b,"+").concat(F," ").concat(B),a+="\n".concat(y,"-").concat(F," ").concat(M),D+=2):(i+=a,a="",1!==x&&0!==h||(i+="\n  ".concat(B),D++))}if(D>20&&h30)for(f[26]="".concat(A,"...").concat(F);f.length>27;)f.pop();t=1===f.length?c.call(this,"".concat(h," ").concat(f[0])):c.call(this,"".concat(h,"\n\n").concat(f.join("\n"),"\n"))}else{var m=w(o),g="",D=T[a];"notDeepEqual"===a||"notEqual"===a?(m="".concat(T[a],"\n\n").concat(m)).length>1024&&(m="".concat(m.slice(0,1021),"...")):(g="".concat(w(s)),m.length>512&&(m="".concat(m.slice(0,509),"...")),g.length>512&&(g="".concat(g.slice(0,509),"...")),"deepEqual"===a||"equal"===a?m="".concat(D,"\n\n").concat(m,"\n\nshould equal\n\n"):g=" ".concat(a," ").concat(g)),t=c.call(this,"".concat(m).concat(g))}return Error.stackTraceLimit=d,t.generatedMessage=!n,Object.defineProperty(u(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=o,t.expected=s,t.operator=a,Error.captureStackTrace&&Error.captureStackTrace(u(t),i),t.stack,t.name="AssertionError",l(t)}return s=k,(d=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return g(this,i(i({},t),{},{customInspect:!1,depth:0}))}}])&&o(s.prototype,d),Object.defineProperty(s,"prototype",{writable:!1}),k}(d(Error),g.custom);e.exports=k},69597:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}var o,s,l={};function u(e,t,n){n||(n=Error);var o=function(n){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}(d,n);var o,s,l,u=(s=d,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=i(s);if(l){var n=i(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function d(n,r,a){var i;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),i=u.call(this,function(e,n,r){return"string"==typeof t?t:t(e,n,r)}(n,r,a)),i.code=e,i}return o=d,Object.defineProperty(o,"prototype",{writable:!1}),o}(n);l[e]=o}function d(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(e,t,a){var i,s,l,u,c;if(void 0===o&&(o=n(94148)),o("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(s="not ",t.substr(0,4)===s)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-9,n)===t}(e," argument"))l="The ".concat(e," ").concat(i," ").concat(d(t,"type"));else{var h=("number"!=typeof c&&(c=0),c+1>(u=e).length||-1===u.indexOf(".",c)?"argument":"property");l='The "'.concat(e,'" ').concat(h," ").concat(i," ").concat(d(t,"type"))}return l+". Received type ".concat(r(a))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=n(40537));var a=s.inspect(t);return a.length>128&&(a="".concat(a.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(a)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var a;return a=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(a,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var a="The ",i=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),i){case 1:a+="".concat(t[0]," argument");break;case 2:a+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:a+=t.slice(0,i-1).join(", "),a+=", and ".concat(t[i-1]," arguments")}return"".concat(a," must be specified")}),TypeError),e.exports.codes=l},82299:(e,t,n)=>{"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function N(e){return Object.keys(e).filter(B).concat(d(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function L(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,a=0,i=Math.min(n,r);a{const r=n(34581),{MAX_LENGTH:a,MAX_SAFE_INTEGER:i}=n(12003),{safeRe:o,t:s}=n(47405),l=n(12890),{compareIdentifiers:u}=n(63138);class d{constructor(e,t){if(t=l(t),e instanceof d){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError('Invalid version. Must be a string. Got type "'.concat(typeof e,'".'));if(e.length>a)throw new TypeError("version is longer than ".concat(a," characters"));r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?o[s.LOOSE]:o[s.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===n&&(r=[t]),0===u(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error("invalid increment argument: ".concat(e))}return this.raw=this.format(),this.build.length&&(this.raw+="+".concat(this.build.join("."))),this}}e.exports=d},54881:(e,t,n)=>{const r=n(44849);e.exports=(e,t)=>new r(e,t).major},99855:(e,t,n)=>{const r=n(44849);e.exports=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e instanceof r)return e;try{return new r(e,t)}catch(e){if(!n)return null;throw e}}},3974:(e,t,n)=>{const r=n(99855);e.exports=(e,t)=>{const n=r(e,t);return n?n.version:null}},12003:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},34581:(e,t,n)=>{var r=n(65606),a=n(96763);const i="object"==typeof r&&r.env&&r.env.NODE_DEBUG&&/\bsemver\b/i.test(r.env.NODE_DEBUG)?function(){for(var e=arguments.length,t=new Array(e),n=0;n{};e.exports=i},63138:e=>{const t=/^[0-9]+$/,n=(e,n)=>{const r=t.test(e),a=t.test(n);return r&&a&&(e=+e,n=+n),e===n?0:r&&!a?-1:a&&!r?1:en(t,e)}},12890:e=>{const t=Object.freeze({loose:!0}),n=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:n},47405:(e,t,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:i}=n(12003),o=n(34581),s=(t=e.exports={}).re=[],l=t.safeRe=[],u=t.src=[],d=t.t={};let c=0;const h="[a-zA-Z0-9-]",f=[["\\s",1],["\\d",i],[h,a]],m=(e,t,n)=>{const r=(e=>{for(const[t,n]of f)e=e.split("".concat(t,"*")).join("".concat(t,"{0,").concat(n,"}")).split("".concat(t,"+")).join("".concat(t,"{1,").concat(n,"}"));return e})(t),a=c++;o(e,a,t),d[e]=a,u[a]=t,s[a]=new RegExp(t,n?"g":void 0),l[a]=new RegExp(r,n?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-]".concat(h,"*")),m("MAINVERSION","(".concat(u[d.NUMERICIDENTIFIER],")\\.")+"(".concat(u[d.NUMERICIDENTIFIER],")\\.")+"(".concat(u[d.NUMERICIDENTIFIER],")")),m("MAINVERSIONLOOSE","(".concat(u[d.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[d.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[d.NUMERICIDENTIFIERLOOSE],")")),m("PRERELEASEIDENTIFIER","(?:".concat(u[d.NUMERICIDENTIFIER],"|").concat(u[d.NONNUMERICIDENTIFIER],")")),m("PRERELEASEIDENTIFIERLOOSE","(?:".concat(u[d.NUMERICIDENTIFIERLOOSE],"|").concat(u[d.NONNUMERICIDENTIFIER],")")),m("PRERELEASE","(?:-(".concat(u[d.PRERELEASEIDENTIFIER],"(?:\\.").concat(u[d.PRERELEASEIDENTIFIER],")*))")),m("PRERELEASELOOSE","(?:-?(".concat(u[d.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(u[d.PRERELEASEIDENTIFIERLOOSE],")*))")),m("BUILDIDENTIFIER","".concat(h,"+")),m("BUILD","(?:\\+(".concat(u[d.BUILDIDENTIFIER],"(?:\\.").concat(u[d.BUILDIDENTIFIER],")*))")),m("FULLPLAIN","v?".concat(u[d.MAINVERSION]).concat(u[d.PRERELEASE],"?").concat(u[d.BUILD],"?")),m("FULL","^".concat(u[d.FULLPLAIN],"$")),m("LOOSEPLAIN","[v=\\s]*".concat(u[d.MAINVERSIONLOOSE]).concat(u[d.PRERELEASELOOSE],"?").concat(u[d.BUILD],"?")),m("LOOSE","^".concat(u[d.LOOSEPLAIN],"$")),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE","".concat(u[d.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),m("XRANGEIDENTIFIER","".concat(u[d.NUMERICIDENTIFIER],"|x|X|\\*")),m("XRANGEPLAIN","[v=\\s]*(".concat(u[d.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[d.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[d.XRANGEIDENTIFIER],")")+"(?:".concat(u[d.PRERELEASE],")?").concat(u[d.BUILD],"?")+")?)?"),m("XRANGEPLAINLOOSE","[v=\\s]*(".concat(u[d.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[d.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[d.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(u[d.PRERELEASELOOSE],")?").concat(u[d.BUILD],"?")+")?)?"),m("XRANGE","^".concat(u[d.GTLT],"\\s*").concat(u[d.XRANGEPLAIN],"$")),m("XRANGELOOSE","^".concat(u[d.GTLT],"\\s*").concat(u[d.XRANGEPLAINLOOSE],"$")),m("COERCEPLAIN","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")),m("COERCE","".concat(u[d.COERCEPLAIN],"(?:$|[^\\d])")),m("COERCEFULL",u[d.COERCEPLAIN]+"(?:".concat(u[d.PRERELEASE],")?")+"(?:".concat(u[d.BUILD],")?")+"(?:$|[^\\d])"),m("COERCERTL",u[d.COERCE],!0),m("COERCERTLFULL",u[d.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM","(\\s*)".concat(u[d.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",m("TILDE","^".concat(u[d.LONETILDE]).concat(u[d.XRANGEPLAIN],"$")),m("TILDELOOSE","^".concat(u[d.LONETILDE]).concat(u[d.XRANGEPLAINLOOSE],"$")),m("LONECARET","(?:\\^)"),m("CARETTRIM","(\\s*)".concat(u[d.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",m("CARET","^".concat(u[d.LONECARET]).concat(u[d.XRANGEPLAIN],"$")),m("CARETLOOSE","^".concat(u[d.LONECARET]).concat(u[d.XRANGEPLAINLOOSE],"$")),m("COMPARATORLOOSE","^".concat(u[d.GTLT],"\\s*(").concat(u[d.LOOSEPLAIN],")$|^$")),m("COMPARATOR","^".concat(u[d.GTLT],"\\s*(").concat(u[d.FULLPLAIN],")$|^$")),m("COMPARATORTRIM","(\\s*)".concat(u[d.GTLT],"\\s*(").concat(u[d.LOOSEPLAIN],"|").concat(u[d.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE","^\\s*(".concat(u[d.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(u[d.XRANGEPLAIN],")")+"\\s*$"),m("HYPHENRANGELOOSE","^\\s*(".concat(u[d.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(u[d.XRANGEPLAINLOOSE],")")+"\\s*$"),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},44349:function(e,t,n){"use strict";var r;!function(a){if("function"!=typeof i){var i=function(e){return e};i.nonNative=!0}const o=i("plaintext"),s=i("html"),l=i("comment"),u=/<(\w*)>/g,d=/<\/?([^\s\/>]+)/;function c(e,t,n){return f(e=e||"",h(t=t||[],n=n||""))}function h(e,t){return{allowable_tags:e=function(e){let t=new Set;if("string"==typeof e){let n;for(;n=u.exec(e);)t.add(n[1])}else i.nonNative||"function"!=typeof e[i.iterator]?"function"==typeof e.forEach&&e.forEach(t.add,t):t=new Set(e);return t}(e),tag_replacement:t,state:o,tag_buffer:"",depth:0,in_quote_char:""}}function f(e,t){if("string"!=typeof e)throw new TypeError("'html' parameter must be a string");let n=t.allowable_tags,r=t.tag_replacement,a=t.state,i=t.tag_buffer,u=t.depth,d=t.in_quote_char,c="";for(let t=0,h=e.length;t":if(d)break;if(u){u--;break}d="",a=o,i+=">",n.has(m(i))?c+=i:c+=r,i="";break;case'"':case"'":d=h===d?"":d||h,i+=h;break;case"-":""===h?("--"==i.slice(-2)&&(a=o),i=""):i+=h)}return t.state=a,t.tag_buffer=i,t.depth=u,t.in_quote_char=d,c}function m(e){let t=d.exec(e);return t?t[1].toLowerCase():null}c.init_streaming_mode=function(e,t){let n=h(e=e||[],t=t||"");return function(e){return f(e||"",n)}},void 0===(r=function(){return c}.call(t,n,t,e))||(e.exports=r)}()},84093:function(e,t,n){var r,a=n(96763);r=function(e){var t=function(e){return new t.lib.init(e)};function n(e,t){return t.offset[e]?isNaN(t.offset[e])?t.offset[e]:t.offset[e]+"px":"0px"}function r(e,t){return!(!e||"string"!=typeof t||!(e.className&&e.className.trim().split(/\s+/gi).indexOf(t)>-1))}return t.defaults={oldestFirst:!0,text:"Toastify is awesome!",node:void 0,duration:3e3,selector:void 0,callback:function(){},destination:void 0,newWindow:!1,close:!1,gravity:"toastify-top",positionLeft:!1,position:"",backgroundColor:"",avatar:"",className:"",stopOnFocus:!0,onClick:function(){},offset:{x:0,y:0},escapeMarkup:!0,ariaLive:"polite",style:{background:""}},t.lib=t.prototype={toastify:"1.12.0",constructor:t,init:function(e){return e||(e={}),this.options={},this.toastElement=null,this.options.text=e.text||t.defaults.text,this.options.node=e.node||t.defaults.node,this.options.duration=0===e.duration?0:e.duration||t.defaults.duration,this.options.selector=e.selector||t.defaults.selector,this.options.callback=e.callback||t.defaults.callback,this.options.destination=e.destination||t.defaults.destination,this.options.newWindow=e.newWindow||t.defaults.newWindow,this.options.close=e.close||t.defaults.close,this.options.gravity="bottom"===e.gravity?"toastify-bottom":t.defaults.gravity,this.options.positionLeft=e.positionLeft||t.defaults.positionLeft,this.options.position=e.position||t.defaults.position,this.options.backgroundColor=e.backgroundColor||t.defaults.backgroundColor,this.options.avatar=e.avatar||t.defaults.avatar,this.options.className=e.className||t.defaults.className,this.options.stopOnFocus=void 0===e.stopOnFocus?t.defaults.stopOnFocus:e.stopOnFocus,this.options.onClick=e.onClick||t.defaults.onClick,this.options.offset=e.offset||t.defaults.offset,this.options.escapeMarkup=void 0!==e.escapeMarkup?e.escapeMarkup:t.defaults.escapeMarkup,this.options.ariaLive=e.ariaLive||t.defaults.ariaLive,this.options.style=e.style||t.defaults.style,e.backgroundColor&&(this.options.style.background=e.backgroundColor),this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var e=document.createElement("div");for(var t in e.className="toastify on "+this.options.className,this.options.position?e.className+=" toastify-"+this.options.position:!0===this.options.positionLeft?(e.className+=" toastify-left",a.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):e.className+=" toastify-right",e.className+=" "+this.options.gravity,this.options.backgroundColor&&a.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'),this.options.style)e.style[t]=this.options.style[t];if(this.options.ariaLive&&e.setAttribute("aria-live",this.options.ariaLive),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)e.appendChild(this.options.node);else if(this.options.escapeMarkup?e.innerText=this.options.text:e.innerHTML=this.options.text,""!==this.options.avatar){var r=document.createElement("img");r.src=this.options.avatar,r.className="toastify-avatar","left"==this.options.position||!0===this.options.positionLeft?e.appendChild(r):e.insertAdjacentElement("afterbegin",r)}if(!0===this.options.close){var i=document.createElement("button");i.type="button",i.setAttribute("aria-label","Close"),i.className="toast-close",i.innerHTML="✖",i.addEventListener("click",function(e){e.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var o=window.innerWidth>0?window.innerWidth:screen.width;("left"==this.options.position||!0===this.options.positionLeft)&&o>360?e.insertAdjacentElement("afterbegin",i):e.appendChild(i)}if(this.options.stopOnFocus&&this.options.duration>0){var s=this;e.addEventListener("mouseover",(function(t){window.clearTimeout(e.timeOutValue)})),e.addEventListener("mouseleave",(function(){e.timeOutValue=window.setTimeout((function(){s.removeElement(e)}),s.options.duration)}))}if(void 0!==this.options.destination&&e.addEventListener("click",function(e){e.stopPropagation(),!0===this.options.newWindow?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),"function"==typeof this.options.onClick&&void 0===this.options.destination&&e.addEventListener("click",function(e){e.stopPropagation(),this.options.onClick()}.bind(this)),"object"==typeof this.options.offset){var l=n("x",this.options),u=n("y",this.options),d="left"==this.options.position?l:"-"+l,c="toastify-top"==this.options.gravity?u:"-"+u;e.style.transform="translate("+d+","+c+")"}return e},showToast:function(){var e;if(this.toastElement=this.buildToast(),!(e="string"==typeof this.options.selector?document.getElementById(this.options.selector):this.options.selector instanceof HTMLElement||"undefined"!=typeof ShadowRoot&&this.options.selector instanceof ShadowRoot?this.options.selector:document.body))throw"Root element is not defined";var n=t.defaults.oldestFirst?e.firstChild:e.lastChild;return e.insertBefore(this.toastElement,n),t.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(e){e.className=e.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),e.parentNode&&e.parentNode.removeChild(e),this.options.callback.call(e),t.reposition()}.bind(this),400)}},t.reposition=function(){for(var e,t={top:15,bottom:15},n={top:15,bottom:15},a={top:15,bottom:15},i=document.getElementsByClassName("toastify"),o=0;o0?window.innerWidth:screen.width)<=360?(i[o].style[e]=a[e]+"px",a[e]+=s+15):!0===r(i[o],"toastify-left")?(i[o].style[e]=t[e]+"px",t[e]+=s+15):(i[o].style[e]=n[e]+"px",n[e]+=s+15)}return this},t.lib.init.prototype=t.lib,t},e.exports?e.exports=r():this.Toastify=r()},80284:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>dt});var r=n(82284),a=n(49922);function i(e,t,n){return(t=(0,a.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){for(var n=0;n=0)return 1;return 0}(),d=l&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),u))}};function c(e){return e&&"[object Function]"==={}.toString.call(e)}function h(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function f(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function m(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=h(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/(auto|scroll|overlay)/.test(n+a+r)?e:m(f(e))}function p(e){return e&&e.referenceNode?e.referenceNode:e}var g=l&&!(!window.MSInputMethodContext||!document.documentMode),_=l&&/MSIE 10/.test(navigator.userAgent);function v(e){return 11===e?g:10===e?_:g||_}function A(e){if(!e)return document.documentElement;for(var t=v(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===h(n,"position")?A(n):n:e?e.ownerDocument.documentElement:document.documentElement}function b(e){return null!==e.parentNode?b(e.parentNode):e}function y(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,a=n?t:e,i=document.createRange();i.setStart(r,0),i.setEnd(a,0);var o,s,l=i.commonAncestorContainer;if(e!==l&&t!==l||r.contains(a))return"BODY"===(s=(o=l).nodeName)||"HTML"!==s&&A(o.firstElementChild)!==o?A(l):l;var u=b(e);return u.host?y(u.host,t):y(e,b(t).host)}function F(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function T(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"])+parseFloat(e["border"+r+"Width"])}function E(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],v(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function w(e){var t=e.body,n=e.documentElement,r=v(10)&&getComputedStyle(n);return{height:E("Height",t,n,r),width:E("Width",t,n,r)}}var k=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=v(10),a="HTML"===t.nodeName,i=x(e),o=x(t),s=m(e),l=h(t),u=parseFloat(l.borderTopWidth),d=parseFloat(l.borderLeftWidth);n&&a&&(o.top=Math.max(o.top,0),o.left=Math.max(o.left,0));var c=S({top:i.top-o.top-u,left:i.left-o.left-d,width:i.width,height:i.height});if(c.marginTop=0,c.marginLeft=0,!r&&a){var f=parseFloat(l.marginTop),p=parseFloat(l.marginLeft);c.top-=u-f,c.bottom-=u-f,c.left-=d-p,c.right-=d-p,c.marginTop=f,c.marginLeft=p}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(c=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=F(t,"top"),a=F(t,"left"),i=n?-1:1;return e.top+=r*i,e.bottom+=r*i,e.left+=a*i,e.right+=a*i,e}(c,t)),c}function B(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===h(e,"position"))return!0;var n=f(e);return!!n&&B(n)}function N(e){if(!e||!e.parentElement||v())return document.documentElement;for(var t=e.parentElement;t&&"none"===h(t,"transform");)t=t.parentElement;return t||document.documentElement}function L(e,t,n,r){var a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},o=a?N(e):y(e,p(t));if("viewport"===r)i=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=M(e,n),a=Math.max(n.clientWidth,window.innerWidth||0),i=Math.max(n.clientHeight,window.innerHeight||0),o=t?0:F(n),s=t?0:F(n,"left");return S({top:o-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:a,height:i})}(o,a);else{var s=void 0;"scrollParent"===r?"BODY"===(s=m(f(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var l=M(s,o,a);if("HTML"!==s.nodeName||B(o))i=l;else{var u=w(e.ownerDocument),d=u.height,c=u.width;i.top+=l.top-l.marginTop,i.bottom=d+l.top,i.left+=l.left-l.marginLeft,i.right=c+l.left}}var h="number"==typeof(n=n||0);return i.left+=h?n:n.left||0,i.top+=h?n:n.top||0,i.right-=h?n:n.right||0,i.bottom-=h?n:n.bottom||0,i}function O(e,t,n,r,a){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var o=L(n,r,i,a),s={top:{width:o.width,height:t.top-o.top},right:{width:o.right-t.right,height:o.height},bottom:{width:o.width,height:o.bottom-t.bottom},left:{width:t.left-o.left,height:o.height}},l=Object.keys(s).map((function(e){return C({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t})).sort((function(e,t){return t.area-e.area})),u=l.filter((function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight})),d=u.length>0?u[0].key:l[0].key,c=e.split("-")[1];return d+(c?"-"+c:"")}function R(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return M(n,r?N(t):y(t,p(n)),r)}function Y(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function j(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function P(e,t,n){n=n.split("-")[0];var r=Y(e),a={width:r.width,height:r.height},i=-1!==["right","left"].indexOf(n),o=i?"top":"left",s=i?"left":"top",l=i?"height":"width",u=i?"width":"height";return a[o]=t[o]+t[l]/2-r[l]/2,a[s]=n===s?t[s]-r[u]:t[j(s)],a}function I(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function H(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===n}));var r=I(e,(function(e){return e[t]===n}));return e.indexOf(r)}(e,"name",n))).forEach((function(e){e.function&&s.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&c(n)&&(t.offsets.popper=S(t.offsets.popper),t.offsets.reference=S(t.offsets.reference),t=n(t,e))})),t}function U(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=R(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=P(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=H(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function G(e,t){return e.some((function(e){var n=e.name;return e.enabled&&n===t}))}function Z(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r1&&void 0!==arguments[1]&&arguments[1],n=ne.indexOf(e),r=ne.slice(n+1).concat(ne.slice(0,n));return t?r.reverse():r}var ae={shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var a=e.offsets,i=a.reference,o=a.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",d={start:D({},l,i[l]),end:D({},l,i[l]+i[u]-o[u])};e.offsets.popper=C({},o,d[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n,r=t.offset,a=e.placement,i=e.offsets,o=i.popper,l=i.reference,u=a.split("-")[0];return n=K(+r)?[+r,0]:function(e,t,n,r){var a=[0,0],i=-1!==["right","left"].indexOf(r),o=e.split(/(\+|\-)/).map((function(e){return e.trim()})),l=o.indexOf(I(o,(function(e){return-1!==e.search(/,|\s/)})));o[l]&&-1===o[l].indexOf(",")&&s.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,d=-1!==l?[o.slice(0,l).concat([o[l].split(u)[0]]),[o[l].split(u)[1]].concat(o.slice(l+1))]:[o];return(d=d.map((function(e,r){var a=(1===r?!i:i)?"height":"width",o=!1;return e.reduce((function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,o=!0,e):o?(e[e.length-1]+=t,o=!1,e):e.concat(t)}),[]).map((function(e){return function(e,t,n,r){var a=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+a[1],o=a[2];return i?0===o.indexOf("%")?S("%p"===o?n:r)[t]/100*i:"vh"===o||"vw"===o?("vh"===o?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i:i:e}(e,a,t,n)}))}))).forEach((function(e,t){e.forEach((function(n,r){K(n)&&(a[t]+=n*("-"===e[r-1]?-1:1))}))})),a}(r,o,l,u),"left"===u?(o.top+=n[0],o.left-=n[1]):"right"===u?(o.top+=n[0],o.left+=n[1]):"top"===u?(o.left+=n[0],o.top-=n[1]):"bottom"===u&&(o.left+=n[0],o.top+=n[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||A(e.instance.popper);e.instance.reference===n&&(n=A(n));var r=Z("transform"),a=e.instance.popper.style,i=a.top,o=a.left,s=a[r];a.top="",a.left="",a[r]="";var l=L(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);a.top=i,a.left=o,a[r]=s,t.boundaries=l;var u=t.priority,d=e.offsets.popper,c={primary:function(e){var n=d[e];return d[e]l[e]&&!t.escapeWithReference&&(r=Math.min(d[n],l[e]-("right"===e?d.width:d.height))),D({},n,r)}};return u.forEach((function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";d=C({},d,c[t](e))})),e.offsets.popper=d,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,a=e.placement.split("-")[0],i=Math.floor,o=-1!==["top","bottom"].indexOf(a),s=o?"right":"bottom",l=o?"left":"top",u=o?"width":"height";return n[s]i(r[s])&&(e.offsets.popper[l]=i(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!ee(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return s.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var a=e.placement.split("-")[0],i=e.offsets,o=i.popper,l=i.reference,u=-1!==["left","right"].indexOf(a),d=u?"height":"width",c=u?"Top":"Left",f=c.toLowerCase(),m=u?"left":"top",p=u?"bottom":"right",g=Y(r)[d];l[p]-go[p]&&(e.offsets.popper[f]+=l[f]+g-o[p]),e.offsets.popper=S(e.offsets.popper);var _=l[f]+l[d]/2-g/2,v=h(e.instance.popper),A=parseFloat(v["margin"+c]),b=parseFloat(v["border"+c+"Width"]),y=_-e.offsets.popper[f]-A-b;return y=Math.max(Math.min(o[d]-g,y),0),e.arrowElement=r,e.offsets.arrow=(D(n={},f,Math.round(y)),D(n,m,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(G(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=L(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],a=j(r),i=e.placement.split("-")[1]||"",o=[];switch(t.behavior){case"flip":o=[r,a];break;case"clockwise":o=re(r);break;case"counterclockwise":o=re(r,!0);break;default:o=t.behavior}return o.forEach((function(s,l){if(r!==s||o.length===l+1)return e;r=e.placement.split("-")[0],a=j(r);var u=e.offsets.popper,d=e.offsets.reference,c=Math.floor,h="left"===r&&c(u.right)>c(d.left)||"right"===r&&c(u.left)c(d.top)||"bottom"===r&&c(u.top)c(n.right),p=c(u.top)c(n.bottom),_="left"===r&&f||"right"===r&&m||"top"===r&&p||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),A=!!t.flipVariations&&(v&&"start"===i&&f||v&&"end"===i&&m||!v&&"start"===i&&p||!v&&"end"===i&&g),b=!!t.flipVariationsByContent&&(v&&"start"===i&&m||v&&"end"===i&&f||!v&&"start"===i&&g||!v&&"end"===i&&p),y=A||b;(h||_||y)&&(e.flipped=!0,(h||_)&&(r=o[l+1]),y&&(i=function(e){return"end"===e?"start":"start"===e?"end":e}(i)),e.placement=r+(i?"-"+i:""),e.offsets.popper=C({},e.offsets.popper,P(e.instance.popper,e.offsets.reference,e.placement)),e=H(e.instance.modifiers,e,"flip"))})),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,a=r.popper,i=r.reference,o=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return a[o?"left":"top"]=i[n]-(s?a[o?"width":"height"]:0),e.placement=j(t),e.offsets.popper=S(a),e}},hide:{order:800,enabled:!0,fn:function(e){if(!ee(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=I(e.instance.modifiers,(function(e){return"preventOverflow"===e.name})).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=d(this.update.bind(this)),this.options=C({},e.Defaults,a),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(C({},e.Defaults.modifiers,a.modifiers)).forEach((function(t){r.options.modifiers[t]=C({},e.Defaults.modifiers[t]||{},a.modifiers?a.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return C({name:e},r.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&c(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)})),this.update();var i=this.options.eventsEnabled;i&&this.enableEventListeners(),this.state.eventsEnabled=i}return k(e,[{key:"update",value:function(){return U.call(this)}},{key:"destroy",value:function(){return z.call(this)}},{key:"enableEventListeners",value:function(){return V.call(this)}},{key:"disableEventListeners",value:function(){return J.call(this)}}]),e}();oe.Utils=("undefined"!=typeof window?window:n.g).PopperUtils,oe.placements=te,oe.Defaults=ie;const se=oe;var le,ue=n(2404),de=n.n(ue);function ce(){ce.init||(ce.init=!0,le=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}())}function he(e,t,n,r,a,i,o,s,l,u){"boolean"!=typeof o&&(l=s,s=o,o=!1);var d,c="function"==typeof n?n.options:n;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,a&&(c.functional=!0)),r&&(c._scopeId=r),i?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=d):t&&(d=o?function(e){t.call(this,u(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),d)if(c.functional){var h=c.render;c.render=function(e,t){return d.call(t),h(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,d):[d]}return n}var fe={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;ce(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",le&&this.$el.appendChild(t),t.data="about:blank",le||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!le&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},me=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};me._withStripped=!0;var pe=he({render:me,staticRenderFns:[]},void 0,fe,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),ge={version:"1.0.1",install:function(e){e.component("resize-observer",pe),e.component("ResizeObserver",pe)}},_e=null;"undefined"!=typeof window?_e=window.Vue:void 0!==n.g&&(_e=n.g.Vue),_e&&_e.use(ge);var ve=n(55364),Ae=n.n(ve),be=n(96763),ye=function(){};function Fe(e){return"string"==typeof e&&(e=e.split(" ")),e}function Te(e,t){var n,r=Fe(t);n=e.className instanceof ye?Fe(e.className.baseVal):Fe(e.className),r.forEach((function(e){-1===n.indexOf(e)&&n.push(e)})),e instanceof SVGElement?e.setAttribute("class",n.join(" ")):e.className=n.join(" ")}function Ee(e,t){var n,r=Fe(t);n=e.className instanceof ye?Fe(e.className.baseVal):Fe(e.className),r.forEach((function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1)})),e instanceof SVGElement?e.setAttribute("class",n.join(" ")):e.className=n.join(" ")}"undefined"!=typeof window&&(ye=window.SVGAnimatedString);var we=!1;if("undefined"!=typeof window){we=!1;try{var ke=Object.defineProperty({},"passive",{get:function(){we=!0}});window.addEventListener("test",null,ke)}catch(e){}}function De(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ce(e){for(var t=1;t
',trigger:"hover focus",offset:0},xe=[],Me=function(){function e(t,n){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),i(this,"_events",[]),i(this,"_setTooltipNodeEvent",(function(e,t,n,a){var i=e.relatedreference||e.toElement||e.relatedTarget;return!!r._tooltipNode.contains(i)&&(r._tooltipNode.addEventListener(e.type,(function n(i){var o=i.relatedreference||i.toElement||i.relatedTarget;r._tooltipNode.removeEventListener(e.type,n),t.contains(o)||r._scheduleHide(t,a.delay,a,i)})),!0)})),n=Ce(Ce({},Se),n),t.jquery&&(t=t[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=t,this.options=n,this._isOpen=!1,this._init()}var t,n;return t=e,(n=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,n=e&&e.classes||Ue.options.defaultClass;de()(this._classes,n)||(this.setClasses(n),t=!0),e=Ye(e);var r=!1,a=!1;for(var i in this.options.offset===e.offset&&this.options.placement===e.placement||(r=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(a=!0),e)this.options[i]=e[i];if(this._tooltipNode)if(a){var o=this._isOpen;this.dispose(),this._init(),o&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),e=e.filter((function(e){return-1!==["click","hover","focus"].indexOf(e)})),this._setEventListeners(this.reference,e,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(e,t){var n=this,r=window.document.createElement("div");r.innerHTML=t.trim();var a=r.childNodes[0];return a.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),a.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(a.addEventListener("mouseenter",(function(t){return n._scheduleHide(e,n.options.delay,n.options,t)})),a.addEventListener("click",(function(t){return n._scheduleHide(e,n.options.delay,n.options,t)}))),a}},{key:"_setContent",value:function(e,t){var n=this;this.asyncContent=!1,this._applyContent(e,t).then((function(){n.popperInstance&&n.popperInstance.update()}))}},{key:"_applyContent",value:function(e,t){var n=this;return new Promise((function(r,a){var i=t.html,o=n._tooltipNode;if(o){var s=o.querySelector(n.options.innerSelector);if(1===e.nodeType){if(i){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(e)}}else{if("function"==typeof e){var l=e();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,t.loadingClass&&Te(o,t.loadingClass),t.loadingContent&&n._applyContent(t.loadingContent,t),l.then((function(e){return t.loadingClass&&Ee(o,t.loadingClass),n._applyContent(e,t)})).then(r).catch(a)):n._applyContent(l,t).then(r).catch(a))}i?s.innerHTML=e:s.innerText=e}r()}}))}},{key:"_show",value:function(e,t){if(!t||"string"!=typeof t.container||document.querySelector(t.container)){clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var n=!0;this._tooltipNode&&(Te(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(e,t);return n&&this._tooltipNode&&Te(this._tooltipNode,this._classes),Te(e,["v-tooltip-open"]),r}}},{key:"_ensureShown",value:function(e,t){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,xe.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var r=e.getAttribute("title")||t.title;if(!r)return this;var a=this._create(e,t.template);this._tooltipNode=a,e.setAttribute("aria-describedby",a.id);var i=this._findContainer(t.container,e);this._append(a,i);var o=Ce(Ce({},t.popperOptions),{},{placement:t.placement});return o.modifiers=Ce(Ce({},o.modifiers),{},{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(o.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new se(e,a,o),this._setContent(r,t),requestAnimationFrame((function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame((function(){n._isDisposed?n.dispose():n._isOpen&&a.setAttribute("aria-hidden","false")}))):n.dispose()})),this}},{key:"_noLongerOpen",value:function(){var e=xe.indexOf(this);-1!==e&&xe.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=Ue.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout((function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._removeTooltipNode())}),t)),Ee(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var e=this._tooltipNode.parentNode;e&&(e.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach((function(t){var n=t.func,r=t.event;e.reference.removeEventListener(r,n)})),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,n){var r=this,a=[],i=[];t.forEach((function(e){switch(e){case"hover":a.push("mouseenter"),i.push("mouseleave"),r.options.hideOnTargetClick&&i.push("click");break;case"focus":a.push("focus"),i.push("blur"),r.options.hideOnTargetClick&&i.push("click");break;case"click":a.push("click"),i.push("click")}})),a.forEach((function(t){var a=function(t){!0!==r._isOpen&&(t.usedByTooltip=!0,r._scheduleShow(e,n.delay,n,t))};r._events.push({event:t,func:a}),e.addEventListener(t,a)})),i.forEach((function(t){var a=function(t){!0!==t.usedByTooltip&&r._scheduleHide(e,n.delay,n,t)};r._events.push({event:t,func:a}),e.addEventListener(t,a)}))}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,n){var r=this,a=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){return r._show(e,n)}),a)}},{key:"_scheduleHide",value:function(e,t,n,r){var a=this,i=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){if(!1!==a._isOpen&&a._tooltipNode.ownerDocument.body.contains(a._tooltipNode)){if("mouseleave"===r.type&&a._setTooltipNodeEvent(r,e,t,n))return;a._hide(e,n)}}),i)}}])&&o(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Ye(e){var t={placement:void 0!==e.placement?e.placement:Ue.options.defaultPlacement,delay:void 0!==e.delay?e.delay:Ue.options.defaultDelay,html:void 0!==e.html?e.html:Ue.options.defaultHtml,template:void 0!==e.template?e.template:Ue.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:Ue.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:Ue.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:Ue.options.defaultTrigger,offset:void 0!==e.offset?e.offset:Ue.options.defaultOffset,container:void 0!==e.container?e.container:Ue.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:Ue.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:Ue.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:Ue.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:Ue.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:Ue.options.defaultLoadingContent,popperOptions:Ne({},void 0!==e.popperOptions?e.popperOptions:Ue.options.defaultPopperOptions)};if(t.offset){var n=(0,r.A)(t.offset),a=t.offset;("number"===n||"string"===n&&-1===a.indexOf(","))&&(a="0, ".concat(a)),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:a}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function je(e,t){for(var n=e.placement,r=0;r2&&void 0!==arguments[2]?arguments[2]:{},a=Pe(t),i=void 0!==t.classes?t.classes:Ue.options.defaultClass,o=Ne({title:a},Ye(Ne(Ne({},"object"===(0,r.A)(t)?t:{}),{},{placement:je(t,n)}))),s=e._tooltip=new Me(e,o);s.setClasses(i),s._vueEl=e;var l=void 0!==t.targetClasses?t.targetClasses:Ue.options.defaultTargetClass;return e._tooltipTargetClasses=l,Te(e,l),s}(e,n,i),void 0!==n.show&&n.show!==e._tooltipOldShow&&(e._tooltipOldShow=n.show,n.show?a.show():a.hide())):Ie(e)}var Ue={options:Re,bind:He,update:He,unbind:function(e){Ie(e)}};function Ge(e){e.addEventListener("click",ze),e.addEventListener("touchstart",qe,!!we&&{passive:!0})}function Ze(e){e.removeEventListener("click",ze),e.removeEventListener("touchstart",qe),e.removeEventListener("touchend",We),e.removeEventListener("touchcancel",$e)}function ze(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function qe(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",We),t.addEventListener("touchcancel",$e)}}function We(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var n=e.changedTouches[0],r=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function $e(e){e.currentTarget.$_vclosepopover_touch=!1}var Ve={bind:function(e,t){var n=t.value,r=t.modifiers;e.$_closePopoverModifiers=r,(void 0===n||n)&&Ge(e)},update:function(e,t){var n=t.value,r=t.oldValue,a=t.modifiers;e.$_closePopoverModifiers=a,n!==r&&(void 0===n||n?Ge(e):Ze(e))},unbind:function(e){Ze(e)}};function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ke(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.event;t.skipDelay;var r=t.force;!(void 0!==r&&r)&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame((function(){e.$_beingShowed=!1}))},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay,this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var r=this.$_findContainer(this.container,t);if(!r)return void be.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame((function(){e.hidden||(e.isOpen=!0)}))}if(!this.popperInstance){var a=Ke(Ke({},this.popperOptions),{},{placement:this.placement});if(a.modifiers=Ke(Ke({},a.modifiers),{},{arrow:Ke(Ke({},a.modifiers&&a.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var i=this.$_getOffset();a.modifiers.offset=Ke(Ke({},a.modifiers&&a.modifiers.offset),{},{offset:i})}this.boundariesElement&&(a.modifiers.preventOverflow=Ke(Ke({},a.modifiers&&a.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new se(t,n,a),requestAnimationFrame((function(){if(e.hidden)return e.hidden=!1,void e.$_hide();!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame((function(){if(e.hidden)return e.hidden=!1,void e.$_hide();e.$_isDisposed?e.dispose():e.isOpen=!0}))):e.dispose()}))}var o=this.openGroup;if(o)for(var s,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout((function(){if(e.isOpen){if(t&&"mouseleave"===t.type&&e.$_setTooltipNodeEvent(t))return;e.$_hide()}}),r)}},$_setTooltipNodeEvent:function(e){var t=this,n=this.$refs.trigger,r=this.$refs.popover,a=e.relatedreference||e.toElement||e.relatedTarget;return!!r.contains(a)&&(r.addEventListener(e.type,(function a(i){var o=i.relatedreference||i.toElement||i.relatedTarget;r.removeEventListener(e.type,a),n.contains(o)||t.hide({event:i})})),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach((function(t){var n=t.func,r=t.event;e.removeEventListener(r,n)})),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout((function(){t.$_preventOpen=!1}),300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function rt(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var r=et[n];if(r.$refs.popover){var a=r.$refs.popover.contains(e.target);requestAnimationFrame((function(){(e.closeAllPopover||e.closePopover&&a||r.autoHide&&!a)&&r.$_handleGlobalClose(e,t)}))}},r=0;r1&&void 0!==arguments[1]?arguments[1]:{};if(!e.installed){e.installed=!0;var r={};Ae()(r,Re,n),lt.options=r,Ue.options=r,t.directive("tooltip",Ue),t.directive("close-popover",Ve),t.component("VPopover",st)}},get enabled(){return Le.enabled},set enabled(e){Le.enabled=e}},ut=null;"undefined"!=typeof window?ut=window.Vue:void 0!==n.g&&(ut=n.g.Vue),ut&&ut.use(lt);const dt=lt},67526:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,i=s(e),o=i[0],l=i[1],u=new a(function(e,t,n){return 3*(t+n)/4-n}(0,o,l)),d=0,c=l>0?o-4:o;for(n=0;n>16&255,u[d++]=t>>8&255,u[d++]=255&t;return 2===l&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,u[d++]=255&t),1===l&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,u[d++]=t>>8&255,u[d++]=255&t),u},t.fromByteArray=function(e){for(var t,r=e.length,a=r%3,i=[],o=16383,s=0,u=r-a;su?u:s+o));return 1===a?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===a&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),i.join("")};for(var n=[],r=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=i[o],r[i.charCodeAt(o)]=o;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,r){for(var a,i,o=[],s=t;s>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},48287:(e,t,n)=>{"use strict";var r=n(96763);const a=n(67526),i=n(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=u,t.SlowBuffer=function(e){return+e!=e&&(e=0),u.alloc(+e)},t.INSPECT_MAX_BYTES=50;const s=2147483647;function l(e){if(e>s)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,u.prototype),t}function u(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return d(e,t,n)}function d(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!u.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|g(e,t);let r=l(n);const a=r.write(e,t);return a!==n&&(r=r.slice(0,a)),r}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return m(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return m(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return m(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return u.from(r,t,n);const a=function(e){if(u.isBuffer(e)){const t=0|p(e.length),n=l(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||K(e.length)?l(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(a)return a;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return u.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return c(e),l(e<0?0:0|p(e))}function f(e){const t=e.length<0?0:0|p(e.length),n=l(t);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|e}function g(e,t){if(u.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let a=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return W(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(a)return r?-1:W(e).length;t=(""+t).toLowerCase(),a=!0}}function _(e,t,n){let r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return M(this,t,n);case"utf8":case"utf-8":return D(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return x(this,t,n);case"base64":return k(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function v(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function A(e,t,n,r,a){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),K(n=+n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,a);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,a);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,a){let i,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(a){let r=-1;for(i=n;is&&(n=s-l),i=n;i>=0;i--){let n=!0;for(let r=0;ra&&(r=a):r=a;const i=t.length;let o;for(r>i/2&&(r=i/2),o=0;o>8,a=n%256,i.push(a),i.push(r);return i}(t,e.length-n),e,n,r)}function k(e,t,n){return 0===t&&n===e.length?a.fromByteArray(e):a.fromByteArray(e.slice(t,n))}function D(e,t,n){n=Math.min(e.length,n);const r=[];let a=t;for(;a239?4:t>223?3:t>191?2:1;if(a+o<=n){let n,r,s,l;switch(o){case 1:t<128&&(i=t);break;case 2:n=e[a+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(i=l));break;case 3:n=e[a+1],r=e[a+2],128==(192&n)&&128==(192&r)&&(l=(15&t)<<12|(63&n)<<6|63&r,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:n=e[a+1],r=e[a+2],s=e[a+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(l=(15&t)<<18|(63&n)<<12|(63&r)<<6|63&s,l>65535&&l<1114112&&(i=l))}}null===i?(i=65533,o=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),a+=o}return function(e){const t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);let n="",r=0;for(;rr.length?(u.isBuffer(t)||(t=u.from(t)),t.copy(r,a)):Uint8Array.prototype.set.call(r,t,a);else{if(!u.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(r,a)}a+=t.length}return r},u.byteLength=g,u.prototype._isBuffer=!0,u.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},o&&(u.prototype[o]=u.prototype.inspect),u.prototype.compare=function(e,t,n,r,a){if(J(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(this===e)return 0;let i=(a>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0);const s=Math.min(i,o),l=this.slice(r,a),d=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const a=this.length-t;if((void 0===n||n>a)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let i=!1;for(;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return F(this,e,t,n);case"ascii":case"latin1":case"binary":return T(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function S(e,t,n){let r="";n=Math.min(e.length,n);for(let a=t;ar)&&(n=r);let a="";for(let r=t;rn)throw new RangeError("Trying to access beyond buffer length")}function L(e,t,n,r,a,i){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}function O(e,t,n,r,a){G(t,r,a,e,n,7);let i=Number(t&BigInt(4294967295));e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function R(e,t,n,r,a){G(t,r,a,e,n,7);let i=Number(t&BigInt(4294967295));e[n+7]=i,i>>=8,e[n+6]=i,i>>=8,e[n+5]=i,i>>=8,e[n+4]=i;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function Y(e,t,n,r,a,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(e,t,n,r,a){return t=+t,n>>>=0,a||Y(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function P(e,t,n,r,a){return t=+t,n>>>=0,a||Y(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||N(e,t,this.length);let r=this[e],a=1,i=0;for(;++i>>=0,t>>>=0,n||N(e,t,this.length);let r=this[e+--t],a=1;for(;t>0&&(a*=256);)r+=this[e+--t]*a;return r},u.prototype.readUint8=u.prototype.readUInt8=function(e,t){return e>>>=0,t||N(e,1,this.length),this[e]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(e,t){return e>>>=0,t||N(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(e,t){return e>>>=0,t||N(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(e,t){return e>>>=0,t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(e,t){return e>>>=0,t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readBigUInt64LE=X((function(e){Z(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const r=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,a=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(r)+(BigInt(a)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const r=t*2**24+65536*this[++e]+256*this[++e]+this[++e],a=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(r)<>>=0,t>>>=0,n||N(e,t,this.length);let r=this[e],a=1,i=0;for(;++i=a&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||N(e,t,this.length);let r=t,a=1,i=this[e+--r];for(;r>0&&(a*=256);)i+=this[e+--r]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*t)),i},u.prototype.readInt8=function(e,t){return e>>>=0,t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){e>>>=0,t||N(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){e>>>=0,t||N(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return e>>>=0,t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return e>>>=0,t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readBigInt64LE=X((function(e){Z(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const r=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const r=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(r)<>>=0,t||N(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return e>>>=0,t||N(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return e>>>=0,t||N(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return e>>>=0,t||N(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||L(this,e,t,n,Math.pow(2,8*n)-1,0);let a=1,i=0;for(this[t]=255&e;++i>>=0,n>>>=0,r||L(this,e,t,n,Math.pow(2,8*n)-1,0);let a=n-1,i=1;for(this[t+a]=255&e;--a>=0&&(i*=256);)this[t+a]=e/i&255;return t+n},u.prototype.writeUint8=u.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,1,255,0),this[t]=255&e,t+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigUInt64LE=X((function(e,t=0){return O(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeBigUInt64BE=X((function(e,t=0){return R(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,e,t,n,r-1,-r)}let a=0,i=1,o=0;for(this[t]=255&e;++a>0)-o&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,e,t,n,r-1,-r)}let a=n-1,i=1,o=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/i>>0)-o&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigInt64LE=X((function(e,t=0){return O(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeBigInt64BE=X((function(e,t=0){return R(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeFloatLE=function(e,t,n){return j(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return j(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return P(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return P(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function G(e,t,n,r,a,i){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(i+1)}${r}`:`>= -(2${r} ** ${8*(i+1)-1}${r}) and < 2 ** ${8*(i+1)-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new I.ERR_OUT_OF_RANGE("value",a,e)}!function(e,t,n){Z(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(r,a,i)}function Z(e,t){if("number"!=typeof e)throw new I.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw Z(e,n),new I.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new I.ERR_BUFFER_OUT_OF_BOUNDS;throw new I.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}H("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),H("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),H("ERR_OUT_OF_RANGE",(function(e,t,n){let r=`The value of "${e}" is out of range.`,a=n;return Number.isInteger(n)&&Math.abs(n)>2**32?a=U(String(n)):"bigint"==typeof n&&(a=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(a=U(a)),a+="n"),r+=` It must be ${t}. Received ${a}`,r}),RangeError);const q=/[^+/0-9A-Za-z-_]/g;function W(e,t){let n;t=t||1/0;const r=e.length;let a=null;const i=[];for(let o=0;o55295&&n<57344){if(!a){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&i.push(239,191,189);continue}a=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),a=n;continue}n=65536+(a-55296<<10|n-56320)}else a&&(t-=3)>-1&&i.push(239,191,189);if(a=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function $(e){return a.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){let a;for(a=0;a=t.length||a>=e.length);++a)t[a+n]=e[a];return a}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function K(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let a=0;a<16;++a)t[r+a]=e[n]+e[a]}return t}();function X(e){return"undefined"==typeof BigInt?ee:e}function ee(){throw new Error("BigInt not supported")}},86866:e=>{e.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},38075:(e,t,n)=>{"use strict";var r=n(70453),a=n(10487),i=a(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"==typeof n&&i(e,".prototype.")>-1?a(n):n}},10487:(e,t,n)=>{"use strict";var r=n(66743),a=n(70453),i=n(96897),o=n(69675),s=a("%Function.prototype.apply%"),l=a("%Function.prototype.call%"),u=a("%Reflect.apply%",!0)||r.call(l,s),d=n(30655),c=a("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new o("a function is required");var t=u(r,l,arguments);return i(t,1+c(0,e.length-(arguments.length-1)),!0)};var h=function(){return u(r,s,arguments)};d?d(e.exports,"apply",{value:h}):e.exports.apply=h},92151:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n{var r=n(40537),a=n(94148);function i(){return(new Date).getTime()}var o,s=Array.prototype.slice,l={};o=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var u=[[function(){},"log"],[function(){o.log.apply(o,arguments)},"info"],[function(){o.log.apply(o,arguments)},"warn"],[function(){o.warn.apply(o,arguments)},"error"],[function(e){l[e]=i()},"time"],[function(e){var t=l[e];if(!t)throw new Error("No such label: "+e);delete l[e];var n=i()-t;o.log(e+": "+n+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=r.format.apply(null,arguments),o.error(e.stack)},"trace"],[function(e){o.log(r.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=s.call(arguments,1);a.ok(!1,r.format.apply(null,t))}},"assert"]],d=0;d{var t,n;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-i)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],r=0,a=0;r>>6-2*a);return n}},e.exports=n},34076:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,".dialog__container[data-v-c0bff800] {\n display: flex;\n flex-direction: column;\n margin: 30px;\n gap: 10px 0;\n}\n.dialog__title[data-v-c0bff800] {\n margin-bottom: 0;\n}\n.dialog__button[data-v-c0bff800] {\n margin-top: 6px;\n align-self: flex-end;\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/password-confirmation/dist/style.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,WAAW;AACb;AACA;EACE,gBAAgB;AAClB;AACA;EACE,eAAe;EACf,oBAAoB;AACtB",sourcesContent:[".dialog__container[data-v-c0bff800] {\n display: flex;\n flex-direction: column;\n margin: 30px;\n gap: 10px 0;\n}\n.dialog__title[data-v-c0bff800] {\n margin-bottom: 0;\n}\n.dialog__button[data-v-c0bff800] {\n margin-top: 6px;\n align-self: flex-end;\n}\n"],sourceRoot:""}]);const s=/^(2(131|228|689)|7(115|584|801)|1418|4423|5098|6282|8830|9255)$/.test(n.j)?o:null},3090:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,":root{--vs-colors--lightest:rgba(60,60,60,0.26);--vs-colors--light:rgba(60,60,60,0.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,0.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#136cfb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--kb-focus-box-shadow:inset 0px 0px 0px 2px #949494;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-0.115,0.975,0.855);--vs-transition-duration:150ms}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,0.5,0.8,1);--vs-transition-duration:0.15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__open-indicator-button,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;min-width:0;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator-button{background-color:transparent;border:0;cursor:pointer;padding:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);background-color:transparent;border:0;cursor:pointer;margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--kb-focus{box-shadow:var(--vs-dropdown-option--kb-focus-box-shadow)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;min-width:0;padding:0 .25em;z-index:0}.vs__deselect{fill:var(--vs-controls-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{max-width:100%;opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search:-ms-input-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39%,.1);border-left-color:rgba(60,60,60,.45);font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}\n\n/*# sourceMappingURL=vue-select.css.map*/","",{version:3,sources:["webpack://VueSelect/src/css/global/variables.css","webpack://VueSelect/src/css/global/component.css","webpack://VueSelect/src/css/global/animations.css","webpack://VueSelect/src/css/global/states.css","webpack://VueSelect/src/css/modules/dropdown-toggle.css","webpack://VueSelect/src/css/modules/open-indicator-button.css","webpack://VueSelect/src/css/modules/open-indicator.css","webpack://VueSelect/src/css/modules/clear.css","webpack://VueSelect/src/css/modules/dropdown-menu.css","webpack://VueSelect/src/css/modules/dropdown-option.css","webpack://VueSelect/src/css/modules/selected.css","webpack://VueSelect/src/css/modules/search-input.css","webpack://VueSelect/src/css/modules/spinner.css","webpack://./node_modules/@nextcloud/vue-select/dist/vue-select.css"],names:[],mappings:"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",sourcesContent:[":root {\n --vs-colors--lightest: rgba(60, 60, 60, 0.26);\n --vs-colors--light: rgba(60, 60, 60, 0.5);\n --vs-colors--dark: #333;\n --vs-colors--darkest: rgba(0, 0, 0, 0.15);\n\n /* Search Input */\n --vs-search-input-color: inherit;\n --vs-search-input-bg: rgb(255, 255, 255);\n --vs-search-input-placeholder-color: inherit;\n\n /* Font */\n --vs-font-size: 1rem;\n --vs-line-height: 1.4;\n\n /* Disabled State */\n --vs-state-disabled-bg: rgb(248, 248, 248);\n --vs-state-disabled-color: var(--vs-colors--light);\n --vs-state-disabled-controls-color: var(--vs-colors--light);\n --vs-state-disabled-cursor: not-allowed;\n\n /* Borders */\n --vs-border-color: var(--vs-colors--lightest);\n --vs-border-width: 1px;\n --vs-border-style: solid;\n --vs-border-radius: 4px;\n\n /* Actions: house the component controls */\n --vs-actions-padding: 4px 6px 0 3px;\n\n /* Component Controls: Clear, Open Indicator */\n --vs-controls-color: var(--vs-colors--light);\n --vs-controls-size: 1;\n --vs-controls--deselect-text-shadow: 0 1px 0 #fff;\n\n /* Selected */\n --vs-selected-bg: #f0f0f0;\n --vs-selected-color: var(--vs-colors--dark);\n --vs-selected-border-color: var(--vs-border-color);\n --vs-selected-border-style: var(--vs-border-style);\n --vs-selected-border-width: var(--vs-border-width);\n\n /* Dropdown */\n --vs-dropdown-bg: #fff;\n --vs-dropdown-color: inherit;\n --vs-dropdown-z-index: 1000;\n --vs-dropdown-min-width: 160px;\n --vs-dropdown-max-height: 350px;\n --vs-dropdown-box-shadow: 0px 3px 6px 0px var(--vs-colors--darkest);\n\n /* Options */\n --vs-dropdown-option-bg: #000;\n --vs-dropdown-option-color: var(--vs-dropdown-color);\n --vs-dropdown-option-padding: 3px 20px;\n\n /* Active State */\n --vs-dropdown-option--active-bg: #136cfb;\n --vs-dropdown-option--active-color: #fff;\n\n /* Keyboard Focus State */\n --vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px #949494;\n\n /* Deselect State */\n --vs-dropdown-option--deselect-bg: #fb5858;\n --vs-dropdown-option--deselect-color: #fff;\n\n /* Transitions */\n --vs-transition-timing-function: cubic-bezier(1, -0.115, 0.975, 0.855);\n --vs-transition-duration: 150ms;\n}\n",".v-select {\n position: relative;\n font-family: inherit;\n}\n\n.v-select,\n.v-select * {\n box-sizing: border-box;\n}\n",":root {\n --vs-transition-timing-function: cubic-bezier(1, 0.5, 0.8, 1);\n --vs-transition-duration: 0.15s;\n}\n\n/* KeyFrames */\n@-webkit-keyframes vSelectSpinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes vSelectSpinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n/* Dropdown Default Transition */\n.vs__fade-enter-active,\n.vs__fade-leave-active {\n pointer-events: none;\n transition: opacity var(--vs-transition-duration)\n var(--vs-transition-timing-function);\n}\n.vs__fade-enter,\n.vs__fade-leave-to {\n opacity: 0;\n}\n","/** Component States */\n\n/*\n * Disabled\n *\n * When the component is disabled, all interaction\n * should be prevented. Here we modify the bg color,\n * and change the cursor displayed on the interactive\n * components.\n */\n\n:root {\n --vs-disabled-bg: var(--vs-state-disabled-bg);\n --vs-disabled-color: var(--vs-state-disabled-color);\n --vs-disabled-cursor: var(--vs-state-disabled-cursor);\n}\n\n.vs--disabled {\n .vs__dropdown-toggle,\n .vs__clear,\n .vs__search,\n .vs__selected,\n .vs__open-indicator-button,\n .vs__open-indicator {\n cursor: var(--vs-disabled-cursor);\n background-color: var(--vs-disabled-bg);\n }\n}\n\n/*\n * RTL - Right to Left Support\n *\n * Because we're using a flexbox layout, the `dir=\"rtl\"`\n * HTML attribute does most of the work for us by\n * rearranging the child elements visually.\n */\n\n.v-select[dir='rtl'] {\n .vs__actions {\n padding: 0 3px 0 6px;\n }\n\n .vs__clear {\n margin-left: 6px;\n margin-right: 0;\n }\n\n .vs__deselect {\n margin-left: 0;\n margin-right: 2px;\n }\n\n .vs__dropdown-menu {\n text-align: right;\n }\n}\n","/**\n Dropdown Toggle\n\n The dropdown toggle is the primary wrapper of the component. It\n has two direct descendants: .vs__selected-options, and .vs__actions.\n\n .vs__selected-options holds the .vs__selected's as well as the\n main search input.\n\n .vs__actions holds the clear button and dropdown toggle.\n */\n\n.vs__dropdown-toggle {\n appearance: none;\n display: flex;\n padding: 0 0 4px 0;\n background: var(--vs-search-input-bg);\n border: var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);\n border-radius: var(--vs-border-radius);\n white-space: normal;\n}\n\n.vs__selected-options {\n display: flex;\n flex-basis: 100%;\n flex-grow: 1;\n flex-wrap: wrap;\n min-width: 0;\n padding: 0 2px;\n position: relative;\n}\n\n.vs__actions {\n display: flex;\n align-items: center;\n padding: var(--vs-actions-padding);\n}\n\n/* Dropdown Toggle States */\n.vs--searchable .vs__dropdown-toggle {\n cursor: text;\n}\n.vs--unsearchable .vs__dropdown-toggle {\n cursor: pointer;\n}\n.vs--open .vs__dropdown-toggle {\n border-bottom-color: transparent;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n","/* Open Indicator Button */\n\n.vs__open-indicator-button {\n padding: 0;\n border: 0;\n background-color: transparent;\n cursor: pointer;\n}\n","/* Open Indicator */\n\n/*\n The open indicator appears as a down facing\n caret on the right side of the select.\n */\n\n.vs__open-indicator {\n fill: var(--vs-controls-color);\n transform: scale(var(--vs-controls-size));\n transition: transform var(--vs-transition-duration)\n var(--vs-transition-timing-function);\n transition-timing-function: var(--vs-transition-timing-function);\n}\n\n/* Open State */\n\n.vs--open .vs__open-indicator {\n transform: rotate(180deg) scale(var(--vs-controls-size));\n}\n\n/* Loading State */\n\n.vs--loading .vs__open-indicator {\n opacity: 0;\n}\n","/* Clear Button */\n\n.vs__clear {\n fill: var(--vs-controls-color);\n padding: 0;\n border: 0;\n background-color: transparent;\n cursor: pointer;\n margin-right: 8px;\n}\n","/* Dropdown Menu */\n\n.vs__dropdown-menu {\n display: block;\n box-sizing: border-box;\n position: absolute;\n /* calc to ensure the left and right borders of the dropdown appear flush with the toggle. */\n top: calc(100% - var(--vs-border-width));\n left: 0;\n z-index: var(--vs-dropdown-z-index);\n padding: 5px 0;\n margin: 0;\n width: 100%;\n max-height: var(--vs-dropdown-max-height);\n min-width: var(--vs-dropdown-min-width);\n overflow-y: auto;\n box-shadow: var(--vs-dropdown-box-shadow);\n border: var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);\n border-top-style: none;\n border-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n text-align: left;\n list-style: none;\n background: var(--vs-dropdown-bg);\n color: var(--vs-dropdown-color);\n}\n\n.vs__no-options {\n text-align: center;\n}\n","/* List Items */\n.vs__dropdown-option {\n line-height: 1.42857143; /* Normalize line height */\n display: block;\n padding: var(--vs-dropdown-option-padding);\n clear: both;\n color: var(--vs-dropdown-option-color); /* Overrides most CSS frameworks */\n white-space: nowrap;\n cursor: pointer;\n}\n\n.vs__dropdown-option--highlight {\n background: var(--vs-dropdown-option--active-bg);\n color: var(--vs-dropdown-option--active-color);\n}\n\n.vs__dropdown-option--kb-focus {\n box-shadow: var(--vs-dropdown-option--kb-focus-box-shadow);\n}\n\n.vs__dropdown-option--deselect {\n background: var(--vs-dropdown-option--deselect-bg);\n color: var(--vs-dropdown-option--deselect-color);\n}\n\n.vs__dropdown-option--disabled {\n background: var(--vs-state-disabled-bg);\n color: var(--vs-state-disabled-color);\n cursor: var(--vs-state-disabled-cursor);\n}\n","/* Selected Tags */\n.vs__selected {\n display: flex;\n align-items: center;\n background-color: var(--vs-selected-bg);\n border: var(--vs-selected-border-width) var(--vs-selected-border-style)\n var(--vs-selected-border-color);\n border-radius: var(--vs-border-radius);\n color: var(--vs-selected-color);\n line-height: var(--vs-line-height);\n margin: 4px 2px 0px 2px;\n min-width: 0;\n padding: 0 0.25em;\n z-index: 0;\n}\n\n.vs__deselect {\n display: inline-flex;\n appearance: none;\n margin-left: 4px;\n padding: 0;\n border: 0;\n cursor: pointer;\n background: none;\n fill: var(--vs-controls-color);\n text-shadow: var(--vs-controls--deselect-text-shadow);\n}\n\n/* States */\n\n.vs--single {\n .vs__selected {\n background-color: transparent;\n border-color: transparent;\n }\n &.vs--open .vs__selected,\n &.vs--loading .vs__selected {\n max-width: 100%;\n position: absolute;\n opacity: 0.4;\n }\n &.vs--searching .vs__selected {\n display: none;\n }\n}\n","/* Search Input */\n\n/**\n * Super weird bug... If this declaration is grouped\n * below, the cancel button will still appear in chrome.\n * If it's up here on it's own, it'll hide it.\n */\n.vs__search::-webkit-search-cancel-button {\n display: none;\n}\n\n.vs__search::-webkit-search-decoration,\n.vs__search::-webkit-search-results-button,\n.vs__search::-webkit-search-results-decoration,\n.vs__search::-ms-clear {\n display: none;\n}\n\n.vs__search,\n.vs__search:focus {\n color: var(--vs-search-input-color);\n appearance: none;\n line-height: var(--vs-line-height);\n font-size: var(--vs-font-size);\n border: 1px solid transparent;\n border-left: none;\n outline: none;\n margin: 4px 0 0 0;\n padding: 0 7px;\n background: none;\n box-shadow: none;\n width: 0;\n max-width: 100%;\n flex-grow: 1;\n z-index: 1;\n}\n\n.vs__search::placeholder {\n color: var(--vs-search-input-placeholder-color);\n}\n\n/**\n States\n */\n\n/* Unsearchable */\n.vs--unsearchable {\n .vs__search {\n opacity: 1;\n }\n &:not(.vs--disabled) .vs__search {\n cursor: pointer;\n }\n}\n\n/* Single, when searching but not loading or open */\n.vs--single.vs--searching:not(.vs--open):not(.vs--loading) {\n .vs__search {\n opacity: 0.2;\n }\n}\n","/* Loading Spinner */\n.vs__spinner {\n align-self: center;\n opacity: 0;\n font-size: 5px;\n text-indent: -9999em;\n overflow: hidden;\n border-top: 0.9em solid rgba(100, 100, 100, 0.1);\n border-right: 0.9em solid rgba(100, 100, 100, 0.1);\n border-bottom: 0.9em solid rgba(100, 100, 100, 0.1);\n border-left: 0.9em solid rgba(60, 60, 60, 0.45);\n transform: translateZ(0)\n scale(var(--vs-controls--spinner-size, var(--vs-controls-size)));\n animation: vSelectSpinner 1.1s infinite linear;\n transition: opacity 0.1s;\n}\n.vs__spinner,\n.vs__spinner:after {\n border-radius: 50%;\n width: 5em;\n height: 5em;\n transform: scale(var(--vs-controls--spinner-size, var(--vs-controls-size)));\n}\n\n/* Loading Spinner States */\n.vs--loading .vs__spinner {\n opacity: 1;\n}\n",":root{--vs-colors--lightest:rgba(60,60,60,0.26);--vs-colors--light:rgba(60,60,60,0.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,0.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#136cfb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--kb-focus-box-shadow:inset 0px 0px 0px 2px #949494;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-0.115,0.975,0.855);--vs-transition-duration:150ms}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,0.5,0.8,1);--vs-transition-duration:0.15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__open-indicator-button,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;min-width:0;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator-button{background-color:transparent;border:0;cursor:pointer;padding:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);background-color:transparent;border:0;cursor:pointer;margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--kb-focus{box-shadow:var(--vs-dropdown-option--kb-focus-box-shadow)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;min-width:0;padding:0 .25em;z-index:0}.vs__deselect{fill:var(--vs-controls-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{max-width:100%;opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search:-ms-input-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39%,.1);border-left-color:rgba(60,60,60,.45);font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}\n\n/*# sourceMappingURL=vue-select.css.map*/"],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},39495:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-51d9ee64] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-51d9ee64] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-51d9ee64] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-51d9ee64]:hover,\n.action--disabled[data-v-51d9ee64]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-51d9ee64] {\n opacity: 1 !important;\n}\n.action-button[data-v-51d9ee64] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-button > span[data-v-51d9ee64] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-button__icon[data-v-51d9ee64] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-button[data-v-51d9ee64] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-button[data-v-51d9ee64] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-button__longtext-wrapper[data-v-51d9ee64],\n.action-button__longtext[data-v-51d9ee64] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-button__longtext[data-v-51d9ee64] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-button__name[data-v-51d9ee64] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-button__menu-icon[data-v-51d9ee64],\n.action-button__pressed-icon[data-v-51d9ee64] {\n margin-left: auto;\n margin-right: -14px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButton-rOZFVQA8.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,mCAAmC;EACnC,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gCAAgC;EAChC,qBAAqB;EACrB,4BAA4B;AAC9B;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;;EAEE,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,gCAAgC;AAClC;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,qBAAqB;AACvB;AACA;;EAEE,iBAAiB;EACjB,mBAAmB;AACrB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-51d9ee64] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-51d9ee64] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-51d9ee64] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-51d9ee64]:hover,\n.action--disabled[data-v-51d9ee64]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-51d9ee64] {\n opacity: 1 !important;\n}\n.action-button[data-v-51d9ee64] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-button > span[data-v-51d9ee64] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-button__icon[data-v-51d9ee64] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-button[data-v-51d9ee64] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-button[data-v-51d9ee64] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-button__longtext-wrapper[data-v-51d9ee64],\n.action-button__longtext[data-v-51d9ee64] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-button__longtext[data-v-51d9ee64] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-button__name[data-v-51d9ee64] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-button__menu-icon[data-v-51d9ee64],\n.action-button__pressed-icon[data-v-51d9ee64] {\n margin-left: auto;\n margin-right: -14px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371)$/.test(n.j)?null:o},40022:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover,\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus,\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-oXobVIqQ.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;AACA;EACE,aAAa;EACb,QAAQ;EACR,8BAA8B;AAChC;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;;;EAGE,oDAAoD;AACtD;AACA;EACE,aAAa;AACf",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover,\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus,\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},94704:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7c8f7463] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-7c8f7463] {\n color: var(--color-text-maxcontrast);\n line-height: 44px;\n white-space: nowrap;\n text-overflow: ellipsis;\n box-shadow: none !important;\n -webkit-user-select: none;\n user-select: none;\n pointer-events: none;\n margin-left: 12px;\n padding-right: 14px;\n height: 44px;\n display: flex;\n align-items: center;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionCaption-afJqyJO6.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,oCAAoC;EACpC,iBAAiB;EACjB,mBAAmB;EACnB,uBAAuB;EACvB,2BAA2B;EAC3B,yBAAyB;EACzB,iBAAiB;EACjB,oBAAoB;EACpB,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb,mBAAmB;AACrB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7c8f7463] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-7c8f7463] {\n color: var(--color-text-maxcontrast);\n line-height: 44px;\n white-space: nowrap;\n text-overflow: ellipsis;\n box-shadow: none !important;\n -webkit-user-select: none;\n user-select: none;\n pointer-events: none;\n margin-left: 12px;\n padding-right: 14px;\n height: 44px;\n display: flex;\n align-items: center;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},22044:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-24834b9f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-24834b9f] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-24834b9f] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-24834b9f]:hover,\n.action--disabled[data-v-24834b9f]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-24834b9f] {\n opacity: 1 !important;\n}\n.action-checkbox[data-v-24834b9f] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n line-height: 44px;\n}\n.action-checkbox__checkbox[data-v-24834b9f] {\n position: absolute;\n top: auto;\n left: -10000px;\n overflow: hidden;\n width: 1px;\n height: 1px;\n}\n.action-checkbox__label[data-v-24834b9f] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 14px 0 0 !important;\n}\n.action-checkbox__label[data-v-24834b9f]:before {\n margin: 0 14px !important;\n}\n.action-checkbox--disabled[data-v-24834b9f],\n.action-checkbox--disabled .action-checkbox__label[data-v-24834b9f] {\n cursor: pointer;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionCheckbox-6Pvlr1E7.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,SAAS;EACT,cAAc;EACd,gBAAgB;EAChB,UAAU;EACV,WAAW;AACb;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,8BAA8B;AAChC;AACA;EACE,yBAAyB;AAC3B;AACA;;EAEE,eAAe;AACjB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-24834b9f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-24834b9f] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-24834b9f] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-24834b9f]:hover,\n.action--disabled[data-v-24834b9f]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-24834b9f] {\n opacity: 1 !important;\n}\n.action-checkbox[data-v-24834b9f] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n line-height: 44px;\n}\n.action-checkbox__checkbox[data-v-24834b9f] {\n position: absolute;\n top: auto;\n left: -10000px;\n overflow: hidden;\n width: 1px;\n height: 1px;\n}\n.action-checkbox__label[data-v-24834b9f] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 14px 0 0 !important;\n}\n.action-checkbox__label[data-v-24834b9f]:before {\n margin: 0 14px !important;\n}\n.action-checkbox--disabled[data-v-24834b9f],\n.action-checkbox--disabled .action-checkbox__label[data-v-24834b9f] {\n cursor: pointer;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},93100:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-f55526ee] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nbutton[data-v-f55526ee]:not(.button-vue),\ninput[data-v-f55526ee]:not([type=range]),\ntextarea[data-v-f55526ee] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n}\nbutton[data-v-f55526ee]:not(.button-vue):not(:disabled):not(.primary):hover,\nbutton[data-v-f55526ee]:not(.button-vue):not(:disabled):not(.primary):focus,\nbutton:not(.button-vue):not(:disabled):not(.primary).active[data-v-f55526ee],\ninput[data-v-f55526ee]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-f55526ee]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-f55526ee],\ntextarea[data-v-f55526ee]:not(:disabled):not(.primary):hover,\ntextarea[data-v-f55526ee]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-f55526ee] {\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-f55526ee]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-f55526ee]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-f55526ee]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-f55526ee]:not(.button-vue):disabled,\ninput[data-v-f55526ee]:not([type=range]):disabled,\ntextarea[data-v-f55526ee]:disabled {\n cursor: default;\n opacity: .5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-f55526ee]:not(.button-vue):required,\ninput[data-v-f55526ee]:not([type=range]):required,\ntextarea[data-v-f55526ee]:required {\n box-shadow: none;\n}\nbutton[data-v-f55526ee]:not(.button-vue):invalid,\ninput[data-v-f55526ee]:not([type=range]):invalid,\ntextarea[data-v-f55526ee]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-f55526ee],\ninput:not([type=range]).primary[data-v-f55526ee],\ntextarea.primary[data-v-f55526ee] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):hover,\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):focus,\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):active,\ntextarea.primary[data-v-f55526ee]:not(:disabled):hover,\ntextarea.primary[data-v-f55526ee]:not(:disabled):focus,\ntextarea.primary[data-v-f55526ee]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):active,\ntextarea.primary[data-v-f55526ee]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-f55526ee]:disabled,\ninput:not([type=range]).primary[data-v-f55526ee]:disabled,\ntextarea.primary[data-v-f55526ee]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-f55526ee] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-f55526ee] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-f55526ee]:hover,\n.action--disabled[data-v-f55526ee]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-f55526ee] {\n opacity: 1 !important;\n}\n.action-input[data-v-f55526ee] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n}\n.action-input__icon-wrapper[data-v-f55526ee] {\n display: flex;\n align-self: center;\n align-items: center;\n justify-content: center;\n}\n.action-input__icon-wrapper[data-v-f55526ee] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-input__icon-wrapper[data-v-f55526ee] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-input > span[data-v-f55526ee] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-input__icon[data-v-f55526ee] {\n min-width: 0;\n min-height: 0;\n padding: 22px 0 22px 44px;\n background-position: 14px center;\n background-size: 16px;\n}\n.action-input__form[data-v-f55526ee] {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin: 4px 0;\n padding-right: 14px;\n}\n.action-input__container[data-v-f55526ee] {\n width: 100%;\n}\n.action-input__input-container[data-v-f55526ee] {\n display: flex;\n}\n.action-input__input-container .colorpicker__trigger[data-v-f55526ee],\n.action-input__input-container .colorpicker__preview[data-v-f55526ee] {\n width: 100%;\n}\n.action-input__input-container .colorpicker__preview[data-v-f55526ee] {\n width: 100%;\n height: 36px;\n border-radius: var(--border-radius-large);\n border: 2px solid var(--color-border-maxcontrast);\n box-shadow: none !important;\n}\n.action-input__text-label[data-v-f55526ee] {\n padding: 4px 0;\n display: block;\n}\n.action-input__text-label--hidden[data-v-f55526ee] {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n.action-input__datetimepicker[data-v-f55526ee] {\n width: 100%;\n}\n.action-input__datetimepicker[data-v-f55526ee] .mx-input {\n margin: 0;\n}\n.action-input__multi[data-v-f55526ee] {\n width: 100%;\n}\nli:last-child > .action-input[data-v-f55526ee] {\n padding-bottom: 10px;\n}\nli:first-child > .action-input[data-v-f55526ee]:not(.action-input--visible-label) {\n padding-top: 10px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionInput-4zSvDkWm.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;AACjB;AACA;;;;;;;;;EASE,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,WAAW;EACX,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;;;EASE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY;EACZ,aAAa;EACb,yBAAyB;EACzB,gCAAgC;EAChC,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,cAAc;EACd,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;;EAEE,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;EACZ,yCAAyC;EACzC,iDAAiD;EACjD,2BAA2B;AAC7B;AACA;EACE,cAAc;EACd,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,WAAW;AACb;AACA;EACE,SAAS;AACX;AACA;EACE,WAAW;AACb;AACA;EACE,oBAAoB;AACtB;AACA;EACE,iBAAiB;AACnB",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-f55526ee] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nbutton[data-v-f55526ee]:not(.button-vue),\ninput[data-v-f55526ee]:not([type=range]),\ntextarea[data-v-f55526ee] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n}\nbutton[data-v-f55526ee]:not(.button-vue):not(:disabled):not(.primary):hover,\nbutton[data-v-f55526ee]:not(.button-vue):not(:disabled):not(.primary):focus,\nbutton:not(.button-vue):not(:disabled):not(.primary).active[data-v-f55526ee],\ninput[data-v-f55526ee]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-f55526ee]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-f55526ee],\ntextarea[data-v-f55526ee]:not(:disabled):not(.primary):hover,\ntextarea[data-v-f55526ee]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-f55526ee] {\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-f55526ee]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-f55526ee]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-f55526ee]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-f55526ee]:not(.button-vue):disabled,\ninput[data-v-f55526ee]:not([type=range]):disabled,\ntextarea[data-v-f55526ee]:disabled {\n cursor: default;\n opacity: .5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-f55526ee]:not(.button-vue):required,\ninput[data-v-f55526ee]:not([type=range]):required,\ntextarea[data-v-f55526ee]:required {\n box-shadow: none;\n}\nbutton[data-v-f55526ee]:not(.button-vue):invalid,\ninput[data-v-f55526ee]:not([type=range]):invalid,\ntextarea[data-v-f55526ee]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-f55526ee],\ninput:not([type=range]).primary[data-v-f55526ee],\ntextarea.primary[data-v-f55526ee] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):hover,\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):focus,\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):active,\ntextarea.primary[data-v-f55526ee]:not(:disabled):hover,\ntextarea.primary[data-v-f55526ee]:not(:disabled):focus,\ntextarea.primary[data-v-f55526ee]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-f55526ee]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-f55526ee]:not(:disabled):active,\ntextarea.primary[data-v-f55526ee]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-f55526ee]:disabled,\ninput:not([type=range]).primary[data-v-f55526ee]:disabled,\ntextarea.primary[data-v-f55526ee]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-f55526ee] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-f55526ee] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-f55526ee]:hover,\n.action--disabled[data-v-f55526ee]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-f55526ee] {\n opacity: 1 !important;\n}\n.action-input[data-v-f55526ee] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n}\n.action-input__icon-wrapper[data-v-f55526ee] {\n display: flex;\n align-self: center;\n align-items: center;\n justify-content: center;\n}\n.action-input__icon-wrapper[data-v-f55526ee] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-input__icon-wrapper[data-v-f55526ee] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-input > span[data-v-f55526ee] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-input__icon[data-v-f55526ee] {\n min-width: 0;\n min-height: 0;\n padding: 22px 0 22px 44px;\n background-position: 14px center;\n background-size: 16px;\n}\n.action-input__form[data-v-f55526ee] {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin: 4px 0;\n padding-right: 14px;\n}\n.action-input__container[data-v-f55526ee] {\n width: 100%;\n}\n.action-input__input-container[data-v-f55526ee] {\n display: flex;\n}\n.action-input__input-container .colorpicker__trigger[data-v-f55526ee],\n.action-input__input-container .colorpicker__preview[data-v-f55526ee] {\n width: 100%;\n}\n.action-input__input-container .colorpicker__preview[data-v-f55526ee] {\n width: 100%;\n height: 36px;\n border-radius: var(--border-radius-large);\n border: 2px solid var(--color-border-maxcontrast);\n box-shadow: none !important;\n}\n.action-input__text-label[data-v-f55526ee] {\n padding: 4px 0;\n display: block;\n}\n.action-input__text-label--hidden[data-v-f55526ee] {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n.action-input__datetimepicker[data-v-f55526ee] {\n width: 100%;\n}\n.action-input__datetimepicker[data-v-f55526ee] .mx-input {\n margin: 0;\n}\n.action-input__multi[data-v-f55526ee] {\n width: 100%;\n}\nli:last-child > .action-input[data-v-f55526ee] {\n padding-bottom: 10px;\n}\nli:first-child > .action-input[data-v-f55526ee]:not(.action-input--visible-label) {\n padding-top: 10px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},97241:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-c0bc0588] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-c0bc0588] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action-link[data-v-c0bc0588] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-link > span[data-v-c0bc0588] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-link__icon[data-v-c0bc0588] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-link[data-v-c0bc0588] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-link[data-v-c0bc0588] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-link__longtext-wrapper[data-v-c0bc0588],\n.action-link__longtext[data-v-c0bc0588] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-link__longtext[data-v-c0bc0588] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-link__name[data-v-c0bc0588] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-link__menu-icon[data-v-c0bc0588] {\n margin-left: auto;\n margin-right: -14px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionLink-zdzQgwtH.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,mCAAmC;EACnC,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gCAAgC;EAChC,qBAAqB;EACrB,4BAA4B;AAC9B;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;;EAEE,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,gCAAgC;AAClC;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,iBAAiB;EACjB,mBAAmB;AACrB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-c0bc0588] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-c0bc0588] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action-link[data-v-c0bc0588] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-link > span[data-v-c0bc0588] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-link__icon[data-v-c0bc0588] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-link[data-v-c0bc0588] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-link[data-v-c0bc0588] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-link__longtext-wrapper[data-v-c0bc0588],\n.action-link__longtext[data-v-c0bc0588] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-link__longtext[data-v-c0bc0588] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-link__name[data-v-c0bc0588] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-link__menu-icon[data-v-c0bc0588] {\n margin-left: auto;\n margin-right: -14px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},67884:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-f482d6e9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-f482d6e9] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-f482d6e9] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-f482d6e9]:hover,\n.action--disabled[data-v-f482d6e9]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-f482d6e9] {\n opacity: 1 !important;\n}\n.action-radio[data-v-f482d6e9] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n line-height: 44px;\n}\n.action-radio__radio[data-v-f482d6e9] {\n position: absolute;\n top: auto;\n left: -10000px;\n overflow: hidden;\n width: 1px;\n height: 1px;\n}\n.action-radio__label[data-v-f482d6e9] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 14px 0 0 !important;\n}\n.action-radio__label[data-v-f482d6e9]:before {\n margin: 0 14px !important;\n}\n.action-radio--disabled[data-v-f482d6e9],\n.action-radio--disabled .action-radio__label[data-v-f482d6e9] {\n cursor: pointer;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-eOr9Sp-D.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,SAAS;EACT,cAAc;EACd,gBAAgB;EAChB,UAAU;EACV,WAAW;AACb;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,8BAA8B;AAChC;AACA;EACE,yBAAyB;AAC3B;AACA;;EAEE,eAAe;AACjB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-f482d6e9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-f482d6e9] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-f482d6e9] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-f482d6e9]:hover,\n.action--disabled[data-v-f482d6e9]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-f482d6e9] {\n opacity: 1 !important;\n}\n.action-radio[data-v-f482d6e9] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n line-height: 44px;\n}\n.action-radio__radio[data-v-f482d6e9] {\n position: absolute;\n top: auto;\n left: -10000px;\n overflow: hidden;\n width: 1px;\n height: 1px;\n}\n.action-radio__label[data-v-f482d6e9] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 14px 0 0 !important;\n}\n.action-radio__label[data-v-f482d6e9]:before {\n margin: 0 14px !important;\n}\n.action-radio--disabled[data-v-f482d6e9],\n.action-radio--disabled .action-radio__label[data-v-f482d6e9] {\n cursor: pointer;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},74014:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-fdbe574e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-fdbe574e] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action-router[data-v-fdbe574e] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-router > span[data-v-fdbe574e] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-router__icon[data-v-fdbe574e] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-router[data-v-fdbe574e] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-router[data-v-fdbe574e] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-router__longtext-wrapper[data-v-fdbe574e],\n.action-router__longtext[data-v-fdbe574e] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-router__longtext[data-v-fdbe574e] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-router__name[data-v-fdbe574e] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-router__menu-icon[data-v-fdbe574e] {\n margin-left: auto;\n margin-right: -14px;\n}\n.action--disabled[data-v-fdbe574e] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-fdbe574e]:hover,\n.action--disabled[data-v-fdbe574e]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-fdbe574e] {\n opacity: 1 !important;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRouter-MFTD6tYI.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,mCAAmC;EACnC,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gCAAgC;EAChC,qBAAqB;EACrB,4BAA4B;AAC9B;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;;EAEE,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,gCAAgC;AAClC;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,iBAAiB;EACjB,mBAAmB;AACrB;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-fdbe574e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-fdbe574e] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action-router[data-v-fdbe574e] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-router > span[data-v-fdbe574e] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-router__icon[data-v-fdbe574e] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-router[data-v-fdbe574e] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-router[data-v-fdbe574e] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-router__longtext-wrapper[data-v-fdbe574e],\n.action-router__longtext[data-v-fdbe574e] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-router__longtext[data-v-fdbe574e] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-router__name[data-v-fdbe574e] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-router__menu-icon[data-v-fdbe574e] {\n margin-left: auto;\n margin-right: -14px;\n}\n.action--disabled[data-v-fdbe574e] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-fdbe574e]:hover,\n.action--disabled[data-v-fdbe574e]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-fdbe574e] {\n opacity: 1 !important;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},37920:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-82b7f2ae] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.action-separator[data-v-82b7f2ae] {\n height: 0;\n margin: 5px 10px 5px 15px;\n border-bottom: 1px solid var(--color-border-dark);\n cursor: default;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionSeparator-l98xWbiL.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,yBAAyB;EACzB,iDAAiD;EACjD,eAAe;AACjB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-82b7f2ae] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.action-separator[data-v-82b7f2ae] {\n height: 0;\n margin: 5px 10px 5px 15px;\n border-bottom: 1px solid var(--color-border-dark);\n cursor: default;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},40480:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-34d9a49c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-34d9a49c] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action-text[data-v-34d9a49c] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-text > span[data-v-34d9a49c] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text__icon[data-v-34d9a49c] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-text[data-v-34d9a49c] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-text[data-v-34d9a49c] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text__longtext-wrapper[data-v-34d9a49c],\n.action-text__longtext[data-v-34d9a49c] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-text__longtext[data-v-34d9a49c] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-text__name[data-v-34d9a49c] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-text__menu-icon[data-v-34d9a49c] {\n margin-left: auto;\n margin-right: -14px;\n}\n.action--disabled[data-v-34d9a49c] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-34d9a49c]:hover,\n.action--disabled[data-v-34d9a49c]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-34d9a49c] {\n opacity: 1 !important;\n}\n.action-text[data-v-34d9a49c],\n.action-text span[data-v-34d9a49c] {\n cursor: default;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionText-GJYwsw_U.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,mCAAmC;EACnC,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gCAAgC;EAChC,qBAAqB;EACrB,4BAA4B;AAC9B;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;;EAEE,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,gCAAgC;AAClC;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,iBAAiB;EACjB,mBAAmB;AACrB;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB;AACA;;EAEE,eAAe;AACjB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-34d9a49c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-34d9a49c] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action-text[data-v-34d9a49c] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0 14px 0 0;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n font-size: var(--default-font-size);\n line-height: 44px;\n}\n.action-text > span[data-v-34d9a49c] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text__icon[data-v-34d9a49c] {\n width: 44px;\n height: 44px;\n opacity: 1;\n background-position: 14px center;\n background-size: 16px;\n background-repeat: no-repeat;\n}\n.action-text[data-v-34d9a49c] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-text[data-v-34d9a49c] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text__longtext-wrapper[data-v-34d9a49c],\n.action-text__longtext[data-v-34d9a49c] {\n max-width: 220px;\n line-height: 1.6em;\n padding: 10.8px 0;\n cursor: pointer;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-text__longtext[data-v-34d9a49c] {\n cursor: pointer;\n white-space: pre-wrap !important;\n}\n.action-text__name[data-v-34d9a49c] {\n font-weight: 700;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n.action-text__menu-icon[data-v-34d9a49c] {\n margin-left: auto;\n margin-right: -14px;\n}\n.action--disabled[data-v-34d9a49c] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-34d9a49c]:hover,\n.action--disabled[data-v-34d9a49c]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-34d9a49c] {\n opacity: 1 !important;\n}\n.action-text[data-v-34d9a49c],\n.action-text span[data-v-34d9a49c] {\n cursor: default;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},53519:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-b0b05af8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nbutton[data-v-b0b05af8]:not(.button-vue),\ninput[data-v-b0b05af8]:not([type=range]),\ntextarea[data-v-b0b05af8] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n}\nbutton[data-v-b0b05af8]:not(.button-vue):not(:disabled):not(.primary):hover,\nbutton[data-v-b0b05af8]:not(.button-vue):not(:disabled):not(.primary):focus,\nbutton:not(.button-vue):not(:disabled):not(.primary).active[data-v-b0b05af8],\ninput[data-v-b0b05af8]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-b0b05af8]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-b0b05af8],\ntextarea[data-v-b0b05af8]:not(:disabled):not(.primary):hover,\ntextarea[data-v-b0b05af8]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-b0b05af8] {\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-b0b05af8]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-b0b05af8]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-b0b05af8]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-b0b05af8]:not(.button-vue):disabled,\ninput[data-v-b0b05af8]:not([type=range]):disabled,\ntextarea[data-v-b0b05af8]:disabled {\n cursor: default;\n opacity: .5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-b0b05af8]:not(.button-vue):required,\ninput[data-v-b0b05af8]:not([type=range]):required,\ntextarea[data-v-b0b05af8]:required {\n box-shadow: none;\n}\nbutton[data-v-b0b05af8]:not(.button-vue):invalid,\ninput[data-v-b0b05af8]:not([type=range]):invalid,\ntextarea[data-v-b0b05af8]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8],\ninput:not([type=range]).primary[data-v-b0b05af8],\ntextarea.primary[data-v-b0b05af8] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):hover,\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):focus,\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):active,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):hover,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):focus,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):active,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8]:disabled,\ninput:not([type=range]).primary[data-v-b0b05af8]:disabled,\ntextarea.primary[data-v-b0b05af8]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-b0b05af8] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-b0b05af8] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-b0b05af8]:hover,\n.action--disabled[data-v-b0b05af8]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-b0b05af8] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-b0b05af8] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n line-height: 44px;\n}\n.action-text-editable > span[data-v-b0b05af8] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-b0b05af8] {\n min-width: 0;\n min-height: 0;\n padding: 22px 0 22px 44px;\n background-position: 14px center;\n background-size: 16px;\n}\n.action-text-editable[data-v-b0b05af8] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-text-editable[data-v-b0b05af8] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-b0b05af8] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-right: 14px;\n}\n.action-text-editable__submit[data-v-b0b05af8] {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n.action-text-editable__label[data-v-b0b05af8] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 15px;\n bottom: 1px;\n width: 36px;\n height: 36px;\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-b0b05af8],\n.action-text-editable__label *[data-v-b0b05af8] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-b0b05af8] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: 80px;\n max-height: 124px;\n min-width: 176px;\n width: 100% !important;\n margin: 0;\n}\n.action-text-editable__textarea[data-v-b0b05af8]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-b0b05af8] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-b0b05af8]:active,\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-b0b05af8]:hover,\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-b0b05af8]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-b0b05af8],\n.action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-b0b05af8],\n.action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-b0b05af8] {\n z-index: 2;\n border-color: var(--color-primary-element);\n border-left-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-b0b05af8] {\n margin-bottom: 10px;\n}\nli:first-child > .action-text-editable[data-v-b0b05af8] {\n margin-top: 10px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-JrYuWEDd.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;AACjB;AACA;;;;;;;;;EASE,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,WAAW;EACX,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;;;EASE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;AACA;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF;EACE,+CAA+C;EAC/C,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,oBAAoB;EACpB,WAAW;AACb;AACA;;EAEE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY;EACZ,aAAa;EACb,yBAAyB;EACzB,gCAAgC;EAChC,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,WAAW;EACX,WAAW;EACX,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,kBAAkB;EAClB,8CAA8C;EAC9C,4BAA4B;AAC9B;AACA;;EAEE,eAAe;AACjB;AACA;EACE,cAAc;EACd,cAAc;EACd,6CAA6C;EAC7C,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;EACtB,SAAS;AACX;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;;;EAGE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;;;EAGE,UAAU;EACV,0CAA0C;EAC1C,8BAA8B;AAChC;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-b0b05af8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nbutton[data-v-b0b05af8]:not(.button-vue),\ninput[data-v-b0b05af8]:not([type=range]),\ntextarea[data-v-b0b05af8] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n}\nbutton[data-v-b0b05af8]:not(.button-vue):not(:disabled):not(.primary):hover,\nbutton[data-v-b0b05af8]:not(.button-vue):not(:disabled):not(.primary):focus,\nbutton:not(.button-vue):not(:disabled):not(.primary).active[data-v-b0b05af8],\ninput[data-v-b0b05af8]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-b0b05af8]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-b0b05af8],\ntextarea[data-v-b0b05af8]:not(:disabled):not(.primary):hover,\ntextarea[data-v-b0b05af8]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-b0b05af8] {\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-b0b05af8]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-b0b05af8]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-b0b05af8]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-b0b05af8]:not(.button-vue):disabled,\ninput[data-v-b0b05af8]:not([type=range]):disabled,\ntextarea[data-v-b0b05af8]:disabled {\n cursor: default;\n opacity: .5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-b0b05af8]:not(.button-vue):required,\ninput[data-v-b0b05af8]:not([type=range]):required,\ntextarea[data-v-b0b05af8]:required {\n box-shadow: none;\n}\nbutton[data-v-b0b05af8]:not(.button-vue):invalid,\ninput[data-v-b0b05af8]:not([type=range]):invalid,\ntextarea[data-v-b0b05af8]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8],\ninput:not([type=range]).primary[data-v-b0b05af8],\ntextarea.primary[data-v-b0b05af8] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):hover,\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):focus,\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):active,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):hover,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):focus,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-b0b05af8]:not(:disabled):active,\ntextarea.primary[data-v-b0b05af8]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-b0b05af8]:disabled,\ninput:not([type=range]).primary[data-v-b0b05af8]:disabled,\ntextarea.primary[data-v-b0b05af8]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nli.action.active[data-v-b0b05af8] {\n background-color: var(--color-background-hover);\n border-radius: 6px;\n padding: 0;\n}\n.action--disabled[data-v-b0b05af8] {\n pointer-events: none;\n opacity: .5;\n}\n.action--disabled[data-v-b0b05af8]:hover,\n.action--disabled[data-v-b0b05af8]:focus {\n cursor: default;\n opacity: .5;\n}\n.action--disabled *[data-v-b0b05af8] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-b0b05af8] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n line-height: 44px;\n}\n.action-text-editable > span[data-v-b0b05af8] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-b0b05af8] {\n min-width: 0;\n min-height: 0;\n padding: 22px 0 22px 44px;\n background-position: 14px center;\n background-size: 16px;\n}\n.action-text-editable[data-v-b0b05af8] .material-design-icon {\n width: 44px;\n height: 44px;\n opacity: 1;\n}\n.action-text-editable[data-v-b0b05af8] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-b0b05af8] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-right: 14px;\n}\n.action-text-editable__submit[data-v-b0b05af8] {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n.action-text-editable__label[data-v-b0b05af8] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 15px;\n bottom: 1px;\n width: 36px;\n height: 36px;\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-b0b05af8],\n.action-text-editable__label *[data-v-b0b05af8] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-b0b05af8] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: 80px;\n max-height: 124px;\n min-width: 176px;\n width: 100% !important;\n margin: 0;\n}\n.action-text-editable__textarea[data-v-b0b05af8]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-b0b05af8] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-b0b05af8]:active,\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-b0b05af8]:hover,\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-b0b05af8]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-b0b05af8],\n.action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-b0b05af8],\n.action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-b0b05af8] {\n z-index: 2;\n border-color: var(--color-primary-element);\n border-left-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-b0b05af8] {\n margin-bottom: 10px;\n}\nli:first-child > .action-text-editable[data-v-b0b05af8] {\n margin-top: 10px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},84205:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-eae4a464] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.action-items[data-v-eae4a464] {\n display: flex;\n align-items: center;\n}\n.action-items > button[data-v-eae4a464] {\n margin-right: 7px;\n}\n.action-item[data-v-eae4a464] {\n --open-background-color: var(--color-background-hover, $action-background-hover);\n position: relative;\n display: inline-block;\n}\n.action-item.action-item--primary[data-v-eae4a464] {\n --open-background-color: var(--color-primary-element-hover);\n}\n.action-item.action-item--secondary[data-v-eae4a464] {\n --open-background-color: var(--color-primary-element-light-hover);\n}\n.action-item.action-item--error[data-v-eae4a464] {\n --open-background-color: var(--color-error-hover);\n}\n.action-item.action-item--warning[data-v-eae4a464] {\n --open-background-color: var(--color-warning-hover);\n}\n.action-item.action-item--success[data-v-eae4a464] {\n --open-background-color: var(--color-success-hover);\n}\n.action-item.action-item--tertiary-no-background[data-v-eae4a464] {\n --open-background-color: transparent;\n}\n.action-item.action-item--open .action-item__menutoggle[data-v-eae4a464] {\n background-color: var(--open-background-color);\n}\n.action-item__menutoggle__icon[data-v-eae4a464] {\n width: 20px;\n height: 20px;\n object-fit: contain;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n border-radius: var(--border-radius-large);\n overflow: hidden;\n}\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner {\n border-radius: var(--border-radius-large);\n padding: 4px;\n max-height: calc(50vh - 16px);\n overflow: auto;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcActions-4Gq5bZLW.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,gFAAgF;EAChF,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,iEAAiE;AACnE;AACA;EACE,iDAAiD;AACnD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,oCAAoC;AACtC;AACA;EACE,8CAA8C;AAChD;AACA;EACE,WAAW;EACX,YAAY;EACZ,mBAAmB;AACrB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,yCAAyC;EACzC,gBAAgB;AAClB;AACA;EACE,yCAAyC;EACzC,YAAY;EACZ,6BAA6B;EAC7B,cAAc;AAChB",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-eae4a464] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.action-items[data-v-eae4a464] {\n display: flex;\n align-items: center;\n}\n.action-items > button[data-v-eae4a464] {\n margin-right: 7px;\n}\n.action-item[data-v-eae4a464] {\n --open-background-color: var(--color-background-hover, $action-background-hover);\n position: relative;\n display: inline-block;\n}\n.action-item.action-item--primary[data-v-eae4a464] {\n --open-background-color: var(--color-primary-element-hover);\n}\n.action-item.action-item--secondary[data-v-eae4a464] {\n --open-background-color: var(--color-primary-element-light-hover);\n}\n.action-item.action-item--error[data-v-eae4a464] {\n --open-background-color: var(--color-error-hover);\n}\n.action-item.action-item--warning[data-v-eae4a464] {\n --open-background-color: var(--color-warning-hover);\n}\n.action-item.action-item--success[data-v-eae4a464] {\n --open-background-color: var(--color-success-hover);\n}\n.action-item.action-item--tertiary-no-background[data-v-eae4a464] {\n --open-background-color: transparent;\n}\n.action-item.action-item--open .action-item__menutoggle[data-v-eae4a464] {\n background-color: var(--open-background-color);\n}\n.action-item__menutoggle__icon[data-v-eae4a464] {\n width: 20px;\n height: 20px;\n object-fit: contain;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n border-radius: var(--border-radius-large);\n overflow: hidden;\n}\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner {\n border-radius: var(--border-radius-large);\n padding: 4px;\n max-height: calc(50vh - 16px);\n overflow: auto;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|4012|4897|6174|6371)$/.test(n.j)?null:o},35414:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-5244e83e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-details-toggle[data-v-5244e83e] {\n position: fixed;\n width: 44px;\n height: 44px;\n padding: 14px;\n cursor: pointer;\n opacity: .6;\n transform: rotate(180deg);\n background-color: var(--color-main-background);\n z-index: 2000;\n}\n.app-details-toggle[data-v-5244e83e]:active,\n.app-details-toggle[data-v-5244e83e]:hover,\n.app-details-toggle[data-v-5244e83e]:focus {\n opacity: 1;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-27fc3f3a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-content[data-v-27fc3f3a] {\n position: initial;\n z-index: 1000;\n flex-basis: 100vw;\n height: 100%;\n margin: 0 !important;\n background-color: var(--color-main-background);\n min-width: 0;\n}\n.app-content[data-v-27fc3f3a]:not(.app-content--has-list) {\n overflow: auto;\n}\n.app-content-wrapper[data-v-27fc3f3a] {\n position: relative;\n width: 100%;\n height: 100%;\n}\n.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-27fc3f3a] .app-content-list {\n display: flex;\n}\n.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-27fc3f3a] .app-content-details,\n.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-27fc3f3a] .app-content-list {\n display: none;\n}\n.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-27fc3f3a] .app-content-details {\n display: block;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .app-content-list {\n max-width: none;\n scrollbar-width: auto;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane {\n background-color: transparent;\n transition: none;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-list {\n min-width: 300px;\n position: sticky;\n top: var(--header-height);\n}\n@media only screen and (width < 1024px) {\n [data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-list {\n display: none;\n }\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-details {\n overflow-y: auto;\n}\n@media only screen and (width < 1024px) {\n [data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-details {\n min-width: 100%;\n }\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__splitter {\n width: 9px;\n margin-left: -5px;\n background-color: transparent;\n border-left: none;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__splitter:before,\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__splitter:after {\n display: none;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppContent-SZz3PTd8.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,WAAW;EACX,YAAY;EACZ,aAAa;EACb,eAAe;EACf,WAAW;EACX,yBAAyB;EACzB,8CAA8C;EAC9C,aAAa;AACf;AACA;;;EAGE,UAAU;AACZ;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,aAAa;EACb,iBAAiB;EACjB,YAAY;EACZ,oBAAoB;EACpB,8CAA8C;EAC9C,YAAY;AACd;AACA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;;EAEE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,6BAA6B;EAC7B,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,yBAAyB;AAC3B;AACA;EACE;IACE,aAAa;EACf;AACF;AACA;EACE,gBAAgB;AAClB;AACA;EACE;IACE,eAAe;EACjB;AACF;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;;EAEE,aAAa;AACf",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-5244e83e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-details-toggle[data-v-5244e83e] {\n position: fixed;\n width: 44px;\n height: 44px;\n padding: 14px;\n cursor: pointer;\n opacity: .6;\n transform: rotate(180deg);\n background-color: var(--color-main-background);\n z-index: 2000;\n}\n.app-details-toggle[data-v-5244e83e]:active,\n.app-details-toggle[data-v-5244e83e]:hover,\n.app-details-toggle[data-v-5244e83e]:focus {\n opacity: 1;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-27fc3f3a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-content[data-v-27fc3f3a] {\n position: initial;\n z-index: 1000;\n flex-basis: 100vw;\n height: 100%;\n margin: 0 !important;\n background-color: var(--color-main-background);\n min-width: 0;\n}\n.app-content[data-v-27fc3f3a]:not(.app-content--has-list) {\n overflow: auto;\n}\n.app-content-wrapper[data-v-27fc3f3a] {\n position: relative;\n width: 100%;\n height: 100%;\n}\n.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-27fc3f3a] .app-content-list {\n display: flex;\n}\n.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-27fc3f3a] .app-content-details,\n.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-27fc3f3a] .app-content-list {\n display: none;\n}\n.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-27fc3f3a] .app-content-details {\n display: block;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .app-content-list {\n max-width: none;\n scrollbar-width: auto;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane {\n background-color: transparent;\n transition: none;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-list {\n min-width: 300px;\n position: sticky;\n top: var(--header-height);\n}\n@media only screen and (width < 1024px) {\n [data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-list {\n display: none;\n }\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-details {\n overflow-y: auto;\n}\n@media only screen and (width < 1024px) {\n [data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__pane-details {\n min-width: 100%;\n }\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__splitter {\n width: 9px;\n margin-left: -5px;\n background-color: transparent;\n border-left: none;\n}\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__splitter:before,\n[data-v-27fc3f3a] .splitpanes.default-theme .splitpanes__splitter:after {\n display: none;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},44335:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation,\n.app-content {\n --app-navigation-padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-80612854] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation[data-v-80612854] {\n --color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));\n transition: transform var(--animation-quick), margin var(--animation-quick);\n width: 300px;\n max-width: calc(100vw - (var(--app-navigation-padding) + var(--default-clickable-area) + var(--default-grid-baseline)));\n position: relative;\n top: 0;\n left: 0;\n padding: 0;\n z-index: 1800;\n height: 100%;\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n flex-grow: 0;\n flex-shrink: 0;\n background-color: var(--color-main-background-blur, var(--color-main-background));\n -webkit-backdrop-filter: var(--filter-background-blur, none);\n backdrop-filter: var(--filter-background-blur, none);\n}\n.app-navigation--close[data-v-80612854] {\n transform: translate(-100%);\n position: absolute;\n}\n.app-navigation__content > ul[data-v-80612854],\n.app-navigation__list[data-v-80612854] {\n position: relative;\n height: 100%;\n width: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--default-grid-baseline, 4px);\n padding: var(--app-navigation-padding);\n}\n.app-navigation__content[data-v-80612854] {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n[data-themes*=highcontrast] .app-navigation[data-v-80612854] {\n border-right: 1px solid var(--color-border);\n}\n@media only screen and (max-width: 1024px) {\n .app-navigation[data-v-80612854]:not(.app-navigation--close) {\n position: absolute;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigation-vjqOL-kR.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;EAEE,qEAAqE;AACvE;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,8GAA8G;EAC9G,2EAA2E;EAC3E,YAAY;EACZ,uHAAuH;EACvH,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,YAAY;EACZ,sBAAsB;EACtB,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,iFAAiF;EACjF,4DAA4D;EAC5D,oDAAoD;AACtD;AACA;EACE,2BAA2B;EAC3B,kBAAkB;AACpB;AACA;;EAEE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,sBAAsB;EACtB,aAAa;EACb,sBAAsB;EACtB,sCAAsC;EACtC,sCAAsC;AACxC;AACA;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,2CAA2C;AAC7C;AACA;EACE;IACE,kBAAkB;EACpB;AACF",sourcesContent:['@charset "UTF-8";\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation,\n.app-content {\n --app-navigation-padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-80612854] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation[data-v-80612854] {\n --color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));\n transition: transform var(--animation-quick), margin var(--animation-quick);\n width: 300px;\n max-width: calc(100vw - (var(--app-navigation-padding) + var(--default-clickable-area) + var(--default-grid-baseline)));\n position: relative;\n top: 0;\n left: 0;\n padding: 0;\n z-index: 1800;\n height: 100%;\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n flex-grow: 0;\n flex-shrink: 0;\n background-color: var(--color-main-background-blur, var(--color-main-background));\n -webkit-backdrop-filter: var(--filter-background-blur, none);\n backdrop-filter: var(--filter-background-blur, none);\n}\n.app-navigation--close[data-v-80612854] {\n transform: translate(-100%);\n position: absolute;\n}\n.app-navigation__content > ul[data-v-80612854],\n.app-navigation__list[data-v-80612854] {\n position: relative;\n height: 100%;\n width: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--default-grid-baseline, 4px);\n padding: var(--app-navigation-padding);\n}\n.app-navigation__content[data-v-80612854] {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n[data-themes*=highcontrast] .app-navigation[data-v-80612854] {\n border-right: 1px solid var(--color-border);\n}\n@media only screen and (max-width: 1024px) {\n .app-navigation[data-v-80612854]:not(.app-navigation--close) {\n position: absolute;\n }\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},77550:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-dbde4a28] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-dbde4a28] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption__name[data-v-dbde4a28] {\n font-weight: 700;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: 44px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 0;\n padding: 0 calc(var(--default-grid-baseline, 4px) * 2) 0 calc(var(--default-grid-baseline, 4px) * 3);\n margin-bottom: 12px;\n}\n.app-navigation-caption__actions[data-v-dbde4a28] {\n flex: 0 0 44px;\n}\n.app-navigation-caption[data-v-dbde4a28]:not(:first-child) {\n margin-top: 22px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-l5yRGXZx.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,8BAA8B;AAChC;AACA;EACE,gBAAgB;EAChB,6BAA6B;EAC7B,mCAAmC;EACnC,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,2BAA2B;EAC3B,cAAc;EACd,oGAAoG;EACpG,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,gBAAgB;AAClB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-dbde4a28] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-dbde4a28] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption__name[data-v-dbde4a28] {\n font-weight: 700;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: 44px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 0;\n padding: 0 calc(var(--default-grid-baseline, 4px) * 2) 0 calc(var(--default-grid-baseline, 4px) * 3);\n margin-bottom: 12px;\n}\n.app-navigation-caption__actions[data-v-dbde4a28] {\n flex: 0 0 44px;\n}\n.app-navigation-caption[data-v-dbde4a28]:not(:first-child) {\n margin-top: 22px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},38873:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-91580127] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-91580127] {\n display: block;\n padding: 15px;\n}\n.app-navigation-entry__icon-bullet div[data-v-91580127] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background .1s ease-in-out;\n border: none;\n border-radius: 50%;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-Nf3ARMLv.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;AACf;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,sCAAsC;EACtC,YAAY;EACZ,kBAAkB;AACpB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-91580127] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-91580127] {\n display: block;\n padding: 15px;\n}\n.app-navigation-entry__icon-bullet div[data-v-91580127] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background .1s ease-in-out;\n border: none;\n border-radius: 50%;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},30593:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-07582bf6] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.button-vue.icon-collapse[data-v-07582bf6] {\n position: relative;\n z-index: 105;\n color: var(--color-main-text);\n right: 0;\n}\n.button-vue.icon-collapse--open[data-v-07582bf6] {\n color: var(--color-main-text);\n}\n.button-vue.icon-collapse--open[data-v-07582bf6]:hover {\n color: var(--color-primary-element);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-6a7129ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry[data-v-6a7129ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: 44px;\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color .2s ease-in-out;\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry-wrapper[data-v-6a7129ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-6a7129ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-6a7129ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-6a7129ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-6a7129ac],\n.app-navigation-entry.active .app-navigation-entry-button[data-v-6a7129ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-6a7129ac]:focus-within,\n.app-navigation-entry[data-v-6a7129ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-6a7129ac],\n.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-6a7129ac],\n.app-navigation-entry:hover .app-navigation-entry__children[data-v-6a7129ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-6a7129ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-6a7129ac],\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-6a7129ac] {\n padding-right: 14px;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button[data-v-6a7129ac] {\n z-index: 100;\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: 44px;\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: 14px center;\n background-size: 16px 16px;\n line-height: 44px;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-6a7129ac] {\n display: flex;\n align-items: center;\n flex: 0 0 44px;\n justify-content: center;\n width: 44px;\n height: 44px;\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: 14px center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-6a7129ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-6a7129ac] {\n width: calc(100% - 44px);\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-6a7129ac]:focus-visible,\n.app-navigation-entry .app-navigation-entry-button[data-v-6a7129ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry__children[data-v-6a7129ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-6a7129ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-left: 16px;\n}\n.app-navigation-entry__deleted[data-v-6a7129ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-left: 30px !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-6a7129ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 44px;\n}\n.app-navigation-entry__utils[data-v-6a7129ac] {\n display: flex;\n min-width: 44px;\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-6a7129ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-6a7129ac] {\n margin-right: calc(var(--default-grid-baseline) * 3);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-6a7129ac] {\n display: none;\n}\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-6a7129ac] {\n z-index: 250;\n opacity: 1;\n}\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-6a7129ac] {\n z-index: 250;\n transform: translate(0);\n}\n.app-navigation-entry--pinned[data-v-6a7129ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-6a7129ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-6a7129ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationItem-caMsw_N_.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,6BAA6B;EAC7B,QAAQ;AACV;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,mCAAmC;AACrC;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,+DAA+D;EAC/D,4CAA4C;EAC5C,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;;EAEE,mDAAmD;AACrD;AACA;;EAEE,+CAA+C;AACjD;AACA;;;EAGE,8CAA8C;AAChD;AACA;;;;;EAKE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;;EAEE,mBAAmB;AACrB;AACA;;EAEE,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,gBAAgB;EAChB,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,gCAAgC;EAChC,0BAA0B;EAC1B,iBAAiB;AACnB;AACA;;EAEE,aAAa;EACb,mBAAmB;EACnB,cAAc;EACd,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,0BAA0B;EAC1B,4BAA4B;EAC5B,gCAAgC;AAClC;AACA;;EAEE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;EAEE,wBAAwB;EACxB,YAAY;AACd;AACA;;EAEE,kDAAkD;EAClD,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;AACxC;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,kBAAkB;AACpB;AACA;EACE,oBAAoB;EACpB,WAAW;EACX,6BAA6B;AAC/B;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,qBAAqB;AACvB;AACA;EACE,oDAAoD;EACpD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,YAAY;EACZ,UAAU;AACZ;AACA;EACE,YAAY;EACZ,uBAAuB;AACzB;AACA;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-07582bf6] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.button-vue.icon-collapse[data-v-07582bf6] {\n position: relative;\n z-index: 105;\n color: var(--color-main-text);\n right: 0;\n}\n.button-vue.icon-collapse--open[data-v-07582bf6] {\n color: var(--color-main-text);\n}\n.button-vue.icon-collapse--open[data-v-07582bf6]:hover {\n color: var(--color-primary-element);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-6a7129ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry[data-v-6a7129ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: 44px;\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color .2s ease-in-out;\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry-wrapper[data-v-6a7129ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-6a7129ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-6a7129ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-6a7129ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-6a7129ac],\n.app-navigation-entry.active .app-navigation-entry-button[data-v-6a7129ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-6a7129ac]:focus-within,\n.app-navigation-entry[data-v-6a7129ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-6a7129ac],\n.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-6a7129ac],\n.app-navigation-entry:hover .app-navigation-entry__children[data-v-6a7129ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac],\n.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-6a7129ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-6a7129ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-6a7129ac],\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-6a7129ac] {\n padding-right: 14px;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button[data-v-6a7129ac] {\n z-index: 100;\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: 44px;\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: 14px center;\n background-size: 16px 16px;\n line-height: 44px;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-6a7129ac] {\n display: flex;\n align-items: center;\n flex: 0 0 44px;\n justify-content: center;\n width: 44px;\n height: 44px;\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: 14px center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-6a7129ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-6a7129ac],\n.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-6a7129ac] {\n width: calc(100% - 44px);\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-6a7129ac]:focus-visible,\n.app-navigation-entry .app-navigation-entry-button[data-v-6a7129ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry__children[data-v-6a7129ac] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-6a7129ac] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-left: 16px;\n}\n.app-navigation-entry__deleted[data-v-6a7129ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-left: 30px !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-6a7129ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 44px;\n}\n.app-navigation-entry__utils[data-v-6a7129ac] {\n display: flex;\n min-width: 44px;\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-6a7129ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-6a7129ac] {\n margin-right: calc(var(--default-grid-baseline) * 3);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-6a7129ac] {\n display: none;\n}\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-6a7129ac] {\n z-index: 250;\n opacity: 1;\n}\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-6a7129ac] {\n z-index: 250;\n transform: translate(0);\n}\n.app-navigation-entry--pinned[data-v-6a7129ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-6a7129ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-6a7129ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},54077:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-c47dc611] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-new[data-v-c47dc611] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-c47dc611] {\n width: 100%;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-joyd78FM.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,oDAAoD;AACtD;AACA;EACE,WAAW;AACb",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-c47dc611] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-new[data-v-c47dc611] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-c47dc611] {\n width: 100%;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},11577:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-8950be04] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry[data-v-8950be04] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: 44px;\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color .2s ease-in-out;\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry-wrapper[data-v-8950be04] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-8950be04] {\n display: none;\n}\n.app-navigation-entry.active[data-v-8950be04] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-8950be04]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-8950be04],\n.app-navigation-entry.active .app-navigation-entry-button[data-v-8950be04] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-8950be04]:focus-within,\n.app-navigation-entry[data-v-8950be04]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-8950be04],\n.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-8950be04],\n.app-navigation-entry:hover .app-navigation-entry__children[data-v-8950be04] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-8950be04] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-8950be04],\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-8950be04] {\n padding-right: 14px;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button[data-v-8950be04] {\n z-index: 100;\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: 44px;\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: 14px center;\n background-size: 16px 16px;\n line-height: 44px;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-8950be04] {\n display: flex;\n align-items: center;\n flex: 0 0 44px;\n justify-content: center;\n width: 44px;\n height: 44px;\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: 14px center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-8950be04] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-8950be04] {\n width: calc(100% - 44px);\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-8950be04]:focus-visible,\n.app-navigation-entry .app-navigation-entry-button[data-v-8950be04]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry__children[data-v-8950be04] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-8950be04] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-left: 16px;\n}\n.app-navigation-entry__deleted[data-v-8950be04] {\n display: inline-flex;\n flex: 1 1 0;\n padding-left: 30px !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-8950be04] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 44px;\n}\n.app-navigation-entry__utils[data-v-8950be04] {\n display: flex;\n min-width: 44px;\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-8950be04] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-8950be04] {\n margin-right: calc(var(--default-grid-baseline) * 3);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-8950be04] {\n display: none;\n}\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-8950be04] {\n z-index: 250;\n opacity: 1;\n}\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-8950be04] {\n z-index: 250;\n transform: translate(0);\n}\n.app-navigation-entry--pinned[data-v-8950be04] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-8950be04] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-8950be04]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-8950be04] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-left: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-8950be04] {\n width: calc(100% - 44px);\n margin: auto;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-ue-H4LQY.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,+DAA+D;EAC/D,4CAA4C;EAC5C,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;;EAEE,mDAAmD;AACrD;AACA;;EAEE,+CAA+C;AACjD;AACA;;;EAGE,8CAA8C;AAChD;AACA;;;;;EAKE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;;EAEE,mBAAmB;AACrB;AACA;;EAEE,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,gBAAgB;EAChB,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,gCAAgC;EAChC,0BAA0B;EAC1B,iBAAiB;AACnB;AACA;;EAEE,aAAa;EACb,mBAAmB;EACnB,cAAc;EACd,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,0BAA0B;EAC1B,4BAA4B;EAC5B,gCAAgC;AAClC;AACA;;EAEE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;EAEE,wBAAwB;EACxB,YAAY;AACd;AACA;;EAEE,kDAAkD;EAClD,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;AACxC;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,kBAAkB;AACpB;AACA;EACE,oBAAoB;EACpB,WAAW;EACX,6BAA6B;AAC/B;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,qBAAqB;AACvB;AACA;EACE,oDAAoD;EACpD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,YAAY;EACZ,UAAU;AACZ;AACA;EACE,YAAY;EACZ,uBAAuB;AACzB;AACA;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;EACjB,eAAe;AACjB;AACA;EACE,wBAAwB;EACxB,YAAY;AACd",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-8950be04] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry[data-v-8950be04] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: 44px;\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color .2s ease-in-out;\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry-wrapper[data-v-8950be04] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-8950be04] {\n display: none;\n}\n.app-navigation-entry.active[data-v-8950be04] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-8950be04]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-8950be04],\n.app-navigation-entry.active .app-navigation-entry-button[data-v-8950be04] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-8950be04]:focus-within,\n.app-navigation-entry[data-v-8950be04]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-8950be04],\n.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-8950be04],\n.app-navigation-entry:hover .app-navigation-entry__children[data-v-8950be04] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04],\n.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-8950be04] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-8950be04] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-8950be04],\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-8950be04] {\n padding-right: 14px;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button[data-v-8950be04] {\n z-index: 100;\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: 44px;\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: 14px center;\n background-size: 16px 16px;\n line-height: 44px;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-8950be04] {\n display: flex;\n align-items: center;\n flex: 0 0 44px;\n justify-content: center;\n width: 44px;\n height: 44px;\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: 14px center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-8950be04] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-8950be04],\n.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-8950be04] {\n width: calc(100% - 44px);\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-8950be04]:focus-visible,\n.app-navigation-entry .app-navigation-entry-button[data-v-8950be04]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-pill);\n}\n.app-navigation-entry__children[data-v-8950be04] {\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-8950be04] {\n display: inline-flex;\n flex-wrap: wrap;\n padding-left: 16px;\n}\n.app-navigation-entry__deleted[data-v-8950be04] {\n display: inline-flex;\n flex: 1 1 0;\n padding-left: 30px !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-8950be04] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 44px;\n}\n.app-navigation-entry__utils[data-v-8950be04] {\n display: flex;\n min-width: 44px;\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-8950be04] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-8950be04] {\n margin-right: calc(var(--default-grid-baseline) * 3);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-8950be04] {\n display: none;\n}\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-8950be04] {\n z-index: 250;\n opacity: 1;\n}\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-8950be04] {\n z-index: 250;\n transform: translate(0);\n}\n.app-navigation-entry--pinned[data-v-8950be04] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-8950be04] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-8950be04]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-8950be04] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-left: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-8950be04] {\n width: calc(100% - 44px);\n margin: auto;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},24180:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-4bd59bb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-4bd59bb1] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-4bd59bb1] {\n box-sizing: border-box;\n margin: 0 3px 3px;\n}\n#app-settings__header .settings-button[data-v-4bd59bb1] {\n display: flex;\n flex: 1 1 0;\n height: 44px;\n width: 100%;\n padding: 0 14px 0 0;\n margin: 0;\n background-color: var(--color-main-background);\n box-shadow: none;\n border: 0;\n border-radius: var(--border-radius-pill);\n text-align: left;\n font-weight: 400;\n font-size: 100%;\n color: var(--color-main-text);\n line-height: 44px;\n}\n#app-settings__header .settings-button[data-v-4bd59bb1]:hover,\n#app-settings__header .settings-button[data-v-4bd59bb1]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-4bd59bb1] {\n width: 44px;\n height: 44px;\n min-width: 44px;\n}\n#app-settings__header .settings-button__label[data-v-4bd59bb1] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-4bd59bb1] {\n display: block;\n padding: 10px;\n margin-bottom: -3px;\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-4bd59bb1],\n.slide-up-enter-active[data-v-4bd59bb1] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-4bd59bb1],\n.slide-up-leave-to[data-v-4bd59bb1] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-Jx_6RpSn.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,WAAW;EACX,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,SAAS;EACT,8CAA8C;EAC9C,gBAAgB;EAChB,SAAS;EACT,wCAAwC;EACxC,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;EACf,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;;EAEE,+CAA+C;AACjD;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;;EAEE,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;;EAEE,wBAAwB;EACxB,0BAA0B;AAC5B",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-4bd59bb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-4bd59bb1] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-4bd59bb1] {\n box-sizing: border-box;\n margin: 0 3px 3px;\n}\n#app-settings__header .settings-button[data-v-4bd59bb1] {\n display: flex;\n flex: 1 1 0;\n height: 44px;\n width: 100%;\n padding: 0 14px 0 0;\n margin: 0;\n background-color: var(--color-main-background);\n box-shadow: none;\n border: 0;\n border-radius: var(--border-radius-pill);\n text-align: left;\n font-weight: 400;\n font-size: 100%;\n color: var(--color-main-text);\n line-height: 44px;\n}\n#app-settings__header .settings-button[data-v-4bd59bb1]:hover,\n#app-settings__header .settings-button[data-v-4bd59bb1]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-4bd59bb1] {\n width: 44px;\n height: 44px;\n min-width: 44px;\n}\n#app-settings__header .settings-button__label[data-v-4bd59bb1] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-4bd59bb1] {\n display: block;\n padding: 10px;\n margin-bottom: -3px;\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-4bd59bb1],\n.slide-up-enter-active[data-v-4bd59bb1] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-4bd59bb1],\n.slide-up-leave-to[data-v-4bd59bb1] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},23227:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,".app-navigation-spacer[data-v-c8233ec5] {\n flex-shrink: 0;\n order: 1;\n height: 22px;\n}\n","",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSpacer-MfL8GeCN.css"],names:[],mappings:"AAAA;EACE,cAAc;EACd,QAAQ;EACR,YAAY;AACd",sourcesContent:[".app-navigation-spacer[data-v-c8233ec5] {\n flex-shrink: 0;\n order: 1;\n height: 22px;\n}\n"],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},29174:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-e1dc2b3e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-toggle-wrapper[data-v-e1dc2b3e] {\n position: absolute;\n top: var(--app-navigation-padding);\n right: calc(0px - var(--app-navigation-padding));\n margin-right: -44px;\n}\nbutton.app-navigation-toggle[data-v-e1dc2b3e] {\n background-color: var(--color-main-background);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationToggle-3vMKtCQL.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,kCAAkC;EAClC,gDAAgD;EAChD,mBAAmB;AACrB;AACA;EACE,8CAA8C;AAChD",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-e1dc2b3e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-toggle-wrapper[data-v-e1dc2b3e] {\n position: absolute;\n top: var(--app-navigation-padding);\n right: calc(0px - var(--app-navigation-padding));\n margin-right: -44px;\n}\nbutton.app-navigation-toggle[data-v-e1dc2b3e] {\n background-color: var(--color-main-background);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},37121:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-3e0025d1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n[data-v-3e0025d1] .app-settings__navigation {\n min-width: 200px;\n margin-right: 20px;\n overflow-x: hidden;\n overflow-y: auto;\n position: relative;\n}\n[data-v-3e0025d1] .app-settings__content {\n box-sizing: border-box;\n padding-inline: 16px;\n}\n.navigation-list[data-v-3e0025d1] {\n height: 100%;\n box-sizing: border-box;\n overflow-y: auto;\n padding: 12px;\n}\n.navigation-list__link[data-v-3e0025d1] {\n display: flex;\n align-content: center;\n font-size: 16px;\n height: 44px;\n margin: 4px 0;\n line-height: 44px;\n border-radius: var(--border-radius-pill);\n font-weight: 700;\n padding: 0 20px;\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n background-color: transparent;\n border: none;\n}\n.navigation-list__link[data-v-3e0025d1]:hover,\n.navigation-list__link[data-v-3e0025d1]:focus {\n background-color: var(--color-background-hover);\n}\n.navigation-list__link--active[data-v-3e0025d1] {\n background-color: var(--color-primary-element-light) !important;\n}\n.navigation-list__link--icon[data-v-3e0025d1] {\n padding-inline-start: 8px;\n gap: 4px;\n}\n.navigation-list__link-icon[data-v-3e0025d1] {\n display: flex;\n justify-content: center;\n align-content: center;\n width: 36px;\n max-width: 36px;\n}\n@media only screen and (max-width: 512px) {\n .app-settings[data-v-3e0025d1] .dialog__name {\n padding-inline-start: 16px;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppSettingsDialog-0eOo3ERv.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,YAAY;EACZ,sBAAsB;EACtB,gBAAgB;EAChB,aAAa;AACf;AACA;EACE,aAAa;EACb,qBAAqB;EACrB,eAAe;EACf,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,wCAAwC;EACxC,gBAAgB;EAChB,eAAe;EACf,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;EAChB,6BAA6B;EAC7B,YAAY;AACd;AACA;;EAEE,+CAA+C;AACjD;AACA;EACE,+DAA+D;AACjE;AACA;EACE,yBAAyB;EACzB,QAAQ;AACV;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;AACA;EACE;IACE,0BAA0B;EAC5B;AACF",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-3e0025d1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n[data-v-3e0025d1] .app-settings__navigation {\n min-width: 200px;\n margin-right: 20px;\n overflow-x: hidden;\n overflow-y: auto;\n position: relative;\n}\n[data-v-3e0025d1] .app-settings__content {\n box-sizing: border-box;\n padding-inline: 16px;\n}\n.navigation-list[data-v-3e0025d1] {\n height: 100%;\n box-sizing: border-box;\n overflow-y: auto;\n padding: 12px;\n}\n.navigation-list__link[data-v-3e0025d1] {\n display: flex;\n align-content: center;\n font-size: 16px;\n height: 44px;\n margin: 4px 0;\n line-height: 44px;\n border-radius: var(--border-radius-pill);\n font-weight: 700;\n padding: 0 20px;\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n background-color: transparent;\n border: none;\n}\n.navigation-list__link[data-v-3e0025d1]:hover,\n.navigation-list__link[data-v-3e0025d1]:focus {\n background-color: var(--color-background-hover);\n}\n.navigation-list__link--active[data-v-3e0025d1] {\n background-color: var(--color-primary-element-light) !important;\n}\n.navigation-list__link--icon[data-v-3e0025d1] {\n padding-inline-start: 8px;\n gap: 4px;\n}\n.navigation-list__link-icon[data-v-3e0025d1] {\n display: flex;\n justify-content: center;\n align-content: center;\n width: 36px;\n max-width: 36px;\n}\n@media only screen and (max-width: 512px) {\n .app-settings[data-v-3e0025d1] .dialog__name {\n padding-inline-start: 16px;\n }\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},60570:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-5162e6df] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-settings-section[data-v-5162e6df] {\n margin-bottom: 80px;\n}\n.app-settings-section__name[data-v-5162e6df] {\n font-size: 20px;\n margin: 0;\n padding: 20px 0;\n font-weight: 700;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppSettingsSection-ahfdhix_.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,eAAe;EACf,SAAS;EACT,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-5162e6df] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-settings-section[data-v-5162e6df] {\n margin-bottom: 80px;\n}\n.app-settings-section__name[data-v-5162e6df] {\n font-size: 20px;\n margin: 0;\n padding: 20px 0;\n font-weight: 700;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},52925:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-2ae00fba] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar-tabs[data-v-2ae00fba] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 100%;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] {\n display: flex;\n justify-content: stretch;\n margin: 10px 8px 0;\n border-bottom: 1px solid var(--color-border);\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant {\n border: unset !important;\n border-radius: 0 !important;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant .checkbox-content {\n padding: var(--default-grid-baseline);\n border-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0 !important;\n margin: 0 !important;\n border-bottom: var(--default-grid-baseline) solid transparent !important;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant .checkbox-content .checkbox-content__icon--checked > * {\n color: var(--color-main-text) !important;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content {\n background: transparent !important;\n color: var(--color-main-text) !important;\n border-bottom: var(--default-grid-baseline) solid var(--color-primary-element) !important;\n}\n.app-sidebar-tabs__tab[data-v-2ae00fba] {\n flex: 1 1;\n}\n.app-sidebar-tabs__tab.active[data-v-2ae00fba] {\n color: var(--color-primary-element);\n}\n.app-sidebar-tabs__tab-caption[data-v-2ae00fba] {\n flex: 0 1 100%;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-align: center;\n}\n.app-sidebar-tabs__tab-icon[data-v-2ae00fba] {\n display: flex;\n align-items: center;\n justify-content: center;\n background-size: 20px;\n}\n.app-sidebar-tabs__tab[data-v-2ae00fba] .checkbox-radio-switch__content {\n max-width: unset;\n}\n.app-sidebar-tabs__content[data-v-2ae00fba] {\n position: relative;\n min-height: 256px;\n height: 100%;\n}\n.app-sidebar-tabs__content--multiple[data-v-2ae00fba] > :not(section) {\n display: none;\n}\n.material-design-icon[data-v-2a227066] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar[data-v-2a227066] {\n z-index: 1500;\n top: 0;\n right: 0;\n display: flex;\n overflow-x: hidden;\n overflow-y: auto;\n flex-direction: column;\n flex-shrink: 0;\n width: 27vw;\n min-width: 300px;\n max-width: 500px;\n height: 100%;\n border-left: 1px solid var(--color-border);\n background: var(--color-main-background);\n}\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066] {\n position: absolute;\n z-index: 100;\n top: 6px;\n right: 6px;\n width: 44px;\n height: 44px;\n opacity: .7;\n border-radius: 22px;\n}\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066]:hover,\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066]:active,\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066]:focus {\n opacity: 1;\n background-color: #7f7f7f40;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-2a227066] {\n flex-direction: row;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-2a227066] {\n z-index: 2;\n width: 70px;\n height: 70px;\n margin: 9px;\n border-radius: 3px;\n flex: 0 0 auto;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-2a227066] {\n padding-left: 0;\n flex: 1 1 auto;\n min-width: 0;\n padding-right: 94px;\n padding-top: 10px;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-2a227066] {\n padding-right: 50px;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-2a227066] {\n z-index: 3;\n position: absolute;\n top: 9px;\n left: -44px;\n gap: 0;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-2a227066] {\n top: 6px;\n right: 50px;\n background-color: transparent;\n position: absolute;\n}\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-2a227066] {\n position: absolute;\n top: 6px;\n right: 50px;\n}\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-2a227066] {\n padding-right: 94px;\n}\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-2a227066] {\n padding-right: 50px;\n}\n.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-2a227066] {\n display: flex;\n flex-direction: column;\n}\n.app-sidebar .app-sidebar-header__figure[data-v-2a227066] {\n width: 100%;\n height: 250px;\n max-height: 250px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n}\n.app-sidebar .app-sidebar-header__figure--with-action[data-v-2a227066] {\n cursor: pointer;\n}\n.app-sidebar .app-sidebar-header__desc[data-v-2a227066] {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 18px 6px 18px 9px;\n gap: 0 4px;\n}\n.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-2a227066] {\n padding-left: 6px;\n}\n.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__mainname-form[data-v-2a227066],\n.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__mainname-form[data-v-2a227066] {\n margin-top: -2px;\n margin-bottom: -2px;\n}\n.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__subname[data-v-2a227066] {\n margin-top: -2px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-2a227066] {\n display: flex;\n height: 44px;\n width: 44px;\n justify-content: center;\n flex: 0 0 auto;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-2a227066] {\n box-shadow: none;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-2a227066]:not([aria-pressed=true]):hover {\n box-shadow: none;\n background-color: var(--color-background-hover);\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container[data-v-2a227066] {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container[data-v-2a227066] {\n display: flex;\n align-items: center;\n min-height: 44px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-2a227066] {\n padding: 0;\n min-height: 30px;\n font-size: 20px;\n line-height: 30px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-2a227066] .linkified {\n cursor: pointer;\n text-decoration: underline;\n margin: 0;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form[data-v-2a227066] {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form input.app-sidebar-header__mainname-input[data-v-2a227066] {\n flex: 1 1 auto;\n margin: 0;\n padding: 7px;\n font-size: 20px;\n font-weight: 700;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__menu[data-v-2a227066] {\n height: 44px;\n width: 44px;\n border-radius: 22px;\n background-color: #7f7f7f40;\n margin-left: 5px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname[data-v-2a227066],\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-2a227066] {\n overflow: hidden;\n width: 100%;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-2a227066] {\n padding: 0;\n opacity: .7;\n font-size: var(--default-font-size);\n}\n.app-sidebar .app-sidebar-header__description[data-v-2a227066] {\n display: flex;\n align-items: center;\n margin: 0 10px;\n}\n@media only screen and (max-width: 512px) {\n .app-sidebar[data-v-2a227066] {\n width: 100vw;\n max-width: 100vw;\n }\n}\n.slide-right-leave-active[data-v-2a227066],\n.slide-right-enter-active[data-v-2a227066] {\n transition-duration: var(--animation-quick);\n transition-property: max-width, min-width;\n}\n.slide-right-enter-to[data-v-2a227066],\n.slide-right-leave[data-v-2a227066] {\n min-width: 300px;\n max-width: 500px;\n}\n.slide-right-enter[data-v-2a227066],\n.slide-right-leave-to[data-v-2a227066] {\n min-width: 0 !important;\n max-width: 0 !important;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar-header__description button,\n.app-sidebar-header__description .button,\n.app-sidebar-header__description input[type=button],\n.app-sidebar-header__description input[type=submit],\n.app-sidebar-header__description input[type=reset] {\n padding: 6px 22px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppSidebar-YHd7DpMW.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,cAAc;AAChB;AACA;EACE,aAAa;EACb,wBAAwB;EACxB,kBAAkB;EAClB,4CAA4C;AAC9C;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,qCAAqC;EACrC,uFAAuF;EACvF,oBAAoB;EACpB,wEAAwE;AAC1E;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kCAAkC;EAClC,wCAAwC;EACxC,yFAAyF;AAC3F;AACA;EACE,SAAS;AACX;AACA;EACE,mCAAmC;AACrC;AACA;EACE,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,qBAAqB;AACvB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,MAAM;EACN,QAAQ;EACR,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,sBAAsB;EACtB,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,gBAAgB;EAChB,YAAY;EACZ,0CAA0C;EAC1C,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,WAAW;EACX,YAAY;EACZ,WAAW;EACX,mBAAmB;AACrB;AACA;;;EAGE,UAAU;EACV,2BAA2B;AAC7B;AACA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;EACV,WAAW;EACX,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,cAAc;AAChB;AACA;EACE,eAAe;EACf,cAAc;EACd,YAAY;EACZ,mBAAmB;EACnB,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;EACV,kBAAkB;EAClB,QAAQ;EACR,WAAW;EACX,MAAM;AACR;AACA;EACE,QAAQ;EACR,WAAW;EACX,6BAA6B;EAC7B,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,QAAQ;EACR,WAAW;AACb;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,4BAA4B;EAC5B,2BAA2B;EAC3B,wBAAwB;AAC1B;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,mBAAmB;EACnB,0BAA0B;EAC1B,UAAU;AACZ;AACA;EACE,iBAAiB;AACnB;AACA;;EAEE,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX,uBAAuB;EACvB,cAAc;AAChB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,+CAA+C;AACjD;AACA;EACE,cAAc;EACd,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,YAAY;AACd;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,gBAAgB;AAClB;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,0BAA0B;EAC1B,SAAS;AACX;AACA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,SAAS;EACT,YAAY;EACZ,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,2BAA2B;EAC3B,gBAAgB;AAClB;AACA;;EAEE,gBAAgB;EAChB,WAAW;EACX,SAAS;EACT,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,UAAU;EACV,WAAW;EACX,mCAAmC;AACrC;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE;IACE,YAAY;IACZ,gBAAgB;EAClB;AACF;AACA;;EAEE,2CAA2C;EAC3C,yCAAyC;AAC3C;AACA;;EAEE,gBAAgB;EAChB,gBAAgB;AAClB;AACA;;EAEE,uBAAuB;EACvB,uBAAuB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;;;;EAKE,iBAAiB;AACnB",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-2ae00fba] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar-tabs[data-v-2ae00fba] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 100%;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] {\n display: flex;\n justify-content: stretch;\n margin: 10px 8px 0;\n border-bottom: 1px solid var(--color-border);\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant {\n border: unset !important;\n border-radius: 0 !important;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant .checkbox-content {\n padding: var(--default-grid-baseline);\n border-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0 !important;\n margin: 0 !important;\n border-bottom: var(--default-grid-baseline) solid transparent !important;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant .checkbox-content .checkbox-content__icon--checked > * {\n color: var(--color-main-text) !important;\n}\n.app-sidebar-tabs__nav[data-v-2ae00fba] .checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content {\n background: transparent !important;\n color: var(--color-main-text) !important;\n border-bottom: var(--default-grid-baseline) solid var(--color-primary-element) !important;\n}\n.app-sidebar-tabs__tab[data-v-2ae00fba] {\n flex: 1 1;\n}\n.app-sidebar-tabs__tab.active[data-v-2ae00fba] {\n color: var(--color-primary-element);\n}\n.app-sidebar-tabs__tab-caption[data-v-2ae00fba] {\n flex: 0 1 100%;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-align: center;\n}\n.app-sidebar-tabs__tab-icon[data-v-2ae00fba] {\n display: flex;\n align-items: center;\n justify-content: center;\n background-size: 20px;\n}\n.app-sidebar-tabs__tab[data-v-2ae00fba] .checkbox-radio-switch__content {\n max-width: unset;\n}\n.app-sidebar-tabs__content[data-v-2ae00fba] {\n position: relative;\n min-height: 256px;\n height: 100%;\n}\n.app-sidebar-tabs__content--multiple[data-v-2ae00fba] > :not(section) {\n display: none;\n}\n.material-design-icon[data-v-2a227066] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar[data-v-2a227066] {\n z-index: 1500;\n top: 0;\n right: 0;\n display: flex;\n overflow-x: hidden;\n overflow-y: auto;\n flex-direction: column;\n flex-shrink: 0;\n width: 27vw;\n min-width: 300px;\n max-width: 500px;\n height: 100%;\n border-left: 1px solid var(--color-border);\n background: var(--color-main-background);\n}\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066] {\n position: absolute;\n z-index: 100;\n top: 6px;\n right: 6px;\n width: 44px;\n height: 44px;\n opacity: .7;\n border-radius: 22px;\n}\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066]:hover,\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066]:active,\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-2a227066]:focus {\n opacity: 1;\n background-color: #7f7f7f40;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-2a227066] {\n flex-direction: row;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-2a227066] {\n z-index: 2;\n width: 70px;\n height: 70px;\n margin: 9px;\n border-radius: 3px;\n flex: 0 0 auto;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-2a227066] {\n padding-left: 0;\n flex: 1 1 auto;\n min-width: 0;\n padding-right: 94px;\n padding-top: 10px;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-2a227066] {\n padding-right: 50px;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-2a227066] {\n z-index: 3;\n position: absolute;\n top: 9px;\n left: -44px;\n gap: 0;\n}\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-2a227066] {\n top: 6px;\n right: 50px;\n background-color: transparent;\n position: absolute;\n}\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-2a227066] {\n position: absolute;\n top: 6px;\n right: 50px;\n}\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-2a227066] {\n padding-right: 94px;\n}\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-2a227066] {\n padding-right: 50px;\n}\n.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-2a227066] {\n display: flex;\n flex-direction: column;\n}\n.app-sidebar .app-sidebar-header__figure[data-v-2a227066] {\n width: 100%;\n height: 250px;\n max-height: 250px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n}\n.app-sidebar .app-sidebar-header__figure--with-action[data-v-2a227066] {\n cursor: pointer;\n}\n.app-sidebar .app-sidebar-header__desc[data-v-2a227066] {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 18px 6px 18px 9px;\n gap: 0 4px;\n}\n.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-2a227066] {\n padding-left: 6px;\n}\n.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__mainname-form[data-v-2a227066],\n.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__mainname-form[data-v-2a227066] {\n margin-top: -2px;\n margin-bottom: -2px;\n}\n.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__subname[data-v-2a227066] {\n margin-top: -2px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-2a227066] {\n display: flex;\n height: 44px;\n width: 44px;\n justify-content: center;\n flex: 0 0 auto;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-2a227066] {\n box-shadow: none;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-2a227066]:not([aria-pressed=true]):hover {\n box-shadow: none;\n background-color: var(--color-background-hover);\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container[data-v-2a227066] {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container[data-v-2a227066] {\n display: flex;\n align-items: center;\n min-height: 44px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-2a227066] {\n padding: 0;\n min-height: 30px;\n font-size: 20px;\n line-height: 30px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-2a227066] .linkified {\n cursor: pointer;\n text-decoration: underline;\n margin: 0;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form[data-v-2a227066] {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form input.app-sidebar-header__mainname-input[data-v-2a227066] {\n flex: 1 1 auto;\n margin: 0;\n padding: 7px;\n font-size: 20px;\n font-weight: 700;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__menu[data-v-2a227066] {\n height: 44px;\n width: 44px;\n border-radius: 22px;\n background-color: #7f7f7f40;\n margin-left: 5px;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname[data-v-2a227066],\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-2a227066] {\n overflow: hidden;\n width: 100%;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-2a227066] {\n padding: 0;\n opacity: .7;\n font-size: var(--default-font-size);\n}\n.app-sidebar .app-sidebar-header__description[data-v-2a227066] {\n display: flex;\n align-items: center;\n margin: 0 10px;\n}\n@media only screen and (max-width: 512px) {\n .app-sidebar[data-v-2a227066] {\n width: 100vw;\n max-width: 100vw;\n }\n}\n.slide-right-leave-active[data-v-2a227066],\n.slide-right-enter-active[data-v-2a227066] {\n transition-duration: var(--animation-quick);\n transition-property: max-width, min-width;\n}\n.slide-right-enter-to[data-v-2a227066],\n.slide-right-leave[data-v-2a227066] {\n min-width: 300px;\n max-width: 500px;\n}\n.slide-right-enter[data-v-2a227066],\n.slide-right-leave-to[data-v-2a227066] {\n min-width: 0 !important;\n max-width: 0 !important;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar-header__description button,\n.app-sidebar-header__description .button,\n.app-sidebar-header__description input[type=button],\n.app-sidebar-header__description input[type=submit],\n.app-sidebar-header__description input[type=reset] {\n padding: 6px 22px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},88189:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ef10d14f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar__tab[data-v-ef10d14f] {\n display: none;\n padding: 10px;\n min-height: 100%;\n max-height: 100%;\n height: 100%;\n overflow: auto;\n}\n.app-sidebar__tab[data-v-ef10d14f]:focus {\n border-color: var(--color-primary-element);\n box-shadow: 0 0 .2em var(--color-primary-element);\n outline: 0;\n}\n.app-sidebar__tab--active[data-v-ef10d14f] {\n display: block;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppSidebarTab-FywbKxqo.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,gBAAgB;EAChB,YAAY;EACZ,cAAc;AAChB;AACA;EACE,0CAA0C;EAC1C,iDAAiD;EACjD,UAAU;AACZ;AACA;EACE,cAAc;AAChB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ef10d14f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-sidebar__tab[data-v-ef10d14f] {\n display: none;\n padding: 10px;\n min-height: 100%;\n max-height: 100%;\n height: 100%;\n overflow: auto;\n}\n.app-sidebar__tab[data-v-ef10d14f]:focus {\n border-color: var(--color-primary-element);\n box-shadow: 0 0 .2em var(--color-primary-element);\n outline: 0;\n}\n.app-sidebar__tab--active[data-v-ef10d14f] {\n display: block;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},36259:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-de3f465f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.avatardiv[data-v-de3f465f] {\n position: relative;\n display: inline-block;\n width: var(--size);\n height: var(--size);\n}\n.avatardiv--unknown[data-v-de3f465f] {\n position: relative;\n background-color: var(--color-main-background);\n white-space: normal;\n}\n.avatardiv[data-v-de3f465f]:not(.avatardiv--unknown) {\n background-color: var(--color-main-background) !important;\n box-shadow: 0 0 5px #0000000d inset;\n}\n.avatardiv--with-menu[data-v-de3f465f] {\n cursor: pointer;\n}\n.avatardiv--with-menu .action-item[data-v-de3f465f] {\n position: absolute;\n top: 0;\n left: 0;\n}\n.avatardiv--with-menu[data-v-de3f465f] .action-item__menutoggle {\n cursor: pointer;\n opacity: 0;\n}\n.avatardiv--with-menu[data-v-de3f465f]:focus-within .action-item__menutoggle,\n.avatardiv--with-menu[data-v-de3f465f]:hover .action-item__menutoggle,\n.avatardiv--with-menu.avatardiv--with-menu-loading[data-v-de3f465f] .action-item__menutoggle {\n opacity: 1;\n}\n.avatardiv--with-menu:focus-within img[data-v-de3f465f],\n.avatardiv--with-menu:hover img[data-v-de3f465f],\n.avatardiv--with-menu.avatardiv--with-menu-loading img[data-v-de3f465f] {\n opacity: .3;\n}\n.avatardiv--with-menu[data-v-de3f465f] .action-item__menutoggle,\n.avatardiv--with-menu img[data-v-de3f465f] {\n transition: opacity var(--animation-quick);\n}\n.avatardiv--with-menu[data-v-de3f465f] .button-vue,\n.avatardiv--with-menu[data-v-de3f465f] .button-vue__icon {\n height: var(--size);\n min-height: var(--size);\n width: var(--size) !important;\n min-width: var(--size);\n}\n.avatardiv .avatardiv__initials-wrapper[data-v-de3f465f] {\n display: block;\n height: var(--size);\n width: var(--size);\n background-color: var(--color-main-background);\n border-radius: 50%;\n}\n.avatardiv .avatardiv__initials-wrapper .avatardiv__initials[data-v-de3f465f] {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n text-align: center;\n font-weight: 400;\n}\n.avatardiv img[data-v-de3f465f] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.avatardiv .material-design-icon[data-v-de3f465f] {\n width: var(--size);\n height: var(--size);\n}\n.avatardiv .avatardiv__user-status[data-v-de3f465f] {\n box-sizing: border-box;\n position: absolute;\n right: -4px;\n bottom: -4px;\n min-height: 18px;\n min-width: 18px;\n max-height: 18px;\n max-width: 18px;\n height: 40%;\n width: 40%;\n line-height: 15px;\n font-size: var(--default-font-size);\n border: 2px solid var(--color-main-background);\n background-color: var(--color-main-background);\n background-repeat: no-repeat;\n background-size: 16px;\n background-position: center;\n border-radius: 50%;\n}\n.acli:hover .avatardiv .avatardiv__user-status[data-v-de3f465f] {\n border-color: var(--color-background-hover);\n background-color: var(--color-background-hover);\n}\n.acli.active .avatardiv .avatardiv__user-status[data-v-de3f465f] {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\n.avatardiv .avatardiv__user-status--icon[data-v-de3f465f] {\n border: none;\n background-color: transparent;\n}\n.avatardiv .popovermenu-wrapper[data-v-de3f465f] {\n position: relative;\n display: inline-block;\n}\n.avatar-class-icon[data-v-de3f465f] {\n display: block;\n border-radius: 50%;\n background-color: var(--color-background-darker);\n height: 100%;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcAvatar-5H9cqcD1.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,kBAAkB;EAClB,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,8CAA8C;EAC9C,mBAAmB;AACrB;AACA;EACE,yDAAyD;EACzD,mCAAmC;AACrC;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;AACA;EACE,eAAe;EACf,UAAU;AACZ;AACA;;;EAGE,UAAU;AACZ;AACA;;;EAGE,WAAW;AACb;AACA;;EAEE,0CAA0C;AAC5C;AACA;;EAEE,mBAAmB;EACnB,uBAAuB;EACvB,6BAA6B;EAC7B,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,kBAAkB;EAClB,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,cAAc;EACd,WAAW;EACX,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,mBAAmB;AACrB;AACA;EACE,sBAAsB;EACtB,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,WAAW;EACX,UAAU;EACV,iBAAiB;EACjB,mCAAmC;EACnC,8CAA8C;EAC9C,8CAA8C;EAC9C,4BAA4B;EAC5B,qBAAqB;EACrB,2BAA2B;EAC3B,kBAAkB;AACpB;AACA;EACE,2CAA2C;EAC3C,+CAA+C;AACjD;AACA;EACE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;EACE,YAAY;EACZ,6BAA6B;AAC/B;AACA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,gDAAgD;EAChD,YAAY;AACd",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-de3f465f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.avatardiv[data-v-de3f465f] {\n position: relative;\n display: inline-block;\n width: var(--size);\n height: var(--size);\n}\n.avatardiv--unknown[data-v-de3f465f] {\n position: relative;\n background-color: var(--color-main-background);\n white-space: normal;\n}\n.avatardiv[data-v-de3f465f]:not(.avatardiv--unknown) {\n background-color: var(--color-main-background) !important;\n box-shadow: 0 0 5px #0000000d inset;\n}\n.avatardiv--with-menu[data-v-de3f465f] {\n cursor: pointer;\n}\n.avatardiv--with-menu .action-item[data-v-de3f465f] {\n position: absolute;\n top: 0;\n left: 0;\n}\n.avatardiv--with-menu[data-v-de3f465f] .action-item__menutoggle {\n cursor: pointer;\n opacity: 0;\n}\n.avatardiv--with-menu[data-v-de3f465f]:focus-within .action-item__menutoggle,\n.avatardiv--with-menu[data-v-de3f465f]:hover .action-item__menutoggle,\n.avatardiv--with-menu.avatardiv--with-menu-loading[data-v-de3f465f] .action-item__menutoggle {\n opacity: 1;\n}\n.avatardiv--with-menu:focus-within img[data-v-de3f465f],\n.avatardiv--with-menu:hover img[data-v-de3f465f],\n.avatardiv--with-menu.avatardiv--with-menu-loading img[data-v-de3f465f] {\n opacity: .3;\n}\n.avatardiv--with-menu[data-v-de3f465f] .action-item__menutoggle,\n.avatardiv--with-menu img[data-v-de3f465f] {\n transition: opacity var(--animation-quick);\n}\n.avatardiv--with-menu[data-v-de3f465f] .button-vue,\n.avatardiv--with-menu[data-v-de3f465f] .button-vue__icon {\n height: var(--size);\n min-height: var(--size);\n width: var(--size) !important;\n min-width: var(--size);\n}\n.avatardiv .avatardiv__initials-wrapper[data-v-de3f465f] {\n display: block;\n height: var(--size);\n width: var(--size);\n background-color: var(--color-main-background);\n border-radius: 50%;\n}\n.avatardiv .avatardiv__initials-wrapper .avatardiv__initials[data-v-de3f465f] {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n text-align: center;\n font-weight: 400;\n}\n.avatardiv img[data-v-de3f465f] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.avatardiv .material-design-icon[data-v-de3f465f] {\n width: var(--size);\n height: var(--size);\n}\n.avatardiv .avatardiv__user-status[data-v-de3f465f] {\n box-sizing: border-box;\n position: absolute;\n right: -4px;\n bottom: -4px;\n min-height: 18px;\n min-width: 18px;\n max-height: 18px;\n max-width: 18px;\n height: 40%;\n width: 40%;\n line-height: 15px;\n font-size: var(--default-font-size);\n border: 2px solid var(--color-main-background);\n background-color: var(--color-main-background);\n background-repeat: no-repeat;\n background-size: 16px;\n background-position: center;\n border-radius: 50%;\n}\n.acli:hover .avatardiv .avatardiv__user-status[data-v-de3f465f] {\n border-color: var(--color-background-hover);\n background-color: var(--color-background-hover);\n}\n.acli.active .avatardiv .avatardiv__user-status[data-v-de3f465f] {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\n.avatardiv .avatardiv__user-status--icon[data-v-de3f465f] {\n border: none;\n background-color: transparent;\n}\n.avatardiv .popovermenu-wrapper[data-v-de3f465f] {\n position: relative;\n display: inline-block;\n}\n.avatar-class-icon[data-v-de3f465f] {\n display: block;\n border-radius: 50%;\n background-color: var(--color-background-darker);\n height: 100%;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},85002:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-fe4740ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.vue-crumb[data-v-fe4740ac] {\n background-image: none;\n display: inline-flex;\n height: 44px;\n padding: 0;\n}\n.vue-crumb[data-v-fe4740ac]:last-child {\n min-width: 0;\n}\n.vue-crumb:last-child .vue-crumb__separator[data-v-fe4740ac] {\n display: none;\n}\n.vue-crumb--hidden[data-v-fe4740ac] {\n display: none;\n}\n.vue-crumb__separator[data-v-fe4740ac] {\n padding: 0;\n color: var(--color-text-maxcontrast);\n}\n.vue-crumb.vue-crumb--hovered[data-v-fe4740ac] .button-vue {\n background-color: var(--color-background-dark);\n color: var(--color-main-text);\n}\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue {\n color: var(--color-text-maxcontrast);\n}\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue:hover,\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue:focus {\n background-color: var(--color-background-dark);\n color: var(--color-main-text);\n}\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue__text {\n font-weight: 400;\n}\n.vue-crumb[data-v-fe4740ac] .button-vue__text {\n margin: 0;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item {\n max-width: 100%;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item .button-vue {\n padding: 0 4px 0 16px;\n max-width: 100%;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item .button-vue__wrapper {\n flex-direction: row-reverse;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle {\n background-color: var(--color-background-dark);\n color: var(--color-main-text);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcBreadcrumb-HspaFygg.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,YAAY;EACZ,UAAU;AACZ;AACA;EACE,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;AACf;AACA;EACE,UAAU;EACV,oCAAoC;AACtC;AACA;EACE,8CAA8C;EAC9C,6BAA6B;AAC/B;AACA;EACE,oCAAoC;AACtC;AACA;;EAEE,8CAA8C;EAC9C,6BAA6B;AAC/B;AACA;EACE,gBAAgB;AAClB;AACA;EACE,SAAS;AACX;AACA;EACE,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,eAAe;AACjB;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,8CAA8C;EAC9C,6BAA6B;AAC/B",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-fe4740ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.vue-crumb[data-v-fe4740ac] {\n background-image: none;\n display: inline-flex;\n height: 44px;\n padding: 0;\n}\n.vue-crumb[data-v-fe4740ac]:last-child {\n min-width: 0;\n}\n.vue-crumb:last-child .vue-crumb__separator[data-v-fe4740ac] {\n display: none;\n}\n.vue-crumb--hidden[data-v-fe4740ac] {\n display: none;\n}\n.vue-crumb__separator[data-v-fe4740ac] {\n padding: 0;\n color: var(--color-text-maxcontrast);\n}\n.vue-crumb.vue-crumb--hovered[data-v-fe4740ac] .button-vue {\n background-color: var(--color-background-dark);\n color: var(--color-main-text);\n}\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue {\n color: var(--color-text-maxcontrast);\n}\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue:hover,\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue:focus {\n background-color: var(--color-background-dark);\n color: var(--color-main-text);\n}\n.vue-crumb[data-v-fe4740ac]:not(:last-child) .button-vue__text {\n font-weight: 400;\n}\n.vue-crumb[data-v-fe4740ac] .button-vue__text {\n margin: 0;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item {\n max-width: 100%;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item .button-vue {\n padding: 0 4px 0 16px;\n max-width: 100%;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item .button-vue__wrapper {\n flex-direction: row-reverse;\n}\n.vue-crumb[data-v-fe4740ac]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle {\n background-color: var(--color-background-dark);\n color: var(--color-main-text);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},86325:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7d882912] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.breadcrumb[data-v-7d882912] {\n width: 100%;\n flex-grow: 1;\n display: inline-flex;\n align-items: center;\n}\n.breadcrumb--collapsed[data-v-7d882912] .vue-crumb:last-child {\n min-width: 100px;\n}\n.breadcrumb nav[data-v-7d882912] {\n flex-shrink: 1;\n min-width: 0;\n}\n.breadcrumb .breadcrumb__crumbs[data-v-7d882912] {\n max-width: 100%;\n}\n.breadcrumb .breadcrumb__crumbs[data-v-7d882912],\n.breadcrumb .breadcrumb__actions[data-v-7d882912] {\n display: inline-flex;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcBreadcrumbs-KBV0Jccv.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,cAAc;EACd,YAAY;AACd;AACA;EACE,eAAe;AACjB;AACA;;EAEE,oBAAoB;AACtB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7d882912] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.breadcrumb[data-v-7d882912] {\n width: 100%;\n flex-grow: 1;\n display: inline-flex;\n align-items: center;\n}\n.breadcrumb--collapsed[data-v-7d882912] .vue-crumb:last-child {\n min-width: 100px;\n}\n.breadcrumb nav[data-v-7d882912] {\n flex-shrink: 1;\n min-width: 0;\n}\n.breadcrumb .breadcrumb__crumbs[data-v-7d882912] {\n max-width: 100%;\n}\n.breadcrumb .breadcrumb__crumbs[data-v-7d882912],\n.breadcrumb .breadcrumb__actions[data-v-7d882912] {\n display: inline-flex;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},91235:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-fe3b5af5] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.button-vue[data-v-fe3b5af5] {\n position: relative;\n width: fit-content;\n overflow: hidden;\n border: 0;\n padding: 0;\n font-size: var(--default-font-size);\n font-weight: 700;\n min-height: 44px;\n min-width: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 22px;\n transition-property:\n color,\n border-color,\n background-color;\n transition-duration: .1s;\n transition-timing-function: linear;\n color: var(--color-primary-element-light-text);\n background-color: var(--color-primary-element-light);\n}\n.button-vue *[data-v-fe3b5af5],\n.button-vue span[data-v-fe3b5af5] {\n cursor: pointer;\n}\n.button-vue[data-v-fe3b5af5]:focus {\n outline: none;\n}\n.button-vue[data-v-fe3b5af5]:disabled {\n cursor: default;\n opacity: .5;\n filter: saturate(.7);\n}\n.button-vue:disabled *[data-v-fe3b5af5] {\n cursor: default;\n}\n.button-vue[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-primary-element-light-hover);\n}\n.button-vue[data-v-fe3b5af5]:active {\n background-color: var(--color-primary-element-light);\n}\n.button-vue__wrapper[data-v-fe3b5af5] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n}\n.button-vue--end .button-vue__wrapper[data-v-fe3b5af5] {\n justify-content: end;\n}\n.button-vue--start .button-vue__wrapper[data-v-fe3b5af5] {\n justify-content: start;\n}\n.button-vue--reverse .button-vue__wrapper[data-v-fe3b5af5] {\n flex-direction: row-reverse;\n}\n.button-vue--reverse.button-vue--icon-and-text[data-v-fe3b5af5] {\n padding-inline: calc(var(--default-grid-baseline) * 4) var(--default-grid-baseline);\n}\n.button-vue__icon[data-v-fe3b5af5] {\n height: 44px;\n width: 44px;\n min-height: 44px;\n min-width: 44px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.button-vue__text[data-v-fe3b5af5] {\n font-weight: 700;\n margin-bottom: 1px;\n padding: 2px 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.button-vue--icon-only[data-v-fe3b5af5] {\n width: 44px !important;\n}\n.button-vue--text-only[data-v-fe3b5af5] {\n padding: 0 12px;\n}\n.button-vue--text-only .button-vue__text[data-v-fe3b5af5] {\n margin-left: 4px;\n margin-right: 4px;\n}\n.button-vue--icon-and-text[data-v-fe3b5af5] {\n padding-block: 0;\n padding-inline: var(--default-grid-baseline) calc(var(--default-grid-baseline) * 4);\n}\n.button-vue--wide[data-v-fe3b5af5] {\n width: 100%;\n}\n.button-vue[data-v-fe3b5af5]:focus-visible {\n outline: 2px solid var(--color-main-text) !important;\n box-shadow: 0 0 0 4px var(--color-main-background) !important;\n}\n.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-fe3b5af5] {\n outline: 2px solid var(--color-primary-element-text);\n border-radius: var(--border-radius);\n background-color: transparent;\n}\n.button-vue--vue-primary[data-v-fe3b5af5] {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.button-vue--vue-primary[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-primary-element-hover);\n}\n.button-vue--vue-primary[data-v-fe3b5af5]:active {\n background-color: var(--color-primary-element);\n}\n.button-vue--vue-secondary[data-v-fe3b5af5] {\n color: var(--color-primary-element-light-text);\n background-color: var(--color-primary-element-light);\n}\n.button-vue--vue-secondary[data-v-fe3b5af5]:hover:not(:disabled) {\n color: var(--color-primary-element-light-text);\n background-color: var(--color-primary-element-light-hover);\n}\n.button-vue--vue-tertiary[data-v-fe3b5af5] {\n color: var(--color-main-text);\n background-color: transparent;\n}\n.button-vue--vue-tertiary[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-background-hover);\n}\n.button-vue--vue-tertiary-no-background[data-v-fe3b5af5] {\n color: var(--color-main-text);\n background-color: transparent;\n}\n.button-vue--vue-tertiary-no-background[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: transparent;\n}\n.button-vue--vue-tertiary-on-primary[data-v-fe3b5af5] {\n color: var(--color-primary-element-text);\n background-color: transparent;\n}\n.button-vue--vue-tertiary-on-primary[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: transparent;\n}\n.button-vue--vue-success[data-v-fe3b5af5] {\n background-color: var(--color-success);\n color: #fff;\n}\n.button-vue--vue-success[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-success-hover);\n}\n.button-vue--vue-success[data-v-fe3b5af5]:active {\n background-color: var(--color-success);\n}\n.button-vue--vue-warning[data-v-fe3b5af5] {\n background-color: var(--color-warning);\n color: #fff;\n}\n.button-vue--vue-warning[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-warning-hover);\n}\n.button-vue--vue-warning[data-v-fe3b5af5]:active {\n background-color: var(--color-warning);\n}\n.button-vue--vue-error[data-v-fe3b5af5] {\n background-color: var(--color-error);\n color: #fff;\n}\n.button-vue--vue-error[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-error-hover);\n}\n.button-vue--vue-error[data-v-fe3b5af5]:active {\n background-color: var(--color-error);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcButton-4Wj3KJn8.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;EAChB,SAAS;EACT,UAAU;EACV,mCAAmC;EACnC,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;EACf,mBAAmB;EACnB;;;oBAGkB;EAClB,wBAAwB;EACxB,kCAAkC;EAClC,8CAA8C;EAC9C,oDAAoD;AACtD;AACA;;EAEE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;EACf,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,eAAe;AACjB;AACA;EACE,0DAA0D;AAC5D;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;AACb;AACA;EACE,oBAAoB;AACtB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,mFAAmF;AACrF;AACA;EACE,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,eAAe;EACf,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,gBAAgB;EAChB,mFAAmF;AACrF;AACA;EACE,WAAW;AACb;AACA;EACE,oDAAoD;EACpD,6DAA6D;AAC/D;AACA;EACE,oDAAoD;EACpD,mCAAmC;EACnC,6BAA6B;AAC/B;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;EAC9C,oDAAoD;AACtD;AACA;EACE,8CAA8C;EAC9C,0DAA0D;AAC5D;AACA;EACE,6BAA6B;EAC7B,6BAA6B;AAC/B;AACA;EACE,+CAA+C;AACjD;AACA;EACE,6BAA6B;EAC7B,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,sCAAsC;EACtC,WAAW;AACb;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,sCAAsC;AACxC;AACA;EACE,sCAAsC;EACtC,WAAW;AACb;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,sCAAsC;AACxC;AACA;EACE,oCAAoC;EACpC,WAAW;AACb;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,oCAAoC;AACtC",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-fe3b5af5] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.button-vue[data-v-fe3b5af5] {\n position: relative;\n width: fit-content;\n overflow: hidden;\n border: 0;\n padding: 0;\n font-size: var(--default-font-size);\n font-weight: 700;\n min-height: 44px;\n min-width: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 22px;\n transition-property:\n color,\n border-color,\n background-color;\n transition-duration: .1s;\n transition-timing-function: linear;\n color: var(--color-primary-element-light-text);\n background-color: var(--color-primary-element-light);\n}\n.button-vue *[data-v-fe3b5af5],\n.button-vue span[data-v-fe3b5af5] {\n cursor: pointer;\n}\n.button-vue[data-v-fe3b5af5]:focus {\n outline: none;\n}\n.button-vue[data-v-fe3b5af5]:disabled {\n cursor: default;\n opacity: .5;\n filter: saturate(.7);\n}\n.button-vue:disabled *[data-v-fe3b5af5] {\n cursor: default;\n}\n.button-vue[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-primary-element-light-hover);\n}\n.button-vue[data-v-fe3b5af5]:active {\n background-color: var(--color-primary-element-light);\n}\n.button-vue__wrapper[data-v-fe3b5af5] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n}\n.button-vue--end .button-vue__wrapper[data-v-fe3b5af5] {\n justify-content: end;\n}\n.button-vue--start .button-vue__wrapper[data-v-fe3b5af5] {\n justify-content: start;\n}\n.button-vue--reverse .button-vue__wrapper[data-v-fe3b5af5] {\n flex-direction: row-reverse;\n}\n.button-vue--reverse.button-vue--icon-and-text[data-v-fe3b5af5] {\n padding-inline: calc(var(--default-grid-baseline) * 4) var(--default-grid-baseline);\n}\n.button-vue__icon[data-v-fe3b5af5] {\n height: 44px;\n width: 44px;\n min-height: 44px;\n min-width: 44px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.button-vue__text[data-v-fe3b5af5] {\n font-weight: 700;\n margin-bottom: 1px;\n padding: 2px 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.button-vue--icon-only[data-v-fe3b5af5] {\n width: 44px !important;\n}\n.button-vue--text-only[data-v-fe3b5af5] {\n padding: 0 12px;\n}\n.button-vue--text-only .button-vue__text[data-v-fe3b5af5] {\n margin-left: 4px;\n margin-right: 4px;\n}\n.button-vue--icon-and-text[data-v-fe3b5af5] {\n padding-block: 0;\n padding-inline: var(--default-grid-baseline) calc(var(--default-grid-baseline) * 4);\n}\n.button-vue--wide[data-v-fe3b5af5] {\n width: 100%;\n}\n.button-vue[data-v-fe3b5af5]:focus-visible {\n outline: 2px solid var(--color-main-text) !important;\n box-shadow: 0 0 0 4px var(--color-main-background) !important;\n}\n.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-fe3b5af5] {\n outline: 2px solid var(--color-primary-element-text);\n border-radius: var(--border-radius);\n background-color: transparent;\n}\n.button-vue--vue-primary[data-v-fe3b5af5] {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.button-vue--vue-primary[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-primary-element-hover);\n}\n.button-vue--vue-primary[data-v-fe3b5af5]:active {\n background-color: var(--color-primary-element);\n}\n.button-vue--vue-secondary[data-v-fe3b5af5] {\n color: var(--color-primary-element-light-text);\n background-color: var(--color-primary-element-light);\n}\n.button-vue--vue-secondary[data-v-fe3b5af5]:hover:not(:disabled) {\n color: var(--color-primary-element-light-text);\n background-color: var(--color-primary-element-light-hover);\n}\n.button-vue--vue-tertiary[data-v-fe3b5af5] {\n color: var(--color-main-text);\n background-color: transparent;\n}\n.button-vue--vue-tertiary[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-background-hover);\n}\n.button-vue--vue-tertiary-no-background[data-v-fe3b5af5] {\n color: var(--color-main-text);\n background-color: transparent;\n}\n.button-vue--vue-tertiary-no-background[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: transparent;\n}\n.button-vue--vue-tertiary-on-primary[data-v-fe3b5af5] {\n color: var(--color-primary-element-text);\n background-color: transparent;\n}\n.button-vue--vue-tertiary-on-primary[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: transparent;\n}\n.button-vue--vue-success[data-v-fe3b5af5] {\n background-color: var(--color-success);\n color: #fff;\n}\n.button-vue--vue-success[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-success-hover);\n}\n.button-vue--vue-success[data-v-fe3b5af5]:active {\n background-color: var(--color-success);\n}\n.button-vue--vue-warning[data-v-fe3b5af5] {\n background-color: var(--color-warning);\n color: #fff;\n}\n.button-vue--vue-warning[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-warning-hover);\n}\n.button-vue--vue-warning[data-v-fe3b5af5]:active {\n background-color: var(--color-warning);\n}\n.button-vue--vue-error[data-v-fe3b5af5] {\n background-color: var(--color-error);\n color: #fff;\n}\n.button-vue--vue-error[data-v-fe3b5af5]:hover:not(:disabled) {\n background-color: var(--color-error-hover);\n}\n.button-vue--vue-error[data-v-fe3b5af5]:active {\n background-color: var(--color-error);\n}\n'],sourceRoot:""}]);const s=/^(59(0|28)|82(0|79)|1952|2076|2766|3260|3604|4012|4897|6371|9643)$/.test(n.j)?null:o},6310:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-2672ad1a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.checkbox-content[data-v-2672ad1a] {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n -webkit-user-select: none;\n user-select: none;\n min-height: 44px;\n border-radius: 44px;\n padding: 4px calc((44px - var(--icon-height)) / 2);\n width: 100%;\n max-width: fit-content;\n}\n.checkbox-content__text[data-v-2672ad1a] {\n flex: 1 0;\n display: flex;\n align-items: center;\n}\n.checkbox-content__text[data-v-2672ad1a]:empty {\n display: none;\n}\n.checkbox-content__icon > *[data-v-2672ad1a] {\n width: var(--icon-size);\n height: var(--icon-size);\n}\n.checkbox-content--button-variant .checkbox-content__icon:not(.checkbox-content__icon--checked) > *[data-v-2672ad1a] {\n color: var(--color-primary-element);\n}\n.checkbox-content--button-variant .checkbox-content__icon--checked > *[data-v-2672ad1a] {\n color: var(--color-primary-element-text);\n}\n.checkbox-content--has-text[data-v-2672ad1a] {\n padding-right: 14px;\n}\n.checkbox-content:not(.checkbox-content--button-variant) .checkbox-content__icon > *[data-v-2672ad1a] {\n color: var(--color-primary-element);\n}\n.checkbox-content[data-v-2672ad1a],\n.checkbox-content *[data-v-2672ad1a] {\n cursor: pointer;\n flex-shrink: 0;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-2603be83] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.checkbox-radio-switch[data-v-2603be83] {\n display: flex;\n align-items: center;\n color: var(--color-main-text);\n background-color: transparent;\n font-size: var(--default-font-size);\n line-height: var(--default-line-height);\n padding: 0;\n position: relative;\n}\n.checkbox-radio-switch__input[data-v-2603be83] {\n position: absolute;\n z-index: -1;\n opacity: 0 !important;\n width: var(--icon-size);\n height: var(--icon-size);\n margin: 4px 14px;\n}\n.checkbox-radio-switch__input:focus-visible + .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch__input[data-v-2603be83]:focus-visible {\n outline: 2px solid var(--color-main-text);\n border-color: var(--color-main-background);\n outline-offset: -2px;\n}\n.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-2603be83] {\n opacity: .5;\n}\n.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-2603be83] .checkbox-radio-switch__icon > * {\n color: var(--color-main-text);\n}\n.checkbox-radio-switch:not(.checkbox-radio-switch--disabled, .checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch:not(.checkbox-radio-switch--disabled, .checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-2603be83]:hover {\n background-color: var(--color-background-hover);\n}\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-2603be83]:hover {\n background-color: var(--color-primary-element-hover);\n}\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-2603be83]:hover {\n background-color: var(--color-primary-element-light-hover);\n}\n.checkbox-radio-switch-switch[data-v-2603be83]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon > * {\n color: var(--color-text-maxcontrast);\n}\n.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-2603be83] .checkbox-radio-switch__icon > * {\n color: var(--color-primary-element-light);\n}\n.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-2603be83] {\n border: 2px solid var(--color-border-maxcontrast);\n overflow: hidden;\n}\n.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-2603be83] {\n font-weight: 700;\n}\n.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-2603be83] {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83] .checkbox-radio-switch__text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon > * {\n color: var(--color-main-text);\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83] .checkbox-radio-switch__icon:empty {\n display: none;\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),\n.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-2603be83] {\n border-radius: calc(var(--default-clickable-area) / 2);\n}\n.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-2603be83] {\n flex-basis: 100%;\n max-width: unset;\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:first-of-type {\n border-top-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-top-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:last-of-type {\n border-bottom-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-bottom-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:not(:last-of-type) {\n border-bottom: 0 !important;\n}\n.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-2603be83] {\n margin-bottom: 2px;\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:not(:first-of-type) {\n border-top: 0 !important;\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:first-of-type {\n border-top-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-bottom-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:last-of-type {\n border-top-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-bottom-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:not(:last-of-type) {\n border-right: 0 !important;\n}\n.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-2603be83] {\n margin-right: 2px;\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:not(:first-of-type) {\n border-left: 0 !important;\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83] .checkbox-radio-switch__text {\n text-align: center;\n}\n.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-2603be83] {\n flex-direction: column;\n justify-content: center;\n width: 100%;\n margin: 0;\n gap: 0;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcCheckboxRadioSwitch-mgKotCbU.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,QAAQ;EACR,yBAAyB;EACzB,iBAAiB;EACjB,gBAAgB;EAChB,mBAAmB;EACnB,kDAAkD;EAClD,WAAW;EACX,sBAAsB;AACxB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,uBAAuB;EACvB,wBAAwB;AAC1B;AACA;EACE,mCAAmC;AACrC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mCAAmC;AACrC;AACA;;EAEE,eAAe;EACf,cAAc;AAChB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,6BAA6B;EAC7B,6BAA6B;EAC7B,mCAAmC;EACnC,uCAAuC;EACvC,UAAU;EACV,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,qBAAqB;EACrB,uBAAuB;EACvB,wBAAwB;EACxB,gBAAgB;AAClB;AACA;;EAEE,yCAAyC;EACzC,0CAA0C;EAC1C,oBAAoB;AACtB;AACA;EACE,WAAW;AACb;AACA;EACE,6BAA6B;AAC/B;AACA;;EAEE,+CAA+C;AACjD;AACA;;EAEE,oDAAoD;AACtD;AACA;;EAEE,0DAA0D;AAC5D;AACA;EACE,oCAAoC;AACtC;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,iDAAiD;EACjD,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,aAAa;AACf;AACA;;EAEE,sDAAsD;AACxD;AACA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,qEAAqE;EACrE,sEAAsE;AACxE;AACA;EACE,wEAAwE;EACxE,yEAAyE;AAC3E;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,qEAAqE;EACrE,wEAAwE;AAC1E;AACA;EACE,sEAAsE;EACtE,yEAAyE;AAC3E;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,iBAAiB;AACnB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,WAAW;EACX,SAAS;EACT,MAAM;AACR",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-2672ad1a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.checkbox-content[data-v-2672ad1a] {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n -webkit-user-select: none;\n user-select: none;\n min-height: 44px;\n border-radius: 44px;\n padding: 4px calc((44px - var(--icon-height)) / 2);\n width: 100%;\n max-width: fit-content;\n}\n.checkbox-content__text[data-v-2672ad1a] {\n flex: 1 0;\n display: flex;\n align-items: center;\n}\n.checkbox-content__text[data-v-2672ad1a]:empty {\n display: none;\n}\n.checkbox-content__icon > *[data-v-2672ad1a] {\n width: var(--icon-size);\n height: var(--icon-size);\n}\n.checkbox-content--button-variant .checkbox-content__icon:not(.checkbox-content__icon--checked) > *[data-v-2672ad1a] {\n color: var(--color-primary-element);\n}\n.checkbox-content--button-variant .checkbox-content__icon--checked > *[data-v-2672ad1a] {\n color: var(--color-primary-element-text);\n}\n.checkbox-content--has-text[data-v-2672ad1a] {\n padding-right: 14px;\n}\n.checkbox-content:not(.checkbox-content--button-variant) .checkbox-content__icon > *[data-v-2672ad1a] {\n color: var(--color-primary-element);\n}\n.checkbox-content[data-v-2672ad1a],\n.checkbox-content *[data-v-2672ad1a] {\n cursor: pointer;\n flex-shrink: 0;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-2603be83] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.checkbox-radio-switch[data-v-2603be83] {\n display: flex;\n align-items: center;\n color: var(--color-main-text);\n background-color: transparent;\n font-size: var(--default-font-size);\n line-height: var(--default-line-height);\n padding: 0;\n position: relative;\n}\n.checkbox-radio-switch__input[data-v-2603be83] {\n position: absolute;\n z-index: -1;\n opacity: 0 !important;\n width: var(--icon-size);\n height: var(--icon-size);\n margin: 4px 14px;\n}\n.checkbox-radio-switch__input:focus-visible + .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch__input[data-v-2603be83]:focus-visible {\n outline: 2px solid var(--color-main-text);\n border-color: var(--color-main-background);\n outline-offset: -2px;\n}\n.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-2603be83] {\n opacity: .5;\n}\n.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-2603be83] .checkbox-radio-switch__icon > * {\n color: var(--color-main-text);\n}\n.checkbox-radio-switch:not(.checkbox-radio-switch--disabled, .checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch:not(.checkbox-radio-switch--disabled, .checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-2603be83]:hover {\n background-color: var(--color-background-hover);\n}\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-2603be83]:hover {\n background-color: var(--color-primary-element-hover);\n}\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-2603be83],\n.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-2603be83]:hover {\n background-color: var(--color-primary-element-light-hover);\n}\n.checkbox-radio-switch-switch[data-v-2603be83]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon > * {\n color: var(--color-text-maxcontrast);\n}\n.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-2603be83] .checkbox-radio-switch__icon > * {\n color: var(--color-primary-element-light);\n}\n.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-2603be83] {\n border: 2px solid var(--color-border-maxcontrast);\n overflow: hidden;\n}\n.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-2603be83] {\n font-weight: 700;\n}\n.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-2603be83] {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83] .checkbox-radio-switch__text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon > * {\n color: var(--color-main-text);\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83] .checkbox-radio-switch__icon:empty {\n display: none;\n}\n.checkbox-radio-switch--button-variant[data-v-2603be83]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),\n.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-2603be83] {\n border-radius: calc(var(--default-clickable-area) / 2);\n}\n.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-2603be83] {\n flex-basis: 100%;\n max-width: unset;\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:first-of-type {\n border-top-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-top-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:last-of-type {\n border-bottom-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-bottom-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:not(:last-of-type) {\n border-bottom: 0 !important;\n}\n.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-2603be83] {\n margin-bottom: 2px;\n}\n.checkbox-radio-switch--button-variant-v-grouped[data-v-2603be83]:not(:first-of-type) {\n border-top: 0 !important;\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:first-of-type {\n border-top-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-bottom-left-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:last-of-type {\n border-top-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n border-bottom-right-radius: calc(var(--default-clickable-area) / 2 + 2px);\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:not(:last-of-type) {\n border-right: 0 !important;\n}\n.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-2603be83] {\n margin-right: 2px;\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83]:not(:first-of-type) {\n border-left: 0 !important;\n}\n.checkbox-radio-switch--button-variant-h-grouped[data-v-2603be83] .checkbox-radio-switch__text {\n text-align: center;\n}\n.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-2603be83] {\n flex-direction: column;\n justify-content: center;\n width: 100%;\n margin: 0;\n gap: 0;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},92307:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ced724c4] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.color-picker[data-v-ced724c4] {\n display: flex;\n overflow: hidden;\n align-content: flex-end;\n flex-direction: column;\n justify-content: space-between;\n box-sizing: content-box !important;\n width: 176px;\n padding: 8px;\n border-radius: 3px;\n}\n.color-picker--advanced-fields[data-v-ced724c4] {\n width: 264px;\n}\n.color-picker__simple[data-v-ced724c4] {\n display: grid;\n grid-template-columns: repeat(auto-fit, 44px);\n grid-auto-rows: 44px;\n}\n.color-picker__simple-color-circle[data-v-ced724c4] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n min-height: 34px;\n margin: auto;\n padding: 0;\n color: #fff;\n border: 1px solid rgba(0, 0, 0, .25);\n border-radius: 50%;\n font-size: 16px;\n}\n.color-picker__simple-color-circle[data-v-ced724c4]:focus-within {\n outline: 2px solid var(--color-main-text);\n}\n.color-picker__simple-color-circle[data-v-ced724c4]:hover {\n opacity: .6;\n}\n.color-picker__simple-color-circle--active[data-v-ced724c4] {\n width: 38px;\n height: 38px;\n min-height: 38px;\n transition: all .1s ease-in-out;\n opacity: 1 !important;\n}\n.color-picker__advanced[data-v-ced724c4] {\n box-shadow: none !important;\n}\n.color-picker__navigation[data-v-ced724c4] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-top: 10px;\n}\n[data-v-ced724c4] .vc-chrome {\n width: unset;\n background-color: var(--color-main-background);\n}\n[data-v-ced724c4] .vc-chrome-color-wrap {\n width: 30px;\n height: 30px;\n}\n[data-v-ced724c4] .vc-chrome-active-color {\n width: 34px;\n height: 34px;\n border-radius: 17px;\n}\n[data-v-ced724c4] .vc-chrome-body {\n padding: 14px 0 0;\n background-color: var(--color-main-background);\n}\n[data-v-ced724c4] .vc-chrome-body .vc-input__input {\n box-shadow: none;\n}\n[data-v-ced724c4] .vc-chrome-toggle-btn {\n filter: var(--background-invert-if-dark);\n}\n[data-v-ced724c4] .vc-chrome-saturation-wrap {\n border-radius: 3px;\n}\n[data-v-ced724c4] .vc-chrome-saturation-circle {\n width: 20px;\n height: 20px;\n}\n.slide-enter[data-v-ced724c4] {\n transform: translate(-50%);\n opacity: 0;\n}\n.slide-enter-to[data-v-ced724c4],\n.slide-leave[data-v-ced724c4] {\n transform: translate(0);\n opacity: 1;\n}\n.slide-leave-to[data-v-ced724c4] {\n transform: translate(-50%);\n opacity: 0;\n}\n.slide-enter-active[data-v-ced724c4],\n.slide-leave-active[data-v-ced724c4] {\n transition: all 50ms ease-in-out;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcColorPicker-PzIRM1j1.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,gBAAgB;EAChB,uBAAuB;EACvB,sBAAsB;EACtB,8BAA8B;EAC9B,kCAAkC;EAClC,YAAY;EACZ,YAAY;EACZ,kBAAkB;AACpB;AACA;EACE,YAAY;AACd;AACA;EACE,aAAa;EACb,6CAA6C;EAC7C,oBAAoB;AACtB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,UAAU;EACV,WAAW;EACX,oCAAoC;EACpC,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,+BAA+B;EAC/B,qBAAqB;AACvB;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,8CAA8C;AAChD;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;EACZ,mBAAmB;AACrB;AACA;EACE,iBAAiB;EACjB,8CAA8C;AAChD;AACA;EACE,gBAAgB;AAClB;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kBAAkB;AACpB;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,0BAA0B;EAC1B,UAAU;AACZ;AACA;;EAEE,uBAAuB;EACvB,UAAU;AACZ;AACA;EACE,0BAA0B;EAC1B,UAAU;AACZ;AACA;;EAEE,gCAAgC;AAClC",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ced724c4] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.color-picker[data-v-ced724c4] {\n display: flex;\n overflow: hidden;\n align-content: flex-end;\n flex-direction: column;\n justify-content: space-between;\n box-sizing: content-box !important;\n width: 176px;\n padding: 8px;\n border-radius: 3px;\n}\n.color-picker--advanced-fields[data-v-ced724c4] {\n width: 264px;\n}\n.color-picker__simple[data-v-ced724c4] {\n display: grid;\n grid-template-columns: repeat(auto-fit, 44px);\n grid-auto-rows: 44px;\n}\n.color-picker__simple-color-circle[data-v-ced724c4] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n min-height: 34px;\n margin: auto;\n padding: 0;\n color: #fff;\n border: 1px solid rgba(0, 0, 0, .25);\n border-radius: 50%;\n font-size: 16px;\n}\n.color-picker__simple-color-circle[data-v-ced724c4]:focus-within {\n outline: 2px solid var(--color-main-text);\n}\n.color-picker__simple-color-circle[data-v-ced724c4]:hover {\n opacity: .6;\n}\n.color-picker__simple-color-circle--active[data-v-ced724c4] {\n width: 38px;\n height: 38px;\n min-height: 38px;\n transition: all .1s ease-in-out;\n opacity: 1 !important;\n}\n.color-picker__advanced[data-v-ced724c4] {\n box-shadow: none !important;\n}\n.color-picker__navigation[data-v-ced724c4] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-top: 10px;\n}\n[data-v-ced724c4] .vc-chrome {\n width: unset;\n background-color: var(--color-main-background);\n}\n[data-v-ced724c4] .vc-chrome-color-wrap {\n width: 30px;\n height: 30px;\n}\n[data-v-ced724c4] .vc-chrome-active-color {\n width: 34px;\n height: 34px;\n border-radius: 17px;\n}\n[data-v-ced724c4] .vc-chrome-body {\n padding: 14px 0 0;\n background-color: var(--color-main-background);\n}\n[data-v-ced724c4] .vc-chrome-body .vc-input__input {\n box-shadow: none;\n}\n[data-v-ced724c4] .vc-chrome-toggle-btn {\n filter: var(--background-invert-if-dark);\n}\n[data-v-ced724c4] .vc-chrome-saturation-wrap {\n border-radius: 3px;\n}\n[data-v-ced724c4] .vc-chrome-saturation-circle {\n width: 20px;\n height: 20px;\n}\n.slide-enter[data-v-ced724c4] {\n transform: translate(-50%);\n opacity: 0;\n}\n.slide-enter-to[data-v-ced724c4],\n.slide-leave[data-v-ced724c4] {\n transform: translate(0);\n opacity: 1;\n}\n.slide-leave-to[data-v-ced724c4] {\n transform: translate(-50%);\n opacity: 0;\n}\n.slide-enter-active[data-v-ced724c4],\n.slide-leave-active[data-v-ced724c4] {\n transition: all 50ms ease-in-out;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},1421:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#skip-actions.vue-skip-actions:focus-within {\n top: 0 !important;\n left: 0 !important;\n width: 100vw;\n height: 100vh;\n padding: var(--body-container-margin) !important;\n -webkit-backdrop-filter: brightness(50%);\n backdrop-filter: brightness(50%);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-cfc84a6c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.vue-skip-actions__container[data-v-cfc84a6c] {\n background-color: var(--color-main-background);\n border-radius: var(--border-radius-large);\n padding: 22px;\n}\n.vue-skip-actions__headline[data-v-cfc84a6c] {\n font-weight: 700;\n font-size: 20px;\n line-height: 30px;\n margin-bottom: 12px;\n}\n.vue-skip-actions__buttons[data-v-cfc84a6c] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n.vue-skip-actions__buttons > *[data-v-cfc84a6c] {\n flex: 1 0 fit-content;\n}\n.vue-skip-actions__image[data-v-cfc84a6c] {\n margin-top: 12px;\n}\n.content[data-v-cfc84a6c] {\n box-sizing: border-box;\n margin: var(--body-container-margin);\n margin-top: 50px;\n display: flex;\n width: calc(100% - var(--body-container-margin) * 2);\n border-radius: var(--body-container-radius);\n height: var(--body-height);\n overflow: hidden;\n padding: 0;\n}\n.content[data-v-cfc84a6c]:not(.with-sidebar--full) {\n position: fixed;\n}\n.content[data-v-cfc84a6c] * {\n box-sizing: border-box;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcContent-LWR23l9i.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,gDAAgD;EAChD,wCAAwC;EACxC,gCAAgC;AAClC;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,aAAa;AACf;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,iBAAiB;EACjB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,eAAe;EACf,SAAS;AACX;AACA;EACE,qBAAqB;AACvB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,sBAAsB;EACtB,oCAAoC;EACpC,gBAAgB;EAChB,aAAa;EACb,oDAAoD;EACpD,2CAA2C;EAC3C,0BAA0B;EAC1B,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,eAAe;AACjB;AACA;EACE,sBAAsB;AACxB",sourcesContent:['@charset "UTF-8";\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#skip-actions.vue-skip-actions:focus-within {\n top: 0 !important;\n left: 0 !important;\n width: 100vw;\n height: 100vh;\n padding: var(--body-container-margin) !important;\n -webkit-backdrop-filter: brightness(50%);\n backdrop-filter: brightness(50%);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-cfc84a6c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.vue-skip-actions__container[data-v-cfc84a6c] {\n background-color: var(--color-main-background);\n border-radius: var(--border-radius-large);\n padding: 22px;\n}\n.vue-skip-actions__headline[data-v-cfc84a6c] {\n font-weight: 700;\n font-size: 20px;\n line-height: 30px;\n margin-bottom: 12px;\n}\n.vue-skip-actions__buttons[data-v-cfc84a6c] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n.vue-skip-actions__buttons > *[data-v-cfc84a6c] {\n flex: 1 0 fit-content;\n}\n.vue-skip-actions__image[data-v-cfc84a6c] {\n margin-top: 12px;\n}\n.content[data-v-cfc84a6c] {\n box-sizing: border-box;\n margin: var(--body-container-margin);\n margin-top: 50px;\n display: flex;\n width: calc(100% - var(--body-container-margin) * 2);\n border-radius: var(--body-container-radius);\n height: var(--body-height);\n overflow: hidden;\n padding: 0;\n}\n.content[data-v-cfc84a6c]:not(.with-sidebar--full) {\n position: fixed;\n}\n.content[data-v-cfc84a6c] * {\n box-sizing: border-box;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},17140:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b318b0e4] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.counter-bubble__counter[data-v-b318b0e4] {\n font-size: calc(var(--default-font-size) * .8);\n overflow: hidden;\n width: fit-content;\n max-width: 44px;\n text-align: center;\n text-overflow: ellipsis;\n line-height: 1em;\n padding: 4px 6px;\n border-radius: var(--border-radius-pill);\n background-color: var(--color-primary-element-light);\n font-weight: 700;\n color: var(--color-primary-element-light-text);\n}\n.counter-bubble__counter .active[data-v-b318b0e4] {\n color: var(--color-main-background);\n background-color: var(--color-primary-element-light);\n}\n.counter-bubble__counter--highlighted[data-v-b318b0e4] {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.counter-bubble__counter--highlighted.active[data-v-b318b0e4] {\n color: var(--color-primary-element);\n background-color: var(--color-main-background);\n}\n.counter-bubble__counter--outlined[data-v-b318b0e4] {\n color: var(--color-primary-element);\n background: transparent;\n box-shadow: inset 0 0 0 2px;\n}\n.counter-bubble__counter--outlined.active[data-v-b318b0e4] {\n color: var(--color-main-background);\n box-shadow: inset 0 0 0 2px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcCounterBubble-rgkmqN46.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,gBAAgB;EAChB,kBAAkB;EAClB,eAAe;EACf,kBAAkB;EAClB,uBAAuB;EACvB,gBAAgB;EAChB,gBAAgB;EAChB,wCAAwC;EACxC,oDAAoD;EACpD,gBAAgB;EAChB,8CAA8C;AAChD;AACA;EACE,mCAAmC;EACnC,oDAAoD;AACtD;AACA;EACE,wCAAwC;EACxC,8CAA8C;AAChD;AACA;EACE,mCAAmC;EACnC,8CAA8C;AAChD;AACA;EACE,mCAAmC;EACnC,uBAAuB;EACvB,2BAA2B;AAC7B;AACA;EACE,mCAAmC;EACnC,2BAA2B;AAC7B",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b318b0e4] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.counter-bubble__counter[data-v-b318b0e4] {\n font-size: calc(var(--default-font-size) * .8);\n overflow: hidden;\n width: fit-content;\n max-width: 44px;\n text-align: center;\n text-overflow: ellipsis;\n line-height: 1em;\n padding: 4px 6px;\n border-radius: var(--border-radius-pill);\n background-color: var(--color-primary-element-light);\n font-weight: 700;\n color: var(--color-primary-element-light-text);\n}\n.counter-bubble__counter .active[data-v-b318b0e4] {\n color: var(--color-main-background);\n background-color: var(--color-primary-element-light);\n}\n.counter-bubble__counter--highlighted[data-v-b318b0e4] {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.counter-bubble__counter--highlighted.active[data-v-b318b0e4] {\n color: var(--color-primary-element);\n background-color: var(--color-main-background);\n}\n.counter-bubble__counter--outlined[data-v-b318b0e4] {\n color: var(--color-primary-element);\n background: transparent;\n box-shadow: inset 0 0 0 2px;\n}\n.counter-bubble__counter--outlined.active[data-v-b318b0e4] {\n color: var(--color-main-background);\n box-shadow: inset 0 0 0 2px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},37760:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-1efcbeee] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.dashboard-widget[data-v-1efcbeee] .empty-content {\n text-align: center;\n padding-top: 5vh;\n}\n.dashboard-widget[data-v-1efcbeee] .empty-content.half-screen {\n padding-top: 0;\n margin-bottom: 1vh;\n}\n.more[data-v-1efcbeee] {\n display: block;\n text-align: center;\n color: var(--color-text-maxcontrast);\n line-height: 60px;\n cursor: pointer;\n}\n.more[data-v-1efcbeee]:hover,\n.more[data-v-1efcbeee]:focus {\n background-color: var(--color-background-hover);\n border-radius: var(--border-radius-large);\n color: var(--color-main-text);\n}\n.item-list__entry[data-v-1efcbeee] {\n display: flex;\n align-items: flex-start;\n padding: 8px;\n}\n.item-list__entry .item-avatar[data-v-1efcbeee] {\n position: relative;\n margin-top: auto;\n margin-bottom: auto;\n background-color: var(--color-background-dark) !important;\n}\n.item-list__entry .item__details[data-v-1efcbeee] {\n padding-left: 8px;\n max-height: 44px;\n flex-grow: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.item-list__entry .item__details h3[data-v-1efcbeee],\n.item-list__entry .item__details .message[data-v-1efcbeee] {\n white-space: nowrap;\n background-color: var(--color-background-dark);\n}\n.item-list__entry .item__details h3[data-v-1efcbeee] {\n font-size: 100%;\n margin: 0;\n}\n.item-list__entry .item__details .message[data-v-1efcbeee] {\n width: 80%;\n height: 15px;\n margin-top: 5px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcDashboardWidget-01deRW9Z.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,cAAc;EACd,kBAAkB;AACpB;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,oCAAoC;EACpC,iBAAiB;EACjB,eAAe;AACjB;AACA;;EAEE,+CAA+C;EAC/C,yCAAyC;EACzC,6BAA6B;AAC/B;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;EACnB,yDAAyD;AAC3D;AACA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB,aAAa;EACb,sBAAsB;AACxB;AACA;;EAEE,mBAAmB;EACnB,8CAA8C;AAChD;AACA;EACE,eAAe;EACf,SAAS;AACX;AACA;EACE,UAAU;EACV,YAAY;EACZ,eAAe;AACjB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-1efcbeee] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.dashboard-widget[data-v-1efcbeee] .empty-content {\n text-align: center;\n padding-top: 5vh;\n}\n.dashboard-widget[data-v-1efcbeee] .empty-content.half-screen {\n padding-top: 0;\n margin-bottom: 1vh;\n}\n.more[data-v-1efcbeee] {\n display: block;\n text-align: center;\n color: var(--color-text-maxcontrast);\n line-height: 60px;\n cursor: pointer;\n}\n.more[data-v-1efcbeee]:hover,\n.more[data-v-1efcbeee]:focus {\n background-color: var(--color-background-hover);\n border-radius: var(--border-radius-large);\n color: var(--color-main-text);\n}\n.item-list__entry[data-v-1efcbeee] {\n display: flex;\n align-items: flex-start;\n padding: 8px;\n}\n.item-list__entry .item-avatar[data-v-1efcbeee] {\n position: relative;\n margin-top: auto;\n margin-bottom: auto;\n background-color: var(--color-background-dark) !important;\n}\n.item-list__entry .item__details[data-v-1efcbeee] {\n padding-left: 8px;\n max-height: 44px;\n flex-grow: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.item-list__entry .item__details h3[data-v-1efcbeee],\n.item-list__entry .item__details .message[data-v-1efcbeee] {\n white-space: nowrap;\n background-color: var(--color-background-dark);\n}\n.item-list__entry .item__details h3[data-v-1efcbeee] {\n font-size: 100%;\n margin: 0;\n}\n.item-list__entry .item__details .message[data-v-1efcbeee] {\n width: 80%;\n height: 15px;\n margin-top: 5px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},45859:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-a688e724] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.item-list__entry[data-v-a688e724] {\n display: flex;\n align-items: flex-start;\n position: relative;\n padding: 8px;\n}\n.item-list__entry[data-v-a688e724]:hover,\n.item-list__entry[data-v-a688e724]:focus {\n background-color: var(--color-background-hover);\n border-radius: var(--border-radius-large);\n}\n.item-list__entry .item-avatar[data-v-a688e724] {\n position: relative;\n margin-top: auto;\n margin-bottom: auto;\n}\n.item-list__entry .item__details[data-v-a688e724] {\n padding-left: 8px;\n max-height: 44px;\n flex-grow: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-height: 44px;\n}\n.item-list__entry .item__details h3[data-v-a688e724],\n.item-list__entry .item__details .message[data-v-a688e724] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.item-list__entry .item__details .message span[data-v-a688e724] {\n width: 10px;\n display: inline-block;\n margin-bottom: -3px;\n}\n.item-list__entry .item__details h3[data-v-a688e724] {\n font-size: 100%;\n margin: 0;\n}\n.item-list__entry .item__details .message[data-v-a688e724] {\n width: 100%;\n color: var(--color-text-maxcontrast);\n}\n.item-list__entry .item-icon[data-v-a688e724] {\n position: relative;\n width: 14px;\n height: 14px;\n margin: 27px -3px 0 -7px;\n}\n.item-list__entry button.primary[data-v-a688e724] {\n padding: 21px;\n margin: 0;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcDashboardWidgetItem-OL--xR_P.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,kBAAkB;EAClB,YAAY;AACd;AACA;;EAEE,+CAA+C;EAC/C,yCAAyC;AAC3C;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;AAClB;AACA;;EAEE,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,qBAAqB;EACrB,mBAAmB;AACrB;AACA;EACE,eAAe;EACf,SAAS;AACX;AACA;EACE,WAAW;EACX,oCAAoC;AACtC;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,wBAAwB;AAC1B;AACA;EACE,aAAa;EACb,SAAS;AACX",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-a688e724] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.item-list__entry[data-v-a688e724] {\n display: flex;\n align-items: flex-start;\n position: relative;\n padding: 8px;\n}\n.item-list__entry[data-v-a688e724]:hover,\n.item-list__entry[data-v-a688e724]:focus {\n background-color: var(--color-background-hover);\n border-radius: var(--border-radius-large);\n}\n.item-list__entry .item-avatar[data-v-a688e724] {\n position: relative;\n margin-top: auto;\n margin-bottom: auto;\n}\n.item-list__entry .item__details[data-v-a688e724] {\n padding-left: 8px;\n max-height: 44px;\n flex-grow: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-height: 44px;\n}\n.item-list__entry .item__details h3[data-v-a688e724],\n.item-list__entry .item__details .message[data-v-a688e724] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.item-list__entry .item__details .message span[data-v-a688e724] {\n width: 10px;\n display: inline-block;\n margin-bottom: -3px;\n}\n.item-list__entry .item__details h3[data-v-a688e724] {\n font-size: 100%;\n margin: 0;\n}\n.item-list__entry .item__details .message[data-v-a688e724] {\n width: 100%;\n color: var(--color-text-maxcontrast);\n}\n.item-list__entry .item-icon[data-v-a688e724] {\n position: relative;\n width: 14px;\n height: 14px;\n margin: 27px -3px 0 -7px;\n}\n.item-list__entry button.primary[data-v-a688e724] {\n padding: 21px;\n margin: 0;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},10613:(e,t,n)=>{"use strict";n.d(t,{A:()=>v});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i),s=n(4417),l=n.n(s),u=new URL(n(51338),n.b),d=new URL(n(26734),n.b),c=new URL(n(31926),n.b),h=new URL(n(57818),n.b),f=o()(a()),m=l()(u),p=l()(d),g=l()(c),_=l()(h);f.push([e.id,`@charset "UTF-8";\n.mx-icon-left:before,\n.mx-icon-right:before,\n.mx-icon-double-left:before,\n.mx-icon-double-right:before,\n.mx-icon-double-left:after,\n.mx-icon-double-right:after {\n content: "";\n position: relative;\n top: -1px;\n display: inline-block;\n width: 10px;\n height: 10px;\n vertical-align: middle;\n border-style: solid;\n border-color: currentColor;\n border-width: 2px 0 0 2px;\n border-radius: 1px;\n box-sizing: border-box;\n transform-origin: center;\n transform: rotate(-45deg) scale(.7);\n}\n.mx-icon-double-left:after {\n left: -4px;\n}\n.mx-icon-double-right:before {\n left: 4px;\n}\n.mx-icon-right:before,\n.mx-icon-double-right:before,\n.mx-icon-double-right:after {\n transform: rotate(135deg) scale(.7);\n}\n.mx-btn {\n box-sizing: border-box;\n line-height: 1;\n font-size: 14px;\n font-weight: 500;\n padding: 7px 15px;\n margin: 0;\n cursor: pointer;\n background-color: transparent;\n outline: none;\n border: 1px solid rgba(0, 0, 0, .1);\n border-radius: 4px;\n color: #73879c;\n white-space: nowrap;\n}\n.mx-btn:hover {\n border-color: #1284e7;\n color: #1284e7;\n}\n.mx-btn:disabled,\n.mx-btn.disabled {\n color: #ccc;\n cursor: not-allowed;\n}\n.mx-btn-text {\n border: 0;\n padding: 0 4px;\n text-align: left;\n line-height: inherit;\n}\n.mx-scrollbar {\n height: 100%;\n}\n.mx-scrollbar:hover .mx-scrollbar-track {\n opacity: 1;\n}\n.mx-scrollbar-wrap {\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.mx-scrollbar-track {\n position: absolute;\n top: 2px;\n right: 2px;\n bottom: 2px;\n width: 6px;\n z-index: 1;\n border-radius: 4px;\n opacity: 0;\n transition: opacity .24s ease-out;\n}\n.mx-scrollbar-track .mx-scrollbar-thumb {\n position: absolute;\n width: 100%;\n height: 0;\n cursor: pointer;\n border-radius: inherit;\n background-color: #9093994d;\n transition: background-color .3s;\n}\n.mx-zoom-in-down-enter-active,\n.mx-zoom-in-down-leave-active {\n opacity: 1;\n transform: scaleY(1);\n transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1);\n transform-origin: center top;\n}\n.mx-zoom-in-down-enter,\n.mx-zoom-in-down-enter-from,\n.mx-zoom-in-down-leave-to {\n opacity: 0;\n transform: scaleY(0);\n}\n.mx-datepicker {\n position: relative;\n display: inline-block;\n width: 210px;\n}\n.mx-datepicker svg {\n width: 1em;\n height: 1em;\n vertical-align: -.15em;\n fill: currentColor;\n overflow: hidden;\n}\n.mx-datepicker-range {\n width: 320px;\n}\n.mx-datepicker-inline {\n width: auto;\n}\n.mx-input-wrapper {\n position: relative;\n}\n.mx-input {\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n height: 34px;\n padding: 6px 30px 6px 10px;\n font-size: 14px;\n line-height: 1.4;\n color: #555;\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n box-shadow: inset 0 1px 1px #00000013;\n}\n.mx-input:hover,\n.mx-input:focus {\n border-color: #409aff;\n}\n.mx-input:disabled,\n.mx-input.disabled {\n color: #ccc;\n background-color: #f3f3f3;\n border-color: #ccc;\n cursor: not-allowed;\n}\n.mx-input:focus {\n outline: none;\n}\n.mx-input::-ms-clear {\n display: none;\n}\n.mx-icon-calendar,\n.mx-icon-clear {\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n font-size: 16px;\n line-height: 1;\n color: #00000080;\n vertical-align: middle;\n}\n.mx-icon-clear {\n cursor: pointer;\n}\n.mx-icon-clear:hover {\n color: #000c;\n}\n.mx-datepicker-main {\n font:\n 14px/1.5 Helvetica Neue,\n Helvetica,\n Arial,\n Microsoft Yahei,\n sans-serif;\n color: #73879c;\n background-color: #fff;\n border: 1px solid #e8e8e8;\n}\n.mx-datepicker-popup {\n position: absolute;\n margin-top: 1px;\n margin-bottom: 1px;\n box-shadow: 0 6px 12px #0000002d;\n z-index: 2001;\n}\n.mx-datepicker-sidebar {\n float: left;\n box-sizing: border-box;\n width: 100px;\n padding: 6px;\n overflow: auto;\n}\n.mx-datepicker-sidebar + .mx-datepicker-content {\n margin-left: 100px;\n border-left: 1px solid #e8e8e8;\n}\n.mx-datepicker-body {\n position: relative;\n -webkit-user-select: none;\n user-select: none;\n}\n.mx-btn-shortcut {\n display: block;\n padding: 0 6px;\n line-height: 24px;\n}\n.mx-range-wrapper {\n display: flex;\n}\n@media (max-width: 750px) {\n .mx-range-wrapper {\n flex-direction: column;\n }\n}\n.mx-datepicker-header {\n padding: 6px 8px;\n border-bottom: 1px solid #e8e8e8;\n}\n.mx-datepicker-footer {\n padding: 6px 8px;\n text-align: right;\n border-top: 1px solid #e8e8e8;\n}\n.mx-calendar {\n box-sizing: border-box;\n width: 248px;\n padding: 6px 12px;\n}\n.mx-calendar + .mx-calendar {\n border-left: 1px solid #e8e8e8;\n}\n.mx-calendar-header,\n.mx-time-header {\n box-sizing: border-box;\n height: 34px;\n line-height: 34px;\n text-align: center;\n overflow: hidden;\n}\n.mx-btn-icon-left,\n.mx-btn-icon-double-left {\n float: left;\n}\n.mx-btn-icon-right,\n.mx-btn-icon-double-right {\n float: right;\n}\n.mx-calendar-header-label {\n font-size: 14px;\n}\n.mx-calendar-decade-separator {\n margin: 0 2px;\n}\n.mx-calendar-decade-separator:after {\n content: "~";\n}\n.mx-calendar-content {\n position: relative;\n height: 224px;\n box-sizing: border-box;\n}\n.mx-calendar-content .cell {\n cursor: pointer;\n}\n.mx-calendar-content .cell:hover {\n color: #73879c;\n background-color: #f3f9fe;\n}\n.mx-calendar-content .cell.active {\n color: #fff;\n background-color: #1284e7;\n}\n.mx-calendar-content .cell.in-range,\n.mx-calendar-content .cell.hover-in-range {\n color: #73879c;\n background-color: #dbedfb;\n}\n.mx-calendar-content .cell.disabled {\n cursor: not-allowed;\n color: #ccc;\n background-color: #f3f3f3;\n}\n.mx-calendar-week-mode .mx-date-row {\n cursor: pointer;\n}\n.mx-calendar-week-mode .mx-date-row:hover {\n background-color: #f3f9fe;\n}\n.mx-calendar-week-mode .mx-date-row.mx-active-week {\n background-color: #dbedfb;\n}\n.mx-calendar-week-mode .mx-date-row .cell:hover,\n.mx-calendar-week-mode .mx-date-row .cell.active {\n color: inherit;\n background-color: transparent;\n}\n.mx-week-number {\n opacity: .5;\n}\n.mx-table {\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n text-align: center;\n}\n.mx-table th {\n padding: 0;\n font-weight: 500;\n vertical-align: middle;\n}\n.mx-table td {\n padding: 0;\n vertical-align: middle;\n}\n.mx-table-date td,\n.mx-table-date th {\n height: 32px;\n font-size: 12px;\n}\n.mx-table-date .today {\n color: #2a90e9;\n}\n.mx-table-date .cell.not-current-month {\n color: #ccc;\n background: none;\n}\n.mx-time {\n flex: 1;\n width: 224px;\n background: #fff;\n}\n.mx-time + .mx-time {\n border-left: 1px solid #e8e8e8;\n}\n.mx-calendar-time {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.mx-time-header {\n border-bottom: 1px solid #e8e8e8;\n}\n.mx-time-content {\n height: 224px;\n box-sizing: border-box;\n overflow: hidden;\n}\n.mx-time-columns {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n.mx-time-column {\n flex: 1;\n position: relative;\n border-left: 1px solid #e8e8e8;\n text-align: center;\n}\n.mx-time-column:first-child {\n border-left: 0;\n}\n.mx-time-column .mx-time-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.mx-time-column .mx-time-list:after {\n content: "";\n display: block;\n height: 192px;\n}\n.mx-time-column .mx-time-item {\n cursor: pointer;\n font-size: 12px;\n height: 32px;\n line-height: 32px;\n}\n.mx-time-column .mx-time-item:hover {\n color: #73879c;\n background-color: #f3f9fe;\n}\n.mx-time-column .mx-time-item.active {\n color: #1284e7;\n background-color: transparent;\n font-weight: 700;\n}\n.mx-time-column .mx-time-item.disabled {\n cursor: not-allowed;\n color: #ccc;\n background-color: #f3f3f3;\n}\n.mx-time-option {\n cursor: pointer;\n padding: 8px 10px;\n font-size: 14px;\n line-height: 20px;\n}\n.mx-time-option:hover {\n color: #73879c;\n background-color: #f3f9fe;\n}\n.mx-time-option.active {\n color: #1284e7;\n background-color: transparent;\n font-weight: 700;\n}\n.mx-time-option.disabled {\n cursor: not-allowed;\n color: #ccc;\n background-color: #f3f3f3;\n}\n.mx-datepicker[data-v-98ecc7d] {\n -webkit-user-select: none;\n user-select: none;\n color: var(--color-main-text);\n}\n.mx-datepicker[data-v-98ecc7d] svg {\n fill: var(--color-main-text);\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input {\n width: 100%;\n border: 2px solid var(--color-border-maxcontrast);\n background-color: var(--color-main-background);\n background-clip: content-box;\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input:active:not(.disabled),\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input:hover:not(.disabled),\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input:focus:not(.disabled) {\n border-color: var(--color-primary-element);\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper:disabled,\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper.disabled {\n cursor: not-allowed;\n opacity: .7;\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-icon-calendar,\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-icon-clear {\n color: var(--color-text-lighter);\n}\n.mx-datepicker-main {\n color: var(--color-main-text);\n border: 1px solid var(--color-border);\n background-color: var(--color-main-background);\n font-family: var(--font-face) !important;\n line-height: 1.5;\n}\n.mx-datepicker-main svg {\n fill: var(--color-main-text);\n}\n.mx-datepicker-main.mx-datepicker-popup {\n z-index: 2000;\n box-shadow: none;\n}\n.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar + .mx-datepicker-content {\n border-left: 1px solid var(--color-border);\n}\n.mx-datepicker-main.show-week-number .mx-calendar {\n width: 296px;\n}\n.mx-datepicker-main .mx-datepicker-header {\n border-bottom: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-datepicker-footer {\n border-top: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-datepicker-btn-confirm {\n background-color: var(--color-primary-element);\n border-color: var(--color-primary-element);\n color: var(--color-primary-element-text) !important;\n opacity: 1 !important;\n}\n.mx-datepicker-main .mx-datepicker-btn-confirm:hover {\n background-color: var(--color-primary-element-light) !important;\n border-color: var(--color-primary-element-light) !important;\n}\n.mx-datepicker-main .mx-calendar {\n width: 264px;\n padding: 5px;\n}\n.mx-datepicker-main .mx-calendar.mx-calendar-week-mode {\n width: 296px;\n}\n.mx-datepicker-main .mx-time + .mx-time,\n.mx-datepicker-main .mx-calendar + .mx-calendar {\n border-left: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-range-wrapper {\n display: flex;\n overflow: hidden;\n}\n.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active {\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n}\n.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range + .cell.active {\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\n}\n.mx-datepicker-main .mx-table {\n text-align: center;\n}\n.mx-datepicker-main .mx-table thead > tr > th {\n text-align: center;\n opacity: .5;\n color: var(--color-text-lighter);\n}\n.mx-datepicker-main .mx-table tr:focus,\n.mx-datepicker-main .mx-table tr:hover,\n.mx-datepicker-main .mx-table tr:active {\n background-color: transparent;\n}\n.mx-datepicker-main .mx-table .cell {\n transition: all .1s ease-in-out;\n text-align: center;\n opacity: .7;\n border-radius: 50px;\n}\n.mx-datepicker-main .mx-table .cell > * {\n cursor: pointer;\n}\n.mx-datepicker-main .mx-table .cell.today {\n opacity: 1;\n color: var(--color-primary-element);\n font-weight: 700;\n}\n.mx-datepicker-main .mx-table .cell.today:hover,\n.mx-datepicker-main .mx-table .cell.today:focus {\n color: var(--color-primary-element-text);\n}\n.mx-datepicker-main .mx-table .cell.in-range,\n.mx-datepicker-main .mx-table .cell.disabled {\n border-radius: 0;\n font-weight: 400;\n}\n.mx-datepicker-main .mx-table .cell.in-range {\n opacity: .7;\n}\n.mx-datepicker-main .mx-table .cell.not-current-month {\n opacity: .5;\n color: var(--color-text-lighter);\n}\n.mx-datepicker-main .mx-table .cell.not-current-month:hover,\n.mx-datepicker-main .mx-table .cell.not-current-month:focus {\n opacity: 1;\n}\n.mx-datepicker-main .mx-table .cell:hover,\n.mx-datepicker-main .mx-table .cell:focus,\n.mx-datepicker-main .mx-table .cell.actived,\n.mx-datepicker-main .mx-table .cell.active,\n.mx-datepicker-main .mx-table .cell.in-range {\n opacity: 1;\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n font-weight: 700;\n}\n.mx-datepicker-main .mx-table .cell.disabled {\n opacity: .5;\n color: var(--color-text-lighter);\n border-radius: 0;\n background-color: var(--color-background-darker);\n}\n.mx-datepicker-main .mx-table .mx-week-number {\n text-align: center;\n opacity: .7;\n border-radius: 50px;\n}\n.mx-datepicker-main .mx-table span.mx-week-number,\n.mx-datepicker-main .mx-table li.mx-week-number,\n.mx-datepicker-main .mx-table span.cell,\n.mx-datepicker-main .mx-table li.cell {\n min-height: 32px;\n}\n.mx-datepicker-main .mx-table.mx-table-date thead,\n.mx-datepicker-main .mx-table.mx-table-date tbody,\n.mx-datepicker-main .mx-table.mx-table-year,\n.mx-datepicker-main .mx-table.mx-table-month {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n}\n.mx-datepicker-main .mx-table.mx-table-date thead tr,\n.mx-datepicker-main .mx-table.mx-table-date tbody tr,\n.mx-datepicker-main .mx-table.mx-table-year tr,\n.mx-datepicker-main .mx-table.mx-table-month tr {\n display: inline-flex;\n align-items: center;\n flex: 1 1 32px;\n justify-content: space-around;\n min-height: 32px;\n}\n.mx-datepicker-main .mx-table.mx-table-date thead th,\n.mx-datepicker-main .mx-table.mx-table-date thead td,\n.mx-datepicker-main .mx-table.mx-table-date tbody th,\n.mx-datepicker-main .mx-table.mx-table-date tbody td,\n.mx-datepicker-main .mx-table.mx-table-year th,\n.mx-datepicker-main .mx-table.mx-table-year td,\n.mx-datepicker-main .mx-table.mx-table-month th,\n.mx-datepicker-main .mx-table.mx-table-month td {\n display: flex;\n align-items: center;\n flex: 0 1 32%;\n justify-content: center;\n min-width: 32px;\n height: 95%;\n min-height: 32px;\n transition: background .1s ease-in-out;\n}\n.mx-datepicker-main .mx-table.mx-table-year tr th,\n.mx-datepicker-main .mx-table.mx-table-year tr td {\n flex-basis: 48%;\n}\n.mx-datepicker-main .mx-table.mx-table-date tr th,\n.mx-datepicker-main .mx-table.mx-table-date tr td {\n flex-basis: 32px;\n}\n.mx-datepicker-main .mx-btn {\n min-width: 32px;\n height: 32px;\n margin: 0 2px !important;\n padding: 7px 10px;\n cursor: pointer;\n text-decoration: none;\n opacity: .5;\n color: var(--color-text-lighter);\n border-radius: 32px;\n line-height: 20px;\n}\n.mx-datepicker-main .mx-btn:hover,\n.mx-datepicker-main .mx-btn:focus {\n opacity: 1;\n color: var(--color-main-text);\n background-color: var(--color-background-darker);\n}\n.mx-datepicker-main .mx-calendar-header,\n.mx-datepicker-main .mx-time-header {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 44px;\n margin-bottom: 4px;\n}\n.mx-datepicker-main .mx-calendar-header button,\n.mx-datepicker-main .mx-time-header button {\n min-width: 32px;\n min-height: 32px;\n margin: 0;\n cursor: pointer;\n text-align: center;\n text-decoration: none;\n opacity: .7;\n color: var(--color-main-text);\n border-radius: 32px;\n line-height: 20px;\n}\n.mx-datepicker-main .mx-calendar-header button:hover,\n.mx-datepicker-main .mx-time-header button:hover,\n.mx-datepicker-main .mx-calendar-header button:focus,\n.mx-datepicker-main .mx-time-header button:focus {\n opacity: 1;\n color: var(--color-main-text);\n background-color: var(--color-background-darker);\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right {\n align-items: center;\n justify-content: center;\n width: 32px;\n padding: 0;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i {\n background-repeat: no-repeat;\n background-size: 16px;\n background-position: center;\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 32px;\n height: 32px;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i:before,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i:before,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i:before,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i:before {\n content: none;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-text,\n.mx-datepicker-main .mx-time-header button.mx-btn-text {\n line-height: initial;\n}\n.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,\n.mx-datepicker-main .mx-time-header .mx-calendar-header-label {\n display: flex;\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left > i {\n background-image: url(${m});\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-left > i {\n background-image: url(${p});\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-right > i {\n background-image: url(${g});\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right > i {\n background-image: url(${_});\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right {\n order: 2;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right {\n order: 3;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number {\n font-weight: 700;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week {\n opacity: 1;\n border-radius: 50px;\n background-color: var(--color-background-dark);\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td {\n background-color: transparent;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus {\n color: inherit;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td {\n opacity: .7;\n font-weight: 400;\n}\n.mx-datepicker-main .mx-time {\n background-color: var(--color-main-background);\n}\n.mx-datepicker-main .mx-time .mx-time-header {\n justify-content: center;\n border-bottom: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-time .mx-time-column {\n border-left: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-time .mx-time-option.active,\n.mx-datepicker-main .mx-time .mx-time-option:hover,\n.mx-datepicker-main .mx-time .mx-time-item.active,\n.mx-datepicker-main .mx-time .mx-time-item:hover {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.mx-datepicker-main .mx-time .mx-time-option.disabled,\n.mx-datepicker-main .mx-time .mx-time-item.disabled {\n cursor: not-allowed;\n opacity: .5;\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n}\n.material-design-icon[data-v-56b96a48] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.mx-datepicker[data-v-56b96a48] .mx-input-wrapper .mx-input {\n background-clip: border-box;\n}\n.datetime-picker-inline-icon[data-v-56b96a48] {\n opacity: .3;\n border: none;\n background-color: transparent;\n border-radius: 0;\n padding: 0 !important;\n margin: 0;\n}\n.datetime-picker-inline-icon--highlighted[data-v-56b96a48] {\n opacity: .7;\n}\n.datetime-picker-inline-icon[data-v-56b96a48]:focus,\n.datetime-picker-inline-icon[data-v-56b96a48]:hover {\n opacity: 1;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper {\n border-radius: var(--border-radius-large);\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner {\n padding: 4px;\n border-radius: var(--border-radius-large);\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__label {\n padding: 4px 0 4px 14px;\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select .vs__dropdown-toggle {\n border-radius: calc(var(--border-radius-large) - 4px);\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open .vs__dropdown-toggle {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open.select--drop-up .vs__dropdown-toggle {\n border-radius: 0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px);\n}\n.vs__dropdown-menu--floating {\n z-index: 100001 !important;\n}\n`,"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcDateTimePicker-TArRbMs-.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;EAME,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,qBAAqB;EACrB,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,mBAAmB;EACnB,0BAA0B;EAC1B,yBAAyB;EACzB,kBAAkB;EAClB,sBAAsB;EACtB,wBAAwB;EACxB,mCAAmC;AACrC;AACA;EACE,UAAU;AACZ;AACA;EACE,SAAS;AACX;AACA;;;EAGE,mCAAmC;AACrC;AACA;EACE,sBAAsB;EACtB,cAAc;EACd,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,SAAS;EACT,eAAe;EACf,6BAA6B;EAC7B,aAAa;EACb,mCAAmC;EACnC,kBAAkB;EAClB,cAAc;EACd,mBAAmB;AACrB;AACA;EACE,qBAAqB;EACrB,cAAc;AAChB;AACA;;EAEE,WAAW;EACX,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,cAAc;EACd,gBAAgB;EAChB,oBAAoB;AACtB;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,WAAW;EACX,UAAU;EACV,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,iCAAiC;AACnC;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,eAAe;EACf,sBAAsB;EACtB,2BAA2B;EAC3B,gCAAgC;AAClC;AACA;;EAEE,UAAU;EACV,oBAAoB;EACpB,gGAAgG;EAChG,4BAA4B;AAC9B;AACA;;;EAGE,UAAU;EACV,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,YAAY;AACd;AACA;EACE,UAAU;EACV,WAAW;EACX,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,kBAAkB;AACpB;AACA;EACE,qBAAqB;EACrB,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,0BAA0B;EAC1B,eAAe;EACf,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,sBAAsB;EACtB,kBAAkB;EAClB,qCAAqC;AACvC;AACA;;EAEE,qBAAqB;AACvB;AACA;;EAEE,WAAW;EACX,yBAAyB;EACzB,kBAAkB;EAClB,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;AACf;AACA;;EAEE,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,2BAA2B;EAC3B,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,sBAAsB;AACxB;AACA;EACE,eAAe;AACjB;AACA;EACE,YAAY;AACd;AACA;EACE;;;;;cAKY;EACZ,cAAc;EACd,sBAAsB;EACtB,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,kBAAkB;EAClB,gCAAgC;EAChC,aAAa;AACf;AACA;EACE,WAAW;EACX,sBAAsB;EACtB,YAAY;EACZ,YAAY;EACZ,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,8BAA8B;AAChC;AACA;EACE,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,cAAc;EACd,iBAAiB;AACnB;AACA;EACE,aAAa;AACf;AACA;EACE;IACE,sBAAsB;EACxB;AACF;AACA;EACE,gBAAgB;EAChB,gCAAgC;AAClC;AACA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,6BAA6B;AAC/B;AACA;EACE,sBAAsB;EACtB,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,8BAA8B;AAChC;AACA;;EAEE,sBAAsB;EACtB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;;EAEE,WAAW;AACb;AACA;;EAEE,YAAY;AACd;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,WAAW;EACX,yBAAyB;AAC3B;AACA;;EAEE,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,mBAAmB;EACnB,WAAW;EACX,yBAAyB;AAC3B;AACA;EACE,eAAe;AACjB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;;EAEE,cAAc;EACd,6BAA6B;AAC/B;AACA;EACE,WAAW;AACb;AACA;EACE,mBAAmB;EACnB,yBAAyB;EACzB,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,kBAAkB;AACpB;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,sBAAsB;AACxB;AACA;EACE,UAAU;EACV,sBAAsB;AACxB;AACA;;EAEE,YAAY;EACZ,eAAe;AACjB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,OAAO;EACP,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,8BAA8B;AAChC;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;AACd;AACA;EACE,gCAAgC;AAClC;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,OAAO;EACP,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;AACpB;AACA;EACE,cAAc;AAChB;AACA;EACE,SAAS;EACT,UAAU;EACV,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,cAAc;EACd,aAAa;AACf;AACA;EACE,eAAe;EACf,eAAe;EACf,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,6BAA6B;EAC7B,gBAAgB;AAClB;AACA;EACE,mBAAmB;EACnB,WAAW;EACX,yBAAyB;AAC3B;AACA;EACE,eAAe;EACf,iBAAiB;EACjB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,6BAA6B;EAC7B,gBAAgB;AAClB;AACA;EACE,mBAAmB;EACnB,WAAW;EACX,yBAAyB;AAC3B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",sourcesContent:["@charset \"UTF-8\";\n.mx-icon-left:before,\n.mx-icon-right:before,\n.mx-icon-double-left:before,\n.mx-icon-double-right:before,\n.mx-icon-double-left:after,\n.mx-icon-double-right:after {\n content: \"\";\n position: relative;\n top: -1px;\n display: inline-block;\n width: 10px;\n height: 10px;\n vertical-align: middle;\n border-style: solid;\n border-color: currentColor;\n border-width: 2px 0 0 2px;\n border-radius: 1px;\n box-sizing: border-box;\n transform-origin: center;\n transform: rotate(-45deg) scale(.7);\n}\n.mx-icon-double-left:after {\n left: -4px;\n}\n.mx-icon-double-right:before {\n left: 4px;\n}\n.mx-icon-right:before,\n.mx-icon-double-right:before,\n.mx-icon-double-right:after {\n transform: rotate(135deg) scale(.7);\n}\n.mx-btn {\n box-sizing: border-box;\n line-height: 1;\n font-size: 14px;\n font-weight: 500;\n padding: 7px 15px;\n margin: 0;\n cursor: pointer;\n background-color: transparent;\n outline: none;\n border: 1px solid rgba(0, 0, 0, .1);\n border-radius: 4px;\n color: #73879c;\n white-space: nowrap;\n}\n.mx-btn:hover {\n border-color: #1284e7;\n color: #1284e7;\n}\n.mx-btn:disabled,\n.mx-btn.disabled {\n color: #ccc;\n cursor: not-allowed;\n}\n.mx-btn-text {\n border: 0;\n padding: 0 4px;\n text-align: left;\n line-height: inherit;\n}\n.mx-scrollbar {\n height: 100%;\n}\n.mx-scrollbar:hover .mx-scrollbar-track {\n opacity: 1;\n}\n.mx-scrollbar-wrap {\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.mx-scrollbar-track {\n position: absolute;\n top: 2px;\n right: 2px;\n bottom: 2px;\n width: 6px;\n z-index: 1;\n border-radius: 4px;\n opacity: 0;\n transition: opacity .24s ease-out;\n}\n.mx-scrollbar-track .mx-scrollbar-thumb {\n position: absolute;\n width: 100%;\n height: 0;\n cursor: pointer;\n border-radius: inherit;\n background-color: #9093994d;\n transition: background-color .3s;\n}\n.mx-zoom-in-down-enter-active,\n.mx-zoom-in-down-leave-active {\n opacity: 1;\n transform: scaleY(1);\n transition: transform .3s cubic-bezier(.23, 1, .32, 1), opacity .3s cubic-bezier(.23, 1, .32, 1);\n transform-origin: center top;\n}\n.mx-zoom-in-down-enter,\n.mx-zoom-in-down-enter-from,\n.mx-zoom-in-down-leave-to {\n opacity: 0;\n transform: scaleY(0);\n}\n.mx-datepicker {\n position: relative;\n display: inline-block;\n width: 210px;\n}\n.mx-datepicker svg {\n width: 1em;\n height: 1em;\n vertical-align: -.15em;\n fill: currentColor;\n overflow: hidden;\n}\n.mx-datepicker-range {\n width: 320px;\n}\n.mx-datepicker-inline {\n width: auto;\n}\n.mx-input-wrapper {\n position: relative;\n}\n.mx-input {\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n height: 34px;\n padding: 6px 30px 6px 10px;\n font-size: 14px;\n line-height: 1.4;\n color: #555;\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n box-shadow: inset 0 1px 1px #00000013;\n}\n.mx-input:hover,\n.mx-input:focus {\n border-color: #409aff;\n}\n.mx-input:disabled,\n.mx-input.disabled {\n color: #ccc;\n background-color: #f3f3f3;\n border-color: #ccc;\n cursor: not-allowed;\n}\n.mx-input:focus {\n outline: none;\n}\n.mx-input::-ms-clear {\n display: none;\n}\n.mx-icon-calendar,\n.mx-icon-clear {\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n font-size: 16px;\n line-height: 1;\n color: #00000080;\n vertical-align: middle;\n}\n.mx-icon-clear {\n cursor: pointer;\n}\n.mx-icon-clear:hover {\n color: #000c;\n}\n.mx-datepicker-main {\n font:\n 14px/1.5 Helvetica Neue,\n Helvetica,\n Arial,\n Microsoft Yahei,\n sans-serif;\n color: #73879c;\n background-color: #fff;\n border: 1px solid #e8e8e8;\n}\n.mx-datepicker-popup {\n position: absolute;\n margin-top: 1px;\n margin-bottom: 1px;\n box-shadow: 0 6px 12px #0000002d;\n z-index: 2001;\n}\n.mx-datepicker-sidebar {\n float: left;\n box-sizing: border-box;\n width: 100px;\n padding: 6px;\n overflow: auto;\n}\n.mx-datepicker-sidebar + .mx-datepicker-content {\n margin-left: 100px;\n border-left: 1px solid #e8e8e8;\n}\n.mx-datepicker-body {\n position: relative;\n -webkit-user-select: none;\n user-select: none;\n}\n.mx-btn-shortcut {\n display: block;\n padding: 0 6px;\n line-height: 24px;\n}\n.mx-range-wrapper {\n display: flex;\n}\n@media (max-width: 750px) {\n .mx-range-wrapper {\n flex-direction: column;\n }\n}\n.mx-datepicker-header {\n padding: 6px 8px;\n border-bottom: 1px solid #e8e8e8;\n}\n.mx-datepicker-footer {\n padding: 6px 8px;\n text-align: right;\n border-top: 1px solid #e8e8e8;\n}\n.mx-calendar {\n box-sizing: border-box;\n width: 248px;\n padding: 6px 12px;\n}\n.mx-calendar + .mx-calendar {\n border-left: 1px solid #e8e8e8;\n}\n.mx-calendar-header,\n.mx-time-header {\n box-sizing: border-box;\n height: 34px;\n line-height: 34px;\n text-align: center;\n overflow: hidden;\n}\n.mx-btn-icon-left,\n.mx-btn-icon-double-left {\n float: left;\n}\n.mx-btn-icon-right,\n.mx-btn-icon-double-right {\n float: right;\n}\n.mx-calendar-header-label {\n font-size: 14px;\n}\n.mx-calendar-decade-separator {\n margin: 0 2px;\n}\n.mx-calendar-decade-separator:after {\n content: \"~\";\n}\n.mx-calendar-content {\n position: relative;\n height: 224px;\n box-sizing: border-box;\n}\n.mx-calendar-content .cell {\n cursor: pointer;\n}\n.mx-calendar-content .cell:hover {\n color: #73879c;\n background-color: #f3f9fe;\n}\n.mx-calendar-content .cell.active {\n color: #fff;\n background-color: #1284e7;\n}\n.mx-calendar-content .cell.in-range,\n.mx-calendar-content .cell.hover-in-range {\n color: #73879c;\n background-color: #dbedfb;\n}\n.mx-calendar-content .cell.disabled {\n cursor: not-allowed;\n color: #ccc;\n background-color: #f3f3f3;\n}\n.mx-calendar-week-mode .mx-date-row {\n cursor: pointer;\n}\n.mx-calendar-week-mode .mx-date-row:hover {\n background-color: #f3f9fe;\n}\n.mx-calendar-week-mode .mx-date-row.mx-active-week {\n background-color: #dbedfb;\n}\n.mx-calendar-week-mode .mx-date-row .cell:hover,\n.mx-calendar-week-mode .mx-date-row .cell.active {\n color: inherit;\n background-color: transparent;\n}\n.mx-week-number {\n opacity: .5;\n}\n.mx-table {\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n text-align: center;\n}\n.mx-table th {\n padding: 0;\n font-weight: 500;\n vertical-align: middle;\n}\n.mx-table td {\n padding: 0;\n vertical-align: middle;\n}\n.mx-table-date td,\n.mx-table-date th {\n height: 32px;\n font-size: 12px;\n}\n.mx-table-date .today {\n color: #2a90e9;\n}\n.mx-table-date .cell.not-current-month {\n color: #ccc;\n background: none;\n}\n.mx-time {\n flex: 1;\n width: 224px;\n background: #fff;\n}\n.mx-time + .mx-time {\n border-left: 1px solid #e8e8e8;\n}\n.mx-calendar-time {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.mx-time-header {\n border-bottom: 1px solid #e8e8e8;\n}\n.mx-time-content {\n height: 224px;\n box-sizing: border-box;\n overflow: hidden;\n}\n.mx-time-columns {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n.mx-time-column {\n flex: 1;\n position: relative;\n border-left: 1px solid #e8e8e8;\n text-align: center;\n}\n.mx-time-column:first-child {\n border-left: 0;\n}\n.mx-time-column .mx-time-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.mx-time-column .mx-time-list:after {\n content: \"\";\n display: block;\n height: 192px;\n}\n.mx-time-column .mx-time-item {\n cursor: pointer;\n font-size: 12px;\n height: 32px;\n line-height: 32px;\n}\n.mx-time-column .mx-time-item:hover {\n color: #73879c;\n background-color: #f3f9fe;\n}\n.mx-time-column .mx-time-item.active {\n color: #1284e7;\n background-color: transparent;\n font-weight: 700;\n}\n.mx-time-column .mx-time-item.disabled {\n cursor: not-allowed;\n color: #ccc;\n background-color: #f3f3f3;\n}\n.mx-time-option {\n cursor: pointer;\n padding: 8px 10px;\n font-size: 14px;\n line-height: 20px;\n}\n.mx-time-option:hover {\n color: #73879c;\n background-color: #f3f9fe;\n}\n.mx-time-option.active {\n color: #1284e7;\n background-color: transparent;\n font-weight: 700;\n}\n.mx-time-option.disabled {\n cursor: not-allowed;\n color: #ccc;\n background-color: #f3f3f3;\n}\n.mx-datepicker[data-v-98ecc7d] {\n -webkit-user-select: none;\n user-select: none;\n color: var(--color-main-text);\n}\n.mx-datepicker[data-v-98ecc7d] svg {\n fill: var(--color-main-text);\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input {\n width: 100%;\n border: 2px solid var(--color-border-maxcontrast);\n background-color: var(--color-main-background);\n background-clip: content-box;\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input:active:not(.disabled),\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input:hover:not(.disabled),\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-input:focus:not(.disabled) {\n border-color: var(--color-primary-element);\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper:disabled,\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper.disabled {\n cursor: not-allowed;\n opacity: .7;\n}\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-icon-calendar,\n.mx-datepicker[data-v-98ecc7d] .mx-input-wrapper .mx-icon-clear {\n color: var(--color-text-lighter);\n}\n.mx-datepicker-main {\n color: var(--color-main-text);\n border: 1px solid var(--color-border);\n background-color: var(--color-main-background);\n font-family: var(--font-face) !important;\n line-height: 1.5;\n}\n.mx-datepicker-main svg {\n fill: var(--color-main-text);\n}\n.mx-datepicker-main.mx-datepicker-popup {\n z-index: 2000;\n box-shadow: none;\n}\n.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar + .mx-datepicker-content {\n border-left: 1px solid var(--color-border);\n}\n.mx-datepicker-main.show-week-number .mx-calendar {\n width: 296px;\n}\n.mx-datepicker-main .mx-datepicker-header {\n border-bottom: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-datepicker-footer {\n border-top: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-datepicker-btn-confirm {\n background-color: var(--color-primary-element);\n border-color: var(--color-primary-element);\n color: var(--color-primary-element-text) !important;\n opacity: 1 !important;\n}\n.mx-datepicker-main .mx-datepicker-btn-confirm:hover {\n background-color: var(--color-primary-element-light) !important;\n border-color: var(--color-primary-element-light) !important;\n}\n.mx-datepicker-main .mx-calendar {\n width: 264px;\n padding: 5px;\n}\n.mx-datepicker-main .mx-calendar.mx-calendar-week-mode {\n width: 296px;\n}\n.mx-datepicker-main .mx-time + .mx-time,\n.mx-datepicker-main .mx-calendar + .mx-calendar {\n border-left: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-range-wrapper {\n display: flex;\n overflow: hidden;\n}\n.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active {\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n}\n.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range + .cell.active {\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\n}\n.mx-datepicker-main .mx-table {\n text-align: center;\n}\n.mx-datepicker-main .mx-table thead > tr > th {\n text-align: center;\n opacity: .5;\n color: var(--color-text-lighter);\n}\n.mx-datepicker-main .mx-table tr:focus,\n.mx-datepicker-main .mx-table tr:hover,\n.mx-datepicker-main .mx-table tr:active {\n background-color: transparent;\n}\n.mx-datepicker-main .mx-table .cell {\n transition: all .1s ease-in-out;\n text-align: center;\n opacity: .7;\n border-radius: 50px;\n}\n.mx-datepicker-main .mx-table .cell > * {\n cursor: pointer;\n}\n.mx-datepicker-main .mx-table .cell.today {\n opacity: 1;\n color: var(--color-primary-element);\n font-weight: 700;\n}\n.mx-datepicker-main .mx-table .cell.today:hover,\n.mx-datepicker-main .mx-table .cell.today:focus {\n color: var(--color-primary-element-text);\n}\n.mx-datepicker-main .mx-table .cell.in-range,\n.mx-datepicker-main .mx-table .cell.disabled {\n border-radius: 0;\n font-weight: 400;\n}\n.mx-datepicker-main .mx-table .cell.in-range {\n opacity: .7;\n}\n.mx-datepicker-main .mx-table .cell.not-current-month {\n opacity: .5;\n color: var(--color-text-lighter);\n}\n.mx-datepicker-main .mx-table .cell.not-current-month:hover,\n.mx-datepicker-main .mx-table .cell.not-current-month:focus {\n opacity: 1;\n}\n.mx-datepicker-main .mx-table .cell:hover,\n.mx-datepicker-main .mx-table .cell:focus,\n.mx-datepicker-main .mx-table .cell.actived,\n.mx-datepicker-main .mx-table .cell.active,\n.mx-datepicker-main .mx-table .cell.in-range {\n opacity: 1;\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n font-weight: 700;\n}\n.mx-datepicker-main .mx-table .cell.disabled {\n opacity: .5;\n color: var(--color-text-lighter);\n border-radius: 0;\n background-color: var(--color-background-darker);\n}\n.mx-datepicker-main .mx-table .mx-week-number {\n text-align: center;\n opacity: .7;\n border-radius: 50px;\n}\n.mx-datepicker-main .mx-table span.mx-week-number,\n.mx-datepicker-main .mx-table li.mx-week-number,\n.mx-datepicker-main .mx-table span.cell,\n.mx-datepicker-main .mx-table li.cell {\n min-height: 32px;\n}\n.mx-datepicker-main .mx-table.mx-table-date thead,\n.mx-datepicker-main .mx-table.mx-table-date tbody,\n.mx-datepicker-main .mx-table.mx-table-year,\n.mx-datepicker-main .mx-table.mx-table-month {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n}\n.mx-datepicker-main .mx-table.mx-table-date thead tr,\n.mx-datepicker-main .mx-table.mx-table-date tbody tr,\n.mx-datepicker-main .mx-table.mx-table-year tr,\n.mx-datepicker-main .mx-table.mx-table-month tr {\n display: inline-flex;\n align-items: center;\n flex: 1 1 32px;\n justify-content: space-around;\n min-height: 32px;\n}\n.mx-datepicker-main .mx-table.mx-table-date thead th,\n.mx-datepicker-main .mx-table.mx-table-date thead td,\n.mx-datepicker-main .mx-table.mx-table-date tbody th,\n.mx-datepicker-main .mx-table.mx-table-date tbody td,\n.mx-datepicker-main .mx-table.mx-table-year th,\n.mx-datepicker-main .mx-table.mx-table-year td,\n.mx-datepicker-main .mx-table.mx-table-month th,\n.mx-datepicker-main .mx-table.mx-table-month td {\n display: flex;\n align-items: center;\n flex: 0 1 32%;\n justify-content: center;\n min-width: 32px;\n height: 95%;\n min-height: 32px;\n transition: background .1s ease-in-out;\n}\n.mx-datepicker-main .mx-table.mx-table-year tr th,\n.mx-datepicker-main .mx-table.mx-table-year tr td {\n flex-basis: 48%;\n}\n.mx-datepicker-main .mx-table.mx-table-date tr th,\n.mx-datepicker-main .mx-table.mx-table-date tr td {\n flex-basis: 32px;\n}\n.mx-datepicker-main .mx-btn {\n min-width: 32px;\n height: 32px;\n margin: 0 2px !important;\n padding: 7px 10px;\n cursor: pointer;\n text-decoration: none;\n opacity: .5;\n color: var(--color-text-lighter);\n border-radius: 32px;\n line-height: 20px;\n}\n.mx-datepicker-main .mx-btn:hover,\n.mx-datepicker-main .mx-btn:focus {\n opacity: 1;\n color: var(--color-main-text);\n background-color: var(--color-background-darker);\n}\n.mx-datepicker-main .mx-calendar-header,\n.mx-datepicker-main .mx-time-header {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 44px;\n margin-bottom: 4px;\n}\n.mx-datepicker-main .mx-calendar-header button,\n.mx-datepicker-main .mx-time-header button {\n min-width: 32px;\n min-height: 32px;\n margin: 0;\n cursor: pointer;\n text-align: center;\n text-decoration: none;\n opacity: .7;\n color: var(--color-main-text);\n border-radius: 32px;\n line-height: 20px;\n}\n.mx-datepicker-main .mx-calendar-header button:hover,\n.mx-datepicker-main .mx-time-header button:hover,\n.mx-datepicker-main .mx-calendar-header button:focus,\n.mx-datepicker-main .mx-time-header button:focus {\n opacity: 1;\n color: var(--color-main-text);\n background-color: var(--color-background-darker);\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right {\n align-items: center;\n justify-content: center;\n width: 32px;\n padding: 0;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i {\n background-repeat: no-repeat;\n background-size: 16px;\n background-position: center;\n filter: var(--background-invert-if-dark);\n display: inline-block;\n width: 32px;\n height: 32px;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i:before,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i:before,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i:before,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i:after,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i:after,\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i:before,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i:before {\n content: none;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-text,\n.mx-datepicker-main .mx-time-header button.mx-btn-text {\n line-height: initial;\n}\n.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,\n.mx-datepicker-main .mx-time-header .mx-calendar-header-label {\n display: flex;\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left > i {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z'/%3e%3c/svg%3e\");\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-left > i {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z'/%3e%3c/svg%3e\");\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-right > i {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z'/%3e%3c/svg%3e\");\n}\n.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right > i,\n.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right > i {\n background-image: url(\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z'/%3e%3c/svg%3e\");\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-right {\n order: 2;\n}\n.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,\n.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right {\n order: 3;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number {\n font-weight: 700;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week {\n opacity: 1;\n border-radius: 50px;\n background-color: var(--color-background-dark);\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td {\n background-color: transparent;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus {\n color: inherit;\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td {\n opacity: .7;\n font-weight: 400;\n}\n.mx-datepicker-main .mx-time {\n background-color: var(--color-main-background);\n}\n.mx-datepicker-main .mx-time .mx-time-header {\n justify-content: center;\n border-bottom: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-time .mx-time-column {\n border-left: 1px solid var(--color-border);\n}\n.mx-datepicker-main .mx-time .mx-time-option.active,\n.mx-datepicker-main .mx-time .mx-time-option:hover,\n.mx-datepicker-main .mx-time .mx-time-item.active,\n.mx-datepicker-main .mx-time .mx-time-item:hover {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.mx-datepicker-main .mx-time .mx-time-option.disabled,\n.mx-datepicker-main .mx-time .mx-time-item.disabled {\n cursor: not-allowed;\n opacity: .5;\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n}\n.material-design-icon[data-v-56b96a48] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.mx-datepicker[data-v-56b96a48] .mx-input-wrapper .mx-input {\n background-clip: border-box;\n}\n.datetime-picker-inline-icon[data-v-56b96a48] {\n opacity: .3;\n border: none;\n background-color: transparent;\n border-radius: 0;\n padding: 0 !important;\n margin: 0;\n}\n.datetime-picker-inline-icon--highlighted[data-v-56b96a48] {\n opacity: .7;\n}\n.datetime-picker-inline-icon[data-v-56b96a48]:focus,\n.datetime-picker-inline-icon[data-v-56b96a48]:hover {\n opacity: 1;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper {\n border-radius: var(--border-radius-large);\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner {\n padding: 4px;\n border-radius: var(--border-radius-large);\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__label {\n padding: 4px 0 4px 14px;\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select .vs__dropdown-toggle {\n border-radius: calc(var(--border-radius-large) - 4px);\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open .vs__dropdown-toggle {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open.select--drop-up .vs__dropdown-toggle {\n border-radius: 0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px);\n}\n.vs__dropdown-menu--floating {\n z-index: 100001 !important;\n}\n"],sourceRoot:""}]);const v=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:f},89911:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7b246f90] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.native-datetime-picker[data-v-7b246f90] {\n display: flex;\n flex-direction: column;\n}\n.native-datetime-picker .native-datetime-picker--input[data-v-7b246f90] {\n width: 100%;\n flex: 0 0 auto;\n padding-right: 4px;\n}\n[data-theme-light] .native-datetime-picker--input[data-v-7b246f90],\n[data-themes*=light] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: light;\n}\n[data-theme-dark] .native-datetime-picker--input[data-v-7b246f90],\n[data-themes*=dark] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: dark;\n}\n@media (prefers-color-scheme: light) {\n [data-theme-default] .native-datetime-picker--input[data-v-7b246f90],\n [data-themes*=default] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: light;\n }\n}\n@media (prefers-color-scheme: dark) {\n [data-theme-default] .native-datetime-picker--input[data-v-7b246f90],\n [data-themes*=default] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: dark;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcDateTimePickerNative-5yybtvfx.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,cAAc;EACd,kBAAkB;AACpB;AACA;;EAEE,mBAAmB;AACrB;AACA;;EAEE,kBAAkB;AACpB;AACA;EACE;;IAEE,mBAAmB;EACrB;AACF;AACA;EACE;;IAEE,kBAAkB;EACpB;AACF",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7b246f90] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.native-datetime-picker[data-v-7b246f90] {\n display: flex;\n flex-direction: column;\n}\n.native-datetime-picker .native-datetime-picker--input[data-v-7b246f90] {\n width: 100%;\n flex: 0 0 auto;\n padding-right: 4px;\n}\n[data-theme-light] .native-datetime-picker--input[data-v-7b246f90],\n[data-themes*=light] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: light;\n}\n[data-theme-dark] .native-datetime-picker--input[data-v-7b246f90],\n[data-themes*=dark] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: dark;\n}\n@media (prefers-color-scheme: light) {\n [data-theme-default] .native-datetime-picker--input[data-v-7b246f90],\n [data-themes*=default] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: light;\n }\n}\n@media (prefers-color-scheme: dark) {\n [data-theme-default] .native-datetime-picker--input[data-v-7b246f90],\n [data-themes*=default] .native-datetime-picker--input[data-v-7b246f90] {\n color-scheme: dark;\n }\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},91207:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n@media only screen and (max-width: 512px) {\n .dialog__modal .modal-wrapper--small .modal-container {\n width: fit-content;\n height: unset;\n max-height: 90%;\n position: relative;\n top: unset;\n border-radius: var(--border-radius-large);\n }\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-40a87f52] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.dialog[data-v-40a87f52] {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n overflow: hidden;\n}\n.dialog__modal[data-v-40a87f52] .modal-wrapper .modal-container {\n display: flex !important;\n padding-block: 4px 0;\n padding-inline: 12px 0;\n}\n.dialog__modal[data-v-40a87f52] .modal-wrapper .modal-container__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.dialog__wrapper[data-v-40a87f52] {\n display: flex;\n flex-direction: row;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n.dialog__wrapper--collapsed[data-v-40a87f52] {\n flex-direction: column;\n}\n.dialog__navigation[data-v-40a87f52] {\n display: flex;\n flex-shrink: 0;\n}\n.dialog__wrapper:not(.dialog__wrapper--collapsed) .dialog__navigation[data-v-40a87f52] {\n flex-direction: column;\n overflow: hidden auto;\n height: 100%;\n min-width: 200px;\n margin-inline-end: 20px;\n}\n.dialog__wrapper.dialog__wrapper--collapsed .dialog__navigation[data-v-40a87f52] {\n flex-direction: row;\n justify-content: space-between;\n overflow: auto hidden;\n width: 100%;\n min-width: 100%;\n}\n.dialog__name[data-v-40a87f52] {\n text-align: center;\n height: fit-content;\n min-height: var(--default-clickable-area);\n line-height: var(--default-clickable-area);\n overflow-wrap: break-word;\n margin-block-end: 12px;\n}\n.dialog__content[data-v-40a87f52] {\n flex: 1;\n min-height: 0;\n overflow: auto;\n padding-inline-end: 12px;\n}\n.dialog__text[data-v-40a87f52] {\n padding-block-end: 6px;\n}\n.dialog__actions[data-v-40a87f52] {\n display: flex;\n gap: 6px;\n align-content: center;\n width: fit-content;\n margin-inline: auto 12px;\n margin-block: 0;\n}\n.dialog__actions[data-v-40a87f52]:not(:empty) {\n margin-block: 6px 12px;\n}\n@media only screen and (max-width: 512px) {\n .dialog__name[data-v-40a87f52] {\n text-align: start;\n margin-inline-end: var(--default-clickable-area);\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcDialog-DN-rY-55.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE;IACE,kBAAkB;IAClB,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,UAAU;IACV,yCAAyC;EAC3C;AACF;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,YAAY;EACZ,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,gBAAgB;AAClB;AACA;EACE,wBAAwB;EACxB,oBAAoB;EACpB,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,OAAO;EACP,aAAa;EACb,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;AAChB;AACA;EACE,sBAAsB;EACtB,qBAAqB;EACrB,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,mBAAmB;EACnB,8BAA8B;EAC9B,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,yCAAyC;EACzC,0CAA0C;EAC1C,yBAAyB;EACzB,sBAAsB;AACxB;AACA;EACE,OAAO;EACP,aAAa;EACb,cAAc;EACd,wBAAwB;AAC1B;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,QAAQ;EACR,qBAAqB;EACrB,kBAAkB;EAClB,wBAAwB;EACxB,eAAe;AACjB;AACA;EACE,sBAAsB;AACxB;AACA;EACE;IACE,iBAAiB;IACjB,gDAAgD;EAClD;AACF",sourcesContent:['@charset "UTF-8";\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n@media only screen and (max-width: 512px) {\n .dialog__modal .modal-wrapper--small .modal-container {\n width: fit-content;\n height: unset;\n max-height: 90%;\n position: relative;\n top: unset;\n border-radius: var(--border-radius-large);\n }\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-40a87f52] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.dialog[data-v-40a87f52] {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n overflow: hidden;\n}\n.dialog__modal[data-v-40a87f52] .modal-wrapper .modal-container {\n display: flex !important;\n padding-block: 4px 0;\n padding-inline: 12px 0;\n}\n.dialog__modal[data-v-40a87f52] .modal-wrapper .modal-container__content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.dialog__wrapper[data-v-40a87f52] {\n display: flex;\n flex-direction: row;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n.dialog__wrapper--collapsed[data-v-40a87f52] {\n flex-direction: column;\n}\n.dialog__navigation[data-v-40a87f52] {\n display: flex;\n flex-shrink: 0;\n}\n.dialog__wrapper:not(.dialog__wrapper--collapsed) .dialog__navigation[data-v-40a87f52] {\n flex-direction: column;\n overflow: hidden auto;\n height: 100%;\n min-width: 200px;\n margin-inline-end: 20px;\n}\n.dialog__wrapper.dialog__wrapper--collapsed .dialog__navigation[data-v-40a87f52] {\n flex-direction: row;\n justify-content: space-between;\n overflow: auto hidden;\n width: 100%;\n min-width: 100%;\n}\n.dialog__name[data-v-40a87f52] {\n text-align: center;\n height: fit-content;\n min-height: var(--default-clickable-area);\n line-height: var(--default-clickable-area);\n overflow-wrap: break-word;\n margin-block-end: 12px;\n}\n.dialog__content[data-v-40a87f52] {\n flex: 1;\n min-height: 0;\n overflow: auto;\n padding-inline-end: 12px;\n}\n.dialog__text[data-v-40a87f52] {\n padding-block-end: 6px;\n}\n.dialog__actions[data-v-40a87f52] {\n display: flex;\n gap: 6px;\n align-content: center;\n width: fit-content;\n margin-inline: auto 12px;\n margin-block: 0;\n}\n.dialog__actions[data-v-40a87f52]:not(:empty) {\n margin-block: 6px 12px;\n}\n@media only screen and (max-width: 512px) {\n .dialog__name[data-v-40a87f52] {\n text-align: start;\n margin-inline-end: var(--default-clickable-area);\n }\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},32343:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-08c4259e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.name-parts[data-v-08c4259e] {\n display: flex;\n max-width: 100%;\n cursor: inherit;\n}\n.name-parts__first[data-v-08c4259e] {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.name-parts__first[data-v-08c4259e],\n.name-parts__last[data-v-08c4259e] {\n white-space: pre;\n cursor: inherit;\n}\n.name-parts__first strong[data-v-08c4259e],\n.name-parts__last strong[data-v-08c4259e] {\n font-weight: 700;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcEllipsisedOption-eoI10kvc.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,eAAe;EACf,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,uBAAuB;AACzB;AACA;;EAEE,gBAAgB;EAChB,eAAe;AACjB;AACA;;EAEE,gBAAgB;AAClB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-08c4259e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.name-parts[data-v-08c4259e] {\n display: flex;\n max-width: 100%;\n cursor: inherit;\n}\n.name-parts__first[data-v-08c4259e] {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.name-parts__first[data-v-08c4259e],\n.name-parts__last[data-v-08c4259e] {\n white-space: pre;\n cursor: inherit;\n}\n.name-parts__first strong[data-v-08c4259e],\n.name-parts__last strong[data-v-08c4259e] {\n font-weight: 700;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},56196:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.emoji-mart,\n.emoji-mart * {\n box-sizing: border-box;\n line-height: 1.15;\n}\n.emoji-mart {\n font-family:\n -apple-system,\n BlinkMacSystemFont,\n Helvetica Neue,\n sans-serif;\n font-size: 16px;\n display: flex;\n flex-direction: column;\n height: 420px;\n color: #222427;\n border: 1px solid #d9d9d9;\n border-radius: 5px;\n background: #fff;\n}\n.emoji-mart-emoji {\n padding: 6px;\n position: relative;\n display: inline-block;\n font-size: 0;\n border: none;\n background: none;\n box-shadow: none;\n}\n.emoji-mart-emoji span {\n display: inline-block;\n}\n.emoji-mart-preview-emoji .emoji-mart-emoji span {\n width: 38px;\n height: 38px;\n font-size: 32px;\n}\n.emoji-type-native {\n font-family:\n "Segoe UI Emoji",\n Segoe UI Symbol,\n Segoe UI,\n "Apple Color Emoji",\n Twemoji Mozilla,\n "Noto Color Emoji",\n EmojiOne Color,\n "Android Emoji";\n word-break: keep-all;\n}\n.emoji-type-image {\n background-size: 6100%;\n}\n.emoji-type-image.emoji-set-apple {\n background-image: url(https://unpkg.com/emoji-datasource-apple@15.0.1/img/apple/sheets-256/64.png);\n}\n.emoji-type-image.emoji-set-facebook {\n background-image: url(https://unpkg.com/emoji-datasource-facebook@15.0.1/img/facebook/sheets-256/64.png);\n}\n.emoji-type-image.emoji-set-google {\n background-image: url(https://unpkg.com/emoji-datasource-google@15.0.1/img/google/sheets-256/64.png);\n}\n.emoji-type-image.emoji-set-twitter {\n background-image: url(https://unpkg.com/emoji-datasource-twitter@15.0.1/img/twitter/sheets-256/64.png);\n}\n.emoji-mart-bar {\n border: 0 solid #d9d9d9;\n}\n.emoji-mart-bar:first-child {\n border-bottom-width: 1px;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n}\n.emoji-mart-bar:last-child {\n border-top-width: 1px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n}\n.emoji-mart-scroll {\n position: relative;\n overflow-y: scroll;\n flex: 1;\n padding: 0 6px 6px;\n z-index: 0;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n}\n.emoji-mart-anchors {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0 6px;\n color: #858585;\n line-height: 0;\n}\n.emoji-mart-anchor {\n position: relative;\n display: block;\n flex: 1 1 auto;\n text-align: center;\n padding: 12px 4px;\n overflow: hidden;\n transition: color .1s ease-out;\n border: none;\n background: none;\n box-shadow: none;\n}\n.emoji-mart-anchor:hover,\n.emoji-mart-anchor-selected {\n color: #464646;\n}\n.emoji-mart-anchor-selected .emoji-mart-anchor-bar {\n bottom: 0;\n}\n.emoji-mart-anchor-bar {\n position: absolute;\n bottom: -3px;\n left: 0;\n width: 100%;\n height: 3px;\n background-color: #464646;\n}\n.emoji-mart-anchors i {\n display: inline-block;\n width: 100%;\n max-width: 22px;\n}\n.emoji-mart-anchors svg {\n fill: currentColor;\n max-height: 18px;\n}\n.emoji-mart .scroller {\n height: 250px;\n position: relative;\n flex: 1;\n padding: 0 6px 6px;\n z-index: 0;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n}\n.emoji-mart-search {\n margin-top: 6px;\n padding: 0 6px;\n}\n.emoji-mart-search input {\n font-size: 16px;\n display: block;\n width: 100%;\n padding: .2em .6em;\n border-radius: 25px;\n border: 1px solid #d9d9d9;\n outline: 0;\n}\n.emoji-mart-search-results {\n height: 250px;\n overflow-y: scroll;\n}\n.emoji-mart-category {\n position: relative;\n}\n.emoji-mart-category .emoji-mart-emoji span {\n z-index: 1;\n position: relative;\n text-align: center;\n cursor: default;\n}\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n z-index: 0;\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #f4f4f4;\n border-radius: 100%;\n opacity: 0;\n}\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n opacity: 1;\n}\n.emoji-mart-category-label {\n position: sticky;\n top: 0;\n}\n.emoji-mart-static .emoji-mart-category-label {\n z-index: 2;\n position: relative;\n}\n.emoji-mart-category-label h3 {\n display: block;\n font-size: 16px;\n width: 100%;\n font-weight: 500;\n padding: 5px 6px;\n background-color: #fff;\n background-color: #fffffff2;\n}\n.emoji-mart-emoji {\n position: relative;\n display: inline-block;\n font-size: 0;\n}\n.emoji-mart-no-results {\n font-size: 14px;\n text-align: center;\n padding-top: 70px;\n color: #858585;\n}\n.emoji-mart-no-results .emoji-mart-category-label {\n display: none;\n}\n.emoji-mart-no-results .emoji-mart-no-results-label {\n margin-top: .2em;\n}\n.emoji-mart-no-results .emoji-mart-emoji:hover:before {\n content: none;\n}\n.emoji-mart-preview {\n position: relative;\n height: 70px;\n}\n.emoji-mart-preview-emoji,\n.emoji-mart-preview-data,\n.emoji-mart-preview-skins {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n.emoji-mart-preview-emoji {\n left: 12px;\n}\n.emoji-mart-preview-data {\n left: 68px;\n right: 12px;\n word-break: break-all;\n}\n.emoji-mart-preview-skins {\n right: 30px;\n text-align: right;\n}\n.emoji-mart-preview-name {\n font-size: 14px;\n}\n.emoji-mart-preview-shortname {\n font-size: 12px;\n color: #888;\n}\n.emoji-mart-preview-shortname + .emoji-mart-preview-shortname,\n.emoji-mart-preview-shortname + .emoji-mart-preview-emoticon,\n.emoji-mart-preview-emoticon + .emoji-mart-preview-emoticon {\n margin-left: .5em;\n}\n.emoji-mart-preview-emoticon {\n font-size: 11px;\n color: #bbb;\n}\n.emoji-mart-title span {\n display: inline-block;\n vertical-align: middle;\n}\n.emoji-mart-title .emoji-mart-emoji {\n padding: 0;\n}\n.emoji-mart-title-label {\n color: #999a9c;\n font-size: 21px;\n font-weight: 300;\n}\n.emoji-mart-skin-swatches {\n font-size: 0;\n padding: 2px 0;\n border: 1px solid #d9d9d9;\n border-radius: 12px;\n background-color: #fff;\n}\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch {\n width: 16px;\n padding: 0 2px;\n}\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch-selected:after {\n opacity: .75;\n}\n.emoji-mart-skin-swatch {\n display: inline-block;\n width: 0;\n vertical-align: middle;\n transition-property: width, padding;\n transition-duration: .125s;\n transition-timing-function: ease-out;\n}\n.emoji-mart-skin-swatch:nth-child(1) {\n transition-delay: 0s;\n}\n.emoji-mart-skin-swatch:nth-child(2) {\n transition-delay: .03s;\n}\n.emoji-mart-skin-swatch:nth-child(3) {\n transition-delay: .06s;\n}\n.emoji-mart-skin-swatch:nth-child(4) {\n transition-delay: .09s;\n}\n.emoji-mart-skin-swatch:nth-child(5) {\n transition-delay: .12s;\n}\n.emoji-mart-skin-swatch:nth-child(6) {\n transition-delay: .15s;\n}\n.emoji-mart-skin-swatch-selected {\n position: relative;\n width: 16px;\n padding: 0 2px;\n}\n.emoji-mart-skin-swatch-selected:after {\n content: "";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 4px;\n height: 4px;\n margin: -2px 0 0 -2px;\n background-color: #fff;\n border-radius: 100%;\n pointer-events: none;\n opacity: 0;\n transition: opacity .2s ease-out;\n}\n.emoji-mart-skin {\n display: inline-block;\n width: 100%;\n padding-top: 100%;\n max-width: 12px;\n border-radius: 100%;\n}\n.emoji-mart-skin-tone-1 {\n background-color: #ffc93a;\n}\n.emoji-mart-skin-tone-2 {\n background-color: #fadcbc;\n}\n.emoji-mart-skin-tone-3 {\n background-color: #e0bb95;\n}\n.emoji-mart-skin-tone-4 {\n background-color: #bf8f68;\n}\n.emoji-mart-skin-tone-5 {\n background-color: #9b643d;\n}\n.emoji-mart-skin-tone-6 {\n background-color: #594539;\n}\n.emoji-mart .vue-recycle-scroller {\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.direction-vertical:not(.page-mode) {\n overflow-y: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal:not(.page-mode) {\n overflow-x: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal {\n display: flex;\n}\n.emoji-mart .vue-recycle-scroller__slot {\n flex: auto 0 0;\n}\n.emoji-mart .vue-recycle-scroller__item-wrapper {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.ready .vue-recycle-scroller__item-view {\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n}\n.emoji-mart .vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper {\n width: 100%;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper {\n height: 100%;\n}\n.emoji-mart .vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view {\n width: 100%;\n}\n.emoji-mart .vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view {\n height: 100%;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n border: none;\n background-color: transparent;\n pointer-events: none;\n display: block;\n overflow: hidden;\n opacity: 0;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] object {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.emoji-mart-search .hidden {\n display: none;\n visibility: hidden;\n}\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.emoji-mart {\n background-color: var(--color-main-background) !important;\n border: 0;\n color: var(--color-main-text) !important;\n}\n.emoji-mart button {\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n font-size: inherit;\n height: 36px;\n width: auto;\n}\n.emoji-mart button * {\n cursor: pointer !important;\n}\n.emoji-mart .emoji-mart-bar,\n.emoji-mart .emoji-mart-anchors,\n.emoji-mart .emoji-mart-search,\n.emoji-mart .emoji-mart-search input,\n.emoji-mart .emoji-mart-category,\n.emoji-mart .emoji-mart-category-label,\n.emoji-mart .emoji-mart-category-label span,\n.emoji-mart .emoji-mart-skin-swatches {\n background-color: transparent !important;\n border-color: var(--color-border) !important;\n color: inherit !important;\n}\n.emoji-mart .emoji-mart-search input:focus-visible {\n box-shadow: inset 0 0 0 2px var(--color-primary-element);\n outline: none;\n}\n.emoji-mart .emoji-mart-bar:first-child {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n}\n.emoji-mart .emoji-mart-anchors button {\n border-radius: 0;\n padding: 12px 4px;\n height: auto;\n}\n.emoji-mart .emoji-mart-anchors button:focus-visible {\n outline: 2px solid var(--color-primary-element);\n}\n.emoji-mart .emoji-mart-category {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: start;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-category-label,\n.emoji-mart .emoji-mart-category .emoji-mart-emoji {\n -webkit-user-select: none;\n user-select: none;\n flex-grow: 0;\n flex-shrink: 0;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-category-label {\n flex-basis: 100%;\n margin: 0;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-emoji {\n flex-basis: 12.5%;\n text-align: center;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart .emoji-mart-category .emoji-mart-emoji.emoji-mart-emoji-selected:before {\n background-color: var(--color-background-hover) !important;\n outline: 2px solid var(--color-primary-element);\n}\n.emoji-mart .emoji-mart-category button:focus-visible {\n background-color: var(--color-background-hover);\n border: 2px solid var(--color-primary-element) !important;\n border-radius: 50%;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-2075d0ec] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.search__wrapper[data-v-2075d0ec] {\n display: flex;\n flex-direction: row;\n gap: 4px;\n align-items: end;\n padding: 4px 8px;\n}\n.row-selected button[data-v-2075d0ec],\n.row-selected span[data-v-2075d0ec] {\n vertical-align: middle;\n}\n.emoji-delete[data-v-2075d0ec] {\n vertical-align: top;\n margin-left: -21px;\n margin-top: -3px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcEmojiPicker-wTIbvcrG.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;EAEE,sBAAsB;EACtB,iBAAiB;AACnB;AACA;EACE;;;;cAIY;EACZ,eAAe;EACf,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,cAAc;EACd,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,kBAAkB;EAClB,qBAAqB;EACrB,YAAY;EACZ,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;AACjB;AACA;EACE;;;;;;;;mBAQiB;EACjB,oBAAoB;AACtB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kGAAkG;AACpG;AACA;EACE,wGAAwG;AAC1G;AACA;EACE,oGAAoG;AACtG;AACA;EACE,sGAAsG;AACxG;AACA;EACE,uBAAuB;AACzB;AACA;EACE,wBAAwB;EACxB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,qBAAqB;EACrB,8BAA8B;EAC9B,+BAA+B;AACjC;AACA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,OAAO;EACP,kBAAkB;EAClB,UAAU;EACV,sBAAsB;EACtB,iCAAiC;AACnC;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,cAAc;EACd,cAAc;EACd,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,gBAAgB;EAChB,8BAA8B;EAC9B,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;AAClB;AACA;;EAEE,cAAc;AAChB;AACA;EACE,SAAS;AACX;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,OAAO;EACP,WAAW;EACX,WAAW;EACX,yBAAyB;AAC3B;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,OAAO;EACP,kBAAkB;EAClB,UAAU;EACV,sBAAsB;EACtB,iCAAiC;AACnC;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,eAAe;EACf,cAAc;EACd,WAAW;EACX,kBAAkB;EAClB,mBAAmB;EACnB,yBAAyB;EACzB,UAAU;AACZ;AACA;EACE,aAAa;EACb,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,UAAU;EACV,kBAAkB;EAClB,kBAAkB;EAClB,eAAe;AACjB;AACA;;EAEE,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,yBAAyB;EACzB,mBAAmB;EACnB,UAAU;AACZ;AACA;;EAEE,UAAU;AACZ;AACA;EACE,gBAAgB;EAChB,MAAM;AACR;AACA;EACE,UAAU;EACV,kBAAkB;AACpB;AACA;EACE,cAAc;EACd,eAAe;EACf,WAAW;EACX,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,2BAA2B;AAC7B;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,YAAY;AACd;AACA;EACE,eAAe;EACf,kBAAkB;EAClB,iBAAiB;EACjB,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;;;EAGE,kBAAkB;EAClB,QAAQ;EACR,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,WAAW;EACX,qBAAqB;AACvB;AACA;EACE,WAAW;EACX,iBAAiB;AACnB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,WAAW;AACb;AACA;;;EAGE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,WAAW;AACb;AACA;EACE,qBAAqB;EACrB,sBAAsB;AACxB;AACA;EACE,UAAU;AACZ;AACA;EACE,cAAc;EACd,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,cAAc;EACd,yBAAyB;EACzB,mBAAmB;EACnB,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,cAAc;AAChB;AACA;EACE,YAAY;AACd;AACA;EACE,qBAAqB;EACrB,QAAQ;EACR,sBAAsB;EACtB,mCAAmC;EACnC,0BAA0B;EAC1B,oCAAoC;AACtC;AACA;EACE,oBAAoB;AACtB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,cAAc;AAChB;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX,qBAAqB;EACrB,sBAAsB;EACtB,mBAAmB;EACnB,oBAAoB;EACpB,UAAU;EACV,gCAAgC;AAClC;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,iBAAiB;EACjB,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,OAAO;EACP,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,sBAAsB;AACxB;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,6BAA6B;EAC7B,oBAAoB;EACpB,cAAc;EACd,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,oBAAoB;EACpB,WAAW;AACb;AACA;EACE,aAAa;EACb,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,yDAAyD;EACzD,SAAS;EACT,wCAAwC;AAC1C;AACA;EACE,SAAS;EACT,UAAU;EACV,YAAY;EACZ,uBAAuB;EACvB,kBAAkB;EAClB,YAAY;EACZ,WAAW;AACb;AACA;EACE,0BAA0B;AAC5B;AACA;;;;;;;;EAQE,wCAAwC;EACxC,4CAA4C;EAC5C,yBAAyB;AAC3B;AACA;EACE,wDAAwD;EACxD,aAAa;AACf;AACA;EACE,uDAAuD;EACvD,wDAAwD;AAC1D;AACA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;AACd;AACA;EACE,+CAA+C;AACjD;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,sBAAsB;AACxB;AACA;;EAEE,yBAAyB;EACzB,iBAAiB;EACjB,YAAY;EACZ,cAAc;AAChB;AACA;EACE,gBAAgB;EAChB,SAAS;AACX;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;;EAEE,0DAA0D;EAC1D,+CAA+C;AACjD;AACA;EACE,+CAA+C;EAC/C,yDAAyD;EACzD,kBAAkB;AACpB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,gBAAgB;EAChB,gBAAgB;AAClB;AACA;;EAEE,sBAAsB;AACxB;AACA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,gBAAgB;AAClB",sourcesContent:['@charset "UTF-8";\n.emoji-mart,\n.emoji-mart * {\n box-sizing: border-box;\n line-height: 1.15;\n}\n.emoji-mart {\n font-family:\n -apple-system,\n BlinkMacSystemFont,\n Helvetica Neue,\n sans-serif;\n font-size: 16px;\n display: flex;\n flex-direction: column;\n height: 420px;\n color: #222427;\n border: 1px solid #d9d9d9;\n border-radius: 5px;\n background: #fff;\n}\n.emoji-mart-emoji {\n padding: 6px;\n position: relative;\n display: inline-block;\n font-size: 0;\n border: none;\n background: none;\n box-shadow: none;\n}\n.emoji-mart-emoji span {\n display: inline-block;\n}\n.emoji-mart-preview-emoji .emoji-mart-emoji span {\n width: 38px;\n height: 38px;\n font-size: 32px;\n}\n.emoji-type-native {\n font-family:\n "Segoe UI Emoji",\n Segoe UI Symbol,\n Segoe UI,\n "Apple Color Emoji",\n Twemoji Mozilla,\n "Noto Color Emoji",\n EmojiOne Color,\n "Android Emoji";\n word-break: keep-all;\n}\n.emoji-type-image {\n background-size: 6100%;\n}\n.emoji-type-image.emoji-set-apple {\n background-image: url(https://unpkg.com/emoji-datasource-apple@15.0.1/img/apple/sheets-256/64.png);\n}\n.emoji-type-image.emoji-set-facebook {\n background-image: url(https://unpkg.com/emoji-datasource-facebook@15.0.1/img/facebook/sheets-256/64.png);\n}\n.emoji-type-image.emoji-set-google {\n background-image: url(https://unpkg.com/emoji-datasource-google@15.0.1/img/google/sheets-256/64.png);\n}\n.emoji-type-image.emoji-set-twitter {\n background-image: url(https://unpkg.com/emoji-datasource-twitter@15.0.1/img/twitter/sheets-256/64.png);\n}\n.emoji-mart-bar {\n border: 0 solid #d9d9d9;\n}\n.emoji-mart-bar:first-child {\n border-bottom-width: 1px;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n}\n.emoji-mart-bar:last-child {\n border-top-width: 1px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n}\n.emoji-mart-scroll {\n position: relative;\n overflow-y: scroll;\n flex: 1;\n padding: 0 6px 6px;\n z-index: 0;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n}\n.emoji-mart-anchors {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0 6px;\n color: #858585;\n line-height: 0;\n}\n.emoji-mart-anchor {\n position: relative;\n display: block;\n flex: 1 1 auto;\n text-align: center;\n padding: 12px 4px;\n overflow: hidden;\n transition: color .1s ease-out;\n border: none;\n background: none;\n box-shadow: none;\n}\n.emoji-mart-anchor:hover,\n.emoji-mart-anchor-selected {\n color: #464646;\n}\n.emoji-mart-anchor-selected .emoji-mart-anchor-bar {\n bottom: 0;\n}\n.emoji-mart-anchor-bar {\n position: absolute;\n bottom: -3px;\n left: 0;\n width: 100%;\n height: 3px;\n background-color: #464646;\n}\n.emoji-mart-anchors i {\n display: inline-block;\n width: 100%;\n max-width: 22px;\n}\n.emoji-mart-anchors svg {\n fill: currentColor;\n max-height: 18px;\n}\n.emoji-mart .scroller {\n height: 250px;\n position: relative;\n flex: 1;\n padding: 0 6px 6px;\n z-index: 0;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n}\n.emoji-mart-search {\n margin-top: 6px;\n padding: 0 6px;\n}\n.emoji-mart-search input {\n font-size: 16px;\n display: block;\n width: 100%;\n padding: .2em .6em;\n border-radius: 25px;\n border: 1px solid #d9d9d9;\n outline: 0;\n}\n.emoji-mart-search-results {\n height: 250px;\n overflow-y: scroll;\n}\n.emoji-mart-category {\n position: relative;\n}\n.emoji-mart-category .emoji-mart-emoji span {\n z-index: 1;\n position: relative;\n text-align: center;\n cursor: default;\n}\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n z-index: 0;\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #f4f4f4;\n border-radius: 100%;\n opacity: 0;\n}\n.emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart-emoji-selected:before {\n opacity: 1;\n}\n.emoji-mart-category-label {\n position: sticky;\n top: 0;\n}\n.emoji-mart-static .emoji-mart-category-label {\n z-index: 2;\n position: relative;\n}\n.emoji-mart-category-label h3 {\n display: block;\n font-size: 16px;\n width: 100%;\n font-weight: 500;\n padding: 5px 6px;\n background-color: #fff;\n background-color: #fffffff2;\n}\n.emoji-mart-emoji {\n position: relative;\n display: inline-block;\n font-size: 0;\n}\n.emoji-mart-no-results {\n font-size: 14px;\n text-align: center;\n padding-top: 70px;\n color: #858585;\n}\n.emoji-mart-no-results .emoji-mart-category-label {\n display: none;\n}\n.emoji-mart-no-results .emoji-mart-no-results-label {\n margin-top: .2em;\n}\n.emoji-mart-no-results .emoji-mart-emoji:hover:before {\n content: none;\n}\n.emoji-mart-preview {\n position: relative;\n height: 70px;\n}\n.emoji-mart-preview-emoji,\n.emoji-mart-preview-data,\n.emoji-mart-preview-skins {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n.emoji-mart-preview-emoji {\n left: 12px;\n}\n.emoji-mart-preview-data {\n left: 68px;\n right: 12px;\n word-break: break-all;\n}\n.emoji-mart-preview-skins {\n right: 30px;\n text-align: right;\n}\n.emoji-mart-preview-name {\n font-size: 14px;\n}\n.emoji-mart-preview-shortname {\n font-size: 12px;\n color: #888;\n}\n.emoji-mart-preview-shortname + .emoji-mart-preview-shortname,\n.emoji-mart-preview-shortname + .emoji-mart-preview-emoticon,\n.emoji-mart-preview-emoticon + .emoji-mart-preview-emoticon {\n margin-left: .5em;\n}\n.emoji-mart-preview-emoticon {\n font-size: 11px;\n color: #bbb;\n}\n.emoji-mart-title span {\n display: inline-block;\n vertical-align: middle;\n}\n.emoji-mart-title .emoji-mart-emoji {\n padding: 0;\n}\n.emoji-mart-title-label {\n color: #999a9c;\n font-size: 21px;\n font-weight: 300;\n}\n.emoji-mart-skin-swatches {\n font-size: 0;\n padding: 2px 0;\n border: 1px solid #d9d9d9;\n border-radius: 12px;\n background-color: #fff;\n}\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch {\n width: 16px;\n padding: 0 2px;\n}\n.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch-selected:after {\n opacity: .75;\n}\n.emoji-mart-skin-swatch {\n display: inline-block;\n width: 0;\n vertical-align: middle;\n transition-property: width, padding;\n transition-duration: .125s;\n transition-timing-function: ease-out;\n}\n.emoji-mart-skin-swatch:nth-child(1) {\n transition-delay: 0s;\n}\n.emoji-mart-skin-swatch:nth-child(2) {\n transition-delay: .03s;\n}\n.emoji-mart-skin-swatch:nth-child(3) {\n transition-delay: .06s;\n}\n.emoji-mart-skin-swatch:nth-child(4) {\n transition-delay: .09s;\n}\n.emoji-mart-skin-swatch:nth-child(5) {\n transition-delay: .12s;\n}\n.emoji-mart-skin-swatch:nth-child(6) {\n transition-delay: .15s;\n}\n.emoji-mart-skin-swatch-selected {\n position: relative;\n width: 16px;\n padding: 0 2px;\n}\n.emoji-mart-skin-swatch-selected:after {\n content: "";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 4px;\n height: 4px;\n margin: -2px 0 0 -2px;\n background-color: #fff;\n border-radius: 100%;\n pointer-events: none;\n opacity: 0;\n transition: opacity .2s ease-out;\n}\n.emoji-mart-skin {\n display: inline-block;\n width: 100%;\n padding-top: 100%;\n max-width: 12px;\n border-radius: 100%;\n}\n.emoji-mart-skin-tone-1 {\n background-color: #ffc93a;\n}\n.emoji-mart-skin-tone-2 {\n background-color: #fadcbc;\n}\n.emoji-mart-skin-tone-3 {\n background-color: #e0bb95;\n}\n.emoji-mart-skin-tone-4 {\n background-color: #bf8f68;\n}\n.emoji-mart-skin-tone-5 {\n background-color: #9b643d;\n}\n.emoji-mart-skin-tone-6 {\n background-color: #594539;\n}\n.emoji-mart .vue-recycle-scroller {\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.direction-vertical:not(.page-mode) {\n overflow-y: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal:not(.page-mode) {\n overflow-x: auto;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal {\n display: flex;\n}\n.emoji-mart .vue-recycle-scroller__slot {\n flex: auto 0 0;\n}\n.emoji-mart .vue-recycle-scroller__item-wrapper {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n.emoji-mart .vue-recycle-scroller.ready .vue-recycle-scroller__item-view {\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform;\n}\n.emoji-mart .vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper {\n width: 100%;\n}\n.emoji-mart .vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper {\n height: 100%;\n}\n.emoji-mart .vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view {\n width: 100%;\n}\n.emoji-mart .vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view {\n height: 100%;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n border: none;\n background-color: transparent;\n pointer-events: none;\n display: block;\n overflow: hidden;\n opacity: 0;\n}\n.emoji-mart .resize-observer[data-v-b329ee4c] object {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.emoji-mart-search .hidden {\n display: none;\n visibility: hidden;\n}\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.emoji-mart {\n background-color: var(--color-main-background) !important;\n border: 0;\n color: var(--color-main-text) !important;\n}\n.emoji-mart button {\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n font-size: inherit;\n height: 36px;\n width: auto;\n}\n.emoji-mart button * {\n cursor: pointer !important;\n}\n.emoji-mart .emoji-mart-bar,\n.emoji-mart .emoji-mart-anchors,\n.emoji-mart .emoji-mart-search,\n.emoji-mart .emoji-mart-search input,\n.emoji-mart .emoji-mart-category,\n.emoji-mart .emoji-mart-category-label,\n.emoji-mart .emoji-mart-category-label span,\n.emoji-mart .emoji-mart-skin-swatches {\n background-color: transparent !important;\n border-color: var(--color-border) !important;\n color: inherit !important;\n}\n.emoji-mart .emoji-mart-search input:focus-visible {\n box-shadow: inset 0 0 0 2px var(--color-primary-element);\n outline: none;\n}\n.emoji-mart .emoji-mart-bar:first-child {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n}\n.emoji-mart .emoji-mart-anchors button {\n border-radius: 0;\n padding: 12px 4px;\n height: auto;\n}\n.emoji-mart .emoji-mart-anchors button:focus-visible {\n outline: 2px solid var(--color-primary-element);\n}\n.emoji-mart .emoji-mart-category {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: start;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-category-label,\n.emoji-mart .emoji-mart-category .emoji-mart-emoji {\n -webkit-user-select: none;\n user-select: none;\n flex-grow: 0;\n flex-shrink: 0;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-category-label {\n flex-basis: 100%;\n margin: 0;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-emoji {\n flex-basis: 12.5%;\n text-align: center;\n}\n.emoji-mart .emoji-mart-category .emoji-mart-emoji:hover:before,\n.emoji-mart .emoji-mart-category .emoji-mart-emoji.emoji-mart-emoji-selected:before {\n background-color: var(--color-background-hover) !important;\n outline: 2px solid var(--color-primary-element);\n}\n.emoji-mart .emoji-mart-category button:focus-visible {\n background-color: var(--color-background-hover);\n border: 2px solid var(--color-primary-element) !important;\n border-radius: 50%;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-2075d0ec] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.search__wrapper[data-v-2075d0ec] {\n display: flex;\n flex-direction: row;\n gap: 4px;\n align-items: end;\n padding: 4px 8px;\n}\n.row-selected button[data-v-2075d0ec],\n.row-selected span[data-v-2075d0ec] {\n vertical-align: middle;\n}\n.emoji-delete[data-v-2075d0ec] {\n vertical-align: top;\n margin-left: -21px;\n margin-top: -3px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},76008:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-458108e7] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.empty-content[data-v-458108e7] {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n flex-grow: 1;\n}\n.modal-wrapper .empty-content[data-v-458108e7] {\n margin-top: 5vh;\n margin-bottom: 5vh;\n}\n.empty-content__icon[data-v-458108e7] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n margin: 0 auto 15px;\n opacity: .4;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 64px;\n}\n.empty-content__icon[data-v-458108e7] svg {\n width: 64px !important;\n height: 64px !important;\n max-width: 64px !important;\n max-height: 64px !important;\n}\n.empty-content__name[data-v-458108e7] {\n margin-bottom: 10px;\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 30px;\n}\n.empty-content__description[data-v-458108e7] {\n color: var(--color-text-maxcontrast);\n}\n.empty-content__action[data-v-458108e7] {\n margin-top: 8px;\n}\n.modal-wrapper .empty-content__action[data-v-458108e7] {\n margin-top: 20px;\n display: flex;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcEmptyContent-pSz7F6Oe.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,sBAAsB;EACtB,uBAAuB;EACvB,YAAY;AACd;AACA;EACE,eAAe;EACf,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,mBAAmB;EACnB,WAAW;EACX,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;AACvB;AACA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,0BAA0B;EAC1B,2BAA2B;AAC7B;AACA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,aAAa;AACf",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-458108e7] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.empty-content[data-v-458108e7] {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n flex-grow: 1;\n}\n.modal-wrapper .empty-content[data-v-458108e7] {\n margin-top: 5vh;\n margin-bottom: 5vh;\n}\n.empty-content__icon[data-v-458108e7] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n margin: 0 auto 15px;\n opacity: .4;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 64px;\n}\n.empty-content__icon[data-v-458108e7] svg {\n width: 64px !important;\n height: 64px !important;\n max-width: 64px !important;\n max-height: 64px !important;\n}\n.empty-content__name[data-v-458108e7] {\n margin-bottom: 10px;\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 30px;\n}\n.empty-content__description[data-v-458108e7] {\n color: var(--color-text-maxcontrast);\n}\n.empty-content__action[data-v-458108e7] {\n margin-top: 8px;\n}\n.modal-wrapper .empty-content__action[data-v-458108e7] {\n margin-top: 20px;\n display: flex;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|1952|6174|6371|9255|9643)$/.test(n.j)?null:o},30326:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-36ad47ca] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-36ad47ca] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-mGGTzI2_.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,8CAA8C;EAC9C,YAAY;EACZ,yCAAyC;EACzC,4CAA4C;EAC5C,mBAAmB;EACnB,aAAa;EACb,iBAAiB;AACnB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,+DAA+D;AACjE",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-36ad47ca] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-36ad47ca] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},76917:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7103b917] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.header-menu[data-v-7103b917] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-7103b917] {\n width: 100% !important;\n height: var(--header-height);\n opacity: .85;\n filter: none !important;\n color: var(--color-primary-text) !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-7103b917],\n.header-menu__trigger[data-v-7103b917]:hover,\n.header-menu__trigger[data-v-7103b917]:focus,\n.header-menu__trigger[data-v-7103b917]:active {\n opacity: 1;\n}\n.header-menu .header-menu__trigger[data-v-7103b917]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu__wrapper[data-v-7103b917] {\n position: fixed;\n z-index: 2000;\n top: 50px;\n inset-inline-end: 0;\n box-sizing: border-box;\n margin: 0 8px;\n padding: 8px;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n border-radius: var(--border-radius-large);\n background-color: var(--color-main-background);\n filter: drop-shadow(0 1px 5px var(--color-box-shadow));\n}\n.header-menu__carret[data-v-7103b917] {\n position: absolute;\n z-index: 2001;\n bottom: 0;\n inset-inline-start: calc(50% - 10px);\n width: 0;\n height: 0;\n content: " ";\n pointer-events: none;\n border: 10px solid transparent;\n border-bottom-color: var(--color-main-background);\n}\n.header-menu__content[data-v-7103b917] {\n overflow: auto;\n width: 350px;\n max-width: calc(100vw - 16px);\n min-height: 66px;\n max-height: calc(100vh - 100px);\n}\n.header-menu__content[data-v-7103b917] .empty-content {\n margin: 12vh 10px;\n}\n@media only screen and (max-width: 512px) {\n .header-menu[data-v-7103b917] {\n width: 44px;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcHeaderMenu-Srn5iXdL.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,sBAAsB;EACtB,4BAA4B;EAC5B,YAAY;EACZ,uBAAuB;EACvB,2CAA2C;AAC7C;AACA;;;;EAIE,UAAU;AACZ;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,eAAe;EACf,aAAa;EACb,SAAS;EACT,mBAAmB;EACnB,sBAAsB;EACtB,aAAa;EACb,YAAY;EACZ,4DAA4D;EAC5D,yCAAyC;EACzC,8CAA8C;EAC9C,sDAAsD;AACxD;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,oCAAoC;EACpC,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,oBAAoB;EACpB,8BAA8B;EAC9B,iDAAiD;AACnD;AACA;EACE,cAAc;EACd,YAAY;EACZ,6BAA6B;EAC7B,gBAAgB;EAChB,+BAA+B;AACjC;AACA;EACE,iBAAiB;AACnB;AACA;EACE;IACE,WAAW;EACb;AACF",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-7103b917] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.header-menu[data-v-7103b917] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-7103b917] {\n width: 100% !important;\n height: var(--header-height);\n opacity: .85;\n filter: none !important;\n color: var(--color-primary-text) !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-7103b917],\n.header-menu__trigger[data-v-7103b917]:hover,\n.header-menu__trigger[data-v-7103b917]:focus,\n.header-menu__trigger[data-v-7103b917]:active {\n opacity: 1;\n}\n.header-menu .header-menu__trigger[data-v-7103b917]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu__wrapper[data-v-7103b917] {\n position: fixed;\n z-index: 2000;\n top: 50px;\n inset-inline-end: 0;\n box-sizing: border-box;\n margin: 0 8px;\n padding: 8px;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n border-radius: var(--border-radius-large);\n background-color: var(--color-main-background);\n filter: drop-shadow(0 1px 5px var(--color-box-shadow));\n}\n.header-menu__carret[data-v-7103b917] {\n position: absolute;\n z-index: 2001;\n bottom: 0;\n inset-inline-start: calc(50% - 10px);\n width: 0;\n height: 0;\n content: " ";\n pointer-events: none;\n border: 10px solid transparent;\n border-bottom-color: var(--color-main-background);\n}\n.header-menu__content[data-v-7103b917] {\n overflow: auto;\n width: 350px;\n max-width: calc(100vw - 16px);\n min-height: 66px;\n max-height: calc(100vh - 100px);\n}\n.header-menu__content[data-v-7103b917] .empty-content {\n margin: 12vh 10px;\n}\n@media only screen and (max-width: 512px) {\n .header-menu[data-v-7103b917] {\n width: 44px;\n }\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},78194:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ba0d787a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.icon-vue[data-v-ba0d787a] {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 44px;\n min-height: 44px;\n opacity: 1;\n}\n.icon-vue[data-v-ba0d787a] svg {\n fill: currentColor;\n width: var(--101514ee);\n height: var(--101514ee);\n max-width: var(--101514ee);\n max-height: var(--101514ee);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcIconSvgWrapper-arqrq5Bj.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,uBAAuB;EACvB,0BAA0B;EAC1B,2BAA2B;AAC7B",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ba0d787a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.icon-vue[data-v-ba0d787a] {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 44px;\n min-height: 44px;\n opacity: 1;\n}\n.icon-vue[data-v-ba0d787a] svg {\n fill: currentColor;\n width: var(--101514ee);\n height: var(--101514ee);\n max-width: var(--101514ee);\n max-height: var(--101514ee);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},11079:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-dcf0becf] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-input-confirm[data-v-dcf0becf] {\n flex: 1 0 100%;\n width: 100%;\n}\n.app-navigation-input-confirm form[data-v-dcf0becf] {\n display: flex;\n}\n.app-navigation-input-confirm__input[data-v-dcf0becf] {\n height: 34px;\n flex: 1 1 100%;\n font-size: 100% !important;\n margin: 5px 5px 5px -8px !important;\n padding: 7px !important;\n}\n.app-navigation-input-confirm__input[data-v-dcf0becf]:active,\n.app-navigation-input-confirm__input[data-v-dcf0becf]:focus,\n.app-navigation-input-confirm__input[data-v-dcf0becf]:hover {\n outline: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n border-color: var(--color-primary-element);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcInputConfirmCancel-ks8z8dIn.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,YAAY;EACZ,cAAc;EACd,0BAA0B;EAC1B,mCAAmC;EACnC,uBAAuB;AACzB;AACA;;;EAGE,aAAa;EACb,8CAA8C;EAC9C,6BAA6B;EAC7B,0CAA0C;AAC5C",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-dcf0becf] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-input-confirm[data-v-dcf0becf] {\n flex: 1 0 100%;\n width: 100%;\n}\n.app-navigation-input-confirm form[data-v-dcf0becf] {\n display: flex;\n}\n.app-navigation-input-confirm__input[data-v-dcf0becf] {\n height: 34px;\n flex: 1 1 100%;\n font-size: 100% !important;\n margin: 5px 5px 5px -8px !important;\n padding: 7px !important;\n}\n.app-navigation-input-confirm__input[data-v-dcf0becf]:active,\n.app-navigation-input-confirm__input[data-v-dcf0becf]:focus,\n.app-navigation-input-confirm__input[data-v-dcf0becf]:hover {\n outline: none;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n border-color: var(--color-primary-element);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},1613:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b312d183] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-field[data-v-b312d183] {\n position: relative;\n width: 100%;\n border-radius: var(--border-radius-large);\n margin-block-start: 6px;\n}\n.input-field__main-wrapper[data-v-b312d183] {\n height: var(--default-clickable-area);\n position: relative;\n}\n.input-field--disabled[data-v-b312d183] {\n opacity: .4;\n filter: saturate(.4);\n}\n.input-field__input[data-v-b312d183] {\n margin: 0;\n padding-inline: 12px 6px;\n height: var(--default-clickable-area) !important;\n width: 100%;\n font-size: var(--default-font-size);\n text-overflow: ellipsis;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n border: 2px solid var(--color-border-maxcontrast);\n border-radius: var(--border-radius-large);\n cursor: pointer;\n -webkit-appearance: textfield !important;\n -moz-appearance: textfield !important;\n}\n.input-field__input--label-outside[data-v-b312d183] {\n padding-block: 0;\n}\n.input-field__input[data-v-b312d183]:active:not([disabled]),\n.input-field__input[data-v-b312d183]:hover:not([disabled]),\n.input-field__input[data-v-b312d183]:focus:not([disabled]) {\n border-color: 2px solid var(--color-main-text) !important;\n box-shadow: 0 0 0 2px var(--color-main-background) !important;\n}\n.input-field__input:focus + .input-field__label[data-v-b312d183],\n.input-field__input:hover:not(:placeholder-shown) + .input-field__label[data-v-b312d183] {\n color: var(--color-main-text);\n}\n.input-field__input[data-v-b312d183]:not(:focus, .input-field__input--label-outside)::placeholder {\n opacity: 0;\n}\n.input-field__input[data-v-b312d183]:focus {\n cursor: text;\n}\n.input-field__input[data-v-b312d183]:disabled {\n cursor: default;\n}\n.input-field__input[data-v-b312d183]:focus-visible {\n box-shadow: unset !important;\n}\n.input-field__input--leading-icon[data-v-b312d183] {\n padding-inline-start: var(--default-clickable-area);\n}\n.input-field__input--trailing-icon[data-v-b312d183] {\n padding-inline-end: var(--default-clickable-area);\n}\n.input-field__input--success[data-v-b312d183] {\n border-color: var(--color-success) !important;\n}\n.input-field__input--success[data-v-b312d183]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.input-field__input--error[data-v-b312d183] {\n border-color: var(--color-error) !important;\n}\n.input-field__input--error[data-v-b312d183]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.input-field__input--pill[data-v-b312d183] {\n border-radius: var(--border-radius-pill);\n}\n.input-field__label[data-v-b312d183] {\n position: absolute;\n margin-inline: 14px 0;\n max-width: fit-content;\n inset-block-start: 11px;\n inset-inline: 0;\n color: var(--color-text-maxcontrast);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick),\n background-color var(--animation-quick) var(--animation-slow);\n}\n.input-field__label--leading-icon[data-v-b312d183] {\n margin-inline-start: var(--default-clickable-area);\n}\n.input-field__label--trailing-icon[data-v-b312d183] {\n margin-inline-end: var(--default-clickable-area);\n}\n.input-field__input:focus + .input-field__label[data-v-b312d183],\n.input-field__input:not(:placeholder-shown) + .input-field__label[data-v-b312d183] {\n inset-block-start: -10px;\n line-height: 1.5;\n font-size: 13px;\n font-weight: 500;\n border-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n background-color: var(--color-main-background);\n padding-inline: 5px;\n margin-inline-start: 9px;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick);\n}\n.input-field__input:focus + .input-field__label--leading-icon[data-v-b312d183],\n.input-field__input:not(:placeholder-shown) + .input-field__label--leading-icon[data-v-b312d183] {\n margin-inline-start: 41px;\n}\n.input-field__icon[data-v-b312d183] {\n position: absolute;\n height: var(--default-clickable-area);\n width: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: .7;\n}\n.input-field__icon--leading[data-v-b312d183] {\n inset-block-end: 0;\n inset-inline-start: 2px;\n}\n.input-field__icon--trailing[data-v-b312d183] {\n inset-block-end: 0;\n inset-inline-end: 2px;\n}\n.input-field__trailing-button.button-vue[data-v-b312d183] {\n position: absolute;\n top: 0;\n right: 0;\n border-radius: var(--border-radius-large);\n}\n.input-field__trailing-button--pill.button-vue[data-v-b312d183] {\n border-radius: var(--border-radius-pill);\n}\n.input-field__helper-text-message[data-v-b312d183] {\n padding-block: 4px;\n display: flex;\n align-items: center;\n}\n.input-field__helper-text-message__icon[data-v-b312d183] {\n margin-inline-end: 8px;\n}\n.input-field__helper-text-message--error[data-v-b312d183] {\n color: var(--color-error-text);\n}\n.input-field__helper-text-message--success[data-v-b312d183] {\n color: var(--color-success-text);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcInputField-L2Lld_iG.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,yCAAyC;EACzC,uBAAuB;AACzB;AACA;EACE,qCAAqC;EACrC,kBAAkB;AACpB;AACA;EACE,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,SAAS;EACT,wBAAwB;EACxB,gDAAgD;EAChD,WAAW;EACX,mCAAmC;EACnC,uBAAuB;EACvB,8CAA8C;EAC9C,6BAA6B;EAC7B,iDAAiD;EACjD,yCAAyC;EACzC,eAAe;EACf,wCAAwC;EACxC,qCAAqC;AACvC;AACA;EACE,gBAAgB;AAClB;AACA;;;EAGE,yDAAyD;EACzD,6DAA6D;AAC/D;AACA;;EAEE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,YAAY;AACd;AACA;EACE,eAAe;AACjB;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,mDAAmD;AACrD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,6CAA6C;AAC/C;AACA;EACE;;;uBAGqB;AACvB;AACA;EACE,2CAA2C;AAC7C;AACA;EACE;;;uBAGqB;AACvB;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,sBAAsB;EACtB,uBAAuB;EACvB,eAAe;EACf,oCAAoC;EACpC,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,oBAAoB;EACpB;;;;;iEAK+D;AACjE;AACA;EACE,kDAAkD;AACpD;AACA;EACE,gDAAgD;AAClD;AACA;;EAEE,wBAAwB;EACxB,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,4EAA4E;EAC5E,8CAA8C;EAC9C,mBAAmB;EACnB,wBAAwB;EACxB;;;;gCAI8B;AAChC;AACA;;EAEE,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,qCAAqC;EACrC,oCAAoC;EACpC,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;AACb;AACA;EACE,kBAAkB;EAClB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,yCAAyC;AAC3C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,8BAA8B;AAChC;AACA;EACE,gCAAgC;AAClC",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b312d183] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-field[data-v-b312d183] {\n position: relative;\n width: 100%;\n border-radius: var(--border-radius-large);\n margin-block-start: 6px;\n}\n.input-field__main-wrapper[data-v-b312d183] {\n height: var(--default-clickable-area);\n position: relative;\n}\n.input-field--disabled[data-v-b312d183] {\n opacity: .4;\n filter: saturate(.4);\n}\n.input-field__input[data-v-b312d183] {\n margin: 0;\n padding-inline: 12px 6px;\n height: var(--default-clickable-area) !important;\n width: 100%;\n font-size: var(--default-font-size);\n text-overflow: ellipsis;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n border: 2px solid var(--color-border-maxcontrast);\n border-radius: var(--border-radius-large);\n cursor: pointer;\n -webkit-appearance: textfield !important;\n -moz-appearance: textfield !important;\n}\n.input-field__input--label-outside[data-v-b312d183] {\n padding-block: 0;\n}\n.input-field__input[data-v-b312d183]:active:not([disabled]),\n.input-field__input[data-v-b312d183]:hover:not([disabled]),\n.input-field__input[data-v-b312d183]:focus:not([disabled]) {\n border-color: 2px solid var(--color-main-text) !important;\n box-shadow: 0 0 0 2px var(--color-main-background) !important;\n}\n.input-field__input:focus + .input-field__label[data-v-b312d183],\n.input-field__input:hover:not(:placeholder-shown) + .input-field__label[data-v-b312d183] {\n color: var(--color-main-text);\n}\n.input-field__input[data-v-b312d183]:not(:focus, .input-field__input--label-outside)::placeholder {\n opacity: 0;\n}\n.input-field__input[data-v-b312d183]:focus {\n cursor: text;\n}\n.input-field__input[data-v-b312d183]:disabled {\n cursor: default;\n}\n.input-field__input[data-v-b312d183]:focus-visible {\n box-shadow: unset !important;\n}\n.input-field__input--leading-icon[data-v-b312d183] {\n padding-inline-start: var(--default-clickable-area);\n}\n.input-field__input--trailing-icon[data-v-b312d183] {\n padding-inline-end: var(--default-clickable-area);\n}\n.input-field__input--success[data-v-b312d183] {\n border-color: var(--color-success) !important;\n}\n.input-field__input--success[data-v-b312d183]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.input-field__input--error[data-v-b312d183] {\n border-color: var(--color-error) !important;\n}\n.input-field__input--error[data-v-b312d183]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.input-field__input--pill[data-v-b312d183] {\n border-radius: var(--border-radius-pill);\n}\n.input-field__label[data-v-b312d183] {\n position: absolute;\n margin-inline: 14px 0;\n max-width: fit-content;\n inset-block-start: 11px;\n inset-inline: 0;\n color: var(--color-text-maxcontrast);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick),\n background-color var(--animation-quick) var(--animation-slow);\n}\n.input-field__label--leading-icon[data-v-b312d183] {\n margin-inline-start: var(--default-clickable-area);\n}\n.input-field__label--trailing-icon[data-v-b312d183] {\n margin-inline-end: var(--default-clickable-area);\n}\n.input-field__input:focus + .input-field__label[data-v-b312d183],\n.input-field__input:not(:placeholder-shown) + .input-field__label[data-v-b312d183] {\n inset-block-start: -10px;\n line-height: 1.5;\n font-size: 13px;\n font-weight: 500;\n border-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n background-color: var(--color-main-background);\n padding-inline: 5px;\n margin-inline-start: 9px;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick);\n}\n.input-field__input:focus + .input-field__label--leading-icon[data-v-b312d183],\n.input-field__input:not(:placeholder-shown) + .input-field__label--leading-icon[data-v-b312d183] {\n margin-inline-start: 41px;\n}\n.input-field__icon[data-v-b312d183] {\n position: absolute;\n height: var(--default-clickable-area);\n width: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: .7;\n}\n.input-field__icon--leading[data-v-b312d183] {\n inset-block-end: 0;\n inset-inline-start: 2px;\n}\n.input-field__icon--trailing[data-v-b312d183] {\n inset-block-end: 0;\n inset-inline-end: 2px;\n}\n.input-field__trailing-button.button-vue[data-v-b312d183] {\n position: absolute;\n top: 0;\n right: 0;\n border-radius: var(--border-radius-large);\n}\n.input-field__trailing-button--pill.button-vue[data-v-b312d183] {\n border-radius: var(--border-radius-pill);\n}\n.input-field__helper-text-message[data-v-b312d183] {\n padding-block: 4px;\n display: flex;\n align-items: center;\n}\n.input-field__helper-text-message__icon[data-v-b312d183] {\n margin-inline-end: 8px;\n}\n.input-field__helper-text-message--error[data-v-b312d183] {\n color: var(--color-error-text);\n}\n.input-field__helper-text-message--success[data-v-b312d183] {\n color: var(--color-success-text);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|59(0|28)|82(0|79)|(78|96)43|1952|4012|4897|6371)$/.test(n.j)?null:o},65813:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b4e3d453] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.list-item__wrapper[data-v-b4e3d453] {\n display: flex;\n position: relative;\n width: 100%;\n}\n.list-item__wrapper--active .list-item[data-v-b4e3d453],\n.list-item__wrapper.active .list-item[data-v-b4e3d453] {\n background-color: var(--color-primary-element);\n}\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:hover,\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:focus-within,\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:has(:focus-visible),\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:has(:active),\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:hover,\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:focus-within,\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:has(:focus-visible),\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:has(:active) {\n background-color: var(--color-primary-element-hover);\n}\n.list-item__wrapper--active .line-one__name[data-v-b4e3d453],\n.list-item__wrapper--active .line-one__details[data-v-b4e3d453],\n.list-item__wrapper.active .line-one__name[data-v-b4e3d453],\n.list-item__wrapper.active .line-one__details[data-v-b4e3d453],\n.list-item__wrapper--active .line-two__subname[data-v-b4e3d453],\n.list-item__wrapper.active .line-two__subname[data-v-b4e3d453] {\n color: var(--color-primary-element-text) !important;\n}\n.list-item[data-v-b4e3d453] {\n box-sizing: border-box;\n display: flex;\n position: relative;\n flex: 0 0 auto;\n justify-content: flex-start;\n padding: 8px 10px;\n margin: 4px;\n width: calc(100% - 8px);\n border-radius: 32px;\n cursor: pointer;\n transition: background-color var(--animation-quick) ease-in-out;\n list-style: none;\n}\n.list-item[data-v-b4e3d453]:hover,\n.list-item[data-v-b4e3d453]:focus-within,\n.list-item[data-v-b4e3d453]:has(:active),\n.list-item[data-v-b4e3d453]:has(:focus-visible) {\n background-color: var(--color-background-hover);\n}\n.list-item[data-v-b4e3d453]:has(.list-item__anchor:focus-visible) {\n outline: 2px solid var(--color-main-text);\n box-shadow: 0 0 0 4px var(--color-main-background);\n}\n.list-item--compact[data-v-b4e3d453] {\n padding: 4px 10px;\n}\n.list-item--compact .list-item__anchor .line-one[data-v-b4e3d453],\n.list-item--compact .list-item__anchor .line-two[data-v-b4e3d453] {\n margin-block: -4px;\n}\n.list-item__anchor[data-v-b4e3d453] {\n display: flex;\n flex: 1 0 auto;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.list-item__anchor[data-v-b4e3d453]:focus-visible {\n outline: none;\n}\n.list-item-content[data-v-b4e3d453] {\n display: flex;\n flex: 1 1 auto;\n justify-content: space-between;\n padding-left: 8px;\n}\n.list-item-content__main[data-v-b4e3d453] {\n flex: 1 1 auto;\n width: 0;\n margin: auto 0;\n}\n.list-item-content__main--oneline[data-v-b4e3d453] {\n display: flex;\n}\n.list-item-content__actions[data-v-b4e3d453] {\n flex: 0 0 auto;\n align-self: center;\n justify-content: center;\n margin-left: 4px;\n}\n.list-item__extra[data-v-b4e3d453] {\n margin-top: 4px;\n}\n.line-one[data-v-b4e3d453] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n white-space: nowrap;\n margin: 0 auto 0 0;\n overflow: hidden;\n}\n.line-one__name[data-v-b4e3d453] {\n overflow: hidden;\n flex-grow: 1;\n cursor: pointer;\n text-overflow: ellipsis;\n color: var(--color-main-text);\n font-weight: 700;\n}\n.line-one__details[data-v-b4e3d453] {\n color: var(--color-text-maxcontrast);\n margin: 0 9px;\n font-weight: 400;\n}\n.line-two[data-v-b4e3d453] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n white-space: nowrap;\n}\n.line-two--bold[data-v-b4e3d453] {\n font-weight: 700;\n}\n.line-two__subname[data-v-b4e3d453] {\n overflow: hidden;\n flex-grow: 1;\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--color-text-maxcontrast);\n}\n.line-two__additional_elements[data-v-b4e3d453] {\n margin: 2px 4px 0;\n display: flex;\n align-items: center;\n}\n.line-two__indicator[data-v-b4e3d453] {\n margin: 0 5px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcListItem-L8LeGwpe.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,WAAW;AACb;AACA;;EAEE,8CAA8C;AAChD;AACA;;;;;;;;EAQE,oDAAoD;AACtD;AACA;;;;;;EAME,mDAAmD;AACrD;AACA;EACE,sBAAsB;EACtB,aAAa;EACb,kBAAkB;EAClB,cAAc;EACd,2BAA2B;EAC3B,iBAAiB;EACjB,WAAW;EACX,uBAAuB;EACvB,mBAAmB;EACnB,eAAe;EACf,+DAA+D;EAC/D,gBAAgB;AAClB;AACA;;;;EAIE,+CAA+C;AACjD;AACA;EACE,yCAAyC;EACzC,kDAAkD;AACpD;AACA;EACE,iBAAiB;AACnB;AACA;;EAEE,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,cAAc;EACd,8BAA8B;EAC9B,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,QAAQ;EACR,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,uBAAuB;EACvB,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,mBAAmB;EACnB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,YAAY;EACZ,eAAe;EACf,uBAAuB;EACvB,6BAA6B;EAC7B,gBAAgB;AAClB;AACA;EACE,oCAAoC;EACpC,aAAa;EACb,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,8BAA8B;EAC9B,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,oCAAoC;AACtC;AACA;EACE,iBAAiB;EACjB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,aAAa;AACf",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b4e3d453] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.list-item__wrapper[data-v-b4e3d453] {\n display: flex;\n position: relative;\n width: 100%;\n}\n.list-item__wrapper--active .list-item[data-v-b4e3d453],\n.list-item__wrapper.active .list-item[data-v-b4e3d453] {\n background-color: var(--color-primary-element);\n}\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:hover,\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:focus-within,\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:has(:focus-visible),\n.list-item__wrapper--active .list-item[data-v-b4e3d453]:has(:active),\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:hover,\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:focus-within,\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:has(:focus-visible),\n.list-item__wrapper.active .list-item[data-v-b4e3d453]:has(:active) {\n background-color: var(--color-primary-element-hover);\n}\n.list-item__wrapper--active .line-one__name[data-v-b4e3d453],\n.list-item__wrapper--active .line-one__details[data-v-b4e3d453],\n.list-item__wrapper.active .line-one__name[data-v-b4e3d453],\n.list-item__wrapper.active .line-one__details[data-v-b4e3d453],\n.list-item__wrapper--active .line-two__subname[data-v-b4e3d453],\n.list-item__wrapper.active .line-two__subname[data-v-b4e3d453] {\n color: var(--color-primary-element-text) !important;\n}\n.list-item[data-v-b4e3d453] {\n box-sizing: border-box;\n display: flex;\n position: relative;\n flex: 0 0 auto;\n justify-content: flex-start;\n padding: 8px 10px;\n margin: 4px;\n width: calc(100% - 8px);\n border-radius: 32px;\n cursor: pointer;\n transition: background-color var(--animation-quick) ease-in-out;\n list-style: none;\n}\n.list-item[data-v-b4e3d453]:hover,\n.list-item[data-v-b4e3d453]:focus-within,\n.list-item[data-v-b4e3d453]:has(:active),\n.list-item[data-v-b4e3d453]:has(:focus-visible) {\n background-color: var(--color-background-hover);\n}\n.list-item[data-v-b4e3d453]:has(.list-item__anchor:focus-visible) {\n outline: 2px solid var(--color-main-text);\n box-shadow: 0 0 0 4px var(--color-main-background);\n}\n.list-item--compact[data-v-b4e3d453] {\n padding: 4px 10px;\n}\n.list-item--compact .list-item__anchor .line-one[data-v-b4e3d453],\n.list-item--compact .list-item__anchor .line-two[data-v-b4e3d453] {\n margin-block: -4px;\n}\n.list-item__anchor[data-v-b4e3d453] {\n display: flex;\n flex: 1 0 auto;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.list-item__anchor[data-v-b4e3d453]:focus-visible {\n outline: none;\n}\n.list-item-content[data-v-b4e3d453] {\n display: flex;\n flex: 1 1 auto;\n justify-content: space-between;\n padding-left: 8px;\n}\n.list-item-content__main[data-v-b4e3d453] {\n flex: 1 1 auto;\n width: 0;\n margin: auto 0;\n}\n.list-item-content__main--oneline[data-v-b4e3d453] {\n display: flex;\n}\n.list-item-content__actions[data-v-b4e3d453] {\n flex: 0 0 auto;\n align-self: center;\n justify-content: center;\n margin-left: 4px;\n}\n.list-item__extra[data-v-b4e3d453] {\n margin-top: 4px;\n}\n.line-one[data-v-b4e3d453] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n white-space: nowrap;\n margin: 0 auto 0 0;\n overflow: hidden;\n}\n.line-one__name[data-v-b4e3d453] {\n overflow: hidden;\n flex-grow: 1;\n cursor: pointer;\n text-overflow: ellipsis;\n color: var(--color-main-text);\n font-weight: 700;\n}\n.line-one__details[data-v-b4e3d453] {\n color: var(--color-text-maxcontrast);\n margin: 0 9px;\n font-weight: 400;\n}\n.line-two[data-v-b4e3d453] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n white-space: nowrap;\n}\n.line-two--bold[data-v-b4e3d453] {\n font-weight: 700;\n}\n.line-two__subname[data-v-b4e3d453] {\n overflow: hidden;\n flex-grow: 1;\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--color-text-maxcontrast);\n}\n.line-two__additional_elements[data-v-b4e3d453] {\n margin: 2px 4px 0;\n display: flex;\n align-items: center;\n}\n.line-two__indicator[data-v-b4e3d453] {\n margin: 0 5px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},24157:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-562c32c6] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.option[data-v-562c32c6] {\n display: flex;\n align-items: center;\n width: 100%;\n height: var(--height);\n cursor: inherit;\n}\n.option__avatar[data-v-562c32c6] {\n margin-right: var(--margin);\n}\n.option__details[data-v-562c32c6] {\n display: flex;\n flex: 1 1;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n}\n.option__lineone[data-v-562c32c6] {\n color: var(--color-main-text);\n}\n.option__linetwo[data-v-562c32c6] {\n color: var(--color-text-maxcontrast);\n}\n.option__lineone[data-v-562c32c6],\n.option__linetwo[data-v-562c32c6] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 1.1em;\n}\n.option__lineone strong[data-v-562c32c6],\n.option__linetwo strong[data-v-562c32c6] {\n font-weight: 700;\n}\n.option__icon[data-v-562c32c6] {\n width: 44px;\n height: 44px;\n color: var(--color-text-maxcontrast);\n}\n.option__icon.icon[data-v-562c32c6] {\n flex: 0 0 44px;\n opacity: .7;\n background-position: center;\n background-size: 16px;\n}\n.option__details[data-v-562c32c6],\n.option__lineone[data-v-562c32c6],\n.option__linetwo[data-v-562c32c6],\n.option__icon[data-v-562c32c6] {\n cursor: inherit;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcListItemIcon-PQ2s6ZqX.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,eAAe;AACjB;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,aAAa;EACb,SAAS;EACT,sBAAsB;EACtB,uBAAuB;EACvB,YAAY;AACd;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,oCAAoC;AACtC;AACA;;EAEE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;;EAEE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,oCAAoC;AACtC;AACA;EACE,cAAc;EACd,WAAW;EACX,2BAA2B;EAC3B,qBAAqB;AACvB;AACA;;;;EAIE,eAAe;AACjB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-562c32c6] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.option[data-v-562c32c6] {\n display: flex;\n align-items: center;\n width: 100%;\n height: var(--height);\n cursor: inherit;\n}\n.option__avatar[data-v-562c32c6] {\n margin-right: var(--margin);\n}\n.option__details[data-v-562c32c6] {\n display: flex;\n flex: 1 1;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n}\n.option__lineone[data-v-562c32c6] {\n color: var(--color-main-text);\n}\n.option__linetwo[data-v-562c32c6] {\n color: var(--color-text-maxcontrast);\n}\n.option__lineone[data-v-562c32c6],\n.option__linetwo[data-v-562c32c6] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 1.1em;\n}\n.option__lineone strong[data-v-562c32c6],\n.option__linetwo strong[data-v-562c32c6] {\n font-weight: 700;\n}\n.option__icon[data-v-562c32c6] {\n width: 44px;\n height: 44px;\n color: var(--color-text-maxcontrast);\n}\n.option__icon.icon[data-v-562c32c6] {\n flex: 0 0 44px;\n opacity: .7;\n background-position: center;\n background-size: 16px;\n}\n.option__details[data-v-562c32c6],\n.option__lineone[data-v-562c32c6],\n.option__linetwo[data-v-562c32c6],\n.option__icon[data-v-562c32c6] {\n cursor: inherit;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},14643:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-626664cd] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.loading-icon svg[data-v-626664cd] {\n animation: rotate var(--animation-duration, .8s) linear infinite;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcLoadingIcon-hZn7TJM8.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gEAAgE;AAClE",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-626664cd] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.loading-icon svg[data-v-626664cd] {\n animation: rotate var(--animation-duration, .8s) linear infinite;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},37133:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-9c74f2e0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.mention-bubble--primary .mention-bubble__content[data-v-9c74f2e0] {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.mention-bubble__wrapper[data-v-9c74f2e0] {\n max-width: 150px;\n height: 18px;\n vertical-align: text-bottom;\n display: inline-flex;\n align-items: center;\n}\n.mention-bubble__content[data-v-9c74f2e0] {\n display: inline-flex;\n overflow: hidden;\n align-items: center;\n max-width: 100%;\n height: 20px;\n -webkit-user-select: none;\n user-select: none;\n padding-right: 6px;\n padding-left: 2px;\n border-radius: 10px;\n background-color: var(--color-background-dark);\n}\n.mention-bubble__icon[data-v-9c74f2e0] {\n position: relative;\n width: 16px;\n height: 16px;\n border-radius: 8px;\n background-color: var(--color-background-darker);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 12px;\n}\n.mention-bubble__icon--with-avatar[data-v-9c74f2e0] {\n color: inherit;\n background-size: cover;\n}\n.mention-bubble__title[data-v-9c74f2e0] {\n overflow: hidden;\n margin-left: 2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mention-bubble__title[data-v-9c74f2e0]:before {\n content: attr(title);\n}\n.mention-bubble__select[data-v-9c74f2e0] {\n position: absolute;\n z-index: -1;\n left: -1000px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcMentionBubble-YYl1ib_F.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,wCAAwC;EACxC,8CAA8C;AAChD;AACA;EACE,gBAAgB;EAChB,YAAY;EACZ,2BAA2B;EAC3B,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,oBAAoB;EACpB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,YAAY;EACZ,yBAAyB;EACzB,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB;EACjB,mBAAmB;EACnB,8CAA8C;AAChD;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gDAAgD;EAChD,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;AACvB;AACA;EACE,cAAc;EACd,sBAAsB;AACxB;AACA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,aAAa;AACf",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-9c74f2e0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.mention-bubble--primary .mention-bubble__content[data-v-9c74f2e0] {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.mention-bubble__wrapper[data-v-9c74f2e0] {\n max-width: 150px;\n height: 18px;\n vertical-align: text-bottom;\n display: inline-flex;\n align-items: center;\n}\n.mention-bubble__content[data-v-9c74f2e0] {\n display: inline-flex;\n overflow: hidden;\n align-items: center;\n max-width: 100%;\n height: 20px;\n -webkit-user-select: none;\n user-select: none;\n padding-right: 6px;\n padding-left: 2px;\n border-radius: 10px;\n background-color: var(--color-background-dark);\n}\n.mention-bubble__icon[data-v-9c74f2e0] {\n position: relative;\n width: 16px;\n height: 16px;\n border-radius: 8px;\n background-color: var(--color-background-darker);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 12px;\n}\n.mention-bubble__icon--with-avatar[data-v-9c74f2e0] {\n color: inherit;\n background-size: cover;\n}\n.mention-bubble__title[data-v-9c74f2e0] {\n overflow: hidden;\n margin-left: 2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mention-bubble__title[data-v-9c74f2e0]:before {\n content: attr(title);\n}\n.mention-bubble__select[data-v-9c74f2e0] {\n position: absolute;\n z-index: -1;\n left: -1000px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},60456:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-1ea9d450] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.modal-mask[data-v-1ea9d450] {\n position: fixed;\n z-index: 9998;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n background-color: #00000080;\n}\n.modal-mask--dark[data-v-1ea9d450] {\n background-color: #000000eb;\n}\n.modal-header[data-v-1ea9d450] {\n position: absolute;\n z-index: 10001;\n top: 0;\n right: 0;\n left: 0;\n display: flex !important;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 50px;\n overflow: hidden;\n transition: opacity .25s, visibility .25s;\n}\n.modal-header .modal-name[data-v-1ea9d450] {\n overflow-x: hidden;\n box-sizing: border-box;\n width: 100%;\n padding: 0 132px 0 12px;\n transition: padding ease .1s;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n font-size: 14px;\n margin-bottom: 0;\n}\n@media only screen and (min-width: 1024px) {\n .modal-header .modal-name[data-v-1ea9d450] {\n padding-left: 132px;\n text-align: center;\n }\n}\n.modal-header .icons-menu[data-v-1ea9d450] {\n position: absolute;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.modal-header .icons-menu .header-close[data-v-1ea9d450] {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin: 3px;\n padding: 0;\n}\n.modal-header .icons-menu .play-pause-icons[data-v-1ea9d450] {\n position: relative;\n width: 50px;\n height: 50px;\n margin: 0;\n padding: 0;\n cursor: pointer;\n border: none;\n background-color: transparent;\n}\n.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1ea9d450] {\n opacity: 1;\n border-radius: 22px;\n background-color: #7f7f7f40;\n}\n.modal-header .icons-menu .play-pause-icons__play[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons__pause[data-v-1ea9d450] {\n box-sizing: border-box;\n width: 44px;\n height: 44px;\n margin: 3px;\n cursor: pointer;\n opacity: .7;\n}\n.modal-header .icons-menu .header-actions[data-v-1ea9d450] {\n color: #fff;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item {\n margin: 3px;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item--single {\n box-sizing: border-box;\n width: 44px;\n height: 44px;\n cursor: pointer;\n background-position: center;\n background-size: 22px;\n}\n.modal-header .icons-menu[data-v-1ea9d450] button {\n color: #fff;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item__menutoggle {\n padding: 0;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item__menutoggle span,\n.modal-header .icons-menu[data-v-1ea9d450] .action-item__menutoggle svg {\n width: var(--icon-size);\n height: var(--icon-size);\n}\n.modal-wrapper[data-v-1ea9d450] {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.modal-wrapper .prev[data-v-1ea9d450],\n.modal-wrapper .next[data-v-1ea9d450] {\n z-index: 10000;\n height: 35vh;\n min-height: 300px;\n position: absolute;\n transition: opacity .25s;\n color: #fff;\n}\n.modal-wrapper .prev[data-v-1ea9d450]:focus-visible,\n.modal-wrapper .next[data-v-1ea9d450]:focus-visible {\n box-shadow: 0 0 0 2px var(--color-primary-element-text);\n background-color: var(--color-box-shadow);\n}\n.modal-wrapper .prev[data-v-1ea9d450] {\n left: 2px;\n}\n.modal-wrapper .next[data-v-1ea9d450] {\n right: 2px;\n}\n.modal-wrapper .modal-container[data-v-1ea9d450] {\n position: relative;\n display: flex;\n padding: 0;\n transition: transform .3s ease;\n border-radius: var(--border-radius-large);\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 40px #0003;\n}\n.modal-wrapper .modal-container__close[data-v-1ea9d450] {\n z-index: 1;\n position: absolute;\n top: 4px;\n right: 4px;\n}\n.modal-wrapper .modal-container__content[data-v-1ea9d450] {\n width: 100%;\n min-height: 52px;\n overflow: auto;\n}\n.modal-wrapper--small > .modal-container[data-v-1ea9d450] {\n width: 400px;\n max-width: 90%;\n max-height: min(90%, 100% - 100px);\n}\n.modal-wrapper--normal > .modal-container[data-v-1ea9d450] {\n max-width: 90%;\n width: 600px;\n max-height: min(90%, 100% - 100px);\n}\n.modal-wrapper--large > .modal-container[data-v-1ea9d450] {\n max-width: 90%;\n width: 900px;\n max-height: min(90%, 100% - 100px);\n}\n.modal-wrapper--full > .modal-container[data-v-1ea9d450] {\n width: 100%;\n height: calc(100% - var(--header-height));\n position: absolute;\n top: 50px;\n border-radius: 0;\n}\n@media only screen and ((max-width: 512px) or (max-height: 400px)) {\n .modal-wrapper .modal-container[data-v-1ea9d450] {\n max-width: initial;\n width: 100%;\n max-height: initial;\n height: calc(100% - var(--header-height));\n position: absolute;\n top: 50px;\n border-radius: 0;\n }\n}\n.fade-enter-active[data-v-1ea9d450],\n.fade-leave-active[data-v-1ea9d450] {\n transition: opacity .25s;\n}\n.fade-enter[data-v-1ea9d450],\n.fade-leave-to[data-v-1ea9d450] {\n opacity: 0;\n}\n.fade-visibility-enter[data-v-1ea9d450],\n.fade-visibility-leave-to[data-v-1ea9d450] {\n visibility: hidden;\n opacity: 0;\n}\n.modal-in-enter-active[data-v-1ea9d450],\n.modal-in-leave-active[data-v-1ea9d450],\n.modal-out-enter-active[data-v-1ea9d450],\n.modal-out-leave-active[data-v-1ea9d450] {\n transition: opacity .25s;\n}\n.modal-in-enter[data-v-1ea9d450],\n.modal-in-leave-to[data-v-1ea9d450],\n.modal-out-enter[data-v-1ea9d450],\n.modal-out-leave-to[data-v-1ea9d450] {\n opacity: 0;\n}\n.modal-in-enter .modal-container[data-v-1ea9d450],\n.modal-in-leave-to .modal-container[data-v-1ea9d450] {\n transform: scale(.9);\n}\n.modal-out-enter .modal-container[data-v-1ea9d450],\n.modal-out-leave-to .modal-container[data-v-1ea9d450] {\n transform: scale(1.1);\n}\n.modal-mask .play-pause-icons .progress-ring[data-v-1ea9d450] {\n position: absolute;\n top: 0;\n left: 0;\n transform: rotate(-90deg);\n}\n.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1ea9d450] {\n transition: .1s stroke-dashoffset;\n transform-origin: 50% 50%;\n animation: progressring-1ea9d450 linear var(--slideshow-duration) infinite;\n stroke-linecap: round;\n stroke-dashoffset: 94.2477796077;\n stroke-dasharray: 94.2477796077;\n}\n.modal-mask .play-pause-icons--paused .icon-pause[data-v-1ea9d450] {\n animation: breath-1ea9d450 2s cubic-bezier(.4, 0, .2, 1) infinite;\n}\n.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1ea9d450] {\n animation-play-state: paused !important;\n}\n@keyframes progressring-1ea9d450 {\n 0% {\n stroke-dashoffset: 94.2477796077;\n }\n to {\n stroke-dashoffset: 0;\n }\n}\n@keyframes breath-1ea9d450 {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcModal-sIK5sUoC.css"],names:[],mappings:"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",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-1ea9d450] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.modal-mask[data-v-1ea9d450] {\n position: fixed;\n z-index: 9998;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n background-color: #00000080;\n}\n.modal-mask--dark[data-v-1ea9d450] {\n background-color: #000000eb;\n}\n.modal-header[data-v-1ea9d450] {\n position: absolute;\n z-index: 10001;\n top: 0;\n right: 0;\n left: 0;\n display: flex !important;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 50px;\n overflow: hidden;\n transition: opacity .25s, visibility .25s;\n}\n.modal-header .modal-name[data-v-1ea9d450] {\n overflow-x: hidden;\n box-sizing: border-box;\n width: 100%;\n padding: 0 132px 0 12px;\n transition: padding ease .1s;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n font-size: 14px;\n margin-bottom: 0;\n}\n@media only screen and (min-width: 1024px) {\n .modal-header .modal-name[data-v-1ea9d450] {\n padding-left: 132px;\n text-align: center;\n }\n}\n.modal-header .icons-menu[data-v-1ea9d450] {\n position: absolute;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.modal-header .icons-menu .header-close[data-v-1ea9d450] {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin: 3px;\n padding: 0;\n}\n.modal-header .icons-menu .play-pause-icons[data-v-1ea9d450] {\n position: relative;\n width: 50px;\n height: 50px;\n margin: 0;\n padding: 0;\n cursor: pointer;\n border: none;\n background-color: transparent;\n}\n.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1ea9d450] {\n opacity: 1;\n border-radius: 22px;\n background-color: #7f7f7f40;\n}\n.modal-header .icons-menu .play-pause-icons__play[data-v-1ea9d450],\n.modal-header .icons-menu .play-pause-icons__pause[data-v-1ea9d450] {\n box-sizing: border-box;\n width: 44px;\n height: 44px;\n margin: 3px;\n cursor: pointer;\n opacity: .7;\n}\n.modal-header .icons-menu .header-actions[data-v-1ea9d450] {\n color: #fff;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item {\n margin: 3px;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item--single {\n box-sizing: border-box;\n width: 44px;\n height: 44px;\n cursor: pointer;\n background-position: center;\n background-size: 22px;\n}\n.modal-header .icons-menu[data-v-1ea9d450] button {\n color: #fff;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item__menutoggle {\n padding: 0;\n}\n.modal-header .icons-menu[data-v-1ea9d450] .action-item__menutoggle span,\n.modal-header .icons-menu[data-v-1ea9d450] .action-item__menutoggle svg {\n width: var(--icon-size);\n height: var(--icon-size);\n}\n.modal-wrapper[data-v-1ea9d450] {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.modal-wrapper .prev[data-v-1ea9d450],\n.modal-wrapper .next[data-v-1ea9d450] {\n z-index: 10000;\n height: 35vh;\n min-height: 300px;\n position: absolute;\n transition: opacity .25s;\n color: #fff;\n}\n.modal-wrapper .prev[data-v-1ea9d450]:focus-visible,\n.modal-wrapper .next[data-v-1ea9d450]:focus-visible {\n box-shadow: 0 0 0 2px var(--color-primary-element-text);\n background-color: var(--color-box-shadow);\n}\n.modal-wrapper .prev[data-v-1ea9d450] {\n left: 2px;\n}\n.modal-wrapper .next[data-v-1ea9d450] {\n right: 2px;\n}\n.modal-wrapper .modal-container[data-v-1ea9d450] {\n position: relative;\n display: flex;\n padding: 0;\n transition: transform .3s ease;\n border-radius: var(--border-radius-large);\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n box-shadow: 0 0 40px #0003;\n}\n.modal-wrapper .modal-container__close[data-v-1ea9d450] {\n z-index: 1;\n position: absolute;\n top: 4px;\n right: 4px;\n}\n.modal-wrapper .modal-container__content[data-v-1ea9d450] {\n width: 100%;\n min-height: 52px;\n overflow: auto;\n}\n.modal-wrapper--small > .modal-container[data-v-1ea9d450] {\n width: 400px;\n max-width: 90%;\n max-height: min(90%, 100% - 100px);\n}\n.modal-wrapper--normal > .modal-container[data-v-1ea9d450] {\n max-width: 90%;\n width: 600px;\n max-height: min(90%, 100% - 100px);\n}\n.modal-wrapper--large > .modal-container[data-v-1ea9d450] {\n max-width: 90%;\n width: 900px;\n max-height: min(90%, 100% - 100px);\n}\n.modal-wrapper--full > .modal-container[data-v-1ea9d450] {\n width: 100%;\n height: calc(100% - var(--header-height));\n position: absolute;\n top: 50px;\n border-radius: 0;\n}\n@media only screen and ((max-width: 512px) or (max-height: 400px)) {\n .modal-wrapper .modal-container[data-v-1ea9d450] {\n max-width: initial;\n width: 100%;\n max-height: initial;\n height: calc(100% - var(--header-height));\n position: absolute;\n top: 50px;\n border-radius: 0;\n }\n}\n.fade-enter-active[data-v-1ea9d450],\n.fade-leave-active[data-v-1ea9d450] {\n transition: opacity .25s;\n}\n.fade-enter[data-v-1ea9d450],\n.fade-leave-to[data-v-1ea9d450] {\n opacity: 0;\n}\n.fade-visibility-enter[data-v-1ea9d450],\n.fade-visibility-leave-to[data-v-1ea9d450] {\n visibility: hidden;\n opacity: 0;\n}\n.modal-in-enter-active[data-v-1ea9d450],\n.modal-in-leave-active[data-v-1ea9d450],\n.modal-out-enter-active[data-v-1ea9d450],\n.modal-out-leave-active[data-v-1ea9d450] {\n transition: opacity .25s;\n}\n.modal-in-enter[data-v-1ea9d450],\n.modal-in-leave-to[data-v-1ea9d450],\n.modal-out-enter[data-v-1ea9d450],\n.modal-out-leave-to[data-v-1ea9d450] {\n opacity: 0;\n}\n.modal-in-enter .modal-container[data-v-1ea9d450],\n.modal-in-leave-to .modal-container[data-v-1ea9d450] {\n transform: scale(.9);\n}\n.modal-out-enter .modal-container[data-v-1ea9d450],\n.modal-out-leave-to .modal-container[data-v-1ea9d450] {\n transform: scale(1.1);\n}\n.modal-mask .play-pause-icons .progress-ring[data-v-1ea9d450] {\n position: absolute;\n top: 0;\n left: 0;\n transform: rotate(-90deg);\n}\n.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1ea9d450] {\n transition: .1s stroke-dashoffset;\n transform-origin: 50% 50%;\n animation: progressring-1ea9d450 linear var(--slideshow-duration) infinite;\n stroke-linecap: round;\n stroke-dashoffset: 94.2477796077;\n stroke-dasharray: 94.2477796077;\n}\n.modal-mask .play-pause-icons--paused .icon-pause[data-v-1ea9d450] {\n animation: breath-1ea9d450 2s cubic-bezier(.4, 0, .2, 1) infinite;\n}\n.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1ea9d450] {\n animation-play-state: paused !important;\n}\n@keyframes progressring-1ea9d450 {\n 0% {\n stroke-dashoffset: 94.2477796077;\n }\n to {\n stroke-dashoffset: 0;\n }\n}\n@keyframes breath-1ea9d450 {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|59(0|28)|82(0|79)|(78|96)43|1952|4012|4897|6174|6371)$/.test(n.j)?null:o},2441:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-722d543a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.notecard[data-v-722d543a] {\n color: var(--color-main-text) !important;\n background-color: var(--note-background) !important;\n border-inline-start: 4px solid var(--note-theme);\n border-radius: var(--border-radius);\n margin: 1rem 0;\n padding: 1rem;\n display: flex;\n flex-direction: row;\n gap: 1rem;\n}\n.notecard__icon--heading[data-v-722d543a] {\n margin-bottom: auto;\n margin-top: .3rem;\n}\n.notecard--success[data-v-722d543a] {\n --note-background: rgba(var(--color-success-rgb), .1);\n --note-theme: var(--color-success);\n}\n.notecard--info[data-v-722d543a] {\n --note-background: rgba(var(--color-info-rgb), .1);\n --note-theme: var(--color-info);\n}\n.notecard--error[data-v-722d543a] {\n --note-background: rgba(var(--color-error-rgb), .1);\n --note-theme: var(--color-error);\n}\n.notecard--warning[data-v-722d543a] {\n --note-background: rgba(var(--color-warning-rgb), .1);\n --note-theme: var(--color-warning);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcNoteCard-f0NZpwjL.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,wCAAwC;EACxC,mDAAmD;EACnD,gDAAgD;EAChD,mCAAmC;EACnC,cAAc;EACd,aAAa;EACb,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,mBAAmB;EACnB,iBAAiB;AACnB;AACA;EACE,qDAAqD;EACrD,kCAAkC;AACpC;AACA;EACE,kDAAkD;EAClD,+BAA+B;AACjC;AACA;EACE,mDAAmD;EACnD,gCAAgC;AAClC;AACA;EACE,qDAAqD;EACrD,kCAAkC;AACpC",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-722d543a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.notecard[data-v-722d543a] {\n color: var(--color-main-text) !important;\n background-color: var(--note-background) !important;\n border-inline-start: 4px solid var(--note-theme);\n border-radius: var(--border-radius);\n margin: 1rem 0;\n padding: 1rem;\n display: flex;\n flex-direction: row;\n gap: 1rem;\n}\n.notecard__icon--heading[data-v-722d543a] {\n margin-bottom: auto;\n margin-top: .3rem;\n}\n.notecard--success[data-v-722d543a] {\n --note-background: rgba(var(--color-success-rgb), .1);\n --note-theme: var(--color-success);\n}\n.notecard--info[data-v-722d543a] {\n --note-background: rgba(var(--color-info-rgb), .1);\n --note-theme: var(--color-info);\n}\n.notecard--error[data-v-722d543a] {\n --note-background: rgba(var(--color-error-rgb), .1);\n --note-theme: var(--color-error);\n}\n.notecard--warning[data-v-722d543a] {\n --note-background: rgba(var(--color-warning-rgb), .1);\n --note-theme: var(--color-warning);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371)$/.test(n.j)?null:o},86875:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resize-observer {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n border: none;\n background-color: transparent;\n pointer-events: none;\n display: block;\n overflow: hidden;\n opacity: 0;\n}\n.resize-observer object {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.v-popper--theme-dropdown.v-popper__popper {\n z-index: 100000;\n top: 0;\n left: 0;\n display: block !important;\n filter: drop-shadow(0 1px 10px var(--color-box-shadow));\n}\n.v-popper--theme-dropdown.v-popper__popper .v-popper__inner {\n padding: 0;\n color: var(--color-main-text);\n border-radius: var(--border-radius-large);\n overflow: hidden;\n background: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container {\n position: absolute;\n z-index: 1;\n width: 0;\n height: 0;\n border-style: solid;\n border-color: transparent;\n border-width: 10px;\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container {\n bottom: -10px;\n border-bottom-width: 0;\n border-top-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container {\n top: -10px;\n border-top-width: 0;\n border-bottom-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container {\n left: -10px;\n border-left-width: 0;\n border-right-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container {\n right: -10px;\n border-right-width: 0;\n border-left-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true] {\n visibility: hidden;\n transition: opacity var(--animation-quick), visibility var(--animation-quick);\n opacity: 0;\n}\n.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false] {\n visibility: visible;\n transition: opacity var(--animation-quick);\n opacity: 1;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcPopover-MK4GcuPY.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,6BAA6B;EAC7B,oBAAoB;EACpB,cAAc;EACd,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,oBAAoB;EACpB,WAAW;AACb;AACA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,yBAAyB;EACzB,uDAAuD;AACzD;AACA;EACE,UAAU;EACV,6BAA6B;EAC7B,yCAAyC;EACzC,gBAAgB;EAChB,wCAAwC;AAC1C;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,yBAAyB;EACzB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,8CAA8C;AAChD;AACA;EACE,UAAU;EACV,mBAAmB;EACnB,iDAAiD;AACnD;AACA;EACE,WAAW;EACX,oBAAoB;EACpB,gDAAgD;AAClD;AACA;EACE,YAAY;EACZ,qBAAqB;EACrB,+CAA+C;AACjD;AACA;EACE,kBAAkB;EAClB,6EAA6E;EAC7E,UAAU;AACZ;AACA;EACE,mBAAmB;EACnB,0CAA0C;EAC1C,UAAU;AACZ",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resize-observer {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n border: none;\n background-color: transparent;\n pointer-events: none;\n display: block;\n overflow: hidden;\n opacity: 0;\n}\n.resize-observer object {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.v-popper--theme-dropdown.v-popper__popper {\n z-index: 100000;\n top: 0;\n left: 0;\n display: block !important;\n filter: drop-shadow(0 1px 10px var(--color-box-shadow));\n}\n.v-popper--theme-dropdown.v-popper__popper .v-popper__inner {\n padding: 0;\n color: var(--color-main-text);\n border-radius: var(--border-radius-large);\n overflow: hidden;\n background: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container {\n position: absolute;\n z-index: 1;\n width: 0;\n height: 0;\n border-style: solid;\n border-color: transparent;\n border-width: 10px;\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container {\n bottom: -10px;\n border-bottom-width: 0;\n border-top-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container {\n top: -10px;\n border-top-width: 0;\n border-bottom-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container {\n left: -10px;\n border-left-width: 0;\n border-right-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container {\n right: -10px;\n border-right-width: 0;\n border-left-color: var(--color-main-background);\n}\n.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true] {\n visibility: hidden;\n transition: opacity var(--animation-quick), visibility var(--animation-quick);\n opacity: 0;\n}\n.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false] {\n visibility: visible;\n transition: opacity var(--animation-quick);\n opacity: 1;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|4012|4897|6174|6371)$/.test(n.j)?null:o},94724:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-bfe47e7c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.progress-bar[data-v-bfe47e7c] {\n display: block;\n height: var(--progress-bar-height);\n --progress-bar-color: var(--0f3d9b00);\n}\n.progress-bar--linear[data-v-bfe47e7c] {\n width: 100%;\n overflow: hidden;\n border: 0;\n padding: 0;\n background: var(--color-background-dark);\n border-radius: calc(var(--progress-bar-height) / 2);\n}\n.progress-bar--linear[data-v-bfe47e7c]::-webkit-progress-bar {\n height: var(--progress-bar-height);\n background-color: transparent;\n}\n.progress-bar--linear[data-v-bfe47e7c]::-webkit-progress-value {\n background: var(--progress-bar-color, var(--gradient-primary-background));\n border-radius: calc(var(--progress-bar-height) / 2);\n}\n.progress-bar--linear[data-v-bfe47e7c]::-moz-progress-bar {\n background: var(--progress-bar-color, var(--gradient-primary-background));\n border-radius: calc(var(--progress-bar-height) / 2);\n}\n.progress-bar--circular[data-v-bfe47e7c] {\n width: var(--progress-bar-height);\n color: var(--progress-bar-color, var(--color-primary-element));\n}\n.progress-bar--error[data-v-bfe47e7c] {\n color: var(--color-error) !important;\n}\n.progress-bar--error[data-v-bfe47e7c]::-moz-progress-bar {\n background: var(--color-error) !important;\n}\n.progress-bar--error[data-v-bfe47e7c]::-webkit-progress-value {\n background: var(--color-error) !important;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcProgressBar-w4-G5gQR.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,kCAAkC;EAClC,qCAAqC;AACvC;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,UAAU;EACV,wCAAwC;EACxC,mDAAmD;AACrD;AACA;EACE,kCAAkC;EAClC,6BAA6B;AAC/B;AACA;EACE,yEAAyE;EACzE,mDAAmD;AACrD;AACA;EACE,yEAAyE;EACzE,mDAAmD;AACrD;AACA;EACE,iCAAiC;EACjC,8DAA8D;AAChE;AACA;EACE,oCAAoC;AACtC;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-bfe47e7c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.progress-bar[data-v-bfe47e7c] {\n display: block;\n height: var(--progress-bar-height);\n --progress-bar-color: var(--0f3d9b00);\n}\n.progress-bar--linear[data-v-bfe47e7c] {\n width: 100%;\n overflow: hidden;\n border: 0;\n padding: 0;\n background: var(--color-background-dark);\n border-radius: calc(var(--progress-bar-height) / 2);\n}\n.progress-bar--linear[data-v-bfe47e7c]::-webkit-progress-bar {\n height: var(--progress-bar-height);\n background-color: transparent;\n}\n.progress-bar--linear[data-v-bfe47e7c]::-webkit-progress-value {\n background: var(--progress-bar-color, var(--gradient-primary-background));\n border-radius: calc(var(--progress-bar-height) / 2);\n}\n.progress-bar--linear[data-v-bfe47e7c]::-moz-progress-bar {\n background: var(--progress-bar-color, var(--gradient-primary-background));\n border-radius: calc(var(--progress-bar-height) / 2);\n}\n.progress-bar--circular[data-v-bfe47e7c] {\n width: var(--progress-bar-height);\n color: var(--progress-bar-color, var(--color-primary-element));\n}\n.progress-bar--error[data-v-bfe47e7c] {\n color: var(--color-error) !important;\n}\n.progress-bar--error[data-v-bfe47e7c]::-moz-progress-bar {\n background: var(--color-error) !important;\n}\n.progress-bar--error[data-v-bfe47e7c]::-webkit-progress-value {\n background: var(--color-error) !important;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},13146:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-1a960bef] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-1a960bef] {\n display: flex;\n align-items: center;\n height: 44px;\n}\n.resource__button[data-v-1a960bef] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-1a960bef] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-1a960bef] .button-vue__wrapper .button-vue__text {\n font-weight: 400 !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-1a960bef] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-1a960bef] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-dc5c8227] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header[data-v-dc5c8227] {\n margin: 0 0 10px 46px;\n}\n.related-resources__header h5[data-v-dc5c8227] {\n font-weight: 700;\n}\n.related-resources__header p[data-v-dc5c8227] {\n color: var(--color-text-maxcontrast);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-m3uf_nvH.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,sCAAsC;EACtC,qBAAqB;AACvB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,2BAA2B;EAC3B,2BAA2B;AAC7B;AACA;EACE,WAAW;EACX,YAAY;EACZ,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,wCAAwC;AAC1C;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,oCAAoC;AACtC",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-1a960bef] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-1a960bef] {\n display: flex;\n align-items: center;\n height: 44px;\n}\n.resource__button[data-v-1a960bef] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-1a960bef] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-1a960bef] .button-vue__wrapper .button-vue__text {\n font-weight: 400 !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-1a960bef] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-1a960bef] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-dc5c8227] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header[data-v-dc5c8227] {\n margin: 0 0 10px 46px;\n}\n.related-resources__header h5[data-v-dc5c8227] {\n font-weight: 700;\n}\n.related-resources__header p[data-v-dc5c8227] {\n color: var(--color-text-maxcontrast);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},66913:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-9cff39ed] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.autocomplete-result[data-v-9cff39ed] {\n display: flex;\n height: var(--default-clickable-area);\n padding: var(--default-grid-baseline) 0;\n}\n.autocomplete-result__icon[data-v-9cff39ed] {\n position: relative;\n flex: 0 0 var(--default-clickable-area);\n width: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n border-radius: var(--default-clickable-area);\n background-color: var(--color-background-darker);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n}\n.autocomplete-result__icon--with-avatar[data-v-9cff39ed] {\n color: inherit;\n background-size: cover;\n}\n.autocomplete-result__status[data-v-9cff39ed] {\n box-sizing: border-box;\n position: absolute;\n right: -4px;\n bottom: -4px;\n min-width: 18px;\n min-height: 18px;\n width: 18px;\n height: 18px;\n border: 2px solid var(--color-main-background);\n border-radius: 50%;\n background-color: var(--color-main-background);\n font-size: var(--default-font-size);\n line-height: 15px;\n background-repeat: no-repeat;\n background-size: 16px;\n background-position: center;\n}\n.autocomplete-result__status--icon[data-v-9cff39ed] {\n border: none;\n background-color: transparent;\n}\n.autocomplete-result__content[data-v-9cff39ed] {\n display: flex;\n flex: 1 1 100%;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n padding-left: calc(var(--default-grid-baseline) * 2);\n}\n.autocomplete-result__title[data-v-9cff39ed],\n.autocomplete-result__subline[data-v-9cff39ed] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.autocomplete-result__subline[data-v-9cff39ed] {\n color: var(--color-text-maxcontrast);\n}\n.material-design-icon[data-v-b659b434] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.rich-contenteditable[data-v-b659b434] {\n position: relative;\n width: auto;\n}\n.rich-contenteditable__label[data-v-b659b434] {\n position: absolute;\n margin-inline: 14px 0;\n max-width: fit-content;\n inset-block-start: 11px;\n inset-inline: 0;\n color: var(--color-text-maxcontrast);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick),\n background-color var(--animation-quick) var(--animation-slow);\n}\n.rich-contenteditable__input:focus + .rich-contenteditable__label[data-v-b659b434],\n.rich-contenteditable__input:not(.rich-contenteditable__input--empty) + .rich-contenteditable__label[data-v-b659b434] {\n inset-block-start: -10px;\n line-height: 1.5;\n font-size: 13px;\n font-weight: 500;\n border-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n background-color: var(--color-main-background);\n padding-inline: 5px;\n margin-inline-start: 9px;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick);\n}\n.rich-contenteditable__input[data-v-b659b434] {\n overflow-y: auto;\n width: auto;\n margin: 0;\n padding: 8px;\n cursor: text;\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--color-main-text);\n border: 2px solid var(--color-border-maxcontrast);\n border-radius: var(--border-radius-large);\n outline: none;\n background-color: var(--color-main-background);\n font-family: var(--font-face);\n font-size: inherit;\n min-height: 44px;\n max-height: 242px;\n}\n.rich-contenteditable__input--has-label[data-v-b659b434] {\n margin-top: 10px;\n}\n.rich-contenteditable__input--empty[data-v-b659b434]:focus:before,\n.rich-contenteditable__input--empty[data-v-b659b434]:not(.rich-contenteditable__input--has-label):before {\n content: attr(aria-placeholder);\n color: var(--color-text-maxcontrast);\n position: absolute;\n}\n.rich-contenteditable__input[contenteditable=false][data-v-b659b434]:not(.rich-contenteditable__input--disabled) {\n cursor: default;\n background-color: transparent;\n color: var(--color-main-text);\n border-color: transparent;\n opacity: 1;\n border-radius: 0;\n}\n.rich-contenteditable__input--multiline[data-v-b659b434] {\n min-height: 132px;\n max-height: none;\n}\n.rich-contenteditable__input--disabled[data-v-b659b434] {\n opacity: .5;\n color: var(--color-text-maxcontrast);\n border: 2px solid var(--color-background-darker);\n border-radius: var(--border-radius);\n background-color: var(--color-background-dark);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n._material-design-icon_pq0s6_26 {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n._tribute-container_pq0s6_34 {\n z-index: 9000;\n overflow: auto;\n position: absolute;\n left: -10000px;\n margin: var(--default-grid-baseline) 0;\n padding: var(--default-grid-baseline);\n color: var(--color-text-maxcontrast);\n border-radius: var(--border-radius);\n background: var(--color-main-background);\n box-shadow: 0 1px 5px var(--color-box-shadow);\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46 {\n color: var(--color-text-maxcontrast);\n border-radius: var(--border-radius);\n padding: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline));\n margin-bottom: var(--default-grid-baseline);\n cursor: pointer;\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46:last-child {\n margin-bottom: 0;\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46.highlight {\n color: var(--color-main-text);\n background: var(--color-background-hover);\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46.highlight,\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46.highlight * {\n cursor: pointer;\n}\n._tribute-container_pq0s6_34._tribute-container--focus-visible_pq0s6_63 .highlight._tribute-container__item_pq0s6_46 {\n outline: 2px solid var(--color-main-text) !important;\n}\n._tribute-container-autocomplete_pq0s6_67 {\n min-width: 250px;\n max-width: 300px;\n max-height: calc((var(--default-clickable-area) + 5 * var(--default-grid-baseline)) * 4.5 - 1.5 * var(--default-grid-baseline));\n}\n._tribute-container-emoji_pq0s6_73,\n._tribute-container-link_pq0s6_74 {\n min-width: 200px;\n max-width: 200px;\n max-height: calc((24px + 3 * var(--default-grid-baseline)) * 5.5 - 1.5 * var(--default-grid-baseline));\n}\n._tribute-container-emoji_pq0s6_73 ._tribute-item_pq0s6_79,\n._tribute-container-link_pq0s6_74 ._tribute-item_pq0s6_79 {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n._tribute-container-emoji_pq0s6_73 ._tribute-item__emoji_pq0s6_85,\n._tribute-container-link_pq0s6_74 ._tribute-item__emoji_pq0s6_85 {\n padding-right: calc(var(--default-grid-baseline) * 2);\n}\n._tribute-container-link_pq0s6_74 {\n min-width: 200px;\n max-width: 300px;\n}\n._tribute-container-link_pq0s6_74 ._tribute-item_pq0s6_79 {\n display: flex;\n align-items: center;\n}\n._tribute-container-link_pq0s6_74 ._tribute-item__title_pq0s6_98 {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n._tribute-container-link_pq0s6_74 ._tribute-item__icon_pq0s6_103 {\n margin: auto 0;\n width: 20px;\n height: 20px;\n object-fit: contain;\n padding-right: calc(var(--default-grid-baseline) * 2);\n filter: var(--background-invert-if-dark);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcRichContenteditable-CuR1YKTU.css"],names:[],mappings:"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",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-9cff39ed] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.autocomplete-result[data-v-9cff39ed] {\n display: flex;\n height: var(--default-clickable-area);\n padding: var(--default-grid-baseline) 0;\n}\n.autocomplete-result__icon[data-v-9cff39ed] {\n position: relative;\n flex: 0 0 var(--default-clickable-area);\n width: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n border-radius: var(--default-clickable-area);\n background-color: var(--color-background-darker);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n}\n.autocomplete-result__icon--with-avatar[data-v-9cff39ed] {\n color: inherit;\n background-size: cover;\n}\n.autocomplete-result__status[data-v-9cff39ed] {\n box-sizing: border-box;\n position: absolute;\n right: -4px;\n bottom: -4px;\n min-width: 18px;\n min-height: 18px;\n width: 18px;\n height: 18px;\n border: 2px solid var(--color-main-background);\n border-radius: 50%;\n background-color: var(--color-main-background);\n font-size: var(--default-font-size);\n line-height: 15px;\n background-repeat: no-repeat;\n background-size: 16px;\n background-position: center;\n}\n.autocomplete-result__status--icon[data-v-9cff39ed] {\n border: none;\n background-color: transparent;\n}\n.autocomplete-result__content[data-v-9cff39ed] {\n display: flex;\n flex: 1 1 100%;\n flex-direction: column;\n justify-content: center;\n min-width: 0;\n padding-left: calc(var(--default-grid-baseline) * 2);\n}\n.autocomplete-result__title[data-v-9cff39ed],\n.autocomplete-result__subline[data-v-9cff39ed] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.autocomplete-result__subline[data-v-9cff39ed] {\n color: var(--color-text-maxcontrast);\n}\n.material-design-icon[data-v-b659b434] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.rich-contenteditable[data-v-b659b434] {\n position: relative;\n width: auto;\n}\n.rich-contenteditable__label[data-v-b659b434] {\n position: absolute;\n margin-inline: 14px 0;\n max-width: fit-content;\n inset-block-start: 11px;\n inset-inline: 0;\n color: var(--color-text-maxcontrast);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick),\n background-color var(--animation-quick) var(--animation-slow);\n}\n.rich-contenteditable__input:focus + .rich-contenteditable__label[data-v-b659b434],\n.rich-contenteditable__input:not(.rich-contenteditable__input--empty) + .rich-contenteditable__label[data-v-b659b434] {\n inset-block-start: -10px;\n line-height: 1.5;\n font-size: 13px;\n font-weight: 500;\n border-radius: var(--default-grid-baseline) var(--default-grid-baseline) 0 0;\n background-color: var(--color-main-background);\n padding-inline: 5px;\n margin-inline-start: 9px;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick);\n}\n.rich-contenteditable__input[data-v-b659b434] {\n overflow-y: auto;\n width: auto;\n margin: 0;\n padding: 8px;\n cursor: text;\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--color-main-text);\n border: 2px solid var(--color-border-maxcontrast);\n border-radius: var(--border-radius-large);\n outline: none;\n background-color: var(--color-main-background);\n font-family: var(--font-face);\n font-size: inherit;\n min-height: 44px;\n max-height: 242px;\n}\n.rich-contenteditable__input--has-label[data-v-b659b434] {\n margin-top: 10px;\n}\n.rich-contenteditable__input--empty[data-v-b659b434]:focus:before,\n.rich-contenteditable__input--empty[data-v-b659b434]:not(.rich-contenteditable__input--has-label):before {\n content: attr(aria-placeholder);\n color: var(--color-text-maxcontrast);\n position: absolute;\n}\n.rich-contenteditable__input[contenteditable=false][data-v-b659b434]:not(.rich-contenteditable__input--disabled) {\n cursor: default;\n background-color: transparent;\n color: var(--color-main-text);\n border-color: transparent;\n opacity: 1;\n border-radius: 0;\n}\n.rich-contenteditable__input--multiline[data-v-b659b434] {\n min-height: 132px;\n max-height: none;\n}\n.rich-contenteditable__input--disabled[data-v-b659b434] {\n opacity: .5;\n color: var(--color-text-maxcontrast);\n border: 2px solid var(--color-background-darker);\n border-radius: var(--border-radius);\n background-color: var(--color-background-dark);\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n._material-design-icon_pq0s6_26 {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n._tribute-container_pq0s6_34 {\n z-index: 9000;\n overflow: auto;\n position: absolute;\n left: -10000px;\n margin: var(--default-grid-baseline) 0;\n padding: var(--default-grid-baseline);\n color: var(--color-text-maxcontrast);\n border-radius: var(--border-radius);\n background: var(--color-main-background);\n box-shadow: 0 1px 5px var(--color-box-shadow);\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46 {\n color: var(--color-text-maxcontrast);\n border-radius: var(--border-radius);\n padding: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline));\n margin-bottom: var(--default-grid-baseline);\n cursor: pointer;\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46:last-child {\n margin-bottom: 0;\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46.highlight {\n color: var(--color-main-text);\n background: var(--color-background-hover);\n}\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46.highlight,\n._tribute-container_pq0s6_34 ._tribute-container__item_pq0s6_46.highlight * {\n cursor: pointer;\n}\n._tribute-container_pq0s6_34._tribute-container--focus-visible_pq0s6_63 .highlight._tribute-container__item_pq0s6_46 {\n outline: 2px solid var(--color-main-text) !important;\n}\n._tribute-container-autocomplete_pq0s6_67 {\n min-width: 250px;\n max-width: 300px;\n max-height: calc((var(--default-clickable-area) + 5 * var(--default-grid-baseline)) * 4.5 - 1.5 * var(--default-grid-baseline));\n}\n._tribute-container-emoji_pq0s6_73,\n._tribute-container-link_pq0s6_74 {\n min-width: 200px;\n max-width: 200px;\n max-height: calc((24px + 3 * var(--default-grid-baseline)) * 5.5 - 1.5 * var(--default-grid-baseline));\n}\n._tribute-container-emoji_pq0s6_73 ._tribute-item_pq0s6_79,\n._tribute-container-link_pq0s6_74 ._tribute-item_pq0s6_79 {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n._tribute-container-emoji_pq0s6_73 ._tribute-item__emoji_pq0s6_85,\n._tribute-container-link_pq0s6_74 ._tribute-item__emoji_pq0s6_85 {\n padding-right: calc(var(--default-grid-baseline) * 2);\n}\n._tribute-container-link_pq0s6_74 {\n min-width: 200px;\n max-width: 300px;\n}\n._tribute-container-link_pq0s6_74 ._tribute-item_pq0s6_79 {\n display: flex;\n align-items: center;\n}\n._tribute-container-link_pq0s6_74 ._tribute-item__title_pq0s6_98 {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n._tribute-container-link_pq0s6_74 ._tribute-item__icon_pq0s6_103 {\n margin: auto 0;\n width: 20px;\n height: 20px;\n object-fit: contain;\n padding-right: calc(var(--default-grid-baseline) * 2);\n filter: var(--background-invert-if-dark);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},99903:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-ce89eeda] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.widgets--list.icon-loading[data-v-ce89eeda] {\n min-height: 44px;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-0f33c076] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.rich-text--wrapper[data-v-0f33c076] {\n word-break: break-word;\n line-height: 1.5;\n}\n.rich-text--wrapper .rich-text--fallback[data-v-0f33c076],\n.rich-text--wrapper .rich-text-component[data-v-0f33c076] {\n display: inline;\n}\n.rich-text--wrapper .rich-text--external-link[data-v-0f33c076] {\n text-decoration: underline;\n}\n.rich-text--wrapper .rich-text--external-link[data-v-0f33c076]:after {\n content: " ↗";\n}\n.rich-text--wrapper .rich-text--ordered-list .rich-text--list-item[data-v-0f33c076] {\n list-style: decimal;\n}\n.rich-text--wrapper .rich-text--un-ordered-list .rich-text--list-item[data-v-0f33c076] {\n list-style: initial;\n}\n.rich-text--wrapper .rich-text--list-item[data-v-0f33c076] {\n white-space: initial;\n color: var(--color-text-light);\n padding: initial;\n margin-left: 20px;\n}\n.rich-text--wrapper .rich-text--list-item.task-list-item[data-v-0f33c076] {\n list-style: none;\n white-space: initial;\n color: var(--color-text-light);\n}\n.rich-text--wrapper .rich-text--list-item.task-list-item input[data-v-0f33c076] {\n min-height: initial;\n}\n.rich-text--wrapper .rich-text--strong[data-v-0f33c076] {\n white-space: initial;\n font-weight: 700;\n color: var(--color-text-light);\n}\n.rich-text--wrapper .rich-text--italic[data-v-0f33c076] {\n white-space: initial;\n font-style: italic;\n color: var(--color-text-light);\n}\n.rich-text--wrapper .rich-text--heading[data-v-0f33c076] {\n white-space: initial;\n font-size: initial;\n color: var(--color-text-light);\n margin-bottom: 5px;\n margin-top: 5px;\n font-weight: 700;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-1[data-v-0f33c076] {\n font-size: 20px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-2[data-v-0f33c076] {\n font-size: 19px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-3[data-v-0f33c076] {\n font-size: 18px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-4[data-v-0f33c076] {\n font-size: 17px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-5[data-v-0f33c076] {\n font-size: 16px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-6[data-v-0f33c076] {\n font-size: 15px;\n}\n.rich-text--wrapper .rich-text--hr[data-v-0f33c076] {\n border-top: 1px solid var(--color-border-dark);\n border-bottom: 0;\n}\n.rich-text--wrapper .rich-text--pre[data-v-0f33c076] {\n border: 1px solid var(--color-border-dark);\n background-color: var(--color-background-dark);\n padding: 5px;\n}\n.rich-text--wrapper .rich-text--code[data-v-0f33c076] {\n background-color: var(--color-background-dark);\n}\n.rich-text--wrapper .rich-text--blockquote[data-v-0f33c076] {\n border-left: 3px solid var(--color-border-dark);\n padding-left: 5px;\n}\n.rich-text--wrapper .rich-text--table[data-v-0f33c076] {\n border-collapse: collapse;\n}\n.rich-text--wrapper .rich-text--table thead tr th[data-v-0f33c076] {\n border: 1px solid var(--color-border-dark);\n font-weight: 700;\n padding: 6px 13px;\n}\n.rich-text--wrapper .rich-text--table tbody tr td[data-v-0f33c076] {\n border: 1px solid var(--color-border-dark);\n padding: 6px 13px;\n}\n.rich-text--wrapper .rich-text--table tbody tr[data-v-0f33c076]:nth-child(2n) {\n background-color: var(--color-background-dark);\n}\n.rich-text--wrapper-markdown div > *[data-v-0f33c076]:first-child,\n.rich-text--wrapper-markdown blockquote > *[data-v-0f33c076]:first-child {\n margin-top: 0 !important;\n}\n.rich-text--wrapper-markdown div > *[data-v-0f33c076]:last-child,\n.rich-text--wrapper-markdown blockquote > *[data-v-0f33c076]:last-child {\n margin-bottom: 0 !important;\n}\n.rich-text--wrapper-markdown h1[data-v-0f33c076],\n.rich-text--wrapper-markdown h2[data-v-0f33c076],\n.rich-text--wrapper-markdown h3[data-v-0f33c076],\n.rich-text--wrapper-markdown h4[data-v-0f33c076],\n.rich-text--wrapper-markdown h5[data-v-0f33c076],\n.rich-text--wrapper-markdown h6[data-v-0f33c076],\n.rich-text--wrapper-markdown p[data-v-0f33c076],\n.rich-text--wrapper-markdown ul[data-v-0f33c076],\n.rich-text--wrapper-markdown ol[data-v-0f33c076],\n.rich-text--wrapper-markdown blockquote[data-v-0f33c076],\n.rich-text--wrapper-markdown pre[data-v-0f33c076] {\n margin-top: 0;\n margin-bottom: 1em;\n}\n.rich-text--wrapper-markdown h1[data-v-0f33c076],\n.rich-text--wrapper-markdown h2[data-v-0f33c076],\n.rich-text--wrapper-markdown h3[data-v-0f33c076],\n.rich-text--wrapper-markdown h4[data-v-0f33c076],\n.rich-text--wrapper-markdown h5[data-v-0f33c076],\n.rich-text--wrapper-markdown h6[data-v-0f33c076] {\n font-weight: 700;\n}\n.rich-text--wrapper-markdown h1[data-v-0f33c076] {\n font-size: 30px;\n}\n.rich-text--wrapper-markdown ul[data-v-0f33c076],\n.rich-text--wrapper-markdown ol[data-v-0f33c076] {\n padding-left: 15px;\n}\n.rich-text--wrapper-markdown ul[data-v-0f33c076] {\n list-style-type: disc;\n}\n.rich-text--wrapper-markdown ul.contains-task-list[data-v-0f33c076] {\n list-style-type: none;\n padding: 0;\n}\n.rich-text--wrapper-markdown table[data-v-0f33c076] {\n border-collapse: collapse;\n border: 2px solid var(--color-border-maxcontrast);\n}\n.rich-text--wrapper-markdown table th[data-v-0f33c076],\n.rich-text--wrapper-markdown table td[data-v-0f33c076] {\n padding: var(--default-grid-baseline);\n border: 1px solid var(--color-border-maxcontrast);\n}\n.rich-text--wrapper-markdown table th[data-v-0f33c076]:first-child,\n.rich-text--wrapper-markdown table td[data-v-0f33c076]:first-child {\n border-left: 0;\n}\n.rich-text--wrapper-markdown table th[data-v-0f33c076]:last-child,\n.rich-text--wrapper-markdown table td[data-v-0f33c076]:last-child {\n border-right: 0;\n}\n.rich-text--wrapper-markdown table tr:first-child th[data-v-0f33c076] {\n border-top: 0;\n}\n.rich-text--wrapper-markdown table tr:last-child td[data-v-0f33c076] {\n border-bottom: 0;\n}\n.rich-text--wrapper-markdown blockquote[data-v-0f33c076] {\n padding-left: 13px;\n border-left: 2px solid var(--color-border-dark);\n color: var(--color-text-lighter);\n}\na[data-v-0f33c076]:not(.rich-text--component) {\n text-decoration: underline;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcRichText-Pw6kTpnR.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;AAClB;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;EACtB,gBAAgB;AAClB;AACA;;EAEE,eAAe;AACjB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,aAAa;AACf;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,oBAAoB;EACpB,8BAA8B;EAC9B,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,gBAAgB;EAChB,oBAAoB;EACpB,8BAA8B;AAChC;AACA;EACE,mBAAmB;AACrB;AACA;EACE,oBAAoB;EACpB,gBAAgB;EAChB,8BAA8B;AAChC;AACA;EACE,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;AAChC;AACA;EACE,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;EAClB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,8CAA8C;EAC9C,gBAAgB;AAClB;AACA;EACE,0CAA0C;EAC1C,8CAA8C;EAC9C,YAAY;AACd;AACA;EACE,8CAA8C;AAChD;AACA;EACE,+CAA+C;EAC/C,iBAAiB;AACnB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,0CAA0C;EAC1C,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,0CAA0C;EAC1C,iBAAiB;AACnB;AACA;EACE,8CAA8C;AAChD;AACA;;EAEE,wBAAwB;AAC1B;AACA;;EAEE,2BAA2B;AAC7B;AACA;;;;;;;;;;;EAWE,aAAa;EACb,kBAAkB;AACpB;AACA;;;;;;EAME,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;;EAEE,kBAAkB;AACpB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,qBAAqB;EACrB,UAAU;AACZ;AACA;EACE,yBAAyB;EACzB,iDAAiD;AACnD;AACA;;EAEE,qCAAqC;EACrC,iDAAiD;AACnD;AACA;;EAEE,cAAc;AAChB;AACA;;EAEE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,+CAA+C;EAC/C,gCAAgC;AAClC;AACA;EACE,0BAA0B;AAC5B",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-ce89eeda] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.widgets--list.icon-loading[data-v-ce89eeda] {\n min-height: 44px;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-0f33c076] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.rich-text--wrapper[data-v-0f33c076] {\n word-break: break-word;\n line-height: 1.5;\n}\n.rich-text--wrapper .rich-text--fallback[data-v-0f33c076],\n.rich-text--wrapper .rich-text-component[data-v-0f33c076] {\n display: inline;\n}\n.rich-text--wrapper .rich-text--external-link[data-v-0f33c076] {\n text-decoration: underline;\n}\n.rich-text--wrapper .rich-text--external-link[data-v-0f33c076]:after {\n content: " ↗";\n}\n.rich-text--wrapper .rich-text--ordered-list .rich-text--list-item[data-v-0f33c076] {\n list-style: decimal;\n}\n.rich-text--wrapper .rich-text--un-ordered-list .rich-text--list-item[data-v-0f33c076] {\n list-style: initial;\n}\n.rich-text--wrapper .rich-text--list-item[data-v-0f33c076] {\n white-space: initial;\n color: var(--color-text-light);\n padding: initial;\n margin-left: 20px;\n}\n.rich-text--wrapper .rich-text--list-item.task-list-item[data-v-0f33c076] {\n list-style: none;\n white-space: initial;\n color: var(--color-text-light);\n}\n.rich-text--wrapper .rich-text--list-item.task-list-item input[data-v-0f33c076] {\n min-height: initial;\n}\n.rich-text--wrapper .rich-text--strong[data-v-0f33c076] {\n white-space: initial;\n font-weight: 700;\n color: var(--color-text-light);\n}\n.rich-text--wrapper .rich-text--italic[data-v-0f33c076] {\n white-space: initial;\n font-style: italic;\n color: var(--color-text-light);\n}\n.rich-text--wrapper .rich-text--heading[data-v-0f33c076] {\n white-space: initial;\n font-size: initial;\n color: var(--color-text-light);\n margin-bottom: 5px;\n margin-top: 5px;\n font-weight: 700;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-1[data-v-0f33c076] {\n font-size: 20px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-2[data-v-0f33c076] {\n font-size: 19px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-3[data-v-0f33c076] {\n font-size: 18px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-4[data-v-0f33c076] {\n font-size: 17px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-5[data-v-0f33c076] {\n font-size: 16px;\n}\n.rich-text--wrapper .rich-text--heading.rich-text--heading-6[data-v-0f33c076] {\n font-size: 15px;\n}\n.rich-text--wrapper .rich-text--hr[data-v-0f33c076] {\n border-top: 1px solid var(--color-border-dark);\n border-bottom: 0;\n}\n.rich-text--wrapper .rich-text--pre[data-v-0f33c076] {\n border: 1px solid var(--color-border-dark);\n background-color: var(--color-background-dark);\n padding: 5px;\n}\n.rich-text--wrapper .rich-text--code[data-v-0f33c076] {\n background-color: var(--color-background-dark);\n}\n.rich-text--wrapper .rich-text--blockquote[data-v-0f33c076] {\n border-left: 3px solid var(--color-border-dark);\n padding-left: 5px;\n}\n.rich-text--wrapper .rich-text--table[data-v-0f33c076] {\n border-collapse: collapse;\n}\n.rich-text--wrapper .rich-text--table thead tr th[data-v-0f33c076] {\n border: 1px solid var(--color-border-dark);\n font-weight: 700;\n padding: 6px 13px;\n}\n.rich-text--wrapper .rich-text--table tbody tr td[data-v-0f33c076] {\n border: 1px solid var(--color-border-dark);\n padding: 6px 13px;\n}\n.rich-text--wrapper .rich-text--table tbody tr[data-v-0f33c076]:nth-child(2n) {\n background-color: var(--color-background-dark);\n}\n.rich-text--wrapper-markdown div > *[data-v-0f33c076]:first-child,\n.rich-text--wrapper-markdown blockquote > *[data-v-0f33c076]:first-child {\n margin-top: 0 !important;\n}\n.rich-text--wrapper-markdown div > *[data-v-0f33c076]:last-child,\n.rich-text--wrapper-markdown blockquote > *[data-v-0f33c076]:last-child {\n margin-bottom: 0 !important;\n}\n.rich-text--wrapper-markdown h1[data-v-0f33c076],\n.rich-text--wrapper-markdown h2[data-v-0f33c076],\n.rich-text--wrapper-markdown h3[data-v-0f33c076],\n.rich-text--wrapper-markdown h4[data-v-0f33c076],\n.rich-text--wrapper-markdown h5[data-v-0f33c076],\n.rich-text--wrapper-markdown h6[data-v-0f33c076],\n.rich-text--wrapper-markdown p[data-v-0f33c076],\n.rich-text--wrapper-markdown ul[data-v-0f33c076],\n.rich-text--wrapper-markdown ol[data-v-0f33c076],\n.rich-text--wrapper-markdown blockquote[data-v-0f33c076],\n.rich-text--wrapper-markdown pre[data-v-0f33c076] {\n margin-top: 0;\n margin-bottom: 1em;\n}\n.rich-text--wrapper-markdown h1[data-v-0f33c076],\n.rich-text--wrapper-markdown h2[data-v-0f33c076],\n.rich-text--wrapper-markdown h3[data-v-0f33c076],\n.rich-text--wrapper-markdown h4[data-v-0f33c076],\n.rich-text--wrapper-markdown h5[data-v-0f33c076],\n.rich-text--wrapper-markdown h6[data-v-0f33c076] {\n font-weight: 700;\n}\n.rich-text--wrapper-markdown h1[data-v-0f33c076] {\n font-size: 30px;\n}\n.rich-text--wrapper-markdown ul[data-v-0f33c076],\n.rich-text--wrapper-markdown ol[data-v-0f33c076] {\n padding-left: 15px;\n}\n.rich-text--wrapper-markdown ul[data-v-0f33c076] {\n list-style-type: disc;\n}\n.rich-text--wrapper-markdown ul.contains-task-list[data-v-0f33c076] {\n list-style-type: none;\n padding: 0;\n}\n.rich-text--wrapper-markdown table[data-v-0f33c076] {\n border-collapse: collapse;\n border: 2px solid var(--color-border-maxcontrast);\n}\n.rich-text--wrapper-markdown table th[data-v-0f33c076],\n.rich-text--wrapper-markdown table td[data-v-0f33c076] {\n padding: var(--default-grid-baseline);\n border: 1px solid var(--color-border-maxcontrast);\n}\n.rich-text--wrapper-markdown table th[data-v-0f33c076]:first-child,\n.rich-text--wrapper-markdown table td[data-v-0f33c076]:first-child {\n border-left: 0;\n}\n.rich-text--wrapper-markdown table th[data-v-0f33c076]:last-child,\n.rich-text--wrapper-markdown table td[data-v-0f33c076]:last-child {\n border-right: 0;\n}\n.rich-text--wrapper-markdown table tr:first-child th[data-v-0f33c076] {\n border-top: 0;\n}\n.rich-text--wrapper-markdown table tr:last-child td[data-v-0f33c076] {\n border-bottom: 0;\n}\n.rich-text--wrapper-markdown blockquote[data-v-0f33c076] {\n padding-left: 13px;\n border-left: 2px solid var(--color-border-dark);\n color: var(--color-text-lighter);\n}\na[data-v-0f33c076]:not(.rich-text--component) {\n text-decoration: underline;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},54020:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\nbody {\n --vs-search-input-color: var(--color-main-text);\n --vs-search-input-bg: var(--color-main-background);\n --vs-search-input-placeholder-color: var(--color-text-maxcontrast);\n --vs-font-size: var(--default-font-size);\n --vs-line-height: var(--default-line-height);\n --vs-state-disabled-bg: var(--color-background-hover);\n --vs-state-disabled-color: var(--color-text-maxcontrast);\n --vs-state-disabled-controls-color: var(--color-text-maxcontrast);\n --vs-state-disabled-cursor: not-allowed;\n --vs-disabled-bg: var(--color-background-hover);\n --vs-disabled-color: var(--color-text-maxcontrast);\n --vs-disabled-cursor: not-allowed;\n --vs-border-color: var(--color-border-maxcontrast);\n --vs-border-width: 2px;\n --vs-border-style: solid;\n --vs-border-radius: var(--border-radius-large);\n --vs-controls-color: var(--color-main-text);\n --vs-selected-bg: var(--color-background-hover);\n --vs-selected-color: var(--color-main-text);\n --vs-selected-border-color: var(--vs-border-color);\n --vs-selected-border-style: var(--vs-border-style);\n --vs-selected-border-width: var(--vs-border-width);\n --vs-dropdown-bg: var(--color-main-background);\n --vs-dropdown-color: var(--color-main-text);\n --vs-dropdown-z-index: 9999;\n --vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);\n --vs-dropdown-option-padding: 8px 20px;\n --vs-dropdown-option--active-bg: var(--color-background-hover);\n --vs-dropdown-option--active-color: var(--color-main-text);\n --vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);\n --vs-dropdown-option--deselect-bg: var(--color-error);\n --vs-dropdown-option--deselect-color: #fff;\n --vs-transition-duration: 0ms;\n --vs-actions-padding: 0 8px 0 4px;\n}\n.v-select.select {\n min-height: 44px;\n min-width: 260px;\n margin: 0;\n}\n.v-select.select .select__label {\n display: block;\n margin-bottom: 2px;\n}\n.v-select.select .vs__selected {\n height: 32px;\n padding: 0 8px 0 12px;\n border-radius: 18px !important;\n background: var(--color-primary-element-light);\n border: none;\n}\n.v-select.select .vs__search,\n.v-select.select .vs__search:focus {\n margin: 2px 0 0;\n}\n.v-select.select .vs__dropdown-toggle {\n padding: 0;\n}\n.v-select.select .vs__clear {\n margin-right: 2px;\n}\n.v-select.select.vs--open .vs__dropdown-toggle {\n outline: 2px solid var(--color-main-background);\n border-color: var(--color-main-text);\n border-bottom-color: transparent;\n}\n.v-select.select:not(.vs--disabled, .vs--open) .vs__dropdown-toggle:hover {\n outline: 2px solid var(--color-main-background);\n border-color: var(--color-main-text);\n}\n.v-select.select.vs--disabled .vs__search,\n.v-select.select.vs--disabled .vs__selected {\n color: var(--color-text-maxcontrast);\n}\n.v-select.select.vs--disabled .vs__clear,\n.v-select.select.vs--disabled .vs__deselect {\n display: none;\n}\n.v-select.select--no-wrap .vs__selected-options {\n flex-wrap: nowrap;\n overflow: auto;\n min-width: unset;\n}\n.v-select.select--no-wrap .vs__selected-options .vs__selected {\n min-width: unset;\n}\n.v-select.select--drop-up.vs--open .vs__dropdown-toggle {\n border-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n border-top-color: transparent;\n border-bottom-color: var(--color-main-text);\n}\n.v-select.select .vs__selected-options {\n min-height: 40px;\n}\n.v-select.select .vs__selected-options .vs__selected ~ .vs__search[readonly] {\n position: absolute;\n}\n.v-select.select.vs--single.vs--loading .vs__selected,\n.v-select.select.vs--single.vs--open .vs__selected {\n max-width: 100%;\n opacity: 1;\n color: var(--color-text-maxcontrast);\n}\n.v-select.select.vs--single .vs__selected-options {\n flex-wrap: nowrap;\n}\n.v-select.select.vs--single .vs__selected {\n background: unset !important;\n}\n.vs__dropdown-menu {\n border-color: var(--color-main-text) !important;\n outline: none !important;\n box-shadow:\n -2px 0 0 var(--color-main-background),\n 0 2px 0 var(--color-main-background),\n 2px 0 0 var(--color-main-background), !important;\n padding: 4px !important;\n}\n.vs__dropdown-menu--floating {\n width: max-content;\n position: absolute;\n top: 0;\n left: 0;\n}\n.vs__dropdown-menu--floating-placement-top {\n border-radius: var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;\n border-top-style: var(--vs-border-style) !important;\n border-bottom-style: none !important;\n box-shadow:\n 0 -2px 0 var(--color-main-background),\n -2px 0 0 var(--color-main-background),\n 2px 0 0 var(--color-main-background), !important;\n}\n.vs__dropdown-menu .vs__dropdown-option {\n border-radius: 6px !important;\n}\n.vs__dropdown-menu .vs__no-options {\n color: var(--color-text-lighter) !important;\n}\n.user-select .vs__selected {\n padding: 0 2px !important;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSelect-GsLmwj9w.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,+CAA+C;EAC/C,kDAAkD;EAClD,kEAAkE;EAClE,wCAAwC;EACxC,4CAA4C;EAC5C,qDAAqD;EACrD,wDAAwD;EACxD,iEAAiE;EACjE,uCAAuC;EACvC,+CAA+C;EAC/C,kDAAkD;EAClD,iCAAiC;EACjC,kDAAkD;EAClD,sBAAsB;EACtB,wBAAwB;EACxB,8CAA8C;EAC9C,2CAA2C;EAC3C,+CAA+C;EAC/C,2CAA2C;EAC3C,kDAAkD;EAClD,kDAAkD;EAClD,kDAAkD;EAClD,8CAA8C;EAC9C,2CAA2C;EAC3C,2BAA2B;EAC3B,iEAAiE;EACjE,sCAAsC;EACtC,8DAA8D;EAC9D,0DAA0D;EAC1D,uFAAuF;EACvF,qDAAqD;EACrD,0CAA0C;EAC1C,6BAA6B;EAC7B,iCAAiC;AACnC;AACA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,SAAS;AACX;AACA;EACE,cAAc;EACd,kBAAkB;AACpB;AACA;EACE,YAAY;EACZ,qBAAqB;EACrB,8BAA8B;EAC9B,8CAA8C;EAC9C,YAAY;AACd;AACA;;EAEE,eAAe;AACjB;AACA;EACE,UAAU;AACZ;AACA;EACE,iBAAiB;AACnB;AACA;EACE,+CAA+C;EAC/C,oCAAoC;EACpC,gCAAgC;AAClC;AACA;EACE,+CAA+C;EAC/C,oCAAoC;AACtC;AACA;;EAEE,oCAAoC;AACtC;AACA;;EAEE,aAAa;AACf;AACA;EACE,iBAAiB;EACjB,cAAc;EACd,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kEAAkE;EAClE,6BAA6B;EAC7B,2CAA2C;AAC7C;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;;EAEE,eAAe;EACf,UAAU;EACV,oCAAoC;AACtC;AACA;EACE,iBAAiB;AACnB;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,+CAA+C;EAC/C,wBAAwB;EACxB;;;oDAGkD;EAClD,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;AACA;EACE,6EAA6E;EAC7E,mDAAmD;EACnD,oCAAoC;EACpC;;;oDAGkD;AACpD;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,yBAAyB;AAC3B",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\nbody {\n --vs-search-input-color: var(--color-main-text);\n --vs-search-input-bg: var(--color-main-background);\n --vs-search-input-placeholder-color: var(--color-text-maxcontrast);\n --vs-font-size: var(--default-font-size);\n --vs-line-height: var(--default-line-height);\n --vs-state-disabled-bg: var(--color-background-hover);\n --vs-state-disabled-color: var(--color-text-maxcontrast);\n --vs-state-disabled-controls-color: var(--color-text-maxcontrast);\n --vs-state-disabled-cursor: not-allowed;\n --vs-disabled-bg: var(--color-background-hover);\n --vs-disabled-color: var(--color-text-maxcontrast);\n --vs-disabled-cursor: not-allowed;\n --vs-border-color: var(--color-border-maxcontrast);\n --vs-border-width: 2px;\n --vs-border-style: solid;\n --vs-border-radius: var(--border-radius-large);\n --vs-controls-color: var(--color-main-text);\n --vs-selected-bg: var(--color-background-hover);\n --vs-selected-color: var(--color-main-text);\n --vs-selected-border-color: var(--vs-border-color);\n --vs-selected-border-style: var(--vs-border-style);\n --vs-selected-border-width: var(--vs-border-width);\n --vs-dropdown-bg: var(--color-main-background);\n --vs-dropdown-color: var(--color-main-text);\n --vs-dropdown-z-index: 9999;\n --vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);\n --vs-dropdown-option-padding: 8px 20px;\n --vs-dropdown-option--active-bg: var(--color-background-hover);\n --vs-dropdown-option--active-color: var(--color-main-text);\n --vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);\n --vs-dropdown-option--deselect-bg: var(--color-error);\n --vs-dropdown-option--deselect-color: #fff;\n --vs-transition-duration: 0ms;\n --vs-actions-padding: 0 8px 0 4px;\n}\n.v-select.select {\n min-height: 44px;\n min-width: 260px;\n margin: 0;\n}\n.v-select.select .select__label {\n display: block;\n margin-bottom: 2px;\n}\n.v-select.select .vs__selected {\n height: 32px;\n padding: 0 8px 0 12px;\n border-radius: 18px !important;\n background: var(--color-primary-element-light);\n border: none;\n}\n.v-select.select .vs__search,\n.v-select.select .vs__search:focus {\n margin: 2px 0 0;\n}\n.v-select.select .vs__dropdown-toggle {\n padding: 0;\n}\n.v-select.select .vs__clear {\n margin-right: 2px;\n}\n.v-select.select.vs--open .vs__dropdown-toggle {\n outline: 2px solid var(--color-main-background);\n border-color: var(--color-main-text);\n border-bottom-color: transparent;\n}\n.v-select.select:not(.vs--disabled, .vs--open) .vs__dropdown-toggle:hover {\n outline: 2px solid var(--color-main-background);\n border-color: var(--color-main-text);\n}\n.v-select.select.vs--disabled .vs__search,\n.v-select.select.vs--disabled .vs__selected {\n color: var(--color-text-maxcontrast);\n}\n.v-select.select.vs--disabled .vs__clear,\n.v-select.select.vs--disabled .vs__deselect {\n display: none;\n}\n.v-select.select--no-wrap .vs__selected-options {\n flex-wrap: nowrap;\n overflow: auto;\n min-width: unset;\n}\n.v-select.select--no-wrap .vs__selected-options .vs__selected {\n min-width: unset;\n}\n.v-select.select--drop-up.vs--open .vs__dropdown-toggle {\n border-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n border-top-color: transparent;\n border-bottom-color: var(--color-main-text);\n}\n.v-select.select .vs__selected-options {\n min-height: 40px;\n}\n.v-select.select .vs__selected-options .vs__selected ~ .vs__search[readonly] {\n position: absolute;\n}\n.v-select.select.vs--single.vs--loading .vs__selected,\n.v-select.select.vs--single.vs--open .vs__selected {\n max-width: 100%;\n opacity: 1;\n color: var(--color-text-maxcontrast);\n}\n.v-select.select.vs--single .vs__selected-options {\n flex-wrap: nowrap;\n}\n.v-select.select.vs--single .vs__selected {\n background: unset !important;\n}\n.vs__dropdown-menu {\n border-color: var(--color-main-text) !important;\n outline: none !important;\n box-shadow:\n -2px 0 0 var(--color-main-background),\n 0 2px 0 var(--color-main-background),\n 2px 0 0 var(--color-main-background), !important;\n padding: 4px !important;\n}\n.vs__dropdown-menu--floating {\n width: max-content;\n position: absolute;\n top: 0;\n left: 0;\n}\n.vs__dropdown-menu--floating-placement-top {\n border-radius: var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;\n border-top-style: var(--vs-border-style) !important;\n border-bottom-style: none !important;\n box-shadow:\n 0 -2px 0 var(--color-main-background),\n -2px 0 0 var(--color-main-background),\n 2px 0 0 var(--color-main-background), !important;\n}\n.vs__dropdown-menu .vs__dropdown-option {\n border-radius: 6px !important;\n}\n.vs__dropdown-menu .vs__no-options {\n color: var(--color-text-lighter) !important;\n}\n.user-select .vs__selected {\n padding: 0 2px !important;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},91128:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-5b140fb6] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-5b140fb6] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-5b140fb6] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-5b140fb6]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-5b140fb6] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-MPi6a3Yy.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-5b140fb6] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-5b140fb6] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-5b140fb6] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-5b140fb6]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-5b140fb6] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},28179:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-f51cf2d3] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.settings-section[data-v-f51cf2d3] {\n display: block;\n margin-bottom: auto;\n padding: 30px;\n}\n.settings-section[data-v-f51cf2d3]:not(:last-child) {\n border-bottom: 1px solid var(--color-border);\n}\n.settings-section--limit-width > *[data-v-f51cf2d3] {\n max-width: 900px;\n}\n.settings-section__name[data-v-f51cf2d3] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 20px;\n font-weight: 700;\n max-width: 900px;\n}\n.settings-section__info[data-v-f51cf2d3] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n margin: -14px -14px -14px 0;\n color: var(--color-text-maxcontrast);\n}\n.settings-section__info[data-v-f51cf2d3]:hover,\n.settings-section__info[data-v-f51cf2d3]:focus,\n.settings-section__info[data-v-f51cf2d3]:active {\n color: var(--color-main-text);\n}\n.settings-section__desc[data-v-f51cf2d3] {\n margin-top: -.2em;\n margin-bottom: 1em;\n color: var(--color-text-maxcontrast);\n max-width: 900px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsSection-PEWm0eeL.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,aAAa;AACf;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,gBAAgB;AAClB;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,2BAA2B;EAC3B,oCAAoC;AACtC;AACA;;;EAGE,6BAA6B;AAC/B;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,oCAAoC;EACpC,gBAAgB;AAClB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-f51cf2d3] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.settings-section[data-v-f51cf2d3] {\n display: block;\n margin-bottom: auto;\n padding: 30px;\n}\n.settings-section[data-v-f51cf2d3]:not(:last-child) {\n border-bottom: 1px solid var(--color-border);\n}\n.settings-section--limit-width > *[data-v-f51cf2d3] {\n max-width: 900px;\n}\n.settings-section__name[data-v-f51cf2d3] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 20px;\n font-weight: 700;\n max-width: 900px;\n}\n.settings-section__info[data-v-f51cf2d3] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n margin: -14px -14px -14px 0;\n color: var(--color-text-maxcontrast);\n}\n.settings-section__info[data-v-f51cf2d3]:hover,\n.settings-section__info[data-v-f51cf2d3]:focus,\n.settings-section__info[data-v-f51cf2d3]:active {\n color: var(--color-main-text);\n}\n.settings-section__desc[data-v-f51cf2d3] {\n margin-top: -.2em;\n margin-bottom: 1em;\n color: var(--color-text-maxcontrast);\n max-width: 900px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|3260|3604|6371|9255)$/.test(n.j)?null:o},70244:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-6d99b3e0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.select-group-error[data-v-6d99b3e0] {\n color: var(--color-error);\n font-size: 13px;\n padding-inline-start: var(--border-radius-large);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsSelectGroup-_Jpb8yE3.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,yBAAyB;EACzB,eAAe;EACf,gDAAgD;AAClD",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-6d99b3e0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.select-group-error[data-v-6d99b3e0] {\n color: var(--color-error);\n font-size: 13px;\n padding-inline-start: var(--border-radius-large);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},9070:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-219a1ffb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.textarea[data-v-219a1ffb] {\n position: relative;\n width: 100%;\n border-radius: var(--border-radius-large);\n margin-block-start: 6px;\n resize: vertical;\n}\n.textarea__main-wrapper[data-v-219a1ffb] {\n position: relative;\n}\n.textarea--disabled[data-v-219a1ffb] {\n opacity: .7;\n filter: saturate(.7);\n}\n.textarea__input[data-v-219a1ffb] {\n margin: 0;\n padding-inline: 10px 6px;\n width: 100%;\n font-size: var(--default-font-size);\n text-overflow: ellipsis;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n border: 2px solid var(--color-border-maxcontrast);\n border-radius: var(--border-radius-large);\n cursor: pointer;\n}\n.textarea__input[data-v-219a1ffb]:active:not([disabled]),\n.textarea__input[data-v-219a1ffb]:hover:not([disabled]),\n.textarea__input[data-v-219a1ffb]:focus:not([disabled]) {\n border-color: 2px solid var(--color-main-text) !important;\n box-shadow: 0 0 0 2px var(--color-main-background) !important;\n}\n.textarea__input[data-v-219a1ffb]:not(:focus, .textarea__input--label-outside)::placeholder {\n opacity: 0;\n}\n.textarea__input[data-v-219a1ffb]:focus {\n cursor: text;\n}\n.textarea__input[data-v-219a1ffb]:disabled {\n cursor: default;\n}\n.textarea__input[data-v-219a1ffb]:focus-visible {\n box-shadow: unset !important;\n}\n.textarea__input--success[data-v-219a1ffb] {\n border-color: var(--color-success) !important;\n}\n.textarea__input--success[data-v-219a1ffb]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.textarea__input--error[data-v-219a1ffb] {\n border-color: var(--color-error) !important;\n}\n.textarea__input--error[data-v-219a1ffb]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.textarea__label[data-v-219a1ffb] {\n position: absolute;\n margin-inline: 12px 0;\n max-width: fit-content;\n inset-block-start: 11px;\n inset-inline: 0;\n color: var(--color-text-maxcontrast);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick),\n background-color var(--animation-quick) var(--animation-slow);\n}\n.textarea__input:focus + .textarea__label[data-v-219a1ffb],\n.textarea__input:not(:placeholder-shown) + .textarea__label[data-v-219a1ffb] {\n inset-block-start: -10px;\n line-height: 1.5;\n font-size: 13px;\n font-weight: 500;\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n padding-inline: 4px;\n margin-inline-start: 8px;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick);\n}\n.textarea__helper-text-message[data-v-219a1ffb] {\n padding-block: 4px;\n display: flex;\n align-items: center;\n}\n.textarea__helper-text-message__icon[data-v-219a1ffb] {\n margin-inline-end: 8px;\n}\n.textarea__helper-text-message--error[data-v-219a1ffb] {\n color: var(--color-error-text);\n}\n.textarea__helper-text-message--success[data-v-219a1ffb] {\n color: var(--color-success-text);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcTextArea-4rVwq6GK.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,yCAAyC;EACzC,uBAAuB;EACvB,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,SAAS;EACT,wBAAwB;EACxB,WAAW;EACX,mCAAmC;EACnC,uBAAuB;EACvB,8CAA8C;EAC9C,6BAA6B;EAC7B,iDAAiD;EACjD,yCAAyC;EACzC,eAAe;AACjB;AACA;;;EAGE,yDAAyD;EACzD,6DAA6D;AAC/D;AACA;EACE,UAAU;AACZ;AACA;EACE,YAAY;AACd;AACA;EACE,eAAe;AACjB;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,6CAA6C;AAC/C;AACA;EACE;;;uBAGqB;AACvB;AACA;EACE,2CAA2C;AAC7C;AACA;EACE;;;uBAGqB;AACvB;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,sBAAsB;EACtB,uBAAuB;EACvB,eAAe;EACf,oCAAoC;EACpC,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,oBAAoB;EACpB;;;;;iEAK+D;AACjE;AACA;;EAEE,wBAAwB;EACxB,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,6BAA6B;EAC7B,8CAA8C;EAC9C,mBAAmB;EACnB,wBAAwB;EACxB;;;;gCAI8B;AAChC;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,8BAA8B;AAChC;AACA;EACE,gCAAgC;AAClC",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-219a1ffb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.textarea[data-v-219a1ffb] {\n position: relative;\n width: 100%;\n border-radius: var(--border-radius-large);\n margin-block-start: 6px;\n resize: vertical;\n}\n.textarea__main-wrapper[data-v-219a1ffb] {\n position: relative;\n}\n.textarea--disabled[data-v-219a1ffb] {\n opacity: .7;\n filter: saturate(.7);\n}\n.textarea__input[data-v-219a1ffb] {\n margin: 0;\n padding-inline: 10px 6px;\n width: 100%;\n font-size: var(--default-font-size);\n text-overflow: ellipsis;\n background-color: var(--color-main-background);\n color: var(--color-main-text);\n border: 2px solid var(--color-border-maxcontrast);\n border-radius: var(--border-radius-large);\n cursor: pointer;\n}\n.textarea__input[data-v-219a1ffb]:active:not([disabled]),\n.textarea__input[data-v-219a1ffb]:hover:not([disabled]),\n.textarea__input[data-v-219a1ffb]:focus:not([disabled]) {\n border-color: 2px solid var(--color-main-text) !important;\n box-shadow: 0 0 0 2px var(--color-main-background) !important;\n}\n.textarea__input[data-v-219a1ffb]:not(:focus, .textarea__input--label-outside)::placeholder {\n opacity: 0;\n}\n.textarea__input[data-v-219a1ffb]:focus {\n cursor: text;\n}\n.textarea__input[data-v-219a1ffb]:disabled {\n cursor: default;\n}\n.textarea__input[data-v-219a1ffb]:focus-visible {\n box-shadow: unset !important;\n}\n.textarea__input--success[data-v-219a1ffb] {\n border-color: var(--color-success) !important;\n}\n.textarea__input--success[data-v-219a1ffb]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.textarea__input--error[data-v-219a1ffb] {\n border-color: var(--color-error) !important;\n}\n.textarea__input--error[data-v-219a1ffb]:focus-visible {\n box-shadow:\n #f8fafc 0 0 0 2px,\n var(--color-primary-element) 0 0 0 4px,\n #0000000d 0 1px 2px;\n}\n.textarea__label[data-v-219a1ffb] {\n position: absolute;\n margin-inline: 12px 0;\n max-width: fit-content;\n inset-block-start: 11px;\n inset-inline: 0;\n color: var(--color-text-maxcontrast);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick),\n background-color var(--animation-quick) var(--animation-slow);\n}\n.textarea__input:focus + .textarea__label[data-v-219a1ffb],\n.textarea__input:not(:placeholder-shown) + .textarea__label[data-v-219a1ffb] {\n inset-block-start: -10px;\n line-height: 1.5;\n font-size: 13px;\n font-weight: 500;\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n padding-inline: 4px;\n margin-inline-start: 8px;\n transition:\n height var(--animation-quick),\n inset-block-start var(--animation-quick),\n font-size var(--animation-quick),\n color var(--animation-quick);\n}\n.textarea__helper-text-message[data-v-219a1ffb] {\n padding-block: 4px;\n display: flex;\n align-items: center;\n}\n.textarea__helper-text-message__icon[data-v-219a1ffb] {\n margin-inline-end: 8px;\n}\n.textarea__helper-text-message--error[data-v-219a1ffb] {\n color: var(--color-error-text);\n}\n.textarea__helper-text-message--success[data-v-219a1ffb] {\n color: var(--color-success-text);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},67709:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-8f0fbaf1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.user-bubble__wrapper[data-v-8f0fbaf1] {\n display: inline-block;\n vertical-align: middle;\n min-width: 0;\n max-width: 100%;\n}\n.user-bubble__content[data-v-8f0fbaf1] {\n display: inline-flex;\n max-width: 100%;\n background-color: var(--color-background-dark);\n}\n.user-bubble__content--primary[data-v-8f0fbaf1] {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.user-bubble__content[data-v-8f0fbaf1] > :last-child {\n padding-right: 8px;\n}\n.user-bubble__avatar[data-v-8f0fbaf1] {\n align-self: center;\n}\n.user-bubble__name[data-v-8f0fbaf1] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.user-bubble__name[data-v-8f0fbaf1],\n.user-bubble__secondary[data-v-8f0fbaf1] {\n padding: 0 0 0 4px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcUserBubble-jjzI5imn.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,qBAAqB;EACrB,sBAAsB;EACtB,YAAY;EACZ,eAAe;AACjB;AACA;EACE,oBAAoB;EACpB,eAAe;EACf,8CAA8C;AAChD;AACA;EACE,wCAAwC;EACxC,8CAA8C;AAChD;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;EAEE,kBAAkB;AACpB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-8f0fbaf1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.user-bubble__wrapper[data-v-8f0fbaf1] {\n display: inline-block;\n vertical-align: middle;\n min-width: 0;\n max-width: 100%;\n}\n.user-bubble__content[data-v-8f0fbaf1] {\n display: inline-flex;\n max-width: 100%;\n background-color: var(--color-background-dark);\n}\n.user-bubble__content--primary[data-v-8f0fbaf1] {\n color: var(--color-primary-element-text);\n background-color: var(--color-primary-element);\n}\n.user-bubble__content[data-v-8f0fbaf1] > :last-child {\n padding-right: 8px;\n}\n.user-bubble__avatar[data-v-8f0fbaf1] {\n align-self: center;\n}\n.user-bubble__name[data-v-8f0fbaf1] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.user-bubble__name[data-v-8f0fbaf1],\n.user-bubble__secondary[data-v-8f0fbaf1] {\n padding: 0 0 0 4px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},21051:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b17810e4] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.user-status-icon[data-v-b17810e4] {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 16px;\n min-height: 16px;\n max-width: 20px;\n max-height: 20px;\n}\n.user-status-icon--invisible[data-v-b17810e4] {\n filter: var(--background-invert-if-dark);\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/NcUserStatusIcon-62u43_6P.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,wCAAwC;AAC1C",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-b17810e4] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.user-status-icon[data-v-b17810e4] {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 16px;\n min-height: 16px;\n max-width: 20px;\n max-height: 20px;\n}\n.user-status-icon--invisible[data-v-b17810e4] {\n filter: var(--background-invert-if-dark);\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|6174|6371|9255)$/.test(n.j)?null:o},22369:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.v-popper--theme-tooltip.v-popper__popper {\n position: absolute;\n z-index: 100000;\n top: 0;\n right: auto;\n left: auto;\n display: block;\n margin: 0;\n padding: 0;\n text-align: left;\n text-align: start;\n opacity: 0;\n line-height: 1.6;\n line-break: auto;\n filter: drop-shadow(0 1px 10px var(--color-box-shadow));\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container {\n bottom: -10px;\n border-bottom-width: 0;\n border-top-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container {\n top: -10px;\n border-top-width: 0;\n border-bottom-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container {\n right: 100%;\n border-left-width: 0;\n border-right-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container {\n left: 100%;\n border-right-width: 0;\n border-left-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true] {\n visibility: hidden;\n transition: opacity .15s, visibility .15s;\n opacity: 0;\n}\n.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false] {\n visibility: visible;\n transition: opacity .15s;\n opacity: 1;\n}\n.v-popper--theme-tooltip .v-popper__inner {\n max-width: 350px;\n padding: 5px 8px;\n text-align: center;\n color: var(--color-main-text);\n border-radius: var(--border-radius);\n background-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip .v-popper__arrow-container {\n position: absolute;\n z-index: 1;\n width: 0;\n height: 0;\n margin: 0;\n border-style: solid;\n border-color: transparent;\n border-width: 10px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/Tooltip-wOLIuz0Q.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,MAAM;EACN,WAAW;EACX,UAAU;EACV,cAAc;EACd,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,iBAAiB;EACjB,UAAU;EACV,gBAAgB;EAChB,gBAAgB;EAChB,uDAAuD;AACzD;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,8CAA8C;AAChD;AACA;EACE,UAAU;EACV,mBAAmB;EACnB,iDAAiD;AACnD;AACA;EACE,WAAW;EACX,oBAAoB;EACpB,gDAAgD;AAClD;AACA;EACE,UAAU;EACV,qBAAqB;EACrB,+CAA+C;AACjD;AACA;EACE,kBAAkB;EAClB,yCAAyC;EACzC,UAAU;AACZ;AACA;EACE,mBAAmB;EACnB,wBAAwB;EACxB,UAAU;AACZ;AACA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,6BAA6B;EAC7B,mCAAmC;EACnC,8CAA8C;AAChD;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,SAAS;EACT,SAAS;EACT,mBAAmB;EACnB,yBAAyB;EACzB,kBAAkB;AACpB",sourcesContent:['@charset "UTF-8";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.v-popper--theme-tooltip.v-popper__popper {\n position: absolute;\n z-index: 100000;\n top: 0;\n right: auto;\n left: auto;\n display: block;\n margin: 0;\n padding: 0;\n text-align: left;\n text-align: start;\n opacity: 0;\n line-height: 1.6;\n line-break: auto;\n filter: drop-shadow(0 1px 10px var(--color-box-shadow));\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container {\n bottom: -10px;\n border-bottom-width: 0;\n border-top-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container {\n top: -10px;\n border-top-width: 0;\n border-bottom-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container {\n right: 100%;\n border-left-width: 0;\n border-right-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container {\n left: 100%;\n border-right-width: 0;\n border-left-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true] {\n visibility: hidden;\n transition: opacity .15s, visibility .15s;\n opacity: 0;\n}\n.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false] {\n visibility: visible;\n transition: opacity .15s;\n opacity: 1;\n}\n.v-popper--theme-tooltip .v-popper__inner {\n max-width: 350px;\n padding: 5px 8px;\n text-align: center;\n color: var(--color-main-text);\n border-radius: var(--border-radius);\n background-color: var(--color-main-background);\n}\n.v-popper--theme-tooltip .v-popper__arrow-container {\n position: absolute;\n z-index: 1;\n width: 0;\n height: 0;\n margin: 0;\n border-style: solid;\n border-color: transparent;\n border-width: 10px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|59(0|28)|82(0|79)|(78|96)43|1952|4012|4897|6174|6371)$/.test(n.j)?null:o},86373:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'@charset "UTF-8";\n.material-design-icon[data-v-38b1d56a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.widget-custom[data-v-38b1d56a] {\n width: 100%;\n margin: auto;\n margin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n margin-top: calc(var(--default-grid-baseline, 4px) * 3);\n overflow: hidden;\n border: 2px solid var(--color-border);\n border-radius: var(--border-radius-large);\n background-color: transparent;\n display: flex;\n}\n.widget-access[data-v-38b1d56a] {\n width: 100%;\n margin: auto;\n margin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n margin-top: calc(var(--default-grid-baseline, 4px) * 3);\n overflow: hidden;\n border: 2px solid var(--color-border);\n border-radius: var(--border-radius-large);\n background-color: transparent;\n display: flex;\n padding: calc(var(--default-grid-baseline, 4px) * 3);\n}\n.widget-default[data-v-38b1d56a] {\n width: 100%;\n margin: auto;\n margin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n margin-top: calc(var(--default-grid-baseline, 4px) * 3);\n overflow: hidden;\n border: 2px solid var(--color-border);\n border-radius: var(--border-radius-large);\n background-color: transparent;\n display: flex;\n}\n.widget-default--compact[data-v-38b1d56a] {\n flex-direction: column;\n}\n.widget-default--compact .widget-default--image[data-v-38b1d56a] {\n width: 100%;\n height: 150px;\n}\n.widget-default--compact .widget-default--details[data-v-38b1d56a] {\n width: 100%;\n padding-top: calc(var(--default-grid-baseline, 4px) * 2);\n padding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.widget-default--compact .widget-default--description[data-v-38b1d56a] {\n display: none;\n}\n.widget-default--image[data-v-38b1d56a] {\n width: 40%;\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n}\n.widget-default--name[data-v-38b1d56a] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 700;\n}\n.widget-default--details[data-v-38b1d56a] {\n padding: calc(var(--default-grid-baseline, 4px) * 3);\n width: 60%;\n}\n.widget-default--details p[data-v-38b1d56a] {\n margin: 0;\n padding: 0;\n}\n.widget-default--description[data-v-38b1d56a] {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n.widget-default--link[data-v-38b1d56a] {\n color: var(--color-text-maxcontrast);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-25f1cef8],\n.material-design-icon[data-v-e880790e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.provider-list[data-v-e880790e] {\n width: 100%;\n min-height: 400px;\n padding: 0 16px 16px;\n display: flex;\n flex-direction: column;\n}\n.provider-list--select[data-v-e880790e] {\n width: 100%;\n}\n.provider-list--select .provider[data-v-e880790e] {\n display: flex;\n align-items: center;\n height: 28px;\n overflow: hidden;\n}\n.provider-list--select .provider .link-icon[data-v-e880790e] {\n margin-right: 8px;\n}\n.provider-list--select .provider .provider-icon[data-v-e880790e] {\n width: 20px;\n height: 20px;\n object-fit: contain;\n margin-right: 8px;\n filter: var(--background-invert-if-dark);\n}\n.provider-list--select .provider .option-text[data-v-e880790e] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-d0ba247a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.raw-link[data-v-d0ba247a] {\n width: 100%;\n min-height: 350px;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n padding: 0 16px 16px;\n}\n.raw-link .input-wrapper[data-v-d0ba247a] {\n width: 100%;\n}\n.raw-link .reference-widget[data-v-d0ba247a] {\n display: flex;\n}\n.raw-link--empty-content .provider-icon[data-v-d0ba247a] {\n width: 150px;\n height: 150px;\n object-fit: contain;\n filter: var(--background-invert-if-dark);\n}\n.raw-link--input[data-v-d0ba247a] {\n width: 99%;\n}\n.material-design-icon[data-v-7a394a58] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.result[data-v-7a394a58] {\n display: flex;\n align-items: center;\n height: 44px;\n overflow: hidden;\n}\n.result--icon-class[data-v-7a394a58],\n.result--image[data-v-7a394a58] {\n width: 40px;\n min-width: 40px;\n height: 40px;\n object-fit: contain;\n}\n.result--icon-class.rounded[data-v-7a394a58],\n.result--image.rounded[data-v-7a394a58] {\n border-radius: 50%;\n}\n.result--content[data-v-7a394a58] {\n display: flex;\n flex-direction: column;\n padding-left: 10px;\n overflow: hidden;\n}\n.result--content--name[data-v-7a394a58],\n.result--content--subline[data-v-7a394a58] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-97d196f0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.smart-picker-search[data-v-97d196f0] {\n width: 100%;\n display: flex;\n flex-direction: column;\n padding: 0 16px 16px;\n}\n.smart-picker-search.with-empty-content[data-v-97d196f0] {\n min-height: 400px;\n}\n.smart-picker-search .provider-icon[data-v-97d196f0] {\n width: 150px;\n height: 150px;\n object-fit: contain;\n filter: var(--background-invert-if-dark);\n}\n.smart-picker-search--select[data-v-97d196f0],\n.smart-picker-search--select .search-result[data-v-97d196f0] {\n width: 100%;\n}\n.smart-picker-search--select .group-name-icon[data-v-97d196f0],\n.smart-picker-search--select .option-simple-icon[data-v-97d196f0] {\n width: 20px;\n height: 20px;\n margin: 0 20px 0 10px;\n}\n.smart-picker-search--select .custom-option[data-v-97d196f0] {\n height: 44px;\n display: flex;\n align-items: center;\n overflow: hidden;\n}\n.smart-picker-search--select .option-text[data-v-97d196f0] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-12c38c93] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.reference-picker[data-v-12c38c93],\n.reference-picker .custom-element-wrapper[data-v-12c38c93] {\n display: flex;\n overflow-y: auto;\n width: 100%;\n}\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.reference-picker-modal .modal-container {\n display: flex !important;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ab09ebaa] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.reference-picker-modal--content[data-v-ab09ebaa] {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n overflow-y: auto;\n}\n.reference-picker-modal--content .close-button[data-v-ab09ebaa],\n.reference-picker-modal--content .back-button[data-v-ab09ebaa] {\n position: absolute;\n top: 4px;\n}\n.reference-picker-modal--content .back-button[data-v-ab09ebaa] {\n left: 4px;\n}\n.reference-picker-modal--content .close-button[data-v-ab09ebaa] {\n right: 4px;\n}\n.reference-picker-modal--content > h2[data-v-ab09ebaa] {\n display: flex;\n margin: 12px 0 20px;\n}\n.reference-picker-modal--content > h2 .icon[data-v-ab09ebaa] {\n margin-right: 8px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@nextcloud/vue/dist/assets/referencePickerModal-A0PlFUEI.css"],names:[],mappings:"AAAA,gBAAgB;AAChB;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,0DAA0D;EAC1D,uDAAuD;EACvD,gBAAgB;EAChB,qCAAqC;EACrC,yCAAyC;EACzC,6BAA6B;EAC7B,aAAa;AACf;AACA;EACE,WAAW;EACX,YAAY;EACZ,0DAA0D;EAC1D,uDAAuD;EACvD,gBAAgB;EAChB,qCAAqC;EACrC,yCAAyC;EACzC,6BAA6B;EAC7B,aAAa;EACb,oDAAoD;AACtD;AACA;EACE,WAAW;EACX,YAAY;EACZ,0DAA0D;EAC1D,uDAAuD;EACvD,gBAAgB;EAChB,qCAAqC;EACrC,yCAAyC;EACzC,6BAA6B;EAC7B,aAAa;AACf;AACA;EACE,sBAAsB;AACxB;AACA;EACE,WAAW;EACX,aAAa;AACf;AACA;EACE,WAAW;EACX,wDAAwD;EACxD,2DAA2D;AAC7D;AACA;EACE,aAAa;AACf;AACA;EACE,UAAU;EACV,2BAA2B;EAC3B,sBAAsB;EACtB,4BAA4B;AAC9B;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;AAClB;AACA;EACE,oDAAoD;EACpD,UAAU;AACZ;AACA;EACE,SAAS;EACT,UAAU;AACZ;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,oBAAoB;EACpB,qBAAqB;EACrB,aAAa;EACb,4BAA4B;AAC9B;AACA;EACE,oCAAoC;EACpC,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;;EAEE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,iBAAiB;EACjB,oBAAoB;EACpB,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,YAAY;EACZ,mBAAmB;EACnB,iBAAiB;EACjB,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,iBAAiB;EACjB,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,oBAAoB;AACtB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,wCAAwC;AAC1C;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;AAClB;AACA;;EAEE,WAAW;EACX,eAAe;EACf,YAAY;EACZ,mBAAmB;AACrB;AACA;;EAEE,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;;EAEE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,wCAAwC;AAC1C;AACA;;EAEE,WAAW;AACb;AACA;;EAEE,WAAW;EACX,YAAY;EACZ,qBAAqB;AACvB;AACA;EACE,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;;EAEE,aAAa;EACb,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,wBAAwB;AAC1B;AACA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;AAClB;AACA;;EAEE,kBAAkB;EAClB,QAAQ;AACV;AACA;EACE,SAAS;AACX;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,iBAAiB;AACnB",sourcesContent:['@charset "UTF-8";\n.material-design-icon[data-v-38b1d56a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.widget-custom[data-v-38b1d56a] {\n width: 100%;\n margin: auto;\n margin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n margin-top: calc(var(--default-grid-baseline, 4px) * 3);\n overflow: hidden;\n border: 2px solid var(--color-border);\n border-radius: var(--border-radius-large);\n background-color: transparent;\n display: flex;\n}\n.widget-access[data-v-38b1d56a] {\n width: 100%;\n margin: auto;\n margin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n margin-top: calc(var(--default-grid-baseline, 4px) * 3);\n overflow: hidden;\n border: 2px solid var(--color-border);\n border-radius: var(--border-radius-large);\n background-color: transparent;\n display: flex;\n padding: calc(var(--default-grid-baseline, 4px) * 3);\n}\n.widget-default[data-v-38b1d56a] {\n width: 100%;\n margin: auto;\n margin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n margin-top: calc(var(--default-grid-baseline, 4px) * 3);\n overflow: hidden;\n border: 2px solid var(--color-border);\n border-radius: var(--border-radius-large);\n background-color: transparent;\n display: flex;\n}\n.widget-default--compact[data-v-38b1d56a] {\n flex-direction: column;\n}\n.widget-default--compact .widget-default--image[data-v-38b1d56a] {\n width: 100%;\n height: 150px;\n}\n.widget-default--compact .widget-default--details[data-v-38b1d56a] {\n width: 100%;\n padding-top: calc(var(--default-grid-baseline, 4px) * 2);\n padding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.widget-default--compact .widget-default--description[data-v-38b1d56a] {\n display: none;\n}\n.widget-default--image[data-v-38b1d56a] {\n width: 40%;\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n}\n.widget-default--name[data-v-38b1d56a] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 700;\n}\n.widget-default--details[data-v-38b1d56a] {\n padding: calc(var(--default-grid-baseline, 4px) * 3);\n width: 60%;\n}\n.widget-default--details p[data-v-38b1d56a] {\n margin: 0;\n padding: 0;\n}\n.widget-default--description[data-v-38b1d56a] {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n.widget-default--link[data-v-38b1d56a] {\n color: var(--color-text-maxcontrast);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-25f1cef8],\n.material-design-icon[data-v-e880790e] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.provider-list[data-v-e880790e] {\n width: 100%;\n min-height: 400px;\n padding: 0 16px 16px;\n display: flex;\n flex-direction: column;\n}\n.provider-list--select[data-v-e880790e] {\n width: 100%;\n}\n.provider-list--select .provider[data-v-e880790e] {\n display: flex;\n align-items: center;\n height: 28px;\n overflow: hidden;\n}\n.provider-list--select .provider .link-icon[data-v-e880790e] {\n margin-right: 8px;\n}\n.provider-list--select .provider .provider-icon[data-v-e880790e] {\n width: 20px;\n height: 20px;\n object-fit: contain;\n margin-right: 8px;\n filter: var(--background-invert-if-dark);\n}\n.provider-list--select .provider .option-text[data-v-e880790e] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-d0ba247a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.raw-link[data-v-d0ba247a] {\n width: 100%;\n min-height: 350px;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n padding: 0 16px 16px;\n}\n.raw-link .input-wrapper[data-v-d0ba247a] {\n width: 100%;\n}\n.raw-link .reference-widget[data-v-d0ba247a] {\n display: flex;\n}\n.raw-link--empty-content .provider-icon[data-v-d0ba247a] {\n width: 150px;\n height: 150px;\n object-fit: contain;\n filter: var(--background-invert-if-dark);\n}\n.raw-link--input[data-v-d0ba247a] {\n width: 99%;\n}\n.material-design-icon[data-v-7a394a58] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.result[data-v-7a394a58] {\n display: flex;\n align-items: center;\n height: 44px;\n overflow: hidden;\n}\n.result--icon-class[data-v-7a394a58],\n.result--image[data-v-7a394a58] {\n width: 40px;\n min-width: 40px;\n height: 40px;\n object-fit: contain;\n}\n.result--icon-class.rounded[data-v-7a394a58],\n.result--image.rounded[data-v-7a394a58] {\n border-radius: 50%;\n}\n.result--content[data-v-7a394a58] {\n display: flex;\n flex-direction: column;\n padding-left: 10px;\n overflow: hidden;\n}\n.result--content--name[data-v-7a394a58],\n.result--content--subline[data-v-7a394a58] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-97d196f0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.smart-picker-search[data-v-97d196f0] {\n width: 100%;\n display: flex;\n flex-direction: column;\n padding: 0 16px 16px;\n}\n.smart-picker-search.with-empty-content[data-v-97d196f0] {\n min-height: 400px;\n}\n.smart-picker-search .provider-icon[data-v-97d196f0] {\n width: 150px;\n height: 150px;\n object-fit: contain;\n filter: var(--background-invert-if-dark);\n}\n.smart-picker-search--select[data-v-97d196f0],\n.smart-picker-search--select .search-result[data-v-97d196f0] {\n width: 100%;\n}\n.smart-picker-search--select .group-name-icon[data-v-97d196f0],\n.smart-picker-search--select .option-simple-icon[data-v-97d196f0] {\n width: 20px;\n height: 20px;\n margin: 0 20px 0 10px;\n}\n.smart-picker-search--select .custom-option[data-v-97d196f0] {\n height: 44px;\n display: flex;\n align-items: center;\n overflow: hidden;\n}\n.smart-picker-search--select .option-text[data-v-97d196f0] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.material-design-icon[data-v-12c38c93] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.reference-picker[data-v-12c38c93],\n.reference-picker .custom-element-wrapper[data-v-12c38c93] {\n display: flex;\n overflow-y: auto;\n width: 100%;\n}\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.reference-picker-modal .modal-container {\n display: flex !important;\n}\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n.material-design-icon[data-v-ab09ebaa] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.reference-picker-modal--content[data-v-ab09ebaa] {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n overflow-y: auto;\n}\n.reference-picker-modal--content .close-button[data-v-ab09ebaa],\n.reference-picker-modal--content .back-button[data-v-ab09ebaa] {\n position: absolute;\n top: 4px;\n}\n.reference-picker-modal--content .back-button[data-v-ab09ebaa] {\n left: 4px;\n}\n.reference-picker-modal--content .close-button[data-v-ab09ebaa] {\n right: 4px;\n}\n.reference-picker-modal--content > h2[data-v-ab09ebaa] {\n display: flex;\n margin: 12px 0 20px;\n}\n.reference-picker-modal--content > h2 .icon[data-v-ab09ebaa] {\n margin-right: 8px;\n}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},67507:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(71354),a=n.n(r),i=n(76314),o=n.n(i)()(a());o.push([e.id,'.splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;-o-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;-o-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}\n',"",{version:3,sources:["webpack://./node_modules/splitpanes/dist/splitpanes.css"],names:[],mappings:"AAAA,YAAY,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB,6BAA6B,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,wBAAwB,2BAA2B,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,wBAAwB,wBAAwB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,kBAAkB,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,wCAAwC,qCAAqC,CAAC,gCAAgC,CAAC,6BAA6B,CAAC,0CAA0C,sCAAsC,CAAC,iCAAiC,CAAC,8BAA8B,CAAC,wCAAwC,uBAAuB,CAAC,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,qBAAqB,CAAC,iBAAiB,CAAC,4CAA4C,aAAa,CAAC,iBAAiB,CAAC,8CAA8C,cAAc,CAAC,iBAAiB,CAAC,4CAA4C,wBAAwB,CAAC,gDAAgD,qBAAqB,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,aAAa,CAAC,6GAA6G,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,uCAAuC,CAAC,kCAAkC,CAAC,+BAA+B,CAAC,yHAAyH,0BAA0B,CAAC,4DAA4D,WAAW,CAAC,4DAA4D,SAAS,CAAC,qHAAqH,SAAS,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,oQAAoQ,kCAAkC,CAAC,8BAA8B,CAAC,0BAA0B,CAAC,SAAS,CAAC,WAAW,CAAC,mIAAmI,gBAAgB,CAAC,iIAAiI,eAAe,CAAC,yHAAyH,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,4QAA4Q,kCAAkC,CAAC,8BAA8B,CAAC,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,uIAAuI,eAAe,CAAC,qIAAqI,cAAc",sourcesContent:['.splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;-o-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;-o-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}\n'],sourceRoot:""}]);const s=/^(2(07|69|76)6|3(012|260|604)|4(012|423|897)|59(0|28)|82(0|79)|(78|96)43|1952|6174|6371|9255)$/.test(n.j)?null:o},76314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,a,i){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),a&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=a):d[4]="".concat(a)),t.push(d))}},t}},4417:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},71354:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),a="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(a," */");return[t].concat([i]).join("\n")}return[t].join("\n")}},79560:(e,t,n)=>{"use strict";function r(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function a(e){return r(e)?new Date(e.getTime()):null==e?new Date(NaN):new Date(e)}function i(e){return r(e)&&!isNaN(e.getTime())}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!(t>=0&&t<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var n=a(e),r=(n.getDay()+7-t)%7;return n.setDate(n.getDate()-r),n.setHours(0,0,0,0),n}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.firstDayOfWeek,r=void 0===n?0:n,i=t.firstWeekContainsDate,s=void 0===i?1:i;if(!(s>=1&&s<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7");for(var l=a(e),u=l.getFullYear(),d=new Date(0),c=u+1;c>=u-1&&(d.setFullYear(c,0,s),d.setHours(0,0,0,0),d=o(d,r),!(l.getTime()>=d.getTime()));c--);return d}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.firstDayOfWeek,r=void 0===n?0:n,i=t.firstWeekContainsDate,l=void 0===i?1:i,u=a(e),d=o(u,r),c=s(u,{firstDayOfWeek:r,firstWeekContainsDate:l}),h=d.getTime()-c.getTime();return Math.round(h/6048e5)+1}n.d(t,{Nr:()=>l,ay:()=>a,bu:()=>s,vd:()=>i})},17334:e=>{function t(e,t,n){var r,a,i,o,s;function l(){var u=Date.now()-o;u=0?r=setTimeout(l,t-u):(r=null,n||(s=e.apply(i,a),i=a=null))}null==t&&(t=100);var u=function(){i=this,a=arguments,o=Date.now();var u=n&&!r;return r||(r=setTimeout(l,t)),u&&(s=e.apply(i,a),i=a=null),s};return u.clear=function(){r&&(clearTimeout(r),r=null)},u.flush=function(){r&&(s=e.apply(i,a),i=a=null,clearTimeout(r),r=null)},u}t.debounce=t,e.exports=t},30041:(e,t,n)=>{"use strict";var r=n(30655),a=n(58068),i=n(69675),o=n(75795);e.exports=function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,d=arguments.length>6&&arguments[6],c=!!o&&o(e,t);if(r)r(e,t,{configurable:null===u&&c?c.configurable:!u,enumerable:null===s&&c?c.enumerable:!s,value:n,writable:null===l&&c?c.writable:!l});else{if(!d&&(s||l||u))throw new a("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},38452:(e,t,n)=>{"use strict";var r=n(1189),a="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),i=Object.prototype.toString,o=Array.prototype.concat,s=n(30041),l=n(30592)(),u=function(e,t,n,r){if(t in e)if(!0===r){if(e[t]===n)return}else if("function"!=typeof(a=r)||"[object Function]"!==i.call(a)||!r())return;var a;l?s(e,t,n,!0):s(e,t,n)},d=function(e,t){var n=arguments.length>2?arguments[2]:{},i=r(t);a&&(i=o.call(i,Object.getOwnPropertySymbols(t)));for(var s=0;s1?n-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:m;t&&t(e,null);let i=r.length;for(;i--;){let t=r[i];if("string"==typeof t){const e=a(t);e!==t&&(n(r)||(r[i]=e),t=e)}e[t]=!0}return e}function k(e){for(let t=0;t/gm),U=s(/\${[\w\W]*}/gm),G=s(/^data-[\-\w.\u00B7-\uFFFF]/),Z=s(/^aria-[\-\w]+$/),z=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=s(/^(?:\w+script|data):/i),W=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),$=s(/^html$/i);var V=Object.freeze({__proto__:null,MUSTACHE_EXPR:I,ERB_EXPR:H,TMPLIT_EXPR:U,DATA_ATTR:G,ARIA_ATTR:Z,IS_ALLOWED_URI:z,IS_SCRIPT_OR_DATA:q,ATTR_WHITESPACE:W,DOCTYPE_NAME:$});const J=function(){return"undefined"==typeof window?null:window};return function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:J();const a=e=>t(e);if(a.version="3.0.9",a.removed=[],!n||!n.document||9!==n.document.nodeType)return a.isSupported=!1,a;let{document:i}=n;const s=i,u=s.currentScript,{DocumentFragment:d,HTMLTemplateElement:T,Node:E,Element:k,NodeFilter:I,NamedNodeMap:H=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:U,DOMParser:G,trustedTypes:Z}=n,q=k.prototype,W=C(q,"cloneNode"),K=C(q,"nextSibling"),Q=C(q,"childNodes"),X=C(q,"parentNode");if("function"==typeof T){const e=i.createElement("template");e.content&&e.content.ownerDocument&&(i=e.content.ownerDocument)}let ee,te="";const{implementation:ne,createNodeIterator:re,createDocumentFragment:ae,getElementsByTagName:ie}=i,{importNode:oe}=s;let se={};a.isSupported="function"==typeof e&&"function"==typeof X&&ne&&void 0!==ne.createHTMLDocument;const{MUSTACHE_EXPR:le,ERB_EXPR:ue,TMPLIT_EXPR:de,DATA_ATTR:ce,ARIA_ATTR:he,IS_SCRIPT_OR_DATA:fe,ATTR_WHITESPACE:me}=V;let{IS_ALLOWED_URI:pe}=V,ge=null;const _e=w({},[...S,...x,...M,...N,...O]);let ve=null;const Ae=w({},[...R,...Y,...j,...P]);let be=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ye=null,Fe=null,Te=!0,Ee=!0,we=!1,ke=!0,De=!1,Ce=!1,Se=!1,xe=!1,Me=!1,Be=!1,Ne=!1,Le=!0,Oe=!1,Re=!0,Ye=!1,je={},Pe=null;const Ie=w({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let He=null;const Ue=w({},["audio","video","img","source","image","track"]);let Ge=null;const Ze=w({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ze="http://www.w3.org/1998/Math/MathML",qe="http://www.w3.org/2000/svg",We="http://www.w3.org/1999/xhtml";let $e=We,Ve=!1,Je=null;const Ke=w({},[ze,qe,We],p);let Qe=null;const Xe=["application/xhtml+xml","text/html"];let et=null,tt=null;const nt=i.createElement("form"),rt=function(e){return e instanceof RegExp||e instanceof Function},at=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!tt||tt!==e){if(e&&"object"==typeof e||(e={}),e=D(e),Qe=-1===Xe.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,et="application/xhtml+xml"===Qe?p:m,ge=b(e,"ALLOWED_TAGS")?w({},e.ALLOWED_TAGS,et):_e,ve=b(e,"ALLOWED_ATTR")?w({},e.ALLOWED_ATTR,et):Ae,Je=b(e,"ALLOWED_NAMESPACES")?w({},e.ALLOWED_NAMESPACES,p):Ke,Ge=b(e,"ADD_URI_SAFE_ATTR")?w(D(Ze),e.ADD_URI_SAFE_ATTR,et):Ze,He=b(e,"ADD_DATA_URI_TAGS")?w(D(Ue),e.ADD_DATA_URI_TAGS,et):Ue,Pe=b(e,"FORBID_CONTENTS")?w({},e.FORBID_CONTENTS,et):Ie,ye=b(e,"FORBID_TAGS")?w({},e.FORBID_TAGS,et):{},Fe=b(e,"FORBID_ATTR")?w({},e.FORBID_ATTR,et):{},je=!!b(e,"USE_PROFILES")&&e.USE_PROFILES,Te=!1!==e.ALLOW_ARIA_ATTR,Ee=!1!==e.ALLOW_DATA_ATTR,we=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ke=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,De=e.SAFE_FOR_TEMPLATES||!1,Ce=e.WHOLE_DOCUMENT||!1,Me=e.RETURN_DOM||!1,Be=e.RETURN_DOM_FRAGMENT||!1,Ne=e.RETURN_TRUSTED_TYPE||!1,xe=e.FORCE_BODY||!1,Le=!1!==e.SANITIZE_DOM,Oe=e.SANITIZE_NAMED_PROPS||!1,Re=!1!==e.KEEP_CONTENT,Ye=e.IN_PLACE||!1,pe=e.ALLOWED_URI_REGEXP||z,$e=e.NAMESPACE||We,be=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&rt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(be.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&rt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(be.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(be.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),De&&(Ee=!1),Be&&(Me=!0),je&&(ge=w({},O),ve=[],!0===je.html&&(w(ge,S),w(ve,R)),!0===je.svg&&(w(ge,x),w(ve,Y),w(ve,P)),!0===je.svgFilters&&(w(ge,M),w(ve,Y),w(ve,P)),!0===je.mathMl&&(w(ge,N),w(ve,j),w(ve,P))),e.ADD_TAGS&&(ge===_e&&(ge=D(ge)),w(ge,e.ADD_TAGS,et)),e.ADD_ATTR&&(ve===Ae&&(ve=D(ve)),w(ve,e.ADD_ATTR,et)),e.ADD_URI_SAFE_ATTR&&w(Ge,e.ADD_URI_SAFE_ATTR,et),e.FORBID_CONTENTS&&(Pe===Ie&&(Pe=D(Pe)),w(Pe,e.FORBID_CONTENTS,et)),Re&&(ge["#text"]=!0),Ce&&w(ge,["html","head","body"]),ge.table&&(w(ge,["tbody"]),delete ye.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw F('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw F('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ee=e.TRUSTED_TYPES_POLICY,te=ee.createHTML("")}else void 0===ee&&(ee=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(n=t.getAttribute(a));const i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return r.warn("TrustedTypes policy "+i+" could not be created."),null}}(Z,u)),null!==ee&&"string"==typeof te&&(te=ee.createHTML(""));o&&o(e),tt=e}},it=w({},["mi","mo","mn","ms","mtext"]),ot=w({},["foreignobject","desc","title","annotation-xml"]),st=w({},["title","style","font","a","script"]),lt=w({},[...x,...M,...B]),ut=w({},[...N,...L]),dt=function(e){f(a.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},ct=function(e,t){try{f(a.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){f(a.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!ve[e])if(Me||Be)try{dt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},ht=function(e){let t=null,n=null;if(xe)e=""+e;else{const t=g(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===Qe&&$e===We&&(e=''+e+"");const r=ee?ee.createHTML(e):e;if($e===We)try{t=(new G).parseFromString(r,Qe)}catch(e){}if(!t||!t.documentElement){t=ne.createDocument($e,"template",null);try{t.documentElement.innerHTML=Ve?te:r}catch(e){}}const a=t.body||t.documentElement;return e&&n&&a.insertBefore(i.createTextNode(n),a.childNodes[0]||null),$e===We?ie.call(t,Ce?"html":"body")[0]:Ce?t.documentElement:a},ft=function(e){return re.call(e.ownerDocument||e,e,I.SHOW_ELEMENT|I.SHOW_COMMENT|I.SHOW_TEXT,null)},mt=function(e){return"function"==typeof E&&e instanceof E},pt=function(e,t,n){se[e]&&c(se[e],(e=>{e.call(a,t,n,tt)}))},gt=function(e){let t=null;if(pt("beforeSanitizeElements",e,null),(n=e)instanceof U&&("string"!=typeof n.nodeName||"string"!=typeof n.textContent||"function"!=typeof n.removeChild||!(n.attributes instanceof H)||"function"!=typeof n.removeAttribute||"function"!=typeof n.setAttribute||"string"!=typeof n.namespaceURI||"function"!=typeof n.insertBefore||"function"!=typeof n.hasChildNodes))return dt(e),!0;var n;const r=et(e.nodeName);if(pt("uponSanitizeElement",e,{tagName:r,allowedTags:ge}),e.hasChildNodes()&&!mt(e.firstElementChild)&&y(/<[/\w]/g,e.innerHTML)&&y(/<[/\w]/g,e.textContent))return dt(e),!0;if(!ge[r]||ye[r]){if(!ye[r]&&vt(r)){if(be.tagNameCheck instanceof RegExp&&y(be.tagNameCheck,r))return!1;if(be.tagNameCheck instanceof Function&&be.tagNameCheck(r))return!1}if(Re&&!Pe[r]){const t=X(e)||e.parentNode,n=Q(e)||e.childNodes;if(n&&t)for(let r=n.length-1;r>=0;--r)t.insertBefore(W(n[r],!0),K(e))}return dt(e),!0}return e instanceof k&&!function(e){let t=X(e);t&&t.tagName||(t={namespaceURI:$e,tagName:"template"});const n=m(e.tagName),r=m(t.tagName);return!!Je[e.namespaceURI]&&(e.namespaceURI===qe?t.namespaceURI===We?"svg"===n:t.namespaceURI===ze?"svg"===n&&("annotation-xml"===r||it[r]):Boolean(lt[n]):e.namespaceURI===ze?t.namespaceURI===We?"math"===n:t.namespaceURI===qe?"math"===n&&ot[r]:Boolean(ut[n]):e.namespaceURI===We?!(t.namespaceURI===qe&&!ot[r])&&!(t.namespaceURI===ze&&!it[r])&&!ut[n]&&(st[n]||!lt[n]):!("application/xhtml+xml"!==Qe||!Je[e.namespaceURI]))}(e)?(dt(e),!0):"noscript"!==r&&"noembed"!==r&&"noframes"!==r||!y(/<\/no(script|embed|frames)/i,e.innerHTML)?(De&&3===e.nodeType&&(t=e.textContent,c([le,ue,de],(e=>{t=_(t,e," ")})),e.textContent!==t&&(f(a.removed,{element:e.cloneNode()}),e.textContent=t)),pt("afterSanitizeElements",e,null),!1):(dt(e),!0)},_t=function(e,t,n){if(Le&&("id"===t||"name"===t)&&(n in i||n in nt))return!1;if(Ee&&!Fe[t]&&y(ce,t));else if(Te&&y(he,t));else if(!ve[t]||Fe[t]){if(!(vt(e)&&(be.tagNameCheck instanceof RegExp&&y(be.tagNameCheck,e)||be.tagNameCheck instanceof Function&&be.tagNameCheck(e))&&(be.attributeNameCheck instanceof RegExp&&y(be.attributeNameCheck,t)||be.attributeNameCheck instanceof Function&&be.attributeNameCheck(t))||"is"===t&&be.allowCustomizedBuiltInElements&&(be.tagNameCheck instanceof RegExp&&y(be.tagNameCheck,n)||be.tagNameCheck instanceof Function&&be.tagNameCheck(n))))return!1}else if(Ge[t]);else if(y(pe,_(n,me,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==v(n,"data:")||!He[e])if(we&&!y(fe,_(n,me,"")));else if(n)return!1;return!0},vt=function(e){return"annotation-xml"!==e&&e.indexOf("-")>0},At=function(e){pt("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ve};let r=t.length;for(;r--;){const i=t[r],{name:o,namespaceURI:s,value:l}=i,u=et(o);let d="value"===o?l:A(l);if(n.attrName=u,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,pt("uponSanitizeAttribute",e,n),d=n.attrValue,n.forceKeepAttr)continue;if(ct(o,e),!n.keepAttr)continue;if(!ke&&y(/\/>/i,d)){ct(o,e);continue}De&&c([le,ue,de],(e=>{d=_(d,e," ")}));const f=et(e.nodeName);if(_t(f,u,d)){if(!Oe||"id"!==u&&"name"!==u||(ct(o,e),d="user-content-"+d),ee&&"object"==typeof Z&&"function"==typeof Z.getAttributeType)if(s);else switch(Z.getAttributeType(f,u)){case"TrustedHTML":d=ee.createHTML(d);break;case"TrustedScriptURL":d=ee.createScriptURL(d)}try{s?e.setAttributeNS(s,o,d):e.setAttribute(o,d),h(a.removed)}catch(e){}}}pt("afterSanitizeAttributes",e,null)},bt=function e(t){let n=null;const r=ft(t);for(pt("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)pt("uponSanitizeShadowNode",n,null),gt(n)||(n.content instanceof d&&e(n.content),At(n));pt("afterSanitizeShadowDOM",t,null)};return a.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,o=null;if(Ve=!e,Ve&&(e="\x3c!--\x3e"),"string"!=typeof e&&!mt(e)){if("function"!=typeof e.toString)throw F("toString is not a function");if("string"!=typeof(e=e.toString()))throw F("dirty is not a string, aborting")}if(!a.isSupported)return e;if(Se||at(t),a.removed=[],"string"==typeof e&&(Ye=!1),Ye){if(e.nodeName){const t=et(e.nodeName);if(!ge[t]||ye[t])throw F("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof E)n=ht("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),1===r.nodeType&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Me&&!De&&!Ce&&-1===e.indexOf("<"))return ee&&Ne?ee.createHTML(e):e;if(n=ht(e),!n)return Me?null:Ne?te:""}n&&xe&&dt(n.firstChild);const l=ft(Ye?e:n);for(;i=l.nextNode();)gt(i)||(i.content instanceof d&&bt(i.content),At(i));if(Ye)return e;if(Me){if(Be)for(o=ae.call(n.ownerDocument);n.firstChild;)o.appendChild(n.firstChild);else o=n;return(ve.shadowroot||ve.shadowrootmode)&&(o=oe.call(s,o,!0)),o}let u=Ce?n.outerHTML:n.innerHTML;return Ce&&ge["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&y($,n.ownerDocument.doctype.name)&&(u="\n"+u),De&&c([le,ue,de],(e=>{u=_(u,e," ")})),ee&&Ne?ee.createHTML(u):u},a.setConfig=function(){at(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Se=!0},a.clearConfig=function(){tt=null,Se=!1},a.isValidAttribute=function(e,t,n){tt||at({});const r=et(e),a=et(t);return _t(r,a,n)},a.addHook=function(e,t){"function"==typeof t&&(se[e]=se[e]||[],f(se[e],t))},a.removeHook=function(e){if(se[e])return h(se[e])},a.removeHooks=function(e){se[e]&&(se[e]=[])},a.removeAllHooks=function(){se={}},a}()}()},43850:function(e,t,n){var r=n(96763);"undefined"!=typeof self&&self,e.exports=function(){var e={661:function(){"undefined"!=typeof window&&function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}(Object.getOwnPropertyNames(e));try{for(n.s();!(t=n.n()).done;){var r=t.value,a=e[r];e[r]=a&&"object"===d(a)?m(a):a}}catch(e){n.e(e)}finally{n.f()}return Object.freeze(e)}var p,g,_=function(e){if(!e.compressed)return e;for(var t in e.compressed=!1,e.emojis){var n=e.emojis[t];for(var r in h)n[r]=n[h[r]],delete n[h[r]];n.short_names||(n.short_names=[]),n.short_names.unshift(t),n.sheet_x=n.sheet[0],n.sheet_y=n.sheet[1],delete n.sheet,n.text||(n.text=""),n.added_in||(n.added_in=6),n.added_in=n.added_in.toFixed(1),n.search=f(n)}return m(e)},v=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","scream","disappointed","unamused","weary","sob","sunglasses","heart","hankey"],A={};function b(){g=!0,p=u.get("frequently")}var y={add:function(e){g||b();var t=e.id;p||(p=A),p[t]||(p[t]=0),p[t]+=1,u.set("last",t),u.set("frequently",p)},get:function(e){if(g||b(),!p){A={};for(var t=[],n=Math.min(e,v.length),r=0;r',custom:'',flags:'',foods:'',nature:'',objects:'',smileys:'',people:' ',places:'',recent:'',symbols:''};function T(e,t,n,r,a,i,o,s){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):a&&(l=s?function(){a.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(e,t){return l.call(t),d(e,t)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:e,options:u}}var E=T({props:{i18n:{type:Object,required:!0},color:{type:String},categories:{type:Array,required:!0},activeCategory:{type:Object,default:function(){return{}}}},created:function(){this.svgs=F}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"emoji-mart-anchors",attrs:{role:"tablist"}},e._l(e.categories,(function(t){return n("button",{key:t.id,class:{"emoji-mart-anchor":!0,"emoji-mart-anchor-selected":t.id==e.activeCategory.id},style:{color:t.id==e.activeCategory.id?e.color:""},attrs:{role:"tab",type:"button","aria-label":t.name,"aria-selected":t.id==e.activeCategory.id,"data-title":e.i18n.categories[t.id]},on:{click:function(n){return e.$emit("click",t)}}},[n("div",{attrs:{"aria-hidden":"true"},domProps:{innerHTML:e._s(e.svgs[t.id])}}),e._v(" "),n("span",{staticClass:"emoji-mart-anchor-bar",style:{backgroundColor:e.color},attrs:{"aria-hidden":"true"}})])})),0)}),[],!1,null,null,null),w=E.exports;function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function D(e,t){for(var n=0;n1114111||Math.floor(o)!=o)throw RangeError("Invalid code point: "+o);o<=65535?n.push(o):(e=55296+((o-=65536)>>10),t=o%1024+56320,n.push(e,t)),(r+1===a||n.length>16384)&&(i+=String.fromCharCode.apply(null,n),n.length=0)}return i};function x(e){var t=e.split("-").map((function(e){return"0x".concat(e)}));return S.apply(null,t)}function M(e){return e.reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[])}function B(e,t){var n=M(e),r=M(t);return n.filter((function(e){return r.indexOf(e)>=0}))}function N(e,t){var n={};for(var r in e){var a=e[r],i=a;t.hasOwnProperty(r)&&(i=t[r]),"object"===d(i)&&(i=N(a,i)),n[r]=i}return n}function L(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.emojisToShowFilter,a=n.include,i=n.exclude,o=n.custom,s=n.recent,l=n.recentLength,u=void 0===l?20:l;k(this,e),this._data=_(t),this._emojisFilter=r||null,this._include=a||null,this._exclude=i||null,this._custom=o||[],this._recent=s||y.get(u),this._emojis={},this._nativeEmojis={},this._emoticons={},this._categories=[],this._recentCategory={id:"recent",name:"Recent",emojis:[]},this._customCategory={id:"custom",name:"Custom",emojis:[]},this._searchIndex={},this.buildIndex(),Object.freeze(this)}return C(e,[{key:"buildIndex",value:function(){var e=this,t=this._data.categories;if(this._include&&(t=(t=t.filter((function(t){return e._include.includes(t.id)}))).sort((function(t,n){var r=e._include.indexOf(t.id),a=e._include.indexOf(n.id);return ra?1:0}))),t.forEach((function(t){if(e.isCategoryNeeded(t.id)){var n={id:t.id,name:t.name,emojis:[]};t.emojis.forEach((function(t){var r=e.addEmoji(t);r&&n.emojis.push(r)})),n.emojis.length&&e._categories.push(n)}})),this.isCategoryNeeded("custom")){if(this._custom.length>0){var n,r=L(this._custom);try{for(r.s();!(n=r.n()).done;){var a=n.value;this.addCustomEmoji(a)}}catch(e){r.e(e)}finally{r.f()}}this._customCategory.emojis.length&&this._categories.push(this._customCategory)}this.isCategoryNeeded("recent")&&(this._recent.length&&this._recent.map((function(t){var n,r=L(e._customCategory.emojis);try{for(r.s();!(n=r.n()).done;){var a=n.value;if(a.id===t)return void e._recentCategory.emojis.push(a)}}catch(e){r.e(e)}finally{r.f()}e.hasEmoji(t)&&e._recentCategory.emojis.push(e.emoji(t))})),this._recentCategory.emojis.length&&this._categories.unshift(this._recentCategory))}},{key:"findEmoji",value:function(e,t){var n=e.match(R);if(n&&(e=n[1],n[2]&&(t=parseInt(n[2],10))),this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]),this._emojis.hasOwnProperty(e)){var r=this._emojis[e];return t?r.getSkin(t):r}return this._nativeEmojis.hasOwnProperty(e)?this._nativeEmojis[e]:null}},{key:"categories",value:function(){return this._categories}},{key:"emoji",value:function(e){this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]);var t=this._emojis[e];if(!t)throw new Error("Can not find emoji by id: "+e);return t}},{key:"firstEmoji",value:function(){var e=this._emojis[Object.keys(this._emojis)[0]];if(!e)throw new Error("Can not get first emoji");return e}},{key:"hasEmoji",value:function(e){return this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]),!!this._emojis[e]}},{key:"nativeEmoji",value:function(e){return this._nativeEmojis.hasOwnProperty(e)?this._nativeEmojis[e]:null}},{key:"search",value:function(e,t){var n=this;if(t||(t=75),!e.length)return null;if("-"==e||"-1"==e)return[this.emoji("-1")];var r,a=e.toLowerCase().split(/[\s|,|\-|_]+/);a.length>2&&(a=[a[0],a[1]]),r=a.map((function(e){for(var t=n._emojis,r=n._searchIndex,a=0,i=0;i1?B.apply(null,r):r.length?r[0]:[])&&i.length>t&&(i=i.slice(0,t)),i}},{key:"addCustomEmoji",value:function(e){var t=Object.assign({},e,{id:e.short_names[0],custom:!0});t.search||(t.search=f(t));var n=new P(t);return this._emojis[n.id]=n,this._customCategory.emojis.push(n),n}},{key:"addEmoji",value:function(e){var t=this,n=this._data.emojis[e];if(!this.isEmojiNeeded(n))return!1;var r=new P(n);if(this._emojis[e]=r,r.native&&(this._nativeEmojis[r.native]=r),r._skins)for(var a in r._skins){var i=r._skins[a];i.native&&(this._nativeEmojis[i.native]=i)}return r.emoticons&&r.emoticons.forEach((function(n){t._emoticons[n]||(t._emoticons[n]=e)})),r}},{key:"isCategoryNeeded",value:function(e){var t=!this._include||!this._include.length||this._include.indexOf(e)>-1,n=!(!this._exclude||!this._exclude.length)&&this._exclude.indexOf(e)>-1;return!(!t||n)}},{key:"isEmojiNeeded",value:function(e){return!this._emojisFilter||this._emojisFilter(e)}}]),e}(),P=function(){function e(t){if(k(this,e),this._data=Object.assign({},t),this._skins=null,this._data.skin_variations)for(var n in this._skins=[],Y){var r=Y[n],a=this._data.skin_variations[r],i=Object.assign({},t);for(var o in a)i[o]=a[o];delete i.skin_variations,i.skin_tone=parseInt(n)+1,this._skins.push(new e(i))}for(var s in this._sanitized=H(this._data),this._sanitized)this[s]=this._sanitized[s];this.short_names=this._data.short_names,this.short_name=this._data.short_names[0],Object.freeze(this)}return C(e,[{key:"getSkin",value:function(e){return e&&"native"!=e&&this._skins?this._skins[e-1]:this}},{key:"getPosition",value:function(){var e=+(100/60*this._data.sheet_x).toFixed(2),t=+(100/60*this._data.sheet_y).toFixed(2);return"".concat(e,"% ").concat(t,"%")}},{key:"ariaLabel",value:function(){return[this.native].concat(this.short_names).filter(Boolean).join(", ")}}]),e}(),I=function(){function e(t,n,r,a,i,o,s){k(this,e),this._emoji=t,this._native=a,this._skin=n,this._set=r,this._fallback=i,this.canRender=this._canRender(),this.cssClass=this._cssClass(),this.cssStyle=this._cssStyle(s),this.content=this._content(),this.title=!0===o?t.short_name:null,this.ariaLabel=t.ariaLabel(),Object.freeze(this)}return C(e,[{key:"getEmoji",value:function(){return this._emoji.getSkin(this._skin)}},{key:"_canRender",value:function(){return this._isCustom()||this._isNative()||this._hasEmoji()||this._fallback}},{key:"_cssClass",value:function(){return["emoji-set-"+this._set,"emoji-type-"+this._emojiType()]}},{key:"_cssStyle",value:function(e){var t={};return this._isCustom()?t={backgroundImage:"url("+this.getEmoji()._data.imageUrl+")",backgroundSize:"100%",width:e+"px",height:e+"px"}:this._hasEmoji()&&!this._isNative()&&(t={backgroundPosition:this.getEmoji().getPosition()}),e&&(t=this._isNative()?Object.assign(t,{fontSize:Math.round(.95*e*10)/10+"px"}):Object.assign(t,{width:e+"px",height:e+"px"})),t}},{key:"_content",value:function(){return this._isCustom()?"":this._isNative()?this.getEmoji().native:this._hasEmoji()?"":this._fallback?this._fallback(this.getEmoji()):null}},{key:"_isNative",value:function(){return this._native}},{key:"_isCustom",value:function(){return this.getEmoji().custom}},{key:"_hasEmoji",value:function(){if(!this.getEmoji()._data)return!1;var e=this.getEmoji()._data["has_img_"+this._set];return void 0===e||e}},{key:"_emojiType",value:function(){return this._isCustom()?"custom":this._isNative()?"native":this._hasEmoji()?"image":"fallback"}}]),e}();function H(e){var t=e.name,n=e.short_names,r=e.skin_tone,a=e.skin_variations,i=e.emoticons,o=e.unified,s=e.custom,l=e.imageUrl,u=e.id||n[0],d=":".concat(u,":");return s?{id:u,name:t,colons:d,emoticons:i,custom:s,imageUrl:l}:(r&&(d+=":skin-tone-".concat(r,":")),{id:u,name:t,colons:d,emoticons:i,unified:o.toLowerCase(),skin:r||(a?1:null),native:x(o)})}function U(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var G={native:{type:Boolean,default:!1},tooltip:{type:Boolean,default:!1},fallback:{type:Function},skin:{type:Number,default:1},set:{type:String,default:"apple"},emoji:{type:[String,Object],required:!0},size:{type:Number,default:null},tag:{type:String,default:"span"}},Z={perLine:{type:Number,default:9},maxSearchResults:{type:Number,default:75},emojiSize:{type:Number,default:24},title:{type:String,default:"Emoji Mart™"},emoji:{type:String,default:"department_store"},color:{type:String,default:"#ae65c5"},set:{type:String,default:"apple"},skin:{type:Number,default:null},defaultSkin:{type:Number,default:1},native:{type:Boolean,default:!1},emojiTooltip:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1},i18n:{type:Object,default:function(){return{}}},showPreview:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showCategories:{type:Boolean,default:!0},showSkinTones:{type:Boolean,default:!0},infiniteScroll:{type:Boolean,default:!0},pickerStyles:{type:Object,default:function(){return{}}}};function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t0},emojiObjects:function(){var e=this;return this.emojis.map((function(t){return{emojiObject:t,emojiView:new I(t,e.emojiProps.skin,e.emojiProps.set,e.emojiProps.native,e.emojiProps.fallback,e.emojiProps.emojiTooltip,e.emojiProps.emojiSize)}}))}},components:{Emoji:W}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isVisible&&(e.isSearch||e.hasResults)?n("section",{class:{"emoji-mart-category":!0,"emoji-mart-no-results":!e.hasResults},attrs:{"aria-label":e.i18n.categories[e.id]}},[n("div",{staticClass:"emoji-mart-category-label"},[n("h3",{staticClass:"emoji-mart-category-label"},[e._v(e._s(e.i18n.categories[e.id]))])]),e._v(" "),e._l(e.emojiObjects,(function(t){var r=t.emojiObject,a=t.emojiView;return[a.canRender?n("button",{key:r.id,staticClass:"emoji-mart-emoji",class:e.activeClass(r),attrs:{"aria-label":a.ariaLabel,role:"option","aria-selected":"false","aria-posinset":"1","aria-setsize":"1812",type:"button","data-title":r.short_name,title:a.title},on:{mouseenter:function(t){e.emojiProps.onEnter(a.getEmoji())},mouseleave:function(t){e.emojiProps.onLeave(a.getEmoji())},click:function(t){e.emojiProps.onClick(a.getEmoji())}}},[n("span",{class:a.cssClass,style:a.cssStyle},[e._v(e._s(a.content))])]):e._e()]})),e._v(" "),e.hasResults?e._e():n("div",[n("emoji",{attrs:{data:e.data,emoji:"sleuth_or_spy",native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}}),e._v(" "),n("div",{staticClass:"emoji-mart-no-results-label"},[e._v(e._s(e.i18n.notfound))])],1)],2):e._e()}),[],!1,null,null,null).exports,V=T({props:{skin:{type:Number,required:!0}},data:function(){return{opened:!1}},methods:{onClick:function(e){this.opened&&e!=this.skin&&this.$emit("change",e),this.opened=!this.opened}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"emoji-mart-skin-swatches":!0,"emoji-mart-skin-swatches-opened":e.opened}},e._l(6,(function(t){return n("span",{key:t,class:{"emoji-mart-skin-swatch":!0,"emoji-mart-skin-swatch-selected":e.skin==t}},[n("span",{class:"emoji-mart-skin emoji-mart-skin-tone-"+t,on:{click:function(n){return e.onClick(t)}}})])})),0)}),[],!1,null,null,null).exports,J=T({props:{data:{type:Object,required:!0},title:{type:String,required:!0},emoji:{type:[String,Object]},idleEmoji:{type:[String,Object],required:!0},showSkinTones:{type:Boolean,default:!0},emojiProps:{type:Object,required:!0},skinProps:{type:Object,required:!0},onSkinChange:{type:Function,required:!0}},computed:{emojiData:function(){return this.emoji?this.emoji:{}},emojiShortNames:function(){return this.emojiData.short_names},emojiEmoticons:function(){return this.emojiData.emoticons}},components:{Emoji:W,Skins:V}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"emoji-mart-preview"},[e.emoji?[n("div",{staticClass:"emoji-mart-preview-emoji"},[n("emoji",{attrs:{data:e.data,emoji:e.emoji,native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}})],1),e._v(" "),n("div",{staticClass:"emoji-mart-preview-data"},[n("div",{staticClass:"emoji-mart-preview-name"},[e._v(e._s(e.emoji.name))]),e._v(" "),n("div",{staticClass:"emoji-mart-preview-shortnames"},e._l(e.emojiShortNames,(function(t){return n("span",{key:t,staticClass:"emoji-mart-preview-shortname"},[e._v(":"+e._s(t)+":")])})),0),e._v(" "),n("div",{staticClass:"emoji-mart-preview-emoticons"},e._l(e.emojiEmoticons,(function(t){return n("span",{key:t,staticClass:"emoji-mart-preview-emoticon"},[e._v(e._s(t))])})),0)])]:[n("div",{staticClass:"emoji-mart-preview-emoji"},[n("emoji",{attrs:{data:e.data,emoji:e.idleEmoji,native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}})],1),e._v(" "),n("div",{staticClass:"emoji-mart-preview-data"},[n("span",{staticClass:"emoji-mart-title-label"},[e._v(e._s(e.title))])]),e._v(" "),e.showSkinTones?n("div",{staticClass:"emoji-mart-preview-skins"},[n("skins",{attrs:{skin:e.skinProps.skin},on:{change:function(t){return e.onSkinChange(t)}}})],1):e._e()]],2)}),[],!1,null,null,null).exports,K=T({props:{data:{type:Object,required:!0},i18n:{type:Object,required:!0},autoFocus:{type:Boolean,default:!1},onSearch:{type:Function,required:!0},onArrowLeft:{type:Function,required:!1},onArrowRight:{type:Function,required:!1},onArrowDown:{type:Function,required:!1},onArrowUp:{type:Function,required:!1},onEnter:{type:Function,required:!1}},data:function(){return{value:""}},computed:{emojiIndex:function(){return this.data}},watch:{value:function(){this.$emit("search",this.value)}},methods:{clear:function(){this.value=""}},mounted:function(){var e=this.$el.querySelector("input");this.autoFocus&&e.focus()}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"emoji-mart-search"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],attrs:{type:"text",placeholder:e.i18n.search,role:"textbox","aria-autocomplete":"list","aria-owns":"emoji-mart-list","aria-label":"Search for an emoji","aria-describedby":"emoji-mart-search-description"},domProps:{value:e.value},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:function(t){return e.$emit("arrowLeft",t)}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:function(){return e.$emit("arrowRight")}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:function(){return e.$emit("arrowDown")}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:function(t){return e.$emit("arrowUp",t)}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:function(){return e.$emit("enter")}.apply(null,arguments)}],input:function(t){t.target.composing||(e.value=t.target.value)}}}),e._v(" "),n("span",{staticClass:"hidden",attrs:{id:"emoji-picker-search-description"}},[e._v("Use the left, right, up and down arrow keys to navigate the emoji search\n results.")])])}),[],!1,null,null,null),Q=K.exports;function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0})),this._categories[0].first=!0,Object.freeze(this._categories),this.activeCategory=this._categories[0],this.searchEmojis=null,this.previewEmoji=null,this.previewEmojiCategoryIdx=0,this.previewEmojiIdx=-1}return C(e,[{key:"onScroll",value:function(){for(var e=this._vm.$refs.scroll.scrollTop,t=this.filteredCategories[0],n=0,r=this.filteredCategories.length;ne)break;t=a}this.activeCategory=t}},{key:"allCategories",get:function(){return this._categories}},{key:"filteredCategories",get:function(){return this.searchEmojis?[{id:"search",name:"Search",emojis:this.searchEmojis}]:this._categories.filter((function(e){return e.emojis.length>0}))}},{key:"previewEmojiCategory",get:function(){return this.previewEmojiCategoryIdx>=0?this.filteredCategories[this.previewEmojiCategoryIdx]:null}},{key:"onAnchorClick",value:function(e){var t=this;if(!this.searchEmojis){var n=this.filteredCategories.indexOf(e),r=this._vm.getCategoryComponent(n);this._vm.infiniteScroll?function(){if(r){var n=r.$el.offsetTop;e.first&&(n=0),t._vm.$refs.scroll.scrollTop=n}}():this.activeCategory=this.filteredCategories[n]}}},{key:"onSearch",value:function(e){var t=this._data.search(e,this.maxSearchResults);this.searchEmojis=t,this.previewEmojiCategoryIdx=0,this.previewEmojiIdx=0,this.updatePreviewEmoji()}},{key:"onEmojiEnter",value:function(e){this.previewEmoji=e,this.previewEmojiIdx=-1,this.previewEmojiCategoryIdx=-1}},{key:"onEmojiLeave",value:function(e){this.previewEmoji=null}},{key:"onArrowLeft",value:function(){this.previewEmojiIdx>0?this.previewEmojiIdx-=1:(this.previewEmojiCategoryIdx-=1,this.previewEmojiCategoryIdx<0?this.previewEmojiCategoryIdx=0:this.previewEmojiIdx=this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length-1),this.updatePreviewEmoji()}},{key:"onArrowRight",value:function(){this.previewEmojiIdx=this.filteredCategories.length?this.previewEmojiCategoryIdx=this.filteredCategories.length-1:this.previewEmojiIdx=0),this.updatePreviewEmoji()}},{key:"onArrowDown",value:function(){if(-1==this.previewEmojiIdx)return this.onArrowRight();var e=this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length,t=this._perLine;this.previewEmojiIdx+t>e&&(t=e%this._perLine);for(var n=0;n0?this.filteredCategories[this.previewEmojiCategoryIdx-1].emojis.length%this._perLine:0);for(var t=0;tr+t.scrollTop&&(t.scrollTop+=n.offsetHeight),n&&n.offsetTop{"use strict";var r=n(70453)("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch(e){r=!1}e.exports=r},41237:e=>{"use strict";e.exports=EvalError},69383:e=>{"use strict";e.exports=Error},79290:e=>{"use strict";e.exports=RangeError},79538:e=>{"use strict";e.exports=ReferenceError},58068:e=>{"use strict";e.exports=SyntaxError},69675:e=>{"use strict";e.exports=TypeError},35345:e=>{"use strict";e.exports=URIError},70580:e=>{"use strict";var t=/["'&<>]/;e.exports=function(e){var n,r=""+e,a=t.exec(r);if(!a)return r;var i="",o=0,s=0;for(o=a.index;o{"use strict";var r,a=n(96763),i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function l(){l.init.call(this)}e.exports=l,e.exports.once=function(e,t){return new Promise((function(n,r){function a(n){e.removeListener(t,i),r(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",a),n([].slice.call(arguments))}v(e,t,i,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&v(e,"error",t,{once:!0})}(e,a)}))},l.EventEmitter=l,l.prototype._events=void 0,l.prototype._eventsCount=0,l.prototype._maxListeners=void 0;var u=10;function d(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?l.defaultMaxListeners:e._maxListeners}function h(e,t,n,r){var i,o,s,l;if(d(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=c(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,l=u,a&&a.warn&&a.warn(l)}return e}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function m(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},a=f.bind(r);return a.listener=n,r.wrapFn=a,a}function p(e,t,n){var r=e._events;if(void 0===r)return[];var a=r[t];return void 0===a?[]:"function"==typeof a?n?[a.listener||a]:[a]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(i=t[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var l=a[e];if(void 0===l)return!1;if("function"==typeof l)o(l,this,t);else{var u=l.length,d=_(l,u);for(n=0;n=0;i--)if(n[i]===t||n[i].listener===t){o=n[i].listener,a=i;break}if(a<0)return this;0===a?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},l.prototype.listeners=function(e){return p(this,e,!0)},l.prototype.rawListeners=function(e){return p(this,e,!1)},l.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):g.call(e,t)},l.prototype.listenerCount=g,l.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},92849:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,a=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!a&&!i)return!1;for(r in e);return void 0===r||t.call(e,r)},s=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(a)return a(e,n).value}return e[n]};e.exports=function e(){var t,n,r,a,u,d,c=arguments[0],h=1,f=arguments.length,m=!1;for("boolean"==typeof c&&(m=c,c=arguments[1]||{},h=2),(null==c||"object"!=typeof c&&"function"!=typeof c)&&(c={});h{"use strict";const n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+n+"]["+n+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",a=new RegExp("^"+r+"$");t.isExist=function(e){return void 0!==e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,n){if(t){const r=Object.keys(t),a=r.length;for(let i=0;i{"use strict";const r=n(35334),a={allowBooleanAttributes:!1,unpairedTags:[]};function i(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function o(e,t){const n=t;for(;t5&&"xml"===r)return m("InvalidXml","XML declaration allowed only at the start of the document.",g(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function s(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let n=1;for(t+=8;t"===e[t]&&(n--,0===n))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=Object.assign({},a,t);const n=[];let l=!1,u=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let a=0;a"!==e[a]&&" "!==e[a]&&"\t"!==e[a]&&"\n"!==e[a]&&"\r"!==e[a];a++)v+=e[a];if(v=v.trim(),"/"===v[v.length-1]&&(v=v.substring(0,v.length-1),a--),c=v,!r.isName(c)){let t;return t=0===v.trim().length?"Invalid space after '<'.":"Tag '"+v+"' is an invalid name.",m("InvalidTag",t,g(e,a))}const A=d(e,a);if(!1===A)return m("InvalidAttr","Attributes for '"+v+"' have open quote.",g(e,a));let b=A.value;if(a=A.index,"/"===b[b.length-1]){const n=a-b.length;b=b.substring(0,b.length-1);const r=h(b,t);if(!0!==r)return m(r.err.code,r.err.msg,g(e,n+r.err.line));l=!0}else if(_){if(!A.tagClosed)return m("InvalidTag","Closing tag '"+v+"' doesn't have proper closing.",g(e,a));if(b.trim().length>0)return m("InvalidTag","Closing tag '"+v+"' can't have attributes or invalid starting.",g(e,p));{const t=n.pop();if(v!==t.tagName){let n=g(e,t.tagStartPos);return m("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+v+"'.",g(e,p))}0==n.length&&(u=!0)}}else{const r=h(b,t);if(!0!==r)return m(r.err.code,r.err.msg,g(e,a-b.length+r.err.line));if(!0===u)return m("InvalidXml","Multiple possible root nodes found.",g(e,a));-1!==t.unpairedTags.indexOf(v)||n.push({tagName:v,tagStartPos:p}),l=!0}for(a++;a0)||m("InvalidXml","Invalid '"+JSON.stringify(n.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):m("InvalidXml","Start tag expected.",1)};const l='"',u="'";function d(e,t){let n="",r="",a=!1;for(;t"===e[t]&&""===r){a=!0;break}n+=e[t]}return""===r&&{value:n,index:t,tagClosed:a}}const c=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function h(e,t){const n=r.getAllMatches(e,c),a={};for(let e=0;e{"use strict";const r=n(12788),a={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(e){this.options=Object.assign({},a,e),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=l),this.processTextOrObjNode=o,this.options.format?(this.indentate=s,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function o(e,t,n){const r=this.j2x(e,n+1);return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,r.attrStr,n):this.buildObjectNode(r.val,t,r.attrStr,n)}function s(e){return this.options.indentBy.repeat(e)}function l(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}i.prototype.build=function(e){return this.options.preserveOrder?r(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0).val)},i.prototype.j2x=function(e,t){let n="",r="";for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a))if(void 0===e[a])this.isAttribute(a)&&(r+="");else if(null===e[a])this.isAttribute(a)?r+="":"?"===a[0]?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(e[a]instanceof Date)r+=this.buildTextValNode(e[a],a,"",t);else if("object"!=typeof e[a]){const i=this.isAttribute(a);if(i)n+=this.buildAttrPairStr(i,""+e[a]);else if(a===this.options.textNodeName){let t=this.options.tagValueProcessor(a,""+e[a]);r+=this.replaceEntitiesValue(t)}else r+=this.buildTextValNode(e[a],a,"",t)}else if(Array.isArray(e[a])){const n=e[a].length;let i="";for(let o=0;o"+e+a}},i.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(r)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(r)+"<"+t+n+"?"+this.tagEndChar;{let a=this.options.tagValueProcessor(t,e);return a=this.replaceEntitiesValue(a),""===a?this.indentate(r)+"<"+t+n+this.closeTag(t)+this.tagEndChar:this.indentate(r)+"<"+t+n+">"+a+"0&&this.options.processEntities)for(let t=0;t{function t(e,o,s,l){let u="",d=!1;for(let c=0;c`,d=!1;continue}if(f===o.commentPropName){u+=l+`\x3c!--${h[f][0][o.textNodeName]}--\x3e`,d=!0;continue}if("?"===f[0]){const e=r(h[":@"],o),t="?xml"===f?"":l;let n=h[f][0][o.textNodeName];n=0!==n.length?" "+n:"",u+=t+`<${f}${n}${e}?>`,d=!0;continue}let p=l;""!==p&&(p+=o.indentBy);const g=l+`<${f}${r(h[":@"],o)}`,_=t(h[f],o,m,p);-1!==o.unpairedTags.indexOf(f)?o.suppressUnpairedNode?u+=g+">":u+=g+"/>":_&&0!==_.length||!o.suppressEmptyNode?_&&_.endsWith(">")?u+=g+`>${_}${l}`:(u+=g+">",_&&""!==l&&(_.includes("/>")||_.includes("`):u+=g+"/>",d=!0}return u}function n(e){const t=Object.keys(e);for(let n=0;n0&&t.processEntities)for(let n=0;n0&&(r="\n"),t(e,n,"",r)}},9400:(e,t,n)=>{const r=n(35334);function a(e,t){let n="";for(;t"===e[t]){if(h?"-"===e[t-1]&&"-"===e[t-2]&&(h=!1,r--):r--,0===r)break}else"["===e[t]?c=!0:f+=e[t];else{if(c&&o(e,t))t+=7,[entityName,val,t]=a(e,t+1),-1===val.indexOf("&")&&(n[d(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(c&&s(e,t))t+=8;else if(c&&l(e,t))t+=8;else if(c&&u(e,t))t+=9;else{if(!i)throw new Error("Invalid DOCTYPE");h=!0}r++,f=""}if(0!==r)throw new Error("Unclosed DOCTYPE")}return{entities:n,i:t}}},50460:(e,t)=>{const n={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,n){return e}};t.buildOptions=function(e){return Object.assign({},n,e)},t.defaultOptions=n},17680:(e,t,n)=>{"use strict";const r=n(35334),a=n(23832),i=n(9400),o=n(17983);function s(e){const t=Object.keys(e);for(let n=0;n0)){o||(e=this.replaceEntitiesValue(e));const r=this.options.tagValueProcessor(t,e,n,a,i);return null==r?e:typeof r!=typeof e||r!==e?r:this.options.trimValues||e.trim()===e?b(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function u(e){if(this.options.removeNSPrefix){const t=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=n+t[1])}return e}const d=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function c(e,t,n){if(!this.options.ignoreAttributes&&"string"==typeof e){const n=r.getAllMatches(e,d),a=n.length,i={};for(let e=0;e",s,"Closing Tag is not closed.");let a=e.substring(s+2,t).trim();if(this.options.removeNSPrefix){const e=a.indexOf(":");-1!==e&&(a=a.substr(e+1))}this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&(r=this.saveTextToParentTag(r,n,o));const i=o.substring(o.lastIndexOf(".")+1);if(a&&-1!==this.options.unpairedTags.indexOf(a))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;i&&-1!==this.options.unpairedTags.indexOf(i)?(l=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=o.lastIndexOf("."),o=o.substring(0,l),n=this.tagsNodeStack.pop(),r="",s=t}else if("?"===e[s+1]){let t=v(e,s,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,o),this.options.ignoreDeclaration&&"?xml"===t.tagName||this.options.ignorePiTags);else{const e=new a(t.tagName);e.add(this.options.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[":@"]=this.buildAttributesMap(t.tagExp,o,t.tagName)),this.addChild(n,e,o)}s=t.closeIndex+1}else if("!--"===e.substr(s+1,3)){const t=_(e,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){const a=e.substring(s+4,t-2);r=this.saveTextToParentTag(r,n,o),n.add(this.options.commentPropName,[{[this.options.textNodeName]:a}])}s=t}else if("!D"===e.substr(s+1,2)){const t=i(e,s);this.docTypeEntities=t.entities,s=t.i}else if("!["===e.substr(s+1,2)){const t=_(e,"]]>",s,"CDATA is not closed.")-2,a=e.substring(s+9,t);r=this.saveTextToParentTag(r,n,o);let i=this.parseTextData(a,n.tagname,o,!0,!1,!0,!0);null==i&&(i=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:a}]):n.add(this.options.textNodeName,i),s=t+2}else{let i=v(e,s,this.options.removeNSPrefix),l=i.tagName;const u=i.rawTagName;let d=i.tagExp,c=i.attrExpPresent,h=i.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&r&&"!xml"!==n.tagname&&(r=this.saveTextToParentTag(r,n,o,!1));const f=n;if(f&&-1!==this.options.unpairedTags.indexOf(f.tagname)&&(n=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),l!==t.tagname&&(o+=o?"."+l:l),this.isItStopNode(this.options.stopNodes,o,l)){let t="";if(d.length>0&&d.lastIndexOf("/")===d.length-1)s=i.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(l))s=i.closeIndex;else{const n=this.readStopNodeData(e,u,h+1);if(!n)throw new Error(`Unexpected end of ${u}`);s=n.i,t=n.tagContent}const r=new a(l);l!==d&&c&&(r[":@"]=this.buildAttributesMap(d,o,l)),t&&(t=this.parseTextData(t,l,o,!0,c,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),r.add(this.options.textNodeName,t),this.addChild(n,r,o)}else{if(d.length>0&&d.lastIndexOf("/")===d.length-1){"/"===l[l.length-1]?(l=l.substr(0,l.length-1),o=o.substr(0,o.length-1),d=l):d=d.substr(0,d.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const e=new a(l);l!==d&&c&&(e[":@"]=this.buildAttributesMap(d,o,l)),this.addChild(n,e,o),o=o.substr(0,o.lastIndexOf("."))}else{const e=new a(l);this.tagsNodeStack.push(n),l!==d&&c&&(e[":@"]=this.buildAttributesMap(d,o,l)),this.addChild(n,e,o),n=e}r="",s=h}}else r+=e[s];return t.child};function f(e,t,n){const r=this.options.updateTag(t.tagname,n,t[":@"]);!1===r||("string"==typeof r?(t.tagname=r,e.addChild(t)):e.addChild(t))}const m=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const n=this.docTypeEntities[t];e=e.replace(n.regx,n.val)}for(let t in this.lastEntities){const n=this.lastEntities[t];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const n=this.htmlEntities[t];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function p(e,t,n,r){return e&&(void 0===r&&(r=0===Object.keys(t.child).length),void 0!==(e=this.parseTextData(e,t.tagname,n,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,r))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function g(e,t,n){const r="*."+n;for(const n in e){const a=e[n];if(r===a||t===a)return!0}return!1}function _(e,t,n,r){const a=e.indexOf(t,n);if(-1===a)throw new Error(r);return a+t.length-1}function v(e,t,n,r=">"){const a=function(e,t,n=">"){let r,a="";for(let i=t;i",n,`${t} is not closed`);if(e.substring(n+2,i).trim()===t&&(a--,0===a))return{tagContent:e.substring(r,n),i};n=i}else if("?"===e[n+1])n=_(e,"?>",n+1,"StopNode is not closed.");else if("!--"===e.substr(n+1,3))n=_(e,"--\x3e",n+3,"StopNode is not closed.");else if("!["===e.substr(n+1,2))n=_(e,"]]>",n,"StopNode is not closed.")-2;else{const r=v(e,n,">");r&&((r&&r.tagName)===t&&"/"!==r.tagExp[r.tagExp.length-1]&&a++,n=r.closeIndex)}}function b(e,t,n){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&o(e,n)}return r.isExist(e)?e:""}e.exports=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=s,this.parseXml=h,this.parseTextData=l,this.resolveNameSpace=u,this.buildAttributesMap=c,this.isItStopNode=g,this.replaceEntitiesValue=m,this.readStopNodeData=A,this.saveTextToParentTag=p,this.addChild=f}}},32923:(e,t,n)=>{const{buildOptions:r}=n(50460),a=n(17680),{prettify:i}=n(75629),o=n(43918);e.exports=class{constructor(e){this.externalEntities={},this.options=r(e)}parse(e,t){if("string"==typeof e);else{if(!e.toString)throw new Error("XML data is accepted in String or Bytes[] form.");e=e.toString()}if(t){!0===t&&(t={});const n=o.validate(e,t);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new a(this.options);n.addExternalEntities(this.externalEntities);const r=n.parseXml(e);return this.options.preserveOrder||void 0===r?r:i(r,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}}},75629:(e,t)=>{"use strict";function n(e,t,o){let s;const l={};for(let u=0;u0&&(l[t.textNodeName]=s):void 0!==s&&(l[t.textNodeName]=s),l}function r(e){const t=Object.keys(e);for(let e=0;e{"use strict";e.exports=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}},2508:(e,t,n)=>{"use strict";function r(e){return e.split("-")[0]}function a(e){return e.split("-")[1]}function i(e){return["top","bottom"].includes(r(e))?"x":"y"}function o(e){return"y"===e?"height":"width"}function s(e){let{reference:t,floating:n,placement:s}=e;const l=t.x+t.width/2-n.width/2,u=t.y+t.height/2-n.height/2;let d;switch(r(s)){case"top":d={x:l,y:t.y-n.height};break;case"bottom":d={x:l,y:t.y+t.height};break;case"right":d={x:t.x+t.width,y:u};break;case"left":d={x:t.x-n.width,y:u};break;default:d={x:t.x,y:t.y}}const c=i(s),h=o(c);switch(a(s)){case"start":d[c]=d[c]-(t[h]/2-n[h]/2);break;case"end":d[c]=d[c]+(t[h]/2-n[h]/2)}return d}function l(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function u(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}async function d(e,t){void 0===t&&(t={});const{x:n,y:r,platform:a,rects:i,elements:o,strategy:s}=e,{boundary:d="clippingParents",rootBoundary:c="viewport",elementContext:h="floating",altBoundary:f=!1,padding:m=0}=t,p=l(m),g=o[f?"floating"===h?"reference":"floating":h],_=await a.getClippingClientRect({element:await a.isElement(g)?g:g.contextElement||await a.getDocumentElement({element:o.floating}),boundary:d,rootBoundary:c}),v=u(await a.convertOffsetParentRelativeRectToViewportRelativeRect({rect:"floating"===h?{...i.floating,x:n,y:r}:i.reference,offsetParent:await a.getOffsetParent({element:o.floating}),strategy:s}));return{top:_.top-v.top+p.top,bottom:v.bottom-_.bottom+p.bottom,left:_.left-v.left+p.left,right:v.right-_.right+p.right}}n.d(t,{ms:()=>Nt,yw:()=>Bt,fF:()=>Mt});const c=Math.min,h=Math.max;function f(e,t,n){return h(e,c(t,n))}const m={left:"right",right:"left",bottom:"top",top:"bottom"};function p(e){return e.replace(/left|right|bottom|top/g,(e=>m[e]))}function g(e,t){const n="start"===a(e),r=i(e),s=o(r);let l="x"===r?n?"right":"left":n?"bottom":"top";return t.reference[s]>t.floating[s]&&(l=p(l)),{main:l,cross:p(l)}}const _={start:"end",end:"start"};function v(e){return e.replace(/start|end/g,(e=>_[e]))}const A=["top","right","bottom","left"].reduce(((e,t)=>e.concat(t,t+"-start",t+"-end")),[]);function b(e){return"[object Window]"===(null==e?void 0:e.toString())}function y(e){if(null==e)return window;if(!b(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function F(e){return y(e).getComputedStyle(e)}function T(e){return b(e)?"":e?(e.nodeName||"").toLowerCase():""}function E(e){return e instanceof y(e).HTMLElement}function w(e){return e instanceof y(e).Element}function k(e){return e instanceof y(e).ShadowRoot||e instanceof ShadowRoot}function D(e){const{overflow:t,overflowX:n,overflowY:r}=F(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function C(e){return["table","td","th"].includes(T(e))}function S(e){const t=navigator.userAgent.toLowerCase().includes("firefox"),n=F(e);return"none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||["transform","perspective"].includes(n.willChange)||t&&"filter"===n.willChange||t&&!!n.filter&&"none"!==n.filter}const x=Math.min,M=Math.max,B=Math.round;function N(e,t){void 0===t&&(t=!1);const n=e.getBoundingClientRect();let r=1,a=1;return t&&E(e)&&(r=e.offsetWidth>0&&B(n.width)/e.offsetWidth||1,a=e.offsetHeight>0&&B(n.height)/e.offsetHeight||1),{width:n.width/r,height:n.height/a,top:n.top/a,right:n.right/r,bottom:n.bottom/a,left:n.left/r,x:n.left/r,y:n.top/a}}function L(e){return(t=e,(t instanceof y(t).Node?e.ownerDocument:e.document)||window.document).documentElement;var t}function O(e){return b(e)?{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}:{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function R(e){return N(L(e)).left+O(e).scrollLeft}function Y(e,t,n){const r=E(t),a=L(t),i=N(e,r&&function(e){const t=N(e);return B(t.width)!==e.offsetWidth||B(t.height)!==e.offsetHeight}(t));let o={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(r||!r&&"fixed"!==n)if(("body"!==T(t)||D(a))&&(o=O(t)),E(t)){const e=N(t,!0);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&(s.x=R(a));return{x:i.left+o.scrollLeft-s.x,y:i.top+o.scrollTop-s.y,width:i.width,height:i.height}}function j(e){return"html"===T(e)?e:e.assignedSlot||e.parentNode||(k(e)?e.host:null)||L(e)}function P(e){return E(e)&&"fixed"!==getComputedStyle(e).position?e.offsetParent:null}function I(e){const t=y(e);let n=P(e);for(;n&&C(n)&&"static"===getComputedStyle(n).position;)n=P(n);return n&&("html"===T(n)||"body"===T(n)&&"static"===getComputedStyle(n).position&&!S(n))?t:n||function(e){let t=j(e);for(;E(t)&&!["html","body"].includes(T(t));){if(S(t))return t;t=t.parentNode}return null}(e)||t}function H(e){return{width:e.offsetWidth,height:e.offsetHeight}}function U(e){return["html","body","#document"].includes(T(e))?e.ownerDocument.body:E(e)&&D(e)?e:U(j(e))}function G(e,t){var n;void 0===t&&(t=[]);const r=U(e),a=r===(null==(n=e.ownerDocument)?void 0:n.body),i=y(r),o=a?[i].concat(i.visualViewport||[],D(r)?r:[]):r,s=t.concat(o);return a?s:s.concat(G(j(o)))}function Z(e,t){return"viewport"===t?u(function(e){const t=y(e),n=L(e),r=t.visualViewport;let a=n.clientWidth,i=n.clientHeight,o=0,s=0;return r&&(a=r.width,i=r.height,Math.abs(t.innerWidth/r.scale-r.width)<.01&&(o=r.offsetLeft,s=r.offsetTop)),{width:a,height:i,x:o,y:s}}(e)):w(t)?function(e){const t=N(e),n=t.top+e.clientTop,r=t.left+e.clientLeft;return{top:n,left:r,x:r,y:n,right:r+e.clientWidth,bottom:n+e.clientHeight,width:e.clientWidth,height:e.clientHeight}}(t):u(function(e){var t;const n=L(e),r=O(e),a=null==(t=e.ownerDocument)?void 0:t.body,i=M(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),o=M(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0);let s=-r.scrollLeft+R(e);const l=-r.scrollTop;return"rtl"===F(a||n).direction&&(s+=M(n.clientWidth,a?a.clientWidth:0)-i),{width:i,height:o,x:s,y:l}}(L(e)))}function z(e){const t=G(j(e)),n=["absolute","fixed"].includes(F(e).position)&&E(e)?I(e):e;return w(n)?t.filter((e=>w(e)&&function(e,t){const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&k(n)){let n=t;do{if(n&&e===n)return!0;n=n.parentNode||n.host}while(n)}return!1}(e,n)&&"body"!==T(e))):[]}const q={getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:Y(t,I(n),r),floating:{...H(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:e=>function(e){let{rect:t,offsetParent:n,strategy:r}=e;const a=E(n),i=L(n);if(n===i)return t;let o={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((a||!a&&"fixed"!==r)&&(("body"!==T(n)||D(i))&&(o=O(n)),E(n))){const e=N(n,!0);s.x=e.x+n.clientLeft,s.y=e.y+n.clientTop}return{...t,x:t.x-o.scrollLeft+s.x,y:t.y-o.scrollTop+s.y}}(e),getOffsetParent:e=>{let{element:t}=e;return I(t)},isElement:e=>w(e),getDocumentElement:e=>{let{element:t}=e;return L(t)},getClippingClientRect:e=>function(e){let{element:t,boundary:n,rootBoundary:r}=e;const a=[..."clippingParents"===n?z(t):[].concat(n),r],i=a[0],o=a.reduce(((e,n)=>{const r=Z(t,n);return e.top=M(r.top,e.top),e.right=x(r.right,e.right),e.bottom=x(r.bottom,e.bottom),e.left=M(r.left,e.left),e}),Z(t,i));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}(e),getDimensions:e=>{let{element:t}=e;return H(t)},getClientRects:e=>{let{element:t}=e;return t.getClientRects()}};var W=n(85471),$=n(96763),V=Object.defineProperty,J=Object.defineProperties,K=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,te=(e,t,n)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ne=(e,t)=>{for(var n in t||(t={}))X.call(t,n)&&te(e,n,t[n]);if(Q)for(var n of Q(t))ee.call(t,n)&&te(e,n,t[n]);return e},re=(e,t)=>J(e,K(t));function ae(e,t){for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&("object"==typeof t[n]&&e[n]?ae(e[n],t[n]):e[n]=t[n])}const ie={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function oe(e,t){let n,r=ie.themes[e]||{};do{n=r[t],void 0===n?r.$extend?r=ie.themes[r.$extend]||{}:(r=null,n=ie[t]):r=null}while(r);return n}function se(e){const t=[e];let n=ie.themes[e]||{};do{n.$extend?(t.push(n.$extend),n=ie.themes[n.$extend]||{}):n=null}while(n);return t}let le=!1;if("undefined"!=typeof window){le=!1;try{const e=Object.defineProperty({},"passive",{get(){le=!0}});window.addEventListener("test",null,e)}catch(e){}}let ue=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(ue=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const de=["auto","top","bottom","left","right"].reduce(((e,t)=>e.concat([t,`${t}-start`,`${t}-end`])),[]),ce={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},he={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function fe(e,t){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}function me(){return new Promise((e=>requestAnimationFrame((()=>{requestAnimationFrame(e)}))))}const pe=[];let ge=null;const _e={};function ve(e){let t=_e[e];return t||(t=_e[e]=[]),t}let Ae=function(){};function be(e){return function(){return oe(this.$props.theme,e)}}"undefined"!=typeof window&&(Ae=window.Element);const ye="__floating-vue__popper";var Fe=()=>({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:be("disabled")},positioningDisabled:{type:Boolean,default:be("positioningDisabled")},placement:{type:String,default:be("placement"),validator:e=>de.includes(e)},delay:{type:[String,Number,Object],default:be("delay")},distance:{type:[Number,String],default:be("distance")},skidding:{type:[Number,String],default:be("skidding")},triggers:{type:Array,default:be("triggers")},showTriggers:{type:[Array,Function],default:be("showTriggers")},hideTriggers:{type:[Array,Function],default:be("hideTriggers")},popperTriggers:{type:Array,default:be("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:be("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:be("popperHideTriggers")},container:{type:[String,Object,Ae,Boolean],default:be("container")},boundary:{type:[String,Ae],default:be("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:be("strategy")},autoHide:{type:[Boolean,Function],default:be("autoHide")},handleResize:{type:Boolean,default:be("handleResize")},instantMove:{type:Boolean,default:be("instantMove")},eagerMount:{type:Boolean,default:be("eagerMount")},popperClass:{type:[String,Array,Object],default:be("popperClass")},computeTransformOrigin:{type:Boolean,default:be("computeTransformOrigin")},autoMinSize:{type:Boolean,default:be("autoMinSize")},autoSize:{type:[Boolean,String],default:be("autoSize")},autoMaxSize:{type:Boolean,default:be("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:be("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:be("preventOverflow")},overflowPadding:{type:[Number,String],default:be("overflowPadding")},arrowPadding:{type:[Number,String],default:be("arrowPadding")},arrowOverflow:{type:Boolean,default:be("arrowOverflow")},flip:{type:Boolean,default:be("flip")},shift:{type:Boolean,default:be("shift")},shiftCrossAxis:{type:Boolean,default:be("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:be("noAutoFocus")}},provide(){return{[ye]:{parentPopper:this}}},inject:{[ye]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set,lastAutoHide:!0}},computed:{popperId(){return null!=this.ariaId?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:"function"==typeof this.autoHide?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:re(ne({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var e;return null==(e=this[ye])?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return(null==(e=this.popperTriggers)?void 0:e.includes("hover"))||(null==(t=this.popperShowTriggers)?void 0:t.includes("hover"))}},watch:ne(ne({shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())}},["triggers","positioningDisabled"].reduce(((e,t)=>(e[t]="$_refreshListeners",e)),{})),["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce(((e,t)=>(e[t]="$_computePosition",e)),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map((e=>e.toString(36).substring(2,10))).join("_")}`,this.autoMinSize&&$.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&$.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){var r,a;(null==(r=this.parentPopper)?void 0:r.lockedChild)&&this.parentPopper.lockedChild!==this||(this.$_pendingHide=!1,!n&&this.disabled||((null==(a=this.parentPopper)?void 0:a.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame((()=>{this.$_showFrameLocked=!1}))),this.$emit("update:shown",!0))},hide({event:e=null,skipDelay:t=!1,skipAiming:n=!1}={}){var r;this.$_hideInProgress||(this.shownChildren.size>0?this.$_pendingHide=!0:!n&&this.hasPopperShowTriggerHover&&this.$_isAimingPopper()?this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout((()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null)}),1e3)):((null==(r=this.parentPopper)?void 0:r.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_pendingHide=!1,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",!1)))},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter((e=>e.nodeType===e.ELEMENT_NODE)),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var e;if(this.$_isDisposed||this.positioningDisabled)return;const t={strategy:this.strategy,middleware:[]};var n;(this.distance||this.skidding)&&t.middleware.push((void 0===(n={mainAxis:this.distance,crossAxis:this.skidding})&&(n=0),{name:"offset",options:n,fn(e){const{x:t,y:a,placement:o,rects:s}=e,l=function(e){let{placement:t,rects:n,value:a}=e;const o=r(t),s=["left","top"].includes(o)?-1:1,l="function"==typeof a?a({...n,placement:t}):a,{mainAxis:u,crossAxis:d}="number"==typeof l?{mainAxis:l,crossAxis:0}:{mainAxis:0,crossAxis:0,...l};return"x"===i(o)?{x:d,y:u*s}:{x:u*s,y:d}}({placement:o,rects:s,value:n});return{x:t+l.x,y:a+l.y,data:l}}}));const u=this.placement.startsWith("auto");if(u?t.middleware.push(function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,i,o,s,l,u;const{x:c,y:h,rects:f,middlewareData:m,placement:p}=t,{alignment:_=null,allowedPlacements:b=A,autoAlignment:y=!0,...F}=e;if(null!=(n=m.autoPlacement)&&n.skip)return{};const T=function(e,t,n){return(e?[...n.filter((t=>a(t)===e)),...n.filter((t=>a(t)!==e))]:n.filter((e=>r(e)===e))).filter((n=>!e||a(n)===e||!!t&&v(n)!==n))}(_,y,b),E=await d(t,F),w=null!=(i=null==(o=m.autoPlacement)?void 0:o.index)?i:0,k=T[w],{main:D,cross:C}=g(k,f);if(p!==k)return{x:c,y:h,reset:{placement:T[0]}};const S=[E[r(k)],E[D],E[C]],x=[...null!=(s=null==(l=m.autoPlacement)?void 0:l.overflows)?s:[],{placement:k,overflows:S}],M=T[w+1];if(M)return{data:{index:w+1,overflows:x},reset:{placement:M}};const B=x.slice().sort(((e,t)=>e.overflows[0]-t.overflows[0])),N=null==(u=B.find((e=>{let{overflows:t}=e;return t.every((e=>e<=0))})))?void 0:u.placement;return{data:{skip:!0},reset:{placement:null!=N?N:B[0].placement}}}}}({alignment:null!=(e=this.placement.split("-")[1])?e:""})):t.placement=this.placement,this.preventOverflow&&(this.shift&&t.middleware.push(function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:o}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:u={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=e,h={x:n,y:a},m=await d(t,c),p=i(r(o)),g="x"===p?"y":"x";let _=h[p],v=h[g];if(s){const e="y"===p?"bottom":"right";_=f(_+m["y"===p?"top":"left"],_,_-m[e])}if(l){const e="y"===g?"bottom":"right";v=f(v+m["y"===g?"top":"left"],v,v-m[e])}const A=u.fn({...t,[p]:_,[g]:v});return{...A,data:{x:A.x-n,y:A.y-a}}}}}({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!u&&this.flip&&t.middleware.push(function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,a;const{placement:i,middlewareData:o,rects:s,initialPlacement:l}=t;if(null!=(n=o.flip)&&n.skip)return{};const{mainAxis:u=!0,crossAxis:c=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",flipAlignment:m=!0,..._}=e,A=r(i),b=h||(A!==l&&m?function(e){const t=p(e);return[v(e),t,v(t)]}(l):[p(l)]),y=[l,...b],F=await d(t,_),T=[];let E=(null==(a=o.flip)?void 0:a.overflows)||[];if(u&&T.push(F[A]),c){const{main:e,cross:t}=g(i,s);T.push(F[e],F[t])}if(E=[...E,{placement:i,overflows:T}],!T.every((e=>e<=0))){var w,k;const e=(null!=(w=null==(k=o.flip)?void 0:k.index)?w:0)+1,t=y[e];if(t)return{data:{index:e,overflows:E},reset:{placement:t}};let n="bottom";switch(f){case"bestFit":{var D;const e=null==(D=E.slice().sort(((e,t)=>e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)-t.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)))[0])?void 0:D.placement;e&&(n=e);break}case"initialPlacement":n=l}return{data:{skip:!0},reset:{placement:n}}}return{}}}}({padding:this.overflowPadding,boundary:this.boundary}))),t.middleware.push((e=>({name:"arrow",options:e,async fn(t){const{element:n,padding:a=0}=null!=e?e:{},{x:s,y:u,placement:d,rects:c,platform:h}=t;if(null==n)return{};const m=l(a),p={x:s,y:u},g=i(r(d)),_=o(g),v=await h.getDimensions({element:n}),A="y"===g?"top":"left",b="y"===g?"bottom":"right",y=c.reference[_]+c.reference[g]-p[g]-c.floating[_],F=p[g]-c.reference[g],T=await h.getOffsetParent({element:n}),E=T?"y"===g?T.clientHeight||0:T.clientWidth||0:0,w=y/2-F/2,k=m[A],D=E-v[_]-m[b],C=E/2-v[_]/2+w,S=f(k,C,D);return{data:{[g]:S,centerOffset:C-S}}}}))({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&t.middleware.push({name:"arrowOverflow",fn:({placement:e,rects:t,middlewareData:n})=>{let r;const{centerOffset:a}=n.arrow;return r=e.startsWith("top")||e.startsWith("bottom")?Math.abs(a)>t.reference.width/2:Math.abs(a)>t.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){const e=this.autoSize?this.autoSize:this.autoMinSize?"min":null;t.middleware.push({name:"autoSize",fn:({rects:t,placement:n,middlewareData:r})=>{var a;if(null==(a=r.autoSize)?void 0:a.skip)return{};let i,o;return n.startsWith("top")||n.startsWith("bottom")?i=t.reference.width:o=t.reference.height,this.$_innerNode.style["min"===e?"minWidth":"max"===e?"maxWidth":"width"]=null!=i?`${i}px`:null,this.$_innerNode.style["min"===e?"minHeight":"max"===e?"maxHeight":"height"]=null!=o?`${o}px`:null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,t.middleware.push(function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n;const{placement:i,rects:o,middlewareData:s}=t,{apply:l,...u}=e;if(null!=(n=s.size)&&n.skip)return{};const c=await d(t,u),f=r(i),m="end"===a(i);let p,g;"top"===f||"bottom"===f?(p=f,g=m?"left":"right"):(g=f,p=m?"top":"bottom");const _=h(c.left,0),v=h(c.right,0),A=h(c.top,0),b=h(c.bottom,0),y={height:o.floating.height-(["left","right"].includes(i)?2*(0!==A||0!==b?A+b:h(c.top,c.bottom)):c[p]),width:o.floating.width-(["top","bottom"].includes(i)?2*(0!==_||0!==v?_+v:h(c.left,c.right)):c[g])};return null==l||l({...y,...o}),{data:{skip:!0},reset:{rects:!0}}}}}({boundary:this.boundary,padding:this.overflowPadding,apply:({width:e,height:t})=>{this.$_innerNode.style.maxWidth=null!=e?`${e}px`:null,this.$_innerNode.style.maxHeight=null!=t?`${t}px`:null}})));const c=await((e,t,n)=>(async(e,t,n)=>{const{placement:r="bottom",strategy:a="absolute",middleware:i=[],platform:o}=n;let l=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:u,y:d}=s({...l,placement:r}),c=r,h={};for(let n=0;n0?this.$_pendingHide=!0:(this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(ge=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide")))},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,this.isShown||(this.$_ensureTeleport(),await me(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...G(this.$_referenceNode),...G(this.$_popperNode)],"scroll",(()=>{this.$_computePosition()})))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(".v-popper__wrapper"),n=t.parentNode.getBoundingClientRect(),r=e.x+e.width/2-(n.left+t.offsetLeft),a=e.y+e.height/2-(n.top+t.offsetTop);this.result.transformOrigin=`${r}px ${a}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n0)return this.$_pendingHide=!0,void(this.$_hideInProgress=!1);if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,fe(pe,this),0===pe.length&&document.body.classList.remove("v-popper--some-open");for(const e of se(this.theme)){const t=ve(e);fe(t,this),0===t.length&&document.body.classList.remove(`v-popper--some-open--${e}`)}ge===this&&(ge=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=oe(this.theme,"disposeTimeout");null!==t&&(this.$_disposeTimer=setTimeout((()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)}),t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await me(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let e=this.container;if("string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const e=e=>{this.isShown&&!this.$_hideInProgress||(e.usedByTooltip=!0,!this.$_preventShow&&this.show({event:e}))};this.$_registerTriggerListeners(this.$_targetNodes,ce,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],ce,this.popperTriggers,this.popperShowTriggers,e);const t=e=>t=>{t.usedByTooltip||this.hide({event:t,skipAiming:e})};this.$_registerTriggerListeners(this.$_targetNodes,he,this.triggers,this.hideTriggers,t(!1)),this.$_registerTriggerListeners([this.$_popperNode],he,this.popperTriggers,this.popperHideTriggers,t(!0))},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach((e=>e.addEventListener(t,n,le?{passive:!0}:void 0)))},$_registerTriggerListeners(e,t,n,r,a){let i=n;null!=r&&(i="function"==typeof r?r(i):r),i.forEach((n=>{const r=t[n];r&&this.$_registerEventListeners(e,r,a)}))},$_removeEventListeners(e){const t=[];this.$_events.forEach((n=>{const{targetNodes:r,eventType:a,handler:i}=n;e&&e!==a?t.push(n):r.forEach((e=>e.removeEventListener(a,i)))})),this.$_events=t},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=!0,setTimeout((()=>{this.$_preventShow=!1}),300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const r=n.getAttribute(e);r&&(n.removeAttribute(e),n.setAttribute(t,r))}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const r=e[n];null==r?t.removeAttribute(n):t.setAttribute(n,r)}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.$_pendingHide&&t.hide()),t=t.parentPopper},$_isAimingPopper(){const e=this.$el.getBoundingClientRect();if(Se>=e.left&&Se<=e.right&&xe>=e.top&&xe<=e.bottom){const e=this.$_popperNode.getBoundingClientRect(),t=Se-De,n=xe-Ce,r=e.left+e.width/2-De+(e.top+e.height/2)-Ce+e.width+e.height,a=De+t*r,i=Ce+n*r;return Me(De,Ce,a,i,e.left,e.top,e.left,e.bottom)||Me(De,Ce,a,i,e.left,e.top,e.right,e.top)||Me(De,Ce,a,i,e.right,e.top,e.right,e.bottom)||Me(De,Ce,a,i,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});function Te(e){for(let t=0;t=0;r--){const a=pe[r];try{const r=a.$_containsGlobalTarget=we(a,e);a.$_pendingHide=!1,requestAnimationFrame((()=>{if(a.$_pendingHide=!1,!n[a.randomId]&&ke(a,r,e)){if(a.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&r){let e=a.parentPopper;for(;e;)n[e.randomId]=!0,e=e.parentPopper;return}let i=a.parentPopper;for(;i&&ke(i,i.$_containsGlobalTarget,e);)i.$_handleGlobalClose(e,t),i=i.parentPopper}}))}catch(e){}}}function we(e,t){const n=e.popperNode();return e.$_mouseDownContains||n.contains(t.target)}function ke(e,t,n){return n.closeAllPopover||n.closePopover&&t||function(e,t){if("function"==typeof e.autoHide){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}(e,n)&&!t}"undefined"!=typeof document&&"undefined"!=typeof window&&(ue?(document.addEventListener("touchstart",Te,!le||{passive:!0,capture:!0}),document.addEventListener("touchend",(function(e){Ee(e,!0)}),!le||{passive:!0,capture:!0})):(window.addEventListener("mousedown",Te,!0),window.addEventListener("click",(function(e){Ee(e)}),!0)),window.addEventListener("resize",(function(e){for(let t=0;t=0&&l<=1&&u>=0&&u<=1}var Be;function Ne(){Ne.init||(Ne.init=!0,Be=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}())}function Le(e,t,n,r,a,i,o,s,l,u){"boolean"!=typeof o&&(l=s,s=o,o=!1);var d,c="function"==typeof n?n.options:n;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,a&&(c.functional=!0)),r&&(c._scopeId=r),i?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=d):t&&(d=o?function(e){t.call(this,u(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),d)if(c.functional){var h=c.render;c.render=function(e,t){return d.call(t),h(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,d):[d]}return n}"undefined"!=typeof window&&window.addEventListener("mousemove",(e=>{De=Se,Ce=xe,Se=e.clientX,xe=e.clientY}),le?{passive:!0}:void 0);var Oe={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;Ne(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",Be&&this.$el.appendChild(t),t.data="about:blank",Be||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Be&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},Re=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};Re._withStripped=!0;var Ye=Le({render:Re,staticRenderFns:[]},void 0,Oe,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),je={version:"1.0.1",install:function(e){e.component("resize-observer",Ye),e.component("ResizeObserver",Ye)}},Pe=null;"undefined"!=typeof window?Pe=window.Vue:void 0!==n.g&&(Pe=n.g.Vue),Pe&&Pe.use(je);var Ie={computed:{themeClass(){return function(e){const t=[e];let n=ie.themes[e]||{};do{n.$extend&&!n.$resetCss?(t.push(n.$extend),n=ie.themes[n.$extend]||{}):n=null}while(n);return t.map((e=>`v-popper--theme-${e}`))}(this.theme)}}},He={name:"VPopperContent",components:{ResizeObserver:Ye},mixins:[Ie],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx:e=>null==e||isNaN(e)?null:`${e}px`}};function Ue(e,t,n,r,a,i,o,s){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):a&&(l=s?function(){a.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(e,t){return l.call(t),d(e,t)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:e,options:u}}const Ge={};var Ze=Ue(He,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"popover",staticClass:"v-popper__popper",class:[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}],style:e.result?{position:e.result.strategy,transform:"translate3d("+Math.round(e.result.x)+"px,"+Math.round(e.result.y)+"px,0)"}:void 0,attrs:{id:e.popperId,"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0},on:{keyup:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;e.autoHide&&e.$emit("hide")}}},[n("div",{staticClass:"v-popper__backdrop",on:{click:function(t){e.autoHide&&e.$emit("hide")}}}),n("div",{staticClass:"v-popper__wrapper",style:e.result?{transformOrigin:e.result.transformOrigin}:void 0},[n("div",{ref:"inner",staticClass:"v-popper__inner"},[e.mounted?[n("div",[e._t("default")],2),e.handleResize?n("ResizeObserver",{on:{notify:function(t){return e.$emit("resize",t)}}}):e._e()]:e._e()],2),n("div",{ref:"arrow",staticClass:"v-popper__arrow-container",style:e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0},[n("div",{staticClass:"v-popper__arrow-outer"}),n("div",{staticClass:"v-popper__arrow-inner"})])])])}),[],!1,ze,null,null,null);function ze(e){for(let e in Ge)this[e]=Ge[e]}var qe=function(){return Ze.exports}(),We={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}},$e={name:"VPopperWrapper",components:{Popper:Fe(),PopperContent:qe},mixins:[We,Ie],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter((e=>e!==this.$refs.popperContent.$el))}}};const Ve={};var Je=Ue($e,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Popper",e._g(e._b({ref:"popper",attrs:{theme:e.theme,"target-nodes":e.getTargetNodes,"reference-node":function(){return e.$refs.reference},"popper-node":function(){return e.$refs.popperContent.$el}},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.popperId,a=t.isShown,i=t.shouldMountContent,o=t.skipTransition,s=t.autoHide,l=t.show,u=t.hide,d=t.handleResize,c=t.onResize,h=t.classes,f=t.result;return[n("div",{ref:"reference",staticClass:"v-popper",class:[e.themeClass,{"v-popper--shown":a}]},[e._t("default",null,{shown:a,show:l,hide:u}),n("PopperContent",{ref:"popperContent",attrs:{"popper-id":r,theme:e.theme,shown:a,mounted:i,"skip-transition":o,"auto-hide":s,"handle-resize":d,classes:h,result:f},on:{hide:u,resize:c}},[e._t("popper",null,{shown:a,hide:u})],2)],2)]}}],null,!0)},"Popper",e.$attrs,!1),e.$listeners))}),[],!1,Ke,null,null,null);function Ke(e){for(let e in Ve)this[e]=Ve[e]}var Qe=function(){return Je.exports}(),Xe=re(ne({},Qe),{name:"VDropdown",vPopperTheme:"dropdown"});const et={};var tt=Ue(Xe,void 0,void 0,!1,nt,null,null,null);function nt(e){for(let e in et)this[e]=et[e]}var rt=function(){return tt.exports}(),at=re(ne({},Qe),{name:"VMenu",vPopperTheme:"menu"});const it={};var ot=Ue(at,void 0,void 0,!1,st,null,null,null);function st(e){for(let e in it)this[e]=it[e]}var lt=function(){return ot.exports}(),ut=re(ne({},Qe),{name:"VTooltip",vPopperTheme:"tooltip"});const dt={};var ct=Ue(ut,void 0,void 0,!1,ht,null,null,null);function ht(e){for(let e in dt)this[e]=dt[e]}var ft=function(){return ct.exports}(),mt={name:"VTooltipDirective",components:{Popper:Fe(),PopperContent:qe},mixins:[We],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default(){return oe(this.theme,"html")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return oe(this.theme,"loadingContent")}}},data:()=>({asyncContent:null}),computed:{isContentAsync(){return"function"==typeof this.content},loading(){return this.isContentAsync&&null==this.asyncContent},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(e){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(e){if("function"==typeof this.content&&this.$_isShown&&(e||!this.$_loading&&null==this.asyncContent)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,t=this.content(this);t.then?t.then((t=>this.onResult(e,t))):this.onResult(e,t)}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}};const pt={};var gt=Ue(mt,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Popper",e._g(e._b({ref:"popper",attrs:{theme:e.theme,"popper-node":function(){return e.$refs.popperContent.$el}},on:{"apply-show":e.onShow,"apply-hide":e.onHide},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.popperId,a=t.isShown,i=t.shouldMountContent,o=t.skipTransition,s=t.autoHide,l=t.hide,u=t.handleResize,d=t.onResize,c=t.classes,h=t.result;return[n("PopperContent",{ref:"popperContent",class:{"v-popper--tooltip-loading":e.loading},attrs:{"popper-id":r,theme:e.theme,shown:a,mounted:i,"skip-transition":o,"auto-hide":s,"handle-resize":u,classes:c,result:h},on:{hide:l,resize:d}},[e.html?n("div",{domProps:{innerHTML:e._s(e.finalContent)}}):n("div",{domProps:{textContent:e._s(e.finalContent)}})])]}}])},"Popper",e.$attrs,!1),e.$listeners))}),[],!1,_t,null,null,null);function _t(e){for(let e in pt)this[e]=pt[e]}var vt=function(){return gt.exports}();const At="v-popper--has-tooltip";function bt(e,t,n){let r;const a=typeof t;return r="string"===a?{content:t}:t&&"object"===a?t:{content:!1},r.placement=function(e,t){let n=e.placement;if(!n&&t)for(const e of de)t[e]&&(n=e);return n||(n=oe(e.theme||"tooltip","placement")),n}(r,n),r.targetNodes=()=>[e],r.referenceNode=()=>e,r}function yt(e){e.$_popper&&(e.$_popper.$destroy(),delete e.$_popper,delete e.$_popperOldShown),e.classList&&e.classList.remove(At)}function Ft(e,{value:t,oldValue:n,modifiers:r}){const a=bt(e,t,r);if(!a.content||oe(a.theme||"tooltip","disabled"))yt(e);else{let n;e.$_popper?(n=e.$_popper,n.options=a):n=function(e,t,n){const r=bt(e,t,n),a=e.$_popper=new W.Ay({mixins:[We],data:()=>({options:r}),render(e){const t=this.options,{theme:n,html:r,content:a,loadingContent:i}=t,o=((e,t)=>{var n={};for(var r in e)X.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Q)for(var r of Q(e))t.indexOf(r)<0&&ee.call(e,r)&&(n[r]=e[r]);return n})(t,["theme","html","content","loadingContent"]);return e(vt,{props:{theme:n,html:r,content:a,loadingContent:i},attrs:o,ref:"popper"})},devtools:{hide:!0}}),i=document.createElement("div");return document.body.appendChild(i),a.$mount(i),e.classList&&e.classList.add(At),a}(e,t,r),void 0!==t.shown&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?n.show():n.hide())}}var Tt={bind:Ft,update:Ft,unbind(e){yt(e)}};function Et(e){e.addEventListener("click",kt),e.addEventListener("touchstart",Dt,!!le&&{passive:!0})}function wt(e){e.removeEventListener("click",kt),e.removeEventListener("touchstart",Dt),e.removeEventListener("touchend",Ct),e.removeEventListener("touchcancel",St)}function kt(e){const t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function Dt(e){if(1===e.changedTouches.length){const t=e.currentTarget;t.$_vclosepopover_touch=!0;const n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",Ct),t.addEventListener("touchcancel",St)}}function Ct(e){const t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){const n=e.changedTouches[0],r=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function St(e){e.currentTarget.$_vclosepopover_touch=!1}var xt={bind(e,{value:t,modifiers:n}){e.$_closePopoverModifiers=n,(void 0===t||t)&&Et(e)},update(e,{value:t,oldValue:n,modifiers:r}){e.$_closePopoverModifiers=r,t!==n&&(void 0===t||t?Et(e):wt(e))},unbind(e){wt(e)}};const Mt=3012!=n.j?ie:null,Bt=3012!=n.j?Tt:null,Nt=rt,Lt={version:"1.0.0-beta.19",install:function(e,t={}){e.$_vTooltipInstalled||(e.$_vTooltipInstalled=!0,ae(ie,t),e.directive("tooltip",Tt),e.directive("close-popper",xt),e.component("v-tooltip",ft),e.component("VTooltip",ft),e.component("v-dropdown",rt),e.component("VDropdown",rt),e.component("v-menu",lt),e.component("VMenu",lt))},options:ie};let Ot=null;"undefined"!=typeof window?Ot=window.Vue:void 0!==n.g&&(Ot=n.g.Vue),Ot&&Ot.use(Lt)},52697:(e,t,n)=>{"use strict";if(n.d(t,{K:()=>m}),!/^(2(07|69|76)6|59(0|28)|82(0|79)|(78|96)43|1952|3260|3604|4012|4897|6174|6371)$/.test(n.j))var r=n(49054);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t1?t-1:0),r=1;r1?n-1:0),i=1;i=0)e=a.activeElement;else{var t=g.tabbableGroups[0];e=t&&t.firstTabbableNode||A("fallbackFocus")}if(!e)throw new Error("Your focus-trap needs to have at least one focusable element");return e},y=function(){if(g.containerGroups=g.containers.map((function(e){var t=(0,r.Kr)(e,p.tabbableOptions),n=(0,r.nq)(e,p.tabbableOptions),a=t.length>0?t[0]:void 0,i=t.length>0?t[t.length-1]:void 0,o=n.find((function(e){return(0,r.AO)(e)})),s=n.slice().reverse().find((function(e){return(0,r.AO)(e)})),l=!!t.find((function(e){return(0,r.yT)(e)>0}));return{container:e,tabbableNodes:t,focusableNodes:n,posTabIndexesFound:l,firstTabbableNode:a,lastTabbableNode:i,firstDomTabbableNode:o,lastDomTabbableNode:s,nextTabbableNode:function(e){var a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=t.indexOf(e);return i<0?a?n.slice(n.indexOf(e)+1).find((function(e){return(0,r.AO)(e)})):n.slice(0,n.indexOf(e)).reverse().find((function(e){return(0,r.AO)(e)})):t[i+(a?1:-1)]}}})),g.tabbableGroups=g.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),g.tabbableGroups.length<=0&&!A("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(g.containerGroups.find((function(e){return e.posTabIndexesFound}))&&g.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},F=function e(t){var n=t.activeElement;if(n)return n.shadowRoot&&null!==n.shadowRoot.activeElement?e(n.shadowRoot):n},T=function e(t){!1!==t&&t!==F(document)&&(t&&t.focus?(t.focus({preventScroll:!!p.preventScroll}),g.mostRecentlyFocusedNode=t,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(t)&&t.select()):e(b()))},E=function(e){var t=A("setReturnFocus",e);return t||!1!==t&&e},w=function(e){var t=e.target,n=e.event,a=e.isBackward,i=void 0!==a&&a;t=t||h(n),y();var s=null;if(g.tabbableGroups.length>0){var l=v(t,n),u=l>=0?g.containerGroups[l]:void 0;if(l<0)s=i?g.tabbableGroups[g.tabbableGroups.length-1].lastTabbableNode:g.tabbableGroups[0].firstTabbableNode;else if(i){var c=d(g.tabbableGroups,(function(e){var n=e.firstTabbableNode;return t===n}));if(c<0&&(u.container===t||(0,r.tp)(t,p.tabbableOptions)&&!(0,r.AO)(t,p.tabbableOptions)&&!u.nextTabbableNode(t,!1))&&(c=l),c>=0){var f=0===c?g.tabbableGroups.length-1:c-1,m=g.tabbableGroups[f];s=(0,r.yT)(t)>=0?m.lastTabbableNode:m.lastDomTabbableNode}else o(n)||(s=u.nextTabbableNode(t,!1))}else{var _=d(g.tabbableGroups,(function(e){var n=e.lastTabbableNode;return t===n}));if(_<0&&(u.container===t||(0,r.tp)(t,p.tabbableOptions)&&!(0,r.AO)(t,p.tabbableOptions)&&!u.nextTabbableNode(t))&&(_=l),_>=0){var b=_===g.tabbableGroups.length-1?0:_+1,F=g.tabbableGroups[b];s=(0,r.yT)(t)>=0?F.firstTabbableNode:F.firstDomTabbableNode}else o(n)||(s=u.nextTabbableNode(t))}}else s=A("fallbackFocus");return s},k=function(e){var t=h(e);v(t,e)>=0||(c(p.clickOutsideDeactivates,e)?n.deactivate({returnFocus:p.returnFocusOnDeactivate}):c(p.allowOutsideClick,e)||e.preventDefault())},D=function(e){var t=h(e),n=v(t,e)>=0;if(n||t instanceof Document)n&&(g.mostRecentlyFocusedNode=t);else{var a;e.stopImmediatePropagation();var i=!0;if(g.mostRecentlyFocusedNode)if((0,r.yT)(g.mostRecentlyFocusedNode)>0){var o=v(g.mostRecentlyFocusedNode),s=g.containerGroups[o].tabbableNodes;if(s.length>0){var l=s.findIndex((function(e){return e===g.mostRecentlyFocusedNode}));l>=0&&(p.isKeyForward(g.recentNavEvent)?l+1=0&&(a=s[l-1],i=!1))}}else g.containerGroups.some((function(e){return e.tabbableNodes.some((function(e){return(0,r.yT)(e)>0}))}))||(i=!1);else i=!1;i&&(a=w({target:g.mostRecentlyFocusedNode,isBackward:p.isKeyBackward(g.recentNavEvent)})),T(a||g.mostRecentlyFocusedNode||b())}g.recentNavEvent=void 0},C=function(e){if(("Escape"===(null==(t=e)?void 0:t.key)||"Esc"===(null==t?void 0:t.key)||27===(null==t?void 0:t.keyCode))&&!1!==c(p.escapeDeactivates,e))return e.preventDefault(),void n.deactivate();var t;(p.isKeyForward(e)||p.isKeyBackward(e))&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];g.recentNavEvent=e;var n=w({event:e,isBackward:t});n&&(o(e)&&e.preventDefault(),T(n))}(e,p.isKeyBackward(e))},S=function(e){var t=h(e);v(t,e)>=0||c(p.clickOutsideDeactivates,e)||c(p.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},x=function(){if(g.active)return function(e,t){if(e.length>0){var n=e[e.length-1];n!==t&&n.pause()}var r=e.indexOf(t);-1===r||e.splice(r,1),e.push(t)}(m,n),g.delayInitialFocusTimer=p.delayInitialFocus?u((function(){T(b())})):T(b()),a.addEventListener("focusin",D,!0),a.addEventListener("mousedown",k,{capture:!0,passive:!1}),a.addEventListener("touchstart",k,{capture:!0,passive:!1}),a.addEventListener("click",S,{capture:!0,passive:!1}),a.addEventListener("keydown",C,{capture:!0,passive:!1}),n},M=function(){if(g.active)return a.removeEventListener("focusin",D,!0),a.removeEventListener("mousedown",k,!0),a.removeEventListener("touchstart",k,!0),a.removeEventListener("click",S,!0),a.removeEventListener("keydown",C,!0),n},B="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(e){e.some((function(e){return Array.from(e.removedNodes).some((function(e){return e===g.mostRecentlyFocusedNode}))}))&&T(b())})):void 0,N=function(){B&&(B.disconnect(),g.active&&!g.paused&&g.containers.map((function(e){B.observe(e,{subtree:!0,childList:!0})})))};return(n={get active(){return g.active},get paused(){return g.paused},activate:function(e){if(g.active)return this;var t=_(e,"onActivate"),n=_(e,"onPostActivate"),r=_(e,"checkCanFocusTrap");r||y(),g.active=!0,g.paused=!1,g.nodeFocusedBeforeActivation=a.activeElement,null==t||t();var i=function(){r&&y(),x(),N(),null==n||n()};return r?(r(g.containers.concat()).then(i,i),this):(i(),this)},deactivate:function(e){if(!g.active)return this;var t=i({onDeactivate:p.onDeactivate,onPostDeactivate:p.onPostDeactivate,checkCanReturnFocus:p.checkCanReturnFocus},e);clearTimeout(g.delayInitialFocusTimer),g.delayInitialFocusTimer=void 0,M(),g.active=!1,g.paused=!1,N(),function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),e.length>0&&e[e.length-1].unpause()}(m,n);var r=_(t,"onDeactivate"),a=_(t,"onPostDeactivate"),o=_(t,"checkCanReturnFocus"),s=_(t,"returnFocus","returnFocusOnDeactivate");null==r||r();var l=function(){u((function(){s&&T(E(g.nodeFocusedBeforeActivation)),null==a||a()}))};return s&&o?(o(E(g.nodeFocusedBeforeActivation)).then(l,l),this):(l(),this)},pause:function(e){if(g.paused||!g.active)return this;var t=_(e,"onPause"),n=_(e,"onPostPause");return g.paused=!0,null==t||t(),M(),N(),null==n||n(),this},unpause:function(e){if(!g.paused||!g.active)return this;var t=_(e,"onUnpause"),n=_(e,"onPostUnpause");return g.paused=!1,null==t||t(),y(),x(),N(),null==n||n(),this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return g.containers=t.map((function(e){return"string"==typeof e?a.querySelector(e):e})),g.active&&y(),N(),this}}).updateContainerElements(e),n}},82682:(e,t,n)=>{"use strict";var r=n(69600),a=Object.prototype.toString,i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){if(!r(t))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=n),"[object Array]"===a.call(e)?function(e,t,n){for(var r=0,a=e.length;r{"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r{"use strict";var r=n(89353);e.exports=Function.prototype.bind||r},70453:(e,t,n)=>{"use strict";var r,a=n(69383),i=n(41237),o=n(79290),s=n(79538),l=n(58068),u=n(69675),d=n(35345),c=Function,h=function(e){try{return c('"use strict"; return ('+e+").constructor;")()}catch(e){}},f=Object.getOwnPropertyDescriptor;if(f)try{f({},"")}catch(e){f=null}var m=function(){throw new u},p=f?function(){try{return m}catch(e){try{return f(arguments,"callee").get}catch(e){return m}}}():m,g=n(64039)(),_=n(80024)(),v=Object.getPrototypeOf||(_?function(e){return e.__proto__}:null),A={},b="undefined"!=typeof Uint8Array&&v?v(Uint8Array):r,y={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":g&&v?v([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":A,"%AsyncGenerator%":A,"%AsyncGeneratorFunction%":A,"%AsyncIteratorPrototype%":A,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":a,"%eval%":eval,"%EvalError%":i,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":c,"%GeneratorFunction%":A,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&v?v(v([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&g&&v?v((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&g&&v?v((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&v?v(""[Symbol.iterator]()):r,"%Symbol%":g?Symbol:r,"%SyntaxError%":l,"%ThrowTypeError%":p,"%TypedArray%":b,"%TypeError%":u,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":d,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet};if(v)try{null.error}catch(e){var F=v(v(e));y["%Error.prototype%"]=F}var T=function e(t){var n;if("%AsyncFunction%"===t)n=h("async function () {}");else if("%GeneratorFunction%"===t)n=h("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=h("async function* () {}");else if("%AsyncGenerator%"===t){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===t){var a=e("%AsyncGenerator%");a&&v&&(n=v(a.prototype))}return y[t]=n,n},E={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},w=n(66743),k=n(9957),D=w.call(Function.call,Array.prototype.concat),C=w.call(Function.apply,Array.prototype.splice),S=w.call(Function.call,String.prototype.replace),x=w.call(Function.call,String.prototype.slice),M=w.call(Function.call,RegExp.prototype.exec),B=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,N=/\\(\\)?/g,L=function(e,t){var n,r=e;if(k(E,r)&&(r="%"+(n=E[r])[0]+"%"),k(y,r)){var a=y[r];if(a===A&&(a=T(r)),void 0===a&&!t)throw new u("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:a}}throw new l("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new u("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new u('"allowMissing" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,e))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=x(e,0,1),n=x(e,-1);if("%"===t&&"%"!==n)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new l("invalid intrinsic syntax, expected opening `%`");var r=[];return S(e,B,(function(e,t,n,a){r[r.length]=n?S(a,N,"$1"):t||e})),r}(e),r=n.length>0?n[0]:"",a=L("%"+r+"%",t),i=a.name,o=a.value,s=!1,d=a.alias;d&&(r=d[0],C(n,D([0,1],d)));for(var c=1,h=!0;c=n.length){var _=f(o,m);o=(h=!!_)&&"get"in _&&!("originalValue"in _.get)?_.get:o[m]}else h=k(o,m),o=o[m];h&&!s&&(y[i]=o)}}return o}},75795:(e,t,n)=>{"use strict";var r=n(70453)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(e){r=null}e.exports=r},20261:(e,t,n)=>{"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0;var i=a(n(82871)),o=r(n(19613)),s=r(n(13769)),l=a(n(82849)),u=a(n(7624)),d=r(n(91148));function c(){var e=new i.HandlebarsEnvironment;return l.extend(e,i),e.SafeString=o.default,e.Exception=s.default,e.Utils=l,e.escapeExpression=l.escapeExpression,e.VM=u,e.template=function(t){return u.template(t,e)},e}var h=c();h.create=c,d.default(h),h.default=h,t.default=h,e.exports=t.default},82871:(e,t,n)=>{"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.HandlebarsEnvironment=c;var a=n(82849),i=r(n(13769)),o=n(2277),s=n(75940),l=r(n(40566)),u=n(63865);t.VERSION="4.7.8",t.COMPILER_REVISION=8,t.LAST_COMPATIBLE_COMPILER_REVISION=7,t.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var d="[object Object]";function c(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},o.registerDefaultHelpers(this),s.registerDefaultDecorators(this)}c.prototype={constructor:c,logger:l.default,log:l.default.log,registerHelper:function(e,t){if(a.toString.call(e)===d){if(t)throw new i.default("Arg not supported with multiple helpers");a.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(a.toString.call(e)===d)a.extend(this.partials,e);else{if(void 0===t)throw new i.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(a.toString.call(e)===d){if(t)throw new i.default("Arg not supported with multiple decorators");a.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){u.resetLoggedProperties()}};var h=l.default.log;t.log=h,t.createFrame=a.createFrame,t.logger=l.default},75940:(e,t,n)=>{"use strict";t.__esModule=!0,t.registerDefaultDecorators=function(e){a.default(e)};var r,a=(r=n(77430))&&r.__esModule?r:{default:r}},77430:(e,t,n)=>{"use strict";t.__esModule=!0;var r=n(82849);t.default=function(e){e.registerDecorator("inline",(function(e,t,n,a){var i=e;return t.partials||(t.partials={},i=function(a,i){var o=n.partials;n.partials=r.extend({},o,t.partials);var s=e(a,i);return n.partials=o,s}),t.partials[a.args[0]]=a.fn,i}))},e.exports=t.default},13769:(e,t)=>{"use strict";t.__esModule=!0;var n=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function r(e,t){var a=t&&t.loc,i=void 0,o=void 0,s=void 0,l=void 0;a&&(i=a.start.line,o=a.end.line,s=a.start.column,l=a.end.column,e+=" - "+i+":"+s);for(var u=Error.prototype.constructor.call(this,e),d=0;d{"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.registerDefaultHelpers=function(e){a.default(e),i.default(e),o.default(e),s.default(e),l.default(e),u.default(e),d.default(e)},t.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var a=r(n(26097)),i=r(n(46785)),o=r(n(14353)),s=r(n(82355)),l=r(n(85300)),u=r(n(37466)),d=r(n(50908))},26097:(e,t,n)=>{"use strict";t.__esModule=!0;var r=n(82849);t.default=function(e){e.registerHelper("blockHelperMissing",(function(t,n){var a=n.inverse,i=n.fn;if(!0===t)return i(this);if(!1===t||null==t)return a(this);if(r.isArray(t))return t.length>0?(n.ids&&(n.ids=[n.name]),e.helpers.each(t,n)):a(this);if(n.data&&n.ids){var o=r.createFrame(n.data);o.contextPath=r.appendContextPath(n.data.contextPath,n.name),n={data:o}}return i(t,n)}))},e.exports=t.default},46785:(e,t,n)=>{"use strict";t.__esModule=!0;var r,a=n(82849),i=(r=n(13769))&&r.__esModule?r:{default:r};t.default=function(e){e.registerHelper("each",(function(e,t){if(!t)throw new i.default("Must pass iterator to #each");var n,r=t.fn,o=t.inverse,s=0,l="",u=void 0,d=void 0;function c(t,n,i){u&&(u.key=t,u.index=n,u.first=0===n,u.last=!!i,d&&(u.contextPath=d+t)),l+=r(e[t],{data:u,blockParams:a.blockParams([e[t],t],[d+t,null])})}if(t.data&&t.ids&&(d=a.appendContextPath(t.data.contextPath,t.ids[0])+"."),a.isFunction(e)&&(e=e.call(this)),t.data&&(u=a.createFrame(t.data)),e&&"object"==typeof e)if(a.isArray(e))for(var h=e.length;s{"use strict";t.__esModule=!0;var r,a=(r=n(13769))&&r.__esModule?r:{default:r};t.default=function(e){e.registerHelper("helperMissing",(function(){if(1!==arguments.length)throw new a.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}))},e.exports=t.default},82355:(e,t,n)=>{"use strict";t.__esModule=!0;var r,a=n(82849),i=(r=n(13769))&&r.__esModule?r:{default:r};t.default=function(e){e.registerHelper("if",(function(e,t){if(2!=arguments.length)throw new i.default("#if requires exactly one argument");return a.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||a.isEmpty(e)?t.inverse(this):t.fn(this)})),e.registerHelper("unless",(function(t,n){if(2!=arguments.length)throw new i.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}))},e.exports=t.default},85300:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){e.registerHelper("log",(function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r{"use strict";t.__esModule=!0,t.default=function(e){e.registerHelper("lookup",(function(e,t,n){return e?n.lookupProperty(e,t):e}))},e.exports=t.default},50908:(e,t,n)=>{"use strict";t.__esModule=!0;var r,a=n(82849),i=(r=n(13769))&&r.__esModule?r:{default:r};t.default=function(e){e.registerHelper("with",(function(e,t){if(2!=arguments.length)throw new i.default("#with requires exactly one argument");a.isFunction(e)&&(e=e.call(this));var n=t.fn;if(a.isEmpty(e))return t.inverse(this);var r=t.data;return t.data&&t.ids&&((r=a.createFrame(t.data)).contextPath=a.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:r,blockParams:a.blockParams([e],[r&&r.contextPath])})}))},e.exports=t.default},89726:(e,t,n)=>{"use strict";t.__esModule=!0,t.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),n=0;n{"use strict";t.__esModule=!0,t.createProtoAccessControl=function(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:a.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:a.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},t.resultIsAllowed=function(e,t,n){return function(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==o[e]&&(o[e]=!0,i.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'))}(t),!1)}("function"==typeof e?t.methods:t.properties,n)},t.resetLoggedProperties=function(){Object.keys(o).forEach((function(e){delete o[e]}))};var r,a=n(89726),i=(r=n(40566))&&r.__esModule?r:{default:r},o=Object.create(null)},72614:(e,t)=>{"use strict";t.__esModule=!0,t.wrapHelper=function(e,t){return"function"!=typeof e?e:function(){return arguments[arguments.length-1]=t(arguments[arguments.length-1]),e.apply(this,arguments)}}},40566:(e,t,n)=>{"use strict";var r=n(96763);t.__esModule=!0;var a=n(82849),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if("string"==typeof e){var t=a.indexOf(i.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=i.lookupLevel(e),void 0!==r&&i.lookupLevel(i.level)<=e){var t=i.methodMap[e];r[t]||(t="log");for(var n=arguments.length,a=Array(n>1?n-1:0),o=1;o{"use strict";t.__esModule=!0,t.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",(function(){return this})),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},e.exports=t.default},7624:(e,t,n)=>{"use strict";t.__esModule=!0,t.checkRevision=function(e){var t=e&&e[0]||1,n=o.COMPILER_REVISION;if(!(t>=o.LAST_COMPATIBLE_COMPILER_REVISION&&t<=o.COMPILER_REVISION)){if(t{"use strict";function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t.default=n,e.exports=t.default},82849:(e,t)=>{"use strict";t.__esModule=!0,t.extend=o,t.indexOf=function(e,t){for(var n=0,r=e.length;n":">",'"':""","'":"'","`":"`","=":"="},r=/[&<>"'`=]/g,a=/[&<>"'`=]/;function i(e){return n[e]}function o(e){for(var t=1;t{e.exports=n(20261).default},30592:(e,t,n)=>{"use strict";var r=n(30655),a=function(){return!!r};a.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=a},80024:e=>{"use strict";var t={__proto__:null,foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!(t instanceof n)}},64039:(e,t,n)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,a=n(41333);e.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&a()}},41333:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}},49092:(e,t,n)=>{"use strict";var r=n(41333);e.exports=function(){return r()&&!!Symbol.toStringTag}},9957:(e,t,n)=>{"use strict";var r=Function.prototype.call,a=Object.prototype.hasOwnProperty,i=n(66743);e.exports=i.call(r,a)},11083:(e,t,n)=>{var r=n(11568),a=n(88835),i=e.exports;for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o]);function s(e){if("string"==typeof e&&(e=a.parse(e)),e.protocol||(e.protocol="https:"),"https:"!==e.protocol)throw new Error('Protocol "'+e.protocol+'" not supported. Expected "https:"');return e}i.request=function(e,t){return e=s(e),r.request.call(this,e,t)},i.get=function(e,t){return e=s(e),r.get.call(this,e,t)}},76225:(e,t,n)=>{var r,a,i,o,s=n(96763);(r=e.exports).foldLength=75,r.newLineChar="\r\n",r.helpers={updateTimezones:function(e){var t,n,a,i,o,s;if(!e||"vcalendar"!==e.name)return e;for(t=e.getAllSubcomponents(),n=[],a={},o=0;o0&&"\\"===e[n-1]))return n;n+=1}return-1},binsearchInsert:function(e,t,n){if(!e.length)return 0;for(var r,a,i=0,o=e.length-1;i<=o;)if((a=n(t,e[r=i+Math.floor((o-i)/2)]))<0)o=r-1;else{if(!(a>0))break;i=r+1}return a<0?r:a>0?r+1:r},dumpn:function(){r.debug&&(r.helpers.dumpn=void 0!==s&&"log"in s?function(e){s.log(e)}:function(e){dump(e+"\n")},r.helpers.dumpn(arguments[0]))},clone:function(e,t){if(e&&"object"==typeof e){if(e instanceof Date)return new Date(e.getTime());if("clone"in e)return e.clone();if(Array.isArray(e)){for(var n=[],a=0;a65535?2:1:(t+=r.newLineChar+" "+n.substring(0,a),n=n.substring(a),a=i=0)}return t.substr(r.newLineChar.length+1)},pad2:function(e){switch("string"!=typeof e&&("number"==typeof e&&(e=parseInt(e)),e=String(e)),e.length){case 0:return"00";case 1:return"0"+e;default:return e}},trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)},inherits:function(e,t,n){function a(){}a.prototype=e.prototype,t.prototype=new a,n&&r.helpers.extend(n,t.prototype)},extend:function(e,t){for(var n in e){var r=Object.getOwnPropertyDescriptor(e,n);r&&!Object.getOwnPropertyDescriptor(t,n)&&Object.defineProperty(t,n,r)}return t}},r.design=function(){"use strict";var e=/\\\\|\\,|\\[Nn]/g,t=/\\|,|\n/g;function n(e,t){return{matches:/.*/,fromICAL:function(t,n){return function(e,t,n){return-1===e.indexOf("\\")?e:(n&&(t=new RegExp(t.source+"|\\\\"+n)),e.replace(t,m))}(t,e,n)},toICAL:function(e,n){var r=t;return n&&(r=new RegExp(r.source+"|"+n)),e.replace(r,(function(e){switch(e){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case"\n":return"\\n";default:return e}}))}}}var a={defaultType:"text"},i={defaultType:"text",multiValue:","},o={defaultType:"text",structuredValue:";"},s={defaultType:"integer"},l={defaultType:"date-time",allowedTypes:["date-time","date"]},u={defaultType:"date-time"},d={defaultType:"uri"},c={defaultType:"utc-offset"},h={defaultType:"recur"},f={defaultType:"date-and-or-time",allowedTypes:["date-time","date","text"]};function m(e){switch(e){case"\\\\":return"\\";case"\\;":return";";case"\\,":return",";case"\\n":case"\\N":return"\n";default:return e}}var p={categories:i,url:d,version:a,uid:a},g={boolean:{values:["TRUE","FALSE"],fromICAL:function(e){return"TRUE"===e},toICAL:function(e){return e?"TRUE":"FALSE"}},float:{matches:/^[+-]?\d+\.\d+$/,fromICAL:function(e){var t=parseFloat(e);return r.helpers.isStrictlyNaN(t)?0:t},toICAL:function(e){return String(e)}},integer:{fromICAL:function(e){var t=parseInt(e);return r.helpers.isStrictlyNaN(t)?0:t},toICAL:function(e){return String(e)}},"utc-offset":{toICAL:function(e){return e.length<7?e.substr(0,3)+e.substr(4,2):e.substr(0,3)+e.substr(4,2)+e.substr(7,2)},fromICAL:function(e){return e.length<6?e.substr(0,3)+":"+e.substr(3,2):e.substr(0,3)+":"+e.substr(3,2)+":"+e.substr(5,2)},decorate:function(e){return r.UtcOffset.fromString(e)},undecorate:function(e){return e.toString()}}},_=r.helpers.extend(g,{text:n(/\\\\|\\;|\\,|\\[Nn]/g,/\\|;|,|\n/g),uri:{},binary:{decorate:function(e){return r.Binary.fromString(e)},undecorate:function(e){return e.toString()}},"cal-address":{},date:{decorate:function(e,t){return k.strict?r.Time.fromDateString(e,t):r.Time.fromString(e,t)},undecorate:function(e){return e.toString()},fromICAL:function(e){return!k.strict&&e.length>=15?_["date-time"].fromICAL(e):e.substr(0,4)+"-"+e.substr(4,2)+"-"+e.substr(6,2)},toICAL:function(e){var t=e.length;return 10==t?e.substr(0,4)+e.substr(5,2)+e.substr(8,2):t>=19?_["date-time"].toICAL(e):e}},"date-time":{fromICAL:function(e){if(k.strict||8!=e.length){var t=e.substr(0,4)+"-"+e.substr(4,2)+"-"+e.substr(6,2)+"T"+e.substr(9,2)+":"+e.substr(11,2)+":"+e.substr(13,2);return e[15]&&"Z"===e[15]&&(t+="Z"),t}return _.date.fromICAL(e)},toICAL:function(e){var t=e.length;if(10!=t||k.strict){if(t>=19){var n=e.substr(0,4)+e.substr(5,2)+e.substr(8,5)+e.substr(14,2)+e.substr(17,2);return e[19]&&"Z"===e[19]&&(n+="Z"),n}return e}return _.date.toICAL(e)},decorate:function(e,t){return k.strict?r.Time.fromDateTimeString(e,t):r.Time.fromString(e,t)},undecorate:function(e){return e.toString()}},duration:{decorate:function(e){return r.Duration.fromString(e)},undecorate:function(e){return e.toString()}},period:{fromICAL:function(e){var t=e.split("/");return t[0]=_["date-time"].fromICAL(t[0]),r.Duration.isValueString(t[1])||(t[1]=_["date-time"].fromICAL(t[1])),t},toICAL:function(e){return k.strict||10!=e[0].length?e[0]=_["date-time"].toICAL(e[0]):e[0]=_.date.toICAL(e[0]),r.Duration.isValueString(e[1])||(k.strict||10!=e[1].length?e[1]=_["date-time"].toICAL(e[1]):e[1]=_.date.toICAL(e[1])),e.join("/")},decorate:function(e,t){return r.Period.fromJSON(e,t,!k.strict)},undecorate:function(e){return e.toJSON()}},recur:{fromICAL:function(e){return r.Recur._stringToData(e,!0)},toICAL:function(e){var t="";for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var a=e[n];"until"==n?a=a.length>10?_["date-time"].toICAL(a):_.date.toICAL(a):"wkst"==n?"number"==typeof a&&(a=r.Recur.numericDayToIcalDay(a)):Array.isArray(a)&&(a=a.join(",")),t+=n.toUpperCase()+"="+a+";"}return t.substr(0,t.length-1)},decorate:function(e){return r.Recur.fromData(e)},undecorate:function(e){return e.toJSON()}},time:{fromICAL:function(e){if(e.length<6)return e;var t=e.substr(0,2)+":"+e.substr(2,2)+":"+e.substr(4,2);return"Z"===e[6]&&(t+="Z"),t},toICAL:function(e){if(e.length<8)return e;var t=e.substr(0,2)+e.substr(3,2)+e.substr(6,2);return"Z"===e[8]&&(t+="Z"),t}}}),v=r.helpers.extend(p,{action:a,attach:{defaultType:"uri"},attendee:{defaultType:"cal-address"},calscale:a,class:a,comment:a,completed:u,contact:a,created:u,description:a,dtend:l,dtstamp:u,dtstart:l,due:l,duration:{defaultType:"duration"},exdate:{defaultType:"date-time",allowedTypes:["date-time","date"],multiValue:","},exrule:h,freebusy:{defaultType:"period",multiValue:","},geo:{defaultType:"float",structuredValue:";"},"last-modified":u,location:a,method:a,organizer:{defaultType:"cal-address"},"percent-complete":s,priority:s,prodid:a,"related-to":a,repeat:s,rdate:{defaultType:"date-time",allowedTypes:["date-time","date","period"],multiValue:",",detectType:function(e){return-1!==e.indexOf("/")?"period":-1===e.indexOf("T")?"date":"date-time"}},"recurrence-id":l,resources:i,"request-status":o,rrule:h,sequence:s,status:a,summary:a,transp:a,trigger:{defaultType:"duration",allowedTypes:["duration","date-time"]},tzoffsetfrom:c,tzoffsetto:c,tzurl:d,tzid:a,tzname:a}),A=r.helpers.extend(g,{text:n(e,t),uri:n(e,t),date:{decorate:function(e){return r.VCardTime.fromDateAndOrTimeString(e,"date")},undecorate:function(e){return e.toString()},fromICAL:function(e){return 8==e.length?_.date.fromICAL(e):"-"==e[0]&&6==e.length?e.substr(0,4)+"-"+e.substr(4):e},toICAL:function(e){return 10==e.length?_.date.toICAL(e):"-"==e[0]&&7==e.length?e.substr(0,4)+e.substr(5):e}},time:{decorate:function(e){return r.VCardTime.fromDateAndOrTimeString("T"+e,"time")},undecorate:function(e){return e.toString()},fromICAL:function(e){var t=A.time._splitZone(e,!0),n=t[0],r=t[1];return 6==r.length?r=r.substr(0,2)+":"+r.substr(2,2)+":"+r.substr(4,2):4==r.length&&"-"!=r[0]?r=r.substr(0,2)+":"+r.substr(2,2):5==r.length&&(r=r.substr(0,3)+":"+r.substr(3,2)),5!=n.length||"-"!=n[0]&&"+"!=n[0]||(n=n.substr(0,3)+":"+n.substr(3)),r+n},toICAL:function(e){var t=A.time._splitZone(e),n=t[0],r=t[1];return 8==r.length?r=r.substr(0,2)+r.substr(3,2)+r.substr(6,2):5==r.length&&"-"!=r[0]?r=r.substr(0,2)+r.substr(3,2):6==r.length&&(r=r.substr(0,3)+r.substr(4,2)),6!=n.length||"-"!=n[0]&&"+"!=n[0]||(n=n.substr(0,3)+n.substr(4)),r+n},_splitZone:function(e,t){var n,r,a=e.length-1,i=e.length-(t?5:6),o=e[i];return"Z"==e[a]?(n=e[a],r=e.substr(0,a)):e.length>6&&("-"==o||"+"==o)?(n=e.substr(i),r=e.substr(0,i)):(n="",r=e),[n,r]}},"date-time":{decorate:function(e){return r.VCardTime.fromDateAndOrTimeString(e,"date-time")},undecorate:function(e){return e.toString()},fromICAL:function(e){return A["date-and-or-time"].fromICAL(e)},toICAL:function(e){return A["date-and-or-time"].toICAL(e)}},"date-and-or-time":{decorate:function(e){return r.VCardTime.fromDateAndOrTimeString(e,"date-and-or-time")},undecorate:function(e){return e.toString()},fromICAL:function(e){var t=e.split("T");return(t[0]?A.date.fromICAL(t[0]):"")+(t[1]?"T"+A.time.fromICAL(t[1]):"")},toICAL:function(e){var t=e.split("T");return A.date.toICAL(t[0])+(t[1]?"T"+A.time.toICAL(t[1]):"")}},timestamp:_["date-time"],"language-tag":{matches:/^[a-zA-Z0-9-]+$/}}),b=r.helpers.extend(p,{adr:{defaultType:"text",structuredValue:";",multiValue:","},anniversary:f,bday:f,caladruri:d,caluri:d,clientpidmap:o,email:a,fburl:d,fn:a,gender:o,geo:d,impp:d,key:d,kind:a,lang:{defaultType:"language-tag"},logo:d,member:d,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:i,note:a,org:{defaultType:"text",structuredValue:";"},photo:d,related:d,rev:{defaultType:"timestamp"},role:a,sound:d,source:d,tel:{defaultType:"uri",allowedTypes:["uri","text"]},title:a,tz:{defaultType:"text",allowedTypes:["text","utc-offset","uri"]},xml:a}),y=r.helpers.extend(g,{binary:_.binary,date:A.date,"date-time":A["date-time"],"phone-number":{},uri:_.uri,text:_.text,time:_.time,vcard:_.text,"utc-offset":{toICAL:function(e){return e.substr(0,7)},fromICAL:function(e){return e.substr(0,7)},decorate:function(e){return r.UtcOffset.fromString(e)},undecorate:function(e){return e.toString()}}}),F=r.helpers.extend(p,{fn:a,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:i,photo:{defaultType:"binary",allowedTypes:["binary","uri"]},bday:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(e){return-1===e.indexOf("T")?"date":"date-time"}},adr:{defaultType:"text",structuredValue:";",multiValue:","},label:a,tel:{defaultType:"phone-number"},email:a,mailer:a,tz:{defaultType:"utc-offset",allowedTypes:["utc-offset","text"]},geo:{defaultType:"float",structuredValue:";"},title:a,role:a,logo:{defaultType:"binary",allowedTypes:["binary","uri"]},agent:{defaultType:"vcard",allowedTypes:["vcard","text","uri"]},org:o,note:i,prodid:a,rev:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(e){return-1===e.indexOf("T")?"date":"date-time"}},"sort-string":a,sound:{defaultType:"binary",allowedTypes:["binary","uri"]},class:a,key:{defaultType:"binary",allowedTypes:["binary","text"]}}),T={value:_,param:{cutype:{values:["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"],allowXName:!0,allowIanaToken:!0},"delegated-from":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},"delegated-to":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},encoding:{values:["8BIT","BASE64"]},fbtype:{values:["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"],allowXName:!0,allowIanaToken:!0},member:{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},partstat:{values:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED","COMPLETED","IN-PROCESS"],allowXName:!0,allowIanaToken:!0},range:{values:["THISANDFUTURE"]},related:{values:["START","END"]},reltype:{values:["PARENT","CHILD","SIBLING"],allowXName:!0,allowIanaToken:!0},role:{values:["REQ-PARTICIPANT","CHAIR","OPT-PARTICIPANT","NON-PARTICIPANT"],allowXName:!0,allowIanaToken:!0},rsvp:{values:["TRUE","FALSE"]},"sent-by":{valueType:"cal-address"},tzid:{matches:/^\//},value:{values:["binary","boolean","cal-address","date","date-time","duration","float","integer","period","recur","text","time","uri","utc-offset"],allowXName:!0,allowIanaToken:!0}},property:v},E={value:A,param:{type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","time","date-time","date-and-or-time","timestamp","boolean","integer","float","utc-offset","language-tag"],allowXName:!0,allowIanaToken:!0}},property:b},w={value:y,param:{type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","date-time","phone-number","time","boolean","integer","float","utc-offset","vcard","binary"],allowXName:!0,allowIanaToken:!0}},property:F},k={strict:!0,defaultSet:T,defaultType:"unknown",components:{vcard:E,vcard3:w,vevent:T,vtodo:T,vjournal:T,valarm:T,vtimezone:T,daylight:T,standard:T},icalendar:T,vcard:E,vcard3:w,getDesignSet:function(e){return e&&e in k.components?k.components[e]:k.defaultSet}};return k}(),r.stringify=function(){"use strict";var e="\r\n",t="unknown",n=r.design,a=r.helpers;function i(t){"string"==typeof t[0]&&(t=[t]);for(var n=0,r=t.length,a="";n0&&("version"!==t[1][0][0]||"4.0"!==t[1][0][3])&&(d="vcard3"),r=r||n.getDesignSet(d);l1)throw new a("invalid ical body. component began but did not end");return t=null,1==n.length?n[0]:n}a.prototype=Error.prototype,i.property=function(e,n){var r={component:[[],[]],designSet:n||t.defaultSet};return i._handleContentLine(e,r),r.component[1][0]},i.component=function(e){return i(e)},i.ParserError=a,i._handleContentLine=function(e,n){var r,o,s,l,u,d,c=e.indexOf(":"),h=e.indexOf(";"),f={};if(-1!==h&&-1!==c&&h>c&&(h=-1),-1!==h){if(s=e.substring(0,h).toLowerCase(),-1==(u=i._parseParameters(e.substring(h),0,n.designSet))[2])throw new a("Invalid parameters in '"+e+"'");if(f=u[0],r=u[1].length+u[2]+h,-1===(o=e.substring(r).indexOf(":")))throw new a("Missing parameter value in '"+e+"'");l=e.substring(r+o+1)}else{if(-1===c)throw new a('invalid line (no token ";" or ":") "'+e+'"');if(s=e.substring(0,c).toLowerCase(),l=e.substring(c+1),"begin"===s){var m=[l.toLowerCase(),[],[]];return 1===n.stack.length?n.component.push(m):n.component[2].push(m),n.stack.push(n.component),n.component=m,void(n.designSet||(n.designSet=t.getDesignSet(n.component[0])))}if("end"===s)return void(n.component=n.stack.pop())}var p,g,_=!1,v=!1;s in n.designSet.property&&("multiValue"in(p=n.designSet.property[s])&&(_=p.multiValue),"structuredValue"in p&&(v=p.structuredValue),l&&"detectType"in p&&(d=p.detectType(l))),d||(d="value"in f?f.value.toLowerCase():p?p.defaultType:"unknown"),delete f.value,_&&v?g=[s,f,d,l=i._parseMultiValue(l,v,d,[],_,n.designSet,v)]:_?(g=[s,f,d],i._parseMultiValue(l,_,d,g,null,n.designSet,!1)):g=v?[s,f,d,l=i._parseMultiValue(l,v,d,[],null,n.designSet,v)]:[s,f,d,l=i._parseValue(l,d,n.designSet,!1)],"vcard"!==n.component[0]||0!==n.component[1].length||"version"===s&&"4.0"===l||(n.designSet=t.getDesignSet("vcard3")),n.component[1].push(g)},i._parseValue=function(e,t,n,r){return t in n.value&&"fromICAL"in n.value[t]?n.value[t].fromICAL(e,r):e},i._parseParameters=function(e,t,r){for(var o,s,l,u,d,c,h=t,f=0,m={},p=-1;!1!==f&&-1!==(f=n.unescapedIndexOf(e,"=",f+1));){if(0==(o=e.substr(h+1,f-h-1)).length)throw new a("Empty parameter name in '"+e+"'");if(c=!1,d=!1,u=(s=o.toLowerCase())in r.param&&r.param[s].valueType?r.param[s].valueType:"text",s in r.param&&(d=r.param[s].multiValue,r.param[s].multiValueSeparateDQuote&&(c=i._rfc6868Escape('"'+d+'"'))),'"'===e[f+1]){if(p=f+2,f=n.unescapedIndexOf(e,'"',p),d&&-1!=f)for(var g=!0;g;)e[f+1]==d&&'"'==e[f+2]?f=n.unescapedIndexOf(e,'"',f+3):g=!1;if(-1===f)throw new a('invalid line (no matching double quote) "'+e+'"');l=e.substr(p,f-p),-1===(h=n.unescapedIndexOf(e,";",f))&&(f=!1)}else{p=f+1;var _=n.unescapedIndexOf(e,";",p),v=n.unescapedIndexOf(e,":",p);-1!==v&&_>v?(_=v,f=!1):-1===_?(_=-1===v?e.length:v,f=!1):(h=_,f=_),l=e.substr(p,_-p)}if(l=i._rfc6868Escape(l),d){var A=c||d;l=i._parseMultiValue(l,A,u,[],null,r)}else l=i._parseValue(l,u,r);d&&s in m?Array.isArray(m[s])?m[s].push(l):m[s]=[m[s],l]:m[s]=l}return[m,l,p]},i._rfc6868Escape=function(e){return e.replace(/\^['n^]/g,(function(e){return o[e]}))};var o={"^'":'"',"^n":"\n","^^":"^"};return i._parseMultiValue=function(e,t,r,a,o,s,l){var u,d=0,c=0;if(0===t.length)return e;for(;-1!==(d=n.unescapedIndexOf(e,t,c));)u=e.substr(c,d-c),u=o?i._parseMultiValue(u,o,r,[],null,s,l):i._parseValue(u,r,s,l),a.push(u),c=d+t.length;return u=e.substr(c),u=o?i._parseMultiValue(u,o,r,[],null,s,l):i._parseValue(u,r,s,l),a.push(u),1==a.length?a[0]:a},i._eachLine=function(t,n){var r,a,i,o=t.length,s=t.search(e),l=s;do{i=(l=t.indexOf("\n",s)+1)>1&&"\r"===t[l-2]?2:1,0===l&&(l=o,i=0)," "===(a=t[s])||"\t"===a?r+=t.substr(s+1,l-s-(i+1)):(r&&n(null,r),r=t.substr(s,l-s-i)),s=l}while(l!==o);(r=r.trim()).length&&n(null,r)},i}(),r.Component=function(){"use strict";function e(e,t){"string"==typeof e&&(e=[e,[],[]]),this.jCal=e,this.parent=t||null}return e.prototype={_hydratedPropertyCount:0,_hydratedComponentCount:0,get name(){return this.jCal[0]},get _designSet(){return this.parent&&this.parent._designSet||r.design.getDesignSet(this.name)},_hydrateComponent:function(t){if(this._components||(this._components=[],this._hydratedComponentCount=0),this._components[t])return this._components[t];var n=new e(this.jCal[2][t],this);return this._hydratedComponentCount++,this._components[t]=n},_hydrateProperty:function(e){if(this._properties||(this._properties=[],this._hydratedPropertyCount=0),this._properties[e])return this._properties[e];var t=new r.Property(this.jCal[1][e],this);return this._hydratedPropertyCount++,this._properties[e]=t},getFirstSubcomponent:function(e){if(e){for(var t=0,n=this.jCal[2],r=n.length;t=0;i--)n&&a[i][0]!==n||this._removeObjectByIndex(e,r,i)},addSubcomponent:function(e){this._components||(this._components=[],this._hydratedComponentCount=0),e.parent&&e.parent.removeSubcomponent(e);var t=this.jCal[2].push(e.jCal);return this._components[t-1]=e,this._hydratedComponentCount++,e.parent=this,e},removeSubcomponent:function(e){var t=this._removeObject(2,"_components",e);return t&&this._hydratedComponentCount--,t},removeAllSubcomponents:function(e){var t=this._removeAllObjects(2,"_components",e);return this._hydratedComponentCount=0,t},addProperty:function(e){if(!(e instanceof r.Property))throw new TypeError("must instance of ICAL.Property");this._properties||(this._properties=[],this._hydratedPropertyCount=0),e.parent&&e.parent.removeProperty(e);var t=this.jCal[1].push(e.jCal);return this._properties[t-1]=e,this._hydratedPropertyCount++,e.parent=this,e},addPropertyWithValue:function(e,t){var n=new r.Property(e);return n.setValue(t),this.addProperty(n),n},updatePropertyWithValue:function(e,t){var n=this.getFirstProperty(e);return n?n.setValue(t):n=this.addPropertyWithValue(e,t),n},removeProperty:function(e){var t=this._removeObject(1,"_properties",e);return t&&this._hydratedPropertyCount--,t},removeAllProperties:function(e){var t=this._removeAllObjects(1,"_properties",e);return this._hydratedPropertyCount=0,t},toJSON:function(){return this.jCal},toString:function(){return r.stringify.component(this.jCal,this._designSet)}},e.fromString=function(t){return new e(r.parse.component(t))},e}(),r.Property=function(){"use strict";var e=r.design;function t(t,n){this._parent=n||null,"string"==typeof t?(this.jCal=[t,{},e.defaultType],this.jCal[2]=this.getDefaultType()):this.jCal=t,this._updateType()}return t.prototype={get type(){return this.jCal[2]},get name(){return this.jCal[0]},get parent(){return this._parent},set parent(t){var n=!this._parent||t&&t._designSet!=this._parent._designSet;return this._parent=t,this.type==e.defaultType&&n&&(this.jCal[2]=this.getDefaultType(),this._updateType()),t},get _designSet(){return this.parent?this.parent._designSet:e.defaultSet},_updateType:function(){var e=this._designSet;this.type in e.value&&(e.value[this.type],"decorate"in e.value[this.type]?this.isDecorated=!0:this.isDecorated=!1,this.name in e.property&&(this.isMultiValue="multiValue"in e.property[this.name],this.isStructuredValue="structuredValue"in e.property[this.name]))},_hydrateValue:function(e){return this._values&&this._values[e]?this._values[e]:this.jCal.length<=3+e?null:this.isDecorated?(this._values||(this._values=[]),this._values[e]=this._decorate(this.jCal[3+e])):this.jCal[3+e]},_decorate:function(e){return this._designSet.value[this.type].decorate(e,this)},_undecorate:function(e){return this._designSet.value[this.type].undecorate(e,this)},_setDecoratedValue:function(e,t){this._values||(this._values=[]),"object"==typeof e&&"icaltype"in e?(this.jCal[3+t]=this._undecorate(e),this._values[t]=e):(this.jCal[3+t]=e,this._values[t]=this._decorate(e))},getParameter:function(e){return e in this.jCal[1]?this.jCal[1][e]:void 0},getFirstParameter:function(e){var t=this.getParameter(e);return Array.isArray(t)?t[0]:t},setParameter:function(e,t){var n=e.toLowerCase();"string"==typeof t&&n in this._designSet.param&&"multiValue"in this._designSet.param[n]&&(t=[t]),this.jCal[1][e]=t},removeParameter:function(e){delete this.jCal[1][e]},getDefaultType:function(){var t=this.jCal[0],n=this._designSet;if(t in n.property){var r=n.property[t];if("defaultType"in r)return r.defaultType}return e.defaultType},resetType:function(e){this.removeAllValues(),this.jCal[2]=e,this._updateType()},getFirstValue:function(){return this._hydrateValue(0)},getValues:function(){var e=this.jCal.length-3;if(e<1)return[];for(var t=0,n=[];t0&&"object"==typeof e[0]&&"icaltype"in e[0]&&this.resetType(e[0].icaltype),this.isDecorated)for(;nn)-(n>t)},_normalize:function(){for(var e=this.toSeconds(),t=this.factor;e<-43200;)e+=97200;for(;e>50400;)e-=97200;this.fromSeconds(e),0==e&&(this.factor=t)},toICALString:function(){return r.design.icalendar.value["utc-offset"].toICAL(this.toString())},toString:function(){return(1==this.factor?"+":"-")+r.helpers.pad2(this.hours)+":"+r.helpers.pad2(this.minutes)}},e.fromString=function(e){var t={};return t.factor="+"===e[0]?1:-1,t.hours=r.helpers.strictParseInt(e.substr(1,2)),t.minutes=r.helpers.strictParseInt(e.substr(4,2)),new r.UtcOffset(t)},e.fromSeconds=function(t){var n=new e;return n.fromSeconds(t),n},e}(),r.Binary=function(){function e(e){this.value=e}return e.prototype={icaltype:"binary",decodeValue:function(){return this._b64_decode(this.value)},setEncodedValue:function(e){this.value=this._b64_encode(e)},_b64_encode:function(e){var t,n,r,a,i,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=0,l=0,u="",d=[];if(!e)return e;do{t=(i=e.charCodeAt(s++)<<16|e.charCodeAt(s++)<<8|e.charCodeAt(s++))>>18&63,n=i>>12&63,r=i>>6&63,a=63&i,d[l++]=o.charAt(t)+o.charAt(n)+o.charAt(r)+o.charAt(a)}while(s>16&255,n=o>>8&255,r=255&o,d[u++]=64==a?String.fromCharCode(t):64==i?String.fromCharCode(t,n):String.fromCharCode(t,n,r)}while(ln)-(t=0?a=n:i=-1,-1==i&&-1!=a)break;if((n+=i)<0)return 0;if(n>=this.changes.length)break}var s=this.changes[a];if(s.utcOffset-s.prevUtcOffset<0&&a>0){var l=r.helpers.clone(s,!0);if(r.Timezone.adjust_change(l,0,0,0,l.prevUtcOffset),r.Timezone._compare_change_fn(t,l)<0){var u=this.changes[a-1];0!=s.is_daylight&&0==u.is_daylight&&(s=u)}}return s.utcOffset},_findNearbyChange:function(e){var t=r.helpers.binsearchInsert(this.changes,e,r.Timezone._compare_change_fn);return t>=this.changes.length?this.changes.length-1:t},_ensureCoverage:function(e){if(-1==r.Timezone._minimumExpansionYear){var t=r.Time.now();r.Timezone._minimumExpansionYear=t.year}var n=e;if(nr.Timezone.MAX_YEAR&&(n=r.Timezone.MAX_YEAR),!this.changes.length||this.expandedUntilYeart)&&h);)a.year=h.year,a.month=h.month,a.day=h.day,a.hour=h.hour,a.minute=h.minute,a.second=h.second,a.isDate=h.isDate,r.Timezone.adjust_change(a,0,0,0,-a.prevUtcOffset),n.push(a)}}else(a=s()).year=i.year,a.month=i.month,a.day=i.day,a.hour=i.hour,a.minute=i.minute,a.second=i.second,r.Timezone.adjust_change(a,0,0,0,-a.prevUtcOffset),n.push(a);return n},toString:function(){return this.tznames?this.tznames:this.tzid}},r.Timezone._compare_change_fn=function(e,t){return e.yeart.year?1:e.montht.month?1:e.dayt.day?1:e.hourt.hour?1:e.minutet.minute?1:e.secondt.second?1:0},r.Timezone.convert_time=function(e,t,n){if(e.isDate||t.tzid==n.tzid||t==r.Timezone.localTimezone||n==r.Timezone.localTimezone)return e.zone=n,e;var a=t.utcOffset(e);return e.adjust(0,0,0,-a),a=n.utcOffset(e),e.adjust(0,0,0,a),null},r.Timezone.fromData=function(e){return(new r.Timezone).fromData(e)},r.Timezone.utcTimezone=r.Timezone.fromData({tzid:"UTC"}),r.Timezone.localTimezone=r.Timezone.fromData({tzid:"floating"}),r.Timezone.adjust_change=function(e,t,n,a,i){return r.Time.prototype.adjust.call(e,t,n,a,i,e)},r.Timezone._minimumExpansionYear=-1,r.Timezone.MAX_YEAR=2035,r.Timezone.EXTRA_COVERAGE=5,r.TimezoneService=((o={get count(){return Object.keys(i).length},reset:function(){i=Object.create(null);var e=r.Timezone.utcTimezone;i.Z=e,i.UTC=e,i.GMT=e},has:function(e){return!!i[e]},get:function(e){return i[e]},register:function(e,t){if(e instanceof r.Component&&"vtimezone"===e.name&&(e=(t=new r.Timezone(e)).tzid),!(t instanceof r.Timezone))throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component");i[e]=t},remove:function(e){return delete i[e]}}).reset(),o),r.Time=function(e,t){this.wrappedJSObject=this;var n=this._time=Object.create(null);n.year=0,n.month=1,n.day=1,n.hour=0,n.minute=0,n.second=0,n.isDate=!1,this.fromData(e,t)},r.Time._dowCache={},r.Time._wnCache={},r.Time.prototype={icalclass:"icaltime",_cachedUnixTime:null,get icaltype(){return this.isDate?"date":"date-time"},zone:null,_pendingNormalization:!1,clone:function(){return new r.Time(this._time,this.zone)},reset:function(){this.fromData(r.Time.epochTime),this.zone=r.Timezone.utcTimezone},resetTo:function(e,t,n,r,a,i,o){this.fromData({year:e,month:t,day:n,hour:r,minute:a,second:i,zone:o})},fromJSDate:function(e,t){return e?t?(this.zone=r.Timezone.utcTimezone,this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()):(this.zone=r.Timezone.localTimezone,this.year=e.getFullYear(),this.month=e.getMonth()+1,this.day=e.getDate(),this.hour=e.getHours(),this.minute=e.getMinutes(),this.second=e.getSeconds()):this.reset(),this._cachedUnixTime=null,this},fromData:function(e,t){if(e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if("icaltype"===n)continue;this[n]=e[n]}if(t&&(this.zone=t),e&&!("isDate"in e)?this.isDate=!("hour"in e):e&&"isDate"in e&&(this.isDate=e.isDate),e&&"timezone"in e){var a=r.TimezoneService.get(e.timezone);this.zone=a||r.Timezone.localTimezone}return e&&"zone"in e&&(this.zone=e.zone),this.zone||(this.zone=r.Timezone.localTimezone),this._cachedUnixTime=null,this},dayOfWeek:function(e){var t=e||r.Time.SUNDAY,n=(this.year<<12)+(this.month<<8)+(this.day<<3)+t;if(n in r.Time._dowCache)return r.Time._dowCache[n];var a=this.day,i=this.month+(this.month<3?12:0),o=this.year-(this.month<3?1:0),s=a+o+r.helpers.trunc(26*(i+1)/10)+r.helpers.trunc(o/4);return s=((s+=6*r.helpers.trunc(o/100)+r.helpers.trunc(o/400))+7-t)%7+1,r.Time._dowCache[n]=s,s},dayOfYear:function(){var e=r.Time.isLeapYear(this.year)?1:0;return r.Time.daysInYearPassedMonth[e][this.month-1]+this.day},startOfWeek:function(e){var t=e||r.Time.SUNDAY,n=this.clone();return n.day-=(this.dayOfWeek()+7-t)%7,n.isDate=!0,n.hour=0,n.minute=0,n.second=0,n},endOfWeek:function(e){var t=e||r.Time.SUNDAY,n=this.clone();return n.day+=(7-this.dayOfWeek()+t-r.Time.SUNDAY)%7,n.isDate=!0,n.hour=0,n.minute=0,n.second=0,n},startOfMonth:function(){var e=this.clone();return e.day=1,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},endOfMonth:function(){var e=this.clone();return e.day=r.Time.daysInMonth(e.month,e.year),e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},startOfYear:function(){var e=this.clone();return e.day=1,e.month=1,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},endOfYear:function(){var e=this.clone();return e.day=31,e.month=12,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},startDoyWeek:function(e){var t=e||r.Time.SUNDAY,n=this.dayOfWeek()-t;return n<0&&(n+=7),this.dayOfYear()-n},getDominicalLetter:function(){return r.Time.getDominicalLetter(this.year)},nthWeekDay:function(e,t){var n,a=r.Time.daysInMonth(this.month,this.year),i=t,o=0,s=this.clone();if(i>=0){s.day=1,0!=i&&i--,o=s.day;var l=e-s.dayOfWeek();l<0&&(l+=7),o+=l,o-=e,n=e}else s.day=a,i++,(n=s.dayOfWeek()-e)<0&&(n+=7),n=a-n;return o+(n+7*i)},isNthWeekDay:function(e,t){var n=this.dayOfWeek();return 0===t&&n===e||this.nthWeekDay(e,t)===this.day},weekNumber:function(e){var t,n=(this.year<<12)+(this.month<<8)+(this.day<<3)+e;if(n in r.Time._wnCache)return r.Time._wnCache[n];var a=this.clone();a.isDate=!0;var i=this.year;12==a.month&&a.day>25?(t=r.Time.weekOneStarts(i+1,e),a.compare(t)<0?t=r.Time.weekOneStarts(i,e):i++):(t=r.Time.weekOneStarts(i,e),a.compare(t)<0&&(t=r.Time.weekOneStarts(--i,e)));var o=a.subtractDate(t).toSeconds()/86400,s=r.helpers.trunc(o/7)+1;return r.Time._wnCache[n]=s,s},addDuration:function(e){var t=e.isNegative?-1:1,n=this.second,r=this.minute,a=this.hour,i=this.day;n+=t*e.seconds,r+=t*e.minutes,a+=t*e.hours,i+=t*e.days,i+=7*t*e.weeks,this.second=n,this.minute=r,this.hour=a,this.day=i,this._cachedUnixTime=null},subtractDate:function(e){var t=this.toUnixTime()+this.utcOffset(),n=e.toUnixTime()+e.utcOffset();return r.Duration.fromSeconds(t-n)},subtractDateTz:function(e){var t=this.toUnixTime(),n=e.toUnixTime();return r.Duration.fromSeconds(t-n)},compare:function(e){var t=this.toUnixTime(),n=e.toUnixTime();return t>n?1:n>t?-1:0},compareDateOnlyTz:function(e,t){function n(e){return r.Time._cmp_attr(a,i,e)}var a=this.convertToZone(t),i=e.convertToZone(t),o=0;return 0!=(o=n("year"))||0!=(o=n("month"))||(o=n("day")),o},convertToZone:function(e){var t=this.clone(),n=this.zone.tzid==e.tzid;return this.isDate||n||r.Timezone.convert_time(t,this.zone,e),t.zone=e,t},utcOffset:function(){return this.zone==r.Timezone.localTimezone||this.zone==r.Timezone.utcTimezone?0:this.zone.utcOffset(this)},toICALString:function(){var e=this.toString();return e.length>10?r.design.icalendar.value["date-time"].toICAL(e):r.design.icalendar.value.date.toICAL(e)},toString:function(){var e=this.year+"-"+r.helpers.pad2(this.month)+"-"+r.helpers.pad2(this.day);return this.isDate||(e+="T"+r.helpers.pad2(this.hour)+":"+r.helpers.pad2(this.minute)+":"+r.helpers.pad2(this.second),this.zone===r.Timezone.utcTimezone&&(e+="Z")),e},toJSDate:function(){return this.zone==r.Timezone.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(1e3*this.toUnixTime())},_normalize:function(){return this._time.isDate,this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this},adjust:function(e,t,n,a,i){var o,s,l,u,d,c,h,f=0,m=0,p=i||this._time;if(p.isDate||(l=p.second+a,p.second=l%60,o=r.helpers.trunc(l/60),p.second<0&&(p.second+=60,o--),u=p.minute+n+o,p.minute=u%60,s=r.helpers.trunc(u/60),p.minute<0&&(p.minute+=60,s--),d=p.hour+t+s,p.hour=d%24,f=r.helpers.trunc(d/24),p.hour<0&&(p.hour+=24,f--)),p.month>12?m=r.helpers.trunc((p.month-1)/12):p.month<1&&(m=r.helpers.trunc(p.month/12)-1),p.year+=m,p.month-=12*m,(c=p.day+e+f)>0)for(;!(c<=(h=r.Time.daysInMonth(p.month,p.year)));)p.month++,p.month>12&&(p.year++,p.month=1),c-=h;else for(;c<=0;)1==p.month?(p.year--,p.month=12):p.month--,c+=r.Time.daysInMonth(p.month,p.year);return p.day=c,this._cachedUnixTime=null,this},fromUnixTime:function(e){this.zone=r.Timezone.utcTimezone;var t=r.Time.epochTime.clone();t.adjust(0,0,0,e),this.year=t.year,this.month=t.month,this.day=t.day,this.hour=t.hour,this.minute=t.minute,this.second=Math.floor(t.second),this._cachedUnixTime=null},toUnixTime:function(){if(null!==this._cachedUnixTime)return this._cachedUnixTime;var e=this.utcOffset(),t=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-e);return this._cachedUnixTime=t/1e3,this._cachedUnixTime},toJSON:function(){for(var e,t=["year","month","day","hour","minute","second","isDate"],n=Object.create(null),r=0,a=t.length;r12||(n=[0,31,28,31,30,31,30,31,31,30,31,30,31][e],2==e&&(n+=r.Time.isLeapYear(t))),n},r.Time.isLeapYear=function(e){return e<=1752?e%4==0:e%4==0&&e%100!=0||e%400==0},r.Time.fromDayOfYear=function(e,t){var n=t,a=e,i=new r.Time;i.auto_normalize=!1;var o=r.Time.isLeapYear(n)?1:0;if(a<1)return n--,o=r.Time.isLeapYear(n)?1:0,a+=r.Time.daysInYearPassedMonth[o][12],r.Time.fromDayOfYear(a,n);if(a>r.Time.daysInYearPassedMonth[o][12])return o=r.Time.isLeapYear(n)?1:0,a-=r.Time.daysInYearPassedMonth[o][12],n++,r.Time.fromDayOfYear(a,n);i.year=n,i.isDate=!0;for(var s=11;s>=0;s--)if(a>r.Time.daysInYearPassedMonth[o][s]){i.month=s+1,i.day=a-r.Time.daysInYearPassedMonth[o][s];break}return i.auto_normalize=!0,i},r.Time.fromStringv2=function(e){return new r.Time({year:parseInt(e.substr(0,4),10),month:parseInt(e.substr(5,2),10),day:parseInt(e.substr(8,2),10),isDate:!0})},r.Time.fromDateString=function(e){return new r.Time({year:r.helpers.strictParseInt(e.substr(0,4)),month:r.helpers.strictParseInt(e.substr(5,2)),day:r.helpers.strictParseInt(e.substr(8,2)),isDate:!0})},r.Time.fromDateTimeString=function(e,t){if(e.length<19)throw new Error('invalid date-time value: "'+e+'"');var n;return e[19]&&"Z"===e[19]?n="Z":t&&(n=t.getParameter("tzid")),new r.Time({year:r.helpers.strictParseInt(e.substr(0,4)),month:r.helpers.strictParseInt(e.substr(5,2)),day:r.helpers.strictParseInt(e.substr(8,2)),hour:r.helpers.strictParseInt(e.substr(11,2)),minute:r.helpers.strictParseInt(e.substr(14,2)),second:r.helpers.strictParseInt(e.substr(17,2)),timezone:n})},r.Time.fromString=function(e,t){return e.length>10?r.Time.fromDateTimeString(e,t):r.Time.fromDateString(e)},r.Time.fromJSDate=function(e,t){return(new r.Time).fromJSDate(e,t)},r.Time.fromData=function(e,t){return(new r.Time).fromData(e,t)},r.Time.now=function(){return r.Time.fromJSDate(new Date,!1)},r.Time.weekOneStarts=function(e,t){var n=r.Time.fromData({year:e,month:1,day:1,isDate:!0}),a=n.dayOfWeek(),i=t||r.Time.DEFAULT_WEEK_START;return a>r.Time.THURSDAY&&(n.day+=7),i>r.Time.THURSDAY&&(n.day-=7),n.day-=a-i,n},r.Time.getDominicalLetter=function(e){var t="GFEDCBA",n=(e+(e/4|0)+(e/400|0)-(e/100|0)-1)%7;return r.Time.isLeapYear(e)?t[(n+6)%7]+t[n]:t[n]},r.Time.epochTime=r.Time.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"}),r.Time._cmp_attr=function(e,t,n){return e[n]>t[n]?1:e[n]4?n(u,f?1:3,2):null,second:4==c?n(u,2,2):6==c?n(u,4,2):8==c?n(u,6,2):null};return l="Z"==l?r.Timezone.utcTimezone:l&&":"==l[3]?r.UtcOffset.fromString(l):null,new r.VCardTime(m,l,t)},function(){var e={SU:r.Time.SUNDAY,MO:r.Time.MONDAY,TU:r.Time.TUESDAY,WE:r.Time.WEDNESDAY,TH:r.Time.THURSDAY,FR:r.Time.FRIDAY,SA:r.Time.SATURDAY},t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);function a(e,t,n,a){var i=a;if("+"===a[0]&&(i=a.substr(1)),i=r.helpers.strictParseInt(i),void 0!==t&&a '+t);if(void 0!==n&&a>n)throw new Error(e+': invalid value "'+a+'" must be < '+t);return i}r.Recur=function(e){this.wrappedJSObject=this,this.parts={},e&&"object"==typeof e&&this.fromData(e)},r.Recur.prototype={parts:null,interval:1,wkst:r.Time.MONDAY,until:null,count:null,freq:null,icalclass:"icalrecur",icaltype:"recur",iterator:function(e){return new r.RecurIterator({rule:this,dtstart:e})},clone:function(){return new r.Recur(this.toJSON())},isFinite:function(){return!(!this.count&&!this.until)},isByCount:function(){return!(!this.count||this.until)},addComponent:function(e,t){var n=e.toUpperCase();n in this.parts?this.parts[n].push(t):this.parts[n]=[t]},setComponent:function(e,t){this.parts[e.toUpperCase()]=t.slice()},getComponent:function(e){var t=e.toUpperCase();return t in this.parts?this.parts[t].slice():[]},getNextOccurrence:function(e,t){var n,r=this.iterator(e);do{n=r.next()}while(n&&n.compare(t)<=0);return n&&t.zone&&(n.zone=t.zone),n},fromData:function(e){for(var t in e){var n=t.toUpperCase();n in u?Array.isArray(e[t])?this.parts[n]=e[t]:this.parts[n]=[e[t]]:this[t]=e[t]}this.interval&&"number"!=typeof this.interval&&l.INTERVAL(this.interval,this),this.wkst&&"number"!=typeof this.wkst&&(this.wkst=r.Recur.icalDayToNumericDay(this.wkst)),!this.until||this.until instanceof r.Time||(this.until=r.Time.fromString(this.until))},toJSON:function(){var e=Object.create(null);for(var t in e.freq=this.freq,this.count&&(e.count=this.count),this.interval>1&&(e.interval=this.interval),this.parts)if(this.parts.hasOwnProperty(t)){var n=this.parts[t];Array.isArray(n)&&1==n.length?e[t.toLowerCase()]=n[0]:e[t.toLowerCase()]=r.helpers.clone(this.parts[t])}return this.until&&(e.until=this.until.toString()),"wkst"in this&&this.wkst!==r.Time.DEFAULT_WEEK_START&&(e.wkst=r.Recur.numericDayToIcalDay(this.wkst)),e},toString:function(){var e="FREQ="+this.freq;for(var t in this.count&&(e+=";COUNT="+this.count),this.interval>1&&(e+=";INTERVAL="+this.interval),this.parts)this.parts.hasOwnProperty(t)&&(e+=";"+t+"="+this.parts[t]);return this.until&&(e+=";UNTIL="+this.until.toICALString()),"wkst"in this&&this.wkst!==r.Time.DEFAULT_WEEK_START&&(e+=";WKST="+r.Recur.numericDayToIcalDay(this.wkst)),e}},r.Recur.icalDayToNumericDay=function(t,n){var a=n||r.Time.SUNDAY;return(e[t]-a+7)%7+1},r.Recur.numericDayToIcalDay=function(e,n){var a=e+(n||r.Time.SUNDAY)-r.Time.SUNDAY;return a>7&&(a-=7),t[a]};var i=/^(SU|MO|TU|WE|TH|FR|SA)$/,o=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,s=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"],l={FREQ:function(e,t,n){if(-1===s.indexOf(e))throw new Error('invalid frequency "'+e+'" expected: "'+s.join(", ")+'"');t.freq=e},COUNT:function(e,t,n){t.count=r.helpers.strictParseInt(e)},INTERVAL:function(e,t,n){t.interval=r.helpers.strictParseInt(e),t.interval<1&&(t.interval=1)},UNTIL:function(e,t,n){e.length>10?t.until=r.design.icalendar.value["date-time"].fromICAL(e):t.until=r.design.icalendar.value.date.fromICAL(e),n||(t.until=r.Time.fromString(t.until))},WKST:function(e,t,n){if(!i.test(e))throw new Error('invalid WKST value "'+e+'"');t.wkst=r.Recur.icalDayToNumericDay(e)}},u={BYSECOND:a.bind(this,"BYSECOND",0,60),BYMINUTE:a.bind(this,"BYMINUTE",0,59),BYHOUR:a.bind(this,"BYHOUR",0,23),BYDAY:function(e){if(o.test(e))return e;throw new Error('invalid BYDAY value "'+e+'"')},BYMONTHDAY:a.bind(this,"BYMONTHDAY",-31,31),BYYEARDAY:a.bind(this,"BYYEARDAY",-366,366),BYWEEKNO:a.bind(this,"BYWEEKNO",-53,53),BYMONTH:a.bind(this,"BYMONTH",1,12),BYSETPOS:a.bind(this,"BYSETPOS",-366,366)};r.Recur.fromString=function(e){var t=r.Recur._stringToData(e,!1);return new r.Recur(t)},r.Recur.fromData=function(e){return new r.Recur(e)},r.Recur._stringToData=function(e,t){for(var n=Object.create(null),r=e.split(";"),a=r.length,i=0;i=0||n<0)&&(this.last.day+=n)}else{var a=r.Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());e.BYDAY=[a]}if("YEARLY"==this.rule.freq){for(;this.expand_year_days(this.last.year),!(this.days.length>0);)this.increment_year(this.rule.interval);this._nextByYearDay()}if("MONTHLY"==this.rule.freq&&this.has_by_data("BYDAY")){var i=null,o=this.last.clone(),s=r.Time.daysInMonth(this.last.month,this.last.year);for(var l in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(l)){this.last=o.clone(),t=(u=this.ruleDayOfWeek(this.by_data.BYDAY[l]))[0];var u,d=u[1],c=this.last.nthWeekDay(d,t);if(t>=6||t<=-6)throw new Error("Malformed values in BYDAY part");if(c>s||c<=0){if(i&&i.month==o.month)continue;for(;c>s||c<=0;)this.increment_month(),s=r.Time.daysInMonth(this.last.month,this.last.year),c=this.last.nthWeekDay(d,t)}this.last.day=c,(!i||this.last.compare(i)<0)&&(i=this.last.clone())}if(this.last=i.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>s||0==this.last.day)throw new Error("Malformed values in BYDAY part")}else this.has_by_data("BYMONTHDAY")&&this.last.day<0&&(s=r.Time.daysInMonth(this.last.month,this.last.year),this.last.day=s+this.last.day+1)},next:function(){var e,t=this.last?this.last.clone():null;if(this.rule.count&&this.occurrence_number>=this.rule.count||this.rule.until&&this.last.compare(this.rule.until)>0)return this.completed=!0,null;if(0==this.occurrence_number&&this.last.compare(this.dtstart)>=0)return this.occurrence_number++,this.last;do{switch(e=1,this.rule.freq){case"SECONDLY":this.next_second();break;case"MINUTELY":this.next_minute();break;case"HOURLY":this.next_hour();break;case"DAILY":this.next_day();break;case"WEEKLY":this.next_week();break;case"MONTHLY":e=this.next_month();break;case"YEARLY":this.next_year();break;default:return null}}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!e);if(0==this.last.compare(t))throw new Error("Same occurrence found twice, protecting you from death by recursion");return this.rule.until&&this.last.compare(this.rule.until)>0?(this.completed=!0,null):(this.occurrence_number++,this.last)},next_second:function(){return this.next_generic("BYSECOND","SECONDLY","second","minute")},increment_second:function(e){return this.increment_generic(e,"second",60,"minute")},next_minute:function(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")},increment_minute:function(e){return this.increment_generic(e,"minute",60,"hour")},next_hour:function(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")},increment_hour:function(e){this.increment_generic(e,"hour",24,"monthday")},next_day:function(){this.by_data;var e="DAILY"==this.rule.freq;return 0==this.next_hour()||(e?this.increment_monthday(this.rule.interval):this.increment_monthday(1)),0},next_week:function(){var e=0;if(0==this.next_weekday_by_week())return e;if(this.has_by_data("BYWEEKNO")){++this.by_indices.BYWEEKNO,this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,e=1),this.last.month=1,this.last.day=1;var t=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*t,e&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return e},normalizeByMonthDayRules:function(e,t,n){for(var a,i=r.Time.daysInMonth(t,e),o=[],s=0,l=n.length;si)){if(a<0)a=i+(a+1);else if(0===a)continue;-1===o.indexOf(a)&&o.push(a)}return o.sort((function(e,t){return e-t}))},_byDayAndMonthDay:function(e){var t,n,a,i,o=this.by_data.BYDAY,s=0,l=o.length,u=0,d=this,c=this.last.day;function h(){for(i=r.Time.daysInMonth(d.last.month,d.last.year),t=d.normalizeByMonthDayRules(d.last.year,d.last.month,d.by_data.BYMONTHDAY),a=t.length;t[s]<=c&&(!e||t[s]!=c)&&si)f();else{var p=t[s++];if(p>=n){c=p;for(var g=0;gt&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?this.has_by_data("BYSETPOS")&&!this.check_set_position(1)||(e=1):e=0)}else this.has_by_data("BYMONTHDAY")?(this.by_indices.BYMONTHDAY++,this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length&&(this.by_indices.BYMONTHDAY=0,this.increment_month()),t=r.Time.daysInMonth(this.last.month,this.last.year),(o=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY])<0&&(o=t+o+1),o>t?(this.last.day=1,e=this.is_day_in_byday(this.last)):this.last.day=o):(this.increment_month(),t=r.Time.daysInMonth(this.last.month,this.last.year),this.by_data.BYMONTHDAY[0]>t?e=0:this.last.day=this.by_data.BYMONTHDAY[0]);return e},next_weekday_by_week:function(){var e=0;if(0==this.next_hour())return e;if(!this.has_by_data("BYDAY"))return 1;for(;;){var t=new r.Time;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,e=1);var n=this.by_data.BYDAY[this.by_indices.BYDAY],a=this.ruleDayOfWeek(n)[1];(a-=this.rule.wkst)<0&&(a+=7),t.year=this.last.year,t.month=this.last.month,t.day=this.last.day;var i=t.startDoyWeek(this.rule.wkst);if(!(a+i<1)||e){var o=r.Time.fromDayOfYear(i+a,this.last.year);return this.last.year=o.year,this.last.month=o.month,this.last.day=o.day,e}}},next_year:function(){if(0==this.next_hour())return 0;if(++this.days_index==this.days.length){this.days_index=0;do{this.increment_year(this.rule.interval),this.expand_year_days(this.last.year)}while(0==this.days.length)}return this._nextByYearDay(),1},_nextByYearDay:function(){var e=this.days[this.days_index],t=this.last.year;e<1&&(e+=1,t+=1);var n=r.Time.fromDayOfYear(e,t);this.last.day=n.day,this.last.month=n.month},ruleDayOfWeek:function(e,t){var n=e.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);return n?[parseInt(n[1]||0,10),e=r.Recur.icalDayToNumericDay(n[2],t)]:[0,0]},next_generic:function(e,t,n,r,a){var i=e in this.by_data,o=this.rule.freq==t,s=0;if(a&&0==this[a]())return s;if(i){this.by_indices[e]++,this.by_indices[e];var l=this.by_data[e];this.by_indices[e]==l.length&&(this.by_indices[e]=0,s=1),this.last[n]=l[this.by_indices[e]]}else o&&this["increment_"+n](this.rule.interval);return i&&s&&o&&this["increment_"+r](1),s},increment_monthday:function(e){for(var t=0;tn&&(this.last.day-=n,this.increment_month())}},increment_month:function(){if(this.last.day=1,this.has_by_data("BYMONTH"))this.by_indices.BYMONTH++,this.by_indices.BYMONTH==this.by_data.BYMONTH.length&&(this.by_indices.BYMONTH=0,this.increment_year(1)),this.last.month=this.by_data.BYMONTH[this.by_indices.BYMONTH];else{"MONTHLY"==this.rule.freq?this.last.month+=this.rule.interval:this.last.month++,this.last.month--;var e=r.helpers.trunc(this.last.month/12);this.last.month%=12,this.last.month++,0!=e&&this.increment_year(e)}},increment_year:function(e){this.last.year+=e},increment_generic:function(e,t,n,a){this.last[t]+=e;var i=r.helpers.trunc(this.last[t]/n);this.last[t]%=n,0!=i&&this["increment_"+a](i)},has_by_data:function(e){return e in this.rule.parts},expand_year_days:function(e){var t=new r.Time;this.days=[];var n={},a=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(var i in a)if(a.hasOwnProperty(i)){var o=a[i];o in this.rule.parts&&(n[o]=this.rule.parts[o])}if("BYMONTH"in n&&"BYWEEKNO"in n){var s=1,l={};t.year=e,t.isDate=!0;for(var u=0;u0?(x=O+7*(N-1))<=y&&this.days.push(E+x):(x=R+7*(N+1))>0&&this.days.push(E+x)}}this.days.sort((function(e,t){return e-t}))}else if(2==m&&"BYDAY"in n&&"BYMONTHDAY"in n){var Y=this.expand_by_day(e);for(var j in Y)if(Y.hasOwnProperty(j)){D=Y[j];var P=r.Time.fromDayOfYear(D,e);this.by_data.BYMONTHDAY.indexOf(P.day)>=0&&this.days.push(D)}}else if(3==m&&"BYDAY"in n&&"BYMONTHDAY"in n&&"BYMONTH"in n)for(var j in Y=this.expand_by_day(e))Y.hasOwnProperty(j)&&(D=Y[j],P=r.Time.fromDayOfYear(D,e),this.by_data.BYMONTH.indexOf(P.month)>=0&&this.by_data.BYMONTHDAY.indexOf(P.day)>=0&&this.days.push(D));else if(2==m&&"BYDAY"in n&&"BYWEEKNO"in n){for(var j in Y=this.expand_by_day(e))if(Y.hasOwnProperty(j)){D=Y[j];var I=(P=r.Time.fromDayOfYear(D,e)).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(I)&&this.days.push(D)}}else 3==m&&"BYDAY"in n&&"BYWEEKNO"in n&&"BYMONTHDAY"in n||(this.days=1==m&&"BYYEARDAY"in n?this.days.concat(this.by_data.BYYEARDAY):[]);return 0},expand_by_day:function(e){var t=[],n=this.last.clone();n.year=e,n.month=1,n.day=1,n.isDate=!0;var r=n.dayOfWeek();n.month=12,n.day=31,n.isDate=!0;var a=n.dayOfWeek(),i=n.dayOfYear();for(var o in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(o)){var s=this.by_data.BYDAY[o],l=this.ruleDayOfWeek(s),u=l[0],d=l[1];if(0==u)for(var c=(d+7-r)%7+1;c<=i;c+=7)t.push(c);else if(u>0){var h;h=d>=r?d-r+1:d-r+8,t.push(h+7*(u-1))}else{var f;u=-u,f=d<=a?i-a+d:i-a+d-7,t.push(f-7*(u-1))}}return t},is_day_in_byday:function(e){for(var t in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(t)){var n=this.by_data.BYDAY[t],r=this.ruleDayOfWeek(n),a=r[0],i=r[1],o=e.dayOfWeek();if(0==a&&i==o||e.nthWeekDay(i,a)==e.day)return 1}return 0},check_set_position:function(e){return!!this.has_by_data("BYSETPOS")&&-1!==this.by_data.BYSETPOS.indexOf(e)},sort_byday_rules:function(e){for(var t=0;tthis.ruleDayOfWeek(e[t],this.rule.wkst)[1]){var r=e[t];e[t]=e[n],e[n]=r}},check_contract_restriction:function(t,n){var r=e._indexMap[t],a=e._expandMap[this.rule.freq][r],i=!1;if(t in this.by_data&&a==e.CONTRACT){var o=this.by_data[t];for(var s in o)if(o.hasOwnProperty(s)&&o[s]==n){i=!0;break}}else i=!0;return i},check_contracting_rules:function(){var e=this.last.dayOfWeek(),t=this.last.weekNumber(this.rule.wkst),n=this.last.dayOfYear();return this.check_contract_restriction("BYSECOND",this.last.second)&&this.check_contract_restriction("BYMINUTE",this.last.minute)&&this.check_contract_restriction("BYHOUR",this.last.hour)&&this.check_contract_restriction("BYDAY",r.Recur.numericDayToIcalDay(e))&&this.check_contract_restriction("BYWEEKNO",t)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",n)},setup_defaults:function(t,n,r){var a=e._indexMap[t];return e._expandMap[this.rule.freq][a]!=e.CONTRACT&&(t in this.by_data||(this.by_data[t]=[r]),this.rule.freq!=n)?this.by_data[t][0]:r},toJSON:function(){var e=Object.create(null);return e.initialized=this.initialized,e.rule=this.rule.toJSON(),e.dtstart=this.dtstart.toJSON(),e.by_data=this.by_data,e.days=this.days,e.last=this.last.toJSON(),e.by_indices=this.by_indices,e.occurrence_number=this.occurrence_number,e}},e._indexMap={BYSECOND:0,BYMINUTE:1,BYHOUR:2,BYDAY:3,BYMONTHDAY:4,BYYEARDAY:5,BYWEEKNO:6,BYMONTH:7,BYSETPOS:8},e._expandMap={SECONDLY:[1,1,1,1,1,1,1,1],MINUTELY:[2,1,1,1,1,1,1,1],HOURLY:[2,2,1,1,1,1,1,1],DAILY:[2,2,2,1,1,1,1,1],WEEKLY:[2,2,2,2,3,3,1,1],MONTHLY:[2,2,2,2,2,3,3,1],YEARLY:[2,2,2,2,2,2,2,2]},e.UNKNOWN=0,e.CONTRACT=1,e.EXPAND=2,e.ILLEGAL=3,e}(),r.RecurExpansion=function(){function e(e){return r.helpers.formatClassType(e,r.Time)}function t(e,t){return e.compare(t)}function n(e){this.ruleDates=[],this.exDates=[],this.fromData(e)}return n.prototype={complete:!1,ruleIterators:null,ruleDates:null,exDates:null,ruleDateInc:0,exDateInc:0,exDate:null,ruleDate:null,dtstart:null,last:null,fromData:function(t){var n=r.helpers.formatClassType(t.dtstart,r.Time);if(!n)throw new Error(".dtstart (ICAL.Time) must be given");if(this.dtstart=n,t.component)this._init(t.component);else{if(this.last=e(t.last)||n.clone(),!t.ruleIterators)throw new Error(".ruleIterators or .component must be given");this.ruleIterators=t.ruleIterators.map((function(e){return r.helpers.formatClassType(e,r.RecurIterator)})),this.ruleDateInc=t.ruleDateInc,this.exDateInc=t.exDateInc,t.ruleDates&&(this.ruleDates=t.ruleDates.map(e),this.ruleDate=this.ruleDates[this.ruleDateInc]),t.exDates&&(this.exDates=t.exDates.map(e),this.exDate=this.exDates[this.exDateInc]),void 0!==t.complete&&(this.complete=t.complete)}},next:function(){for(var e,t,n,r=0;;){if(r++>500)throw new Error("max tries have occured, rule may be impossible to forfill.");if(t=this.ruleDate,e=this._nextRecurrenceIter(this.last),!t&&!e){this.complete=!0;break}if((!t||e&&t.compare(e.last)>0)&&(t=e.last.clone(),e.next()),this.ruleDate===t&&this._nextRuleDay(),this.last=t,!this.exDate||((n=this.exDate.compare(this.last))<0&&this._nextExDay(),0!==n))return this.last;this._nextExDay()}},toJSON:function(){function e(e){return e.toJSON()}var t=Object.create(null);return t.ruleIterators=this.ruleIterators.map(e),this.ruleDates&&(t.ruleDates=this.ruleDates.map(e)),this.exDates&&(t.exDates=this.exDates.map(e)),t.ruleDateInc=this.ruleDateInc,t.exDateInc=this.exDateInc,t.last=this.last.toJSON(),t.dtstart=this.dtstart.toJSON(),t.complete=this.complete,t},_extractDates:function(e,n){function a(e){i=r.helpers.binsearchInsert(o,e,t),o.splice(i,0,e)}for(var i,o=[],s=e.getAllProperties(n),l=s.length,u=0;u0)&&(r=t);return r}},n}(),r.Event=function(){function e(e,t){e instanceof r.Component||(t=e,e=null),this.component=e||new r.Component("vevent"),this._rangeExceptionCache=Object.create(null),this.exceptions=Object.create(null),this.rangeExceptions=[],t&&t.strictExceptions&&(this.strictExceptions=t.strictExceptions),t&&t.exceptions?t.exceptions.forEach(this.relateException,this):this.component.parent&&!this.isRecurrenceException()&&this.component.parent.getAllSubcomponents("vevent").forEach((function(e){e.hasProperty("recurrence-id")&&this.relateException(e)}),this)}function t(e,t){return e[0]>t[0]?1:t[0]>e[0]?-1:0}return e.prototype={THISANDFUTURE:"THISANDFUTURE",exceptions:null,strictExceptions:!1,relateException:function(e){if(this.isRecurrenceException())throw new Error("cannot relate exception to exceptions");if(e instanceof r.Component&&(e=new r.Event(e)),this.strictExceptions&&e.uid!==this.uid)throw new Error("attempted to relate unrelated exception");var n=e.recurrenceId.toString();if(this.exceptions[n]=e,e.modifiesFuture()){var a=[e.recurrenceId.toUnixTime(),n],i=r.helpers.binsearchInsert(this.rangeExceptions,a,t);this.rangeExceptions.splice(i,0,a)}},modifiesFuture:function(){return!!this.component.hasProperty("recurrence-id")&&this.component.getFirstProperty("recurrence-id").getParameter("range")===this.THISANDFUTURE},findRangeException:function(e){if(!this.rangeExceptions.length)return null;var n=e.toUnixTime(),a=r.helpers.binsearchInsert(this.rangeExceptions,[n],t);if((a-=1)<0)return null;var i=this.rangeExceptions[a];return n{t.read=function(e,t,n,r,a){var i,o,s=8*a-r-1,l=(1<>1,d=-7,c=n?a-1:0,h=n?-1:1,f=e[t+c];for(c+=h,i=f&(1<<-d)-1,f>>=-d,d+=s;d>0;i=256*i+e[t+c],c+=h,d-=8);for(o=i&(1<<-d)-1,i>>=-d,d+=r;d>0;o=256*o+e[t+c],c+=h,d-=8);if(0===i)i=1-u;else{if(i===l)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,r),i-=u}return(f?-1:1)*o*Math.pow(2,i-r)},t.write=function(e,t,n,r,a,i){var o,s,l,u=8*i-a-1,d=(1<>1,h=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:i-1,m=r?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+c>=1?h/l:h*Math.pow(2,1-c))*l>=2&&(o++,l/=2),o+c>=d?(s=0,o=d):o+c>=1?(s=(t*l-1)*Math.pow(2,a),o+=c):(s=t*Math.pow(2,c-1)*Math.pow(2,a),o=0));a>=8;e[n+f]=255&s,f+=m,s/=256,a-=8);for(o=o<0;e[n+f]=255&o,f+=m,o/=256,u-=8);e[n+f-m]|=128*p}},56698:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},19788:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,l=/^\s+|\s+$/g,u="";function d(e){return e?e.replace(l,u):u}e.exports=function(e,l){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];l=l||{};var c=1,h=1;function f(e){var t=e.match(n);t&&(c+=t.length);var r=e.lastIndexOf("\n");h=~r?e.length-r:h+e.length}function m(){var e={line:c,column:h};return function(t){return t.position=new p(e),A(),t}}function p(e){this.start=e,this.end={line:c,column:h},this.source=l.source}p.prototype.content=e;var g=[];function _(t){var n=new Error(l.source+":"+c+":"+h+": "+t);if(n.reason=t,n.filename=l.source,n.line=c,n.column=h,n.source=e,!l.silent)throw n;g.push(n)}function v(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function A(){v(r)}function b(e){var t;for(e=e||[];t=y();)!1!==t&&e.push(t);return e}function y(){var t=m();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;u!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,u===e.charAt(n-1))return _("End of comment missing");var r=e.slice(2,n-2);return h+=2,f(r),e=e.slice(n),h+=2,t({type:"comment",comment:r})}}function F(){var e=m(),n=v(a);if(n){if(y(),!v(i))return _("property missing ':'");var r=v(o),l=e({type:"declaration",property:d(n[0].replace(t,u)),value:r?d(r[0].replace(t,u)):u});return v(s),l}}return A(),function(){var e,t=[];for(b(t);e=F();)!1!==e&&(t.push(e),b(t));return t}()}},47244:(e,t,n)=>{"use strict";var r=n(49092)(),a=n(38075)("Object.prototype.toString"),i=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===a(e)},o=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==a(e)&&"[object Function]"===a(e.callee)},s=function(){return i(arguments)}();i.isLegacyArguments=o,e.exports=s?i:o},87206:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},69600:e=>{"use strict";var t,n,r=Function.prototype.toString,a="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof a&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},a((function(){throw 42}),null,t)}catch(e){e!==n&&(a=null)}else a=null;var i=/^\s*class\b/,o=function(e){try{var t=r.call(e);return i.test(t)}catch(e){return!1}},s=function(e){try{return!o(e)&&(r.call(e),!0)}catch(e){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,d=!(0 in[,]),c=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(c=function(e){if((d||!e)&&(void 0===e||"object"==typeof e))try{var t=l.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=a?function(e){if(c(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{a(e,null,t)}catch(e){if(e!==n)return!1}return!o(e)&&s(e)}:function(e){if(c(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(u)return s(e);if(o(e))return!1;var t=l.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&s(e)}},48184:(e,t,n)=>{"use strict";var r,a=Object.prototype.toString,i=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=n(49092)(),l=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(o.test(i.call(e)))return!0;if(!s)return"[object GeneratorFunction]"===a.call(e);if(!l)return!1;if(void 0===r){var t=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(e){}}();r=!!t&&l(t)}return l(e)===r}},13003:e=>{"use strict";e.exports=function(e){return e!=e}},24133:(e,t,n)=>{"use strict";var r=n(10487),a=n(38452),i=n(13003),o=n(76642),s=n(92464),l=r(o(),Number);a(l,{getPolyfill:o,implementation:i,shim:s}),e.exports=l},76642:(e,t,n)=>{"use strict";var r=n(13003);e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:r}},92464:(e,t,n)=>{"use strict";var r=n(38452),a=n(76642);e.exports=function(){var e=a();return r(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e}},35680:(e,t,n)=>{"use strict";var r=n(25767);e.exports=function(e){return!!r(e)}},74692:function(e,t){var n;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(r,a){"use strict";var i=[],o=Object.getPrototypeOf,s=i.slice,l=i.flat?function(e){return i.flat.call(e)}:function(e){return i.concat.apply([],e)},u=i.push,d=i.indexOf,c={},h=c.toString,f=c.hasOwnProperty,m=f.toString,p=m.call(Object),g={},_=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},v=function(e){return null!=e&&e===e.window},A=r.document,b={type:!0,src:!0,nonce:!0,noModule:!0};function y(e,t,n){var r,a,i=(n=n||A).createElement("script");if(i.text=e,t)for(r in b)(a=t[r]||t.getAttribute&&t.getAttribute(r))&&i.setAttribute(r,a);n.head.appendChild(i).parentNode.removeChild(i)}function F(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[h.call(e)]||"object":typeof e}var T="3.7.1",E=/HTML$/i,w=function(e,t){return new w.fn.init(e,t)};function k(e){var t=!!e&&"length"in e&&e.length,n=F(e);return!_(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}w.fn=w.prototype={jquery:T,constructor:w,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(w.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),H=new RegExp(M+"|>"),U=new RegExp(Y),G=new RegExp("^"+N+"$"),Z={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+Y),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+k+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},z=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,W=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,V=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),J=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},K=function(){le()},Q=he((function(e){return!0===e.disabled&&D(e,"fieldset")}),{dir:"parentNode",next:"legend"});try{p.apply(i=s.call(O.childNodes),O.childNodes),i[O.childNodes.length].nodeType}catch(e){p={apply:function(e,t){R.apply(e,s.call(t))},call:function(e){R.apply(e,s.call(arguments,1))}}}function X(e,t,n,r){var a,i,o,s,u,d,f,m=t&&t.ownerDocument,v=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==v&&9!==v&&11!==v)return n;if(!r&&(le(t),t=t||l,c)){if(11!==v&&(u=W.exec(e)))if(a=u[1]){if(9===v){if(!(o=t.getElementById(a)))return n;if(o.id===a)return p.call(n,o),n}else if(m&&(o=m.getElementById(a))&&X.contains(t,o)&&o.id===a)return p.call(n,o),n}else{if(u[2])return p.apply(n,t.getElementsByTagName(e)),n;if((a=u[3])&&t.getElementsByClassName)return p.apply(n,t.getElementsByClassName(a)),n}if(!(T[e+" "]||h&&h.test(e))){if(f=e,m=t,1===v&&(H.test(e)||I.test(e))){for((m=$.test(e)&&se(t.parentNode)||t)==t&&g.scope||((s=t.getAttribute("id"))?s=w.escapeSelector(s):t.setAttribute("id",s=_)),i=(d=de(e)).length;i--;)d[i]=(s?"#"+s:":scope")+" "+ce(d[i]);f=d.join(",")}try{return p.apply(n,m.querySelectorAll(f)),n}catch(t){T(e,!0)}finally{s===_&&t.removeAttribute("id")}}}return ve(e.replace(B,"$1"),t,n,r)}function ee(){var e=[];return function n(r,a){return e.push(r+" ")>t.cacheLength&&delete n[e.shift()],n[r+" "]=a}}function te(e){return e[_]=!0,e}function ne(e){var t=l.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function re(e){return function(t){return D(t,"input")&&t.type===e}}function ae(e){return function(t){return(D(t,"input")||D(t,"button"))&&t.type===e}}function ie(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Q(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function oe(e){return te((function(t){return t=+t,te((function(n,r){for(var a,i=e([],n.length,t),o=i.length;o--;)n[a=i[o]]&&(n[a]=!(r[a]=n[a]))}))}))}function se(e){return e&&void 0!==e.getElementsByTagName&&e}function le(e){var n,r=e?e.ownerDocument||e:O;return r!=l&&9===r.nodeType&&r.documentElement?(u=(l=r).documentElement,c=!w.isXMLDoc(l),m=u.matches||u.webkitMatchesSelector||u.msMatchesSelector,u.msMatchesSelector&&O!=l&&(n=l.defaultView)&&n.top!==n&&n.addEventListener("unload",K),g.getById=ne((function(e){return u.appendChild(e).id=w.expando,!l.getElementsByName||!l.getElementsByName(w.expando).length})),g.disconnectedMatch=ne((function(e){return m.call(e,"*")})),g.scope=ne((function(){return l.querySelectorAll(":scope")})),g.cssHas=ne((function(){try{return l.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}})),g.getById?(t.filter.ID=function(e){var t=e.replace(V,J);return function(e){return e.getAttribute("id")===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&c){var n=t.getElementById(e);return n?[n]:[]}}):(t.filter.ID=function(e){var t=e.replace(V,J);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&c){var n,r,a,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(a=t.getElementsByName(e),r=0;i=a[r++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),t.find.TAG=function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},t.find.CLASS=function(e,t){if(void 0!==t.getElementsByClassName&&c)return t.getElementsByClassName(e)},h=[],ne((function(e){var t;u.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+M+"*(?:value|"+k+")"),e.querySelectorAll("[id~="+_+"-]").length||h.push("~="),e.querySelectorAll("a#"+_+"+*").length||h.push(".#.+[+~]"),e.querySelectorAll(":checked").length||h.push(":checked"),(t=l.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),u.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&h.push(":enabled",":disabled"),(t=l.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||h.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")")})),g.cssHas||h.push(":has"),h=h.length&&new RegExp(h.join("|")),E=function(e,t){if(e===t)return o=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===l||e.ownerDocument==O&&X.contains(O,e)?-1:t===l||t.ownerDocument==O&&X.contains(O,t)?1:a?d.call(a,e)-d.call(a,t):0:4&n?-1:1)},l):l}for(e in X.matches=function(e,t){return X(e,null,null,t)},X.matchesSelector=function(e,t){if(le(e),c&&!T[t+" "]&&(!h||!h.test(t)))try{var n=m.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){T(t,!0)}return X(t,l,null,[e]).length>0},X.contains=function(e,t){return(e.ownerDocument||e)!=l&&le(e),w.contains(e,t)},X.attr=function(e,n){(e.ownerDocument||e)!=l&&le(e);var r=t.attrHandle[n.toLowerCase()],a=r&&f.call(t.attrHandle,n.toLowerCase())?r(e,n,!c):void 0;return void 0!==a?a:e.getAttribute(n)},X.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},w.uniqueSort=function(e){var t,n=[],r=0,i=0;if(o=!g.sortStable,a=!g.sortStable&&s.call(e,0),S.call(e,E),o){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)x.call(e,n[r],1)}return a=null,e},w.fn.uniqueSort=function(){return this.pushStack(w.uniqueSort(s.apply(this)))},t=w.expr={cacheLength:50,createPseudo:te,match:Z,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(V,J),e[3]=(e[3]||e[4]||e[5]||"").replace(V,J),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||X.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&X.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Z.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=de(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(V,J).toLowerCase();return"*"===e?function(){return!0}:function(e){return D(e,t)}},CLASS:function(e){var t=b[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&b(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var a=X.attr(r,e);return null==a?"!="===t:!t||(a+="","="===t?a===n:"!="===t?a!==n:"^="===t?n&&0===a.indexOf(n):"*="===t?n&&a.indexOf(n)>-1:"$="===t?n&&a.slice(-n.length)===n:"~="===t?(" "+a.replace(j," ")+" ").indexOf(n)>-1:"|="===t&&(a===n||a.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,a){var i="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===a?function(e){return!!e.parentNode}:function(t,n,l){var u,d,c,h,f,m=i!==o?"nextSibling":"previousSibling",p=t.parentNode,g=s&&t.nodeName.toLowerCase(),A=!l&&!s,b=!1;if(p){if(i){for(;m;){for(c=t;c=c[m];)if(s?D(c,g):1===c.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?p.firstChild:p.lastChild],o&&A){for(b=(h=(u=(d=p[_]||(p[_]={}))[e]||[])[0]===v&&u[1])&&u[2],c=h&&p.childNodes[h];c=++h&&c&&c[m]||(b=h=0)||f.pop();)if(1===c.nodeType&&++b&&c===t){d[e]=[v,h,b];break}}else if(A&&(b=h=(u=(d=t[_]||(t[_]={}))[e]||[])[0]===v&&u[1]),!1===b)for(;(c=++h&&c&&c[m]||(b=h=0)||f.pop())&&(!(s?D(c,g):1===c.nodeType)||!++b||(A&&((d=c[_]||(c[_]={}))[e]=[v,b]),c!==t)););return(b-=a)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,n){var r,a=t.pseudos[e]||t.setFilters[e.toLowerCase()]||X.error("unsupported pseudo: "+e);return a[_]?a(n):a.length>1?(r=[e,e,"",n],t.setFilters.hasOwnProperty(e.toLowerCase())?te((function(e,t){for(var r,i=a(e,n),o=i.length;o--;)e[r=d.call(e,i[o])]=!(t[r]=i[o])})):function(e){return a(e,0,r)}):a}},pseudos:{not:te((function(e){var t=[],n=[],r=_e(e.replace(B,"$1"));return r[_]?te((function(e,t,n,a){for(var i,o=r(e,null,a,[]),s=e.length;s--;)(i=o[s])&&(e[s]=!(t[s]=i))})):function(e,a,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}})),has:te((function(e){return function(t){return X(e,t).length>0}})),contains:te((function(e){return e=e.replace(V,J),function(t){return(t.textContent||w.text(t)).indexOf(e)>-1}})),lang:te((function(e){return G.test(e||"")||X.error("unsupported lang: "+e),e=e.replace(V,J).toLowerCase(),function(t){var n;do{if(n=c?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(e){var t=r.location&&r.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===u},focus:function(e){return e===function(){try{return l.activeElement}catch(e){}}()&&l.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:ie(!1),disabled:ie(!0),checked:function(e){return D(e,"input")&&!!e.checked||D(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!t.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return z.test(e.nodeName)},button:function(e){return D(e,"input")&&"button"===e.type||D(e,"button")},text:function(e){var t;return D(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:oe((function(){return[0]})),last:oe((function(e,t){return[t-1]})),eq:oe((function(e,t,n){return[n<0?n+t:n]})),even:oe((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:oe((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var a=e.length;a--;)if(!e[a](t,n,r))return!1;return!0}:e[0]}function me(e,t,n,r,a){for(var i,o=[],s=0,l=e.length,u=null!=t;s-1&&(i[u]=!(o[u]=h))}}else f=me(f===o?f.splice(_,f.length):f),a?a(null,o,f,l):p.apply(o,f)}))}function ge(e){for(var r,a,i,o=e.length,s=t.relative[e[0].type],l=s||t.relative[" "],u=s?1:0,c=he((function(e){return e===r}),l,!0),h=he((function(e){return d.call(r,e)>-1}),l,!0),f=[function(e,t,a){var i=!s&&(a||t!=n)||((r=t).nodeType?c(e,t,a):h(e,t,a));return r=null,i}];u1&&fe(f),u>1&&ce(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),a,u0,i=e.length>0,o=function(o,s,u,d,h){var f,m,g,_=0,A="0",b=o&&[],y=[],F=n,T=o||i&&t.find.TAG("*",h),E=v+=null==F?1:Math.random()||.1,k=T.length;for(h&&(n=s==l||s||h);A!==k&&null!=(f=T[A]);A++){if(i&&f){for(m=0,s||f.ownerDocument==l||(le(f),u=!c);g=e[m++];)if(g(f,s||l,u)){p.call(d,f);break}h&&(v=E)}a&&((f=!g&&f)&&_--,o&&b.push(f))}if(_+=A,a&&A!==_){for(m=0;g=r[m++];)g(b,y,s,u);if(o){if(_>0)for(;A--;)b[A]||y[A]||(y[A]=C.call(d));y=me(y)}p.apply(d,y),h&&!o&&y.length>0&&_+r.length>1&&w.uniqueSort(d)}return h&&(v=E,n=F),b};return a?te(o):o}(o,i)),s.selector=e}return s}function ve(e,n,r,a){var i,o,s,l,u,d="function"==typeof e&&e,h=!a&&de(e=d.selector||e);if(r=r||[],1===h.length){if((o=h[0]=h[0].slice(0)).length>2&&"ID"===(s=o[0]).type&&9===n.nodeType&&c&&t.relative[o[1].type]){if(!(n=(t.find.ID(s.matches[0].replace(V,J),n)||[])[0]))return r;d&&(n=n.parentNode),e=e.slice(o.shift().value.length)}for(i=Z.needsContext.test(e)?0:o.length;i--&&(s=o[i],!t.relative[l=s.type]);)if((u=t.find[l])&&(a=u(s.matches[0].replace(V,J),$.test(o[0].type)&&se(n.parentNode)||n))){if(o.splice(i,1),!(e=a.length&&ce(o)))return p.apply(r,a),r;break}}return(d||_e(e,h))(a,n,!c,r,!n||$.test(e)&&se(n.parentNode)||n),r}ue.prototype=t.filters=t.pseudos,t.setFilters=new ue,g.sortStable=_.split("").sort(E).join("")===_,le(),g.sortDetached=ne((function(e){return 1&e.compareDocumentPosition(l.createElement("fieldset"))})),w.find=X,w.expr[":"]=w.expr.pseudos,w.unique=w.uniqueSort,X.compile=_e,X.select=ve,X.setDocument=le,X.tokenize=de,X.escape=w.escapeSelector,X.getText=w.text,X.isXML=w.isXMLDoc,X.selectors=w.expr,X.support=w.support,X.uniqueSort=w.uniqueSort}();var Y=function(e,t,n){for(var r=[],a=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(a&&w(e).is(n))break;r.push(e)}return r},j=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},P=w.expr.match.needsContext,I=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function H(e,t,n){return _(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?w.grep(e,(function(e){return d.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,a=this;if("string"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(H(this,e||[],!1))},not:function(e){return this.pushStack(H(this,e||[],!0))},is:function(e){return!!H(this,"string"==typeof e&&P.test(e)?w(e):e||[],!1).length}});var U,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,a;if(!e)return this;if(n=n||U,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:G.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:A,!0)),I.test(r[1])&&w.isPlainObject(t))for(r in t)_(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(a=A.getElementById(r[2]))&&(this[0]=a,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):_(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,U=w(A);var Z=/^(?:parents|prev(?:Until|All))/,z={children:!0,contents:!0,next:!0,prev:!0};function q(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?w.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?d.call(w(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Y(e,"parentNode")},parentsUntil:function(e,t,n){return Y(e,"parentNode",n)},next:function(e){return q(e,"nextSibling")},prev:function(e){return q(e,"previousSibling")},nextAll:function(e){return Y(e,"nextSibling")},prevAll:function(e){return Y(e,"previousSibling")},nextUntil:function(e,t,n){return Y(e,"nextSibling",n)},prevUntil:function(e,t,n){return Y(e,"previousSibling",n)},siblings:function(e){return j((e.parentNode||{}).firstChild,e)},children:function(e){return j(e.firstChild)},contents:function(e){return null!=e.contentDocument&&o(e.contentDocument)?e.contentDocument:(D(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var a=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(a=w.filter(r,a)),this.length>1&&(z[e]||w.uniqueSort(a),Z.test(e)&&a.reverse()),this.pushStack(a)}}));var W=/[^\x20\t\r\n\f]+/g;function $(e){return e}function V(e){throw e}function J(e,t,n,r){var a;try{e&&_(a=e.promise)?a.call(e).done(t).fail(n):e&&_(a=e.then)?a.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return w.each(e.match(W)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,a,i=[],o=[],s=-1,l=function(){for(a=a||e.once,r=t=!0;o.length;s=-1)for(n=o.shift();++s-1;)i.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return a=o=[],i=n="",this},disabled:function(){return!i},lock:function(){return a=o=[],n||t||(i=n=""),this},locked:function(){return!!a},fireWith:function(e,n){return a||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},w.extend({Deferred:function(e){var t=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],n="pending",a={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(n){w.each(t,(function(t,r){var a=_(e[r[4]])&&e[r[4]];i[r[1]]((function(){var e=a&&a.apply(this,arguments);e&&_(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,a?[e]:arguments)}))})),e=null})).promise()},then:function(e,n,a){var i=0;function o(e,t,n,a){return function(){var s=this,l=arguments,u=function(){var r,u;if(!(e=i&&(n!==V&&(s=void 0,l=[r]),t.rejectWith(s,l))}};e?d():(w.Deferred.getErrorHook?d.error=w.Deferred.getErrorHook():w.Deferred.getStackHook&&(d.error=w.Deferred.getStackHook()),r.setTimeout(d))}}return w.Deferred((function(r){t[0][3].add(o(0,r,_(a)?a:$,r.notifyWith)),t[1][3].add(o(0,r,_(e)?e:$)),t[2][3].add(o(0,r,_(n)?n:V))})).promise()},promise:function(e){return null!=e?w.extend(e,a):a}},i={};return w.each(t,(function(e,r){var o=r[2],s=r[5];a[r[1]]=o.add,s&&o.add((function(){n=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(r[3].fire),i[r[0]]=function(){return i[r[0]+"With"](this===i?void 0:this,arguments),this},i[r[0]+"With"]=o.fireWith})),a.promise(i),e&&e.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),a=s.call(arguments),i=w.Deferred(),o=function(e){return function(n){r[e]=this,a[e]=arguments.length>1?s.call(arguments):n,--t||i.resolveWith(r,a)}};if(t<=1&&(J(e,i.done(o(n)).resolve,i.reject,!t),"pending"===i.state()||_(a[n]&&a[n].then)))return i.then();for(;n--;)J(a[n],o(n),i.reject);return i.promise()}});var K=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(e,t){r.console&&r.console.warn&&e&&K.test(e.name)&&r.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},w.readyException=function(e){r.setTimeout((function(){throw e}))};var Q=w.Deferred();function X(){A.removeEventListener("DOMContentLoaded",X),r.removeEventListener("load",X),w.ready()}w.fn.ready=function(e){return Q.then(e).catch((function(e){w.readyException(e)})),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||Q.resolveWith(A,[w]))}}),w.ready.then=Q.then,"complete"===A.readyState||"loading"!==A.readyState&&!A.documentElement.doScroll?r.setTimeout(w.ready):(A.addEventListener("DOMContentLoaded",X),r.addEventListener("load",X));var ee=function(e,t,n,r,a,i,o){var s=0,l=e.length,u=null==n;if("object"===F(n))for(s in a=!0,n)ee(e,t,s,n[s],!0,i,o);else if(void 0!==r&&(a=!0,_(r)||(o=!0),u&&(o?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){le.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=se.get(e,t),n&&(!r||Array.isArray(n)?r=se.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,a=n.shift(),i=w._queueHooks(e,t);"inprogress"===a&&(a=n.shift(),r--),a&&("fx"===t&&n.unshift("inprogress"),delete i.stop,a.call(e,(function(){w.dequeue(e,t)}),i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return se.get(e,n)||se.access(e,n,{empty:w.Callbacks("once memory").add((function(){se.remove(e,[t+"queue",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,De=/^$|^module$|\/(?:java|ecma)script/i;Te=A.createDocumentFragment().appendChild(A.createElement("div")),(Ee=A.createElement("input")).setAttribute("type","radio"),Ee.setAttribute("checked","checked"),Ee.setAttribute("name","t"),Te.appendChild(Ee),g.checkClone=Te.cloneNode(!0).cloneNode(!0).lastChild.checked,Te.innerHTML="",g.noCloneChecked=!!Te.cloneNode(!0).lastChild.defaultValue,Te.innerHTML="",g.option=!!Te.lastChild;var Ce={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?w.merge([e],n):n}function xe(e,t){for(var n=0,r=e.length;n",""]);var Me=/<|&#?\w+;/;function Be(e,t,n,r,a){for(var i,o,s,l,u,d,c=t.createDocumentFragment(),h=[],f=0,m=e.length;f-1)a&&a.push(i);else if(u=ge(i),o=Se(c.appendChild(i),"script"),u&&xe(o),n)for(d=0;i=o[d++];)De.test(i.type||"")&&n.push(i);return c}var Ne=/^([^.]*)(?:\.(.+)|)/;function Le(){return!0}function Oe(){return!1}function Re(e,t,n,r,a,i){var o,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Re(e,s,n,r,t[s],i);return e}if(null==r&&null==a?(a=n,r=n=void 0):null==a&&("string"==typeof n?(a=r,r=void 0):(a=r,r=n,n=void 0)),!1===a)a=Oe;else if(!a)return e;return 1===i&&(o=a,a=function(e){return w().off(e),o.apply(this,arguments)},a.guid=o.guid||(o.guid=w.guid++)),e.each((function(){w.event.add(this,t,a,r,n)}))}function Ye(e,t,n){n?(se.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var n,r=se.get(this,t);if(1&e.isTrigger&&this[t]){if(r)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),se.set(this,t,r),this[t](),n=se.get(this,t),se.set(this,t,!1),r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else r&&(se.set(this,t,w.event.trigger(r[0],r.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Le)}})):void 0===se.get(e,t)&&w.event.add(e,t,Le)}w.event={global:{},add:function(e,t,n,r,a){var i,o,s,l,u,d,c,h,f,m,p,g=se.get(e);if(ie(e))for(n.handler&&(n=(i=n).handler,a=i.selector),a&&w.find.matchesSelector(pe,a),n.guid||(n.guid=w.guid++),(l=g.events)||(l=g.events=Object.create(null)),(o=g.handle)||(o=g.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(W)||[""]).length;u--;)f=p=(s=Ne.exec(t[u])||[])[1],m=(s[2]||"").split(".").sort(),f&&(c=w.event.special[f]||{},f=(a?c.delegateType:c.bindType)||f,c=w.event.special[f]||{},d=w.extend({type:f,origType:p,data:r,handler:n,guid:n.guid,selector:a,needsContext:a&&w.expr.match.needsContext.test(a),namespace:m.join(".")},i),(h=l[f])||((h=l[f]=[]).delegateCount=0,c.setup&&!1!==c.setup.call(e,r,m,o)||e.addEventListener&&e.addEventListener(f,o)),c.add&&(c.add.call(e,d),d.handler.guid||(d.handler.guid=n.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),w.event.global[f]=!0)},remove:function(e,t,n,r,a){var i,o,s,l,u,d,c,h,f,m,p,g=se.hasData(e)&&se.get(e);if(g&&(l=g.events)){for(u=(t=(t||"").match(W)||[""]).length;u--;)if(f=p=(s=Ne.exec(t[u])||[])[1],m=(s[2]||"").split(".").sort(),f){for(c=w.event.special[f]||{},h=l[f=(r?c.delegateType:c.bindType)||f]||[],s=s[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=i=h.length;i--;)d=h[i],!a&&p!==d.origType||n&&n.guid!==d.guid||s&&!s.test(d.namespace)||r&&r!==d.selector&&("**"!==r||!d.selector)||(h.splice(i,1),d.selector&&h.delegateCount--,c.remove&&c.remove.call(e,d));o&&!h.length&&(c.teardown&&!1!==c.teardown.call(e,m,g.handle)||w.removeEvent(e,f,g.handle),delete l[f])}else for(f in l)w.event.remove(e,f+t[u],n,r,!0);w.isEmptyObject(l)&&se.remove(e,"handle events")}},dispatch:function(e){var t,n,r,a,i,o,s=new Array(arguments.length),l=w.event.fix(e),u=(se.get(this,"events")||Object.create(null))[l.type]||[],d=w.event.special[l.type]||{};for(s[0]=l,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(i=[],o={},n=0;n-1:w.find(a,this,null,[u]).length),o[a]&&i.push(r);i.length&&s.push({elem:u,handlers:i})}return u=this,l\s*$/g;function He(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function Ue(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ge(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ze(e,t){var n,r,a,i,o,s;if(1===t.nodeType){if(se.hasData(e)&&(s=se.get(e).events))for(a in se.remove(t,"handle events"),s)for(n=0,r=s[a].length;n1&&"string"==typeof m&&!g.checkClone&&Pe.test(m))return e.each((function(a){var i=e.eq(a);p&&(t[0]=m.call(this,a,i.html())),qe(i,t,n,r)}));if(h&&(i=(a=Be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===a.childNodes.length&&(a=i),i||r)){for(s=(o=w.map(Se(a,"script"),Ue)).length;c0&&xe(o,!l&&Se(e,"script")),s},cleanData:function(e){for(var t,n,r,a=w.event.special,i=0;void 0!==(n=e[i]);i++)if(ie(n)){if(t=n[se.expando]){if(t.events)for(r in t.events)a[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[se.expando]=void 0}n[le.expando]&&(n[le.expando]=void 0)}}}),w.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return ee(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return qe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||He(this,e).appendChild(e)}))},prepend:function(){return qe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=He(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return qe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return qe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return ee(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!je.test(e)&&!Ce[(ke.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-l-s-.5))||0),l+u}function dt(e,t,n){var r=Je(e),a=(!g.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),i=a,o=Xe(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(o)){if(!n)return o;o="auto"}return(!g.boxSizingReliable()&&a||!g.reliableTrDimensions()&&D(e,"tr")||"auto"===o||!parseFloat(o)&&"inline"===w.css(e,"display",!1,r))&&e.getClientRects().length&&(a="border-box"===w.css(e,"boxSizing",!1,r),(i=s in e)&&(o=e[s])),(o=parseFloat(o)||0)+ut(e,t,n||(a?"border":"content"),i,r,o)+"px"}function ct(e,t,n,r,a){return new ct.prototype.init(e,t,n,r,a)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Xe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var a,i,o,s=ae(t),l=Ve.test(t),u=e.style;if(l||(t=at(s)),o=w.cssHooks[t]||w.cssHooks[s],void 0===n)return o&&"get"in o&&void 0!==(a=o.get(e,!1,r))?a:u[t];"string"==(i=typeof n)&&(a=fe.exec(n))&&a[1]&&(n=Ae(e,t,a),i="number"),null!=n&&n==n&&("number"!==i||l||(n+=a&&a[3]||(w.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var a,i,o,s=ae(t);return Ve.test(t)||(t=at(s)),(o=w.cssHooks[t]||w.cssHooks[s])&&"get"in o&&(a=o.get(e,!0,n)),void 0===a&&(a=Xe(e,t,r)),"normal"===a&&t in st&&(a=st[t]),""===n||n?(i=parseFloat(a),!0===n||isFinite(i)?i||0:a):a}}),w.each(["height","width"],(function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!it.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?dt(e,t,r):Ke(e,ot,(function(){return dt(e,t,r)}))},set:function(e,n,r){var a,i=Je(e),o=!g.scrollboxSize()&&"absolute"===i.position,s=(o||r)&&"border-box"===w.css(e,"boxSizing",!1,i),l=r?ut(e,t,r,s,i):0;return s&&o&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-ut(e,t,"border",!1,i)-.5)),l&&(a=fe.exec(n))&&"px"!==(a[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),lt(0,n,l)}}})),w.cssHooks.marginLeft=et(g.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Xe(e,"marginLeft"))||e.getBoundingClientRect().left-Ke(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),w.each({margin:"",padding:"",border:"Width"},(function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,a={},i="string"==typeof n?n.split(" "):[n];r<4;r++)a[e+me[r]+t]=i[r]||i[r-2]||i[0];return a}},"margin"!==e&&(w.cssHooks[e+t].set=lt)})),w.fn.extend({css:function(e,t){return ee(this,(function(e,t,n){var r,a,i={},o=0;if(Array.isArray(t)){for(r=Je(e),a=t.length;o1)}}),w.Tween=ct,ct.prototype={constructor:ct,init:function(e,t,n,r,a,i){this.elem=e,this.prop=n,this.easing=a||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(w.cssNumber[n]?"":"px")},cur:function(){var e=ct.propHooks[this.prop];return e&&e.get?e.get(this):ct.propHooks._default.get(this)},run:function(e){var t,n=ct.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ct.propHooks._default.set(this),this}},ct.prototype.init.prototype=ct.prototype,ct.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[at(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},ct.propHooks.scrollTop=ct.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=ct.prototype.init,w.fx.step={};var ht,ft,mt=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function gt(){ft&&(!1===A.hidden&&r.requestAnimationFrame?r.requestAnimationFrame(gt):r.setTimeout(gt,w.fx.interval),w.fx.tick())}function _t(){return r.setTimeout((function(){ht=void 0})),ht=Date.now()}function vt(e,t){var n,r=0,a={height:e};for(t=t?1:0;r<4;r+=2-t)a["margin"+(n=me[r])]=a["padding"+n]=e;return t&&(a.opacity=a.width=e),a}function At(e,t,n){for(var r,a=(bt.tweeners[t]||[]).concat(bt.tweeners["*"]),i=0,o=a.length;i1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,a,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?w.prop(e,t,n):(1===i&&w.isXMLDoc(e)||(a=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?yt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:(e.setAttribute(t,n+""),n):a&&"get"in a&&null!==(r=a.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,a=t&&t.match(W);if(a&&1===e.nodeType)for(;n=a[r++];)e.removeAttribute(n)}}),yt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=Ft[t]||w.find.attr;Ft[t]=function(e,t,r){var a,i,o=t.toLowerCase();return r||(i=Ft[o],Ft[o]=a,a=null!=n(e,t,r)?o:null,Ft[o]=i),a}}));var Tt=/^(?:input|select|textarea|button)$/i,Et=/^(?:a|area)$/i;function wt(e){return(e.match(W)||[]).join(" ")}function kt(e){return e.getAttribute&&e.getAttribute("class")||""}function Dt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(W)||[]}w.fn.extend({prop:function(e,t){return ee(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[w.propFix[e]||e]}))}}),w.extend({prop:function(e,t,n){var r,a,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&w.isXMLDoc(e)||(t=w.propFix[t]||t,a=w.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:e[t]=n:a&&"get"in a&&null!==(r=a.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):Tt.test(e.nodeName)||Et.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(e){var t,n,r,a,i,o;return _(e)?this.each((function(t){w(this).addClass(e.call(this,t,kt(this)))})):(t=Dt(e)).length?this.each((function(){if(r=kt(this),n=1===this.nodeType&&" "+wt(r)+" "){for(i=0;i-1;)n=n.replace(" "+a+" "," ");o=wt(n),r!==o&&this.setAttribute("class",o)}})):this:this.attr("class","")},toggleClass:function(e,t){var n,r,a,i,o=typeof e,s="string"===o||Array.isArray(e);return _(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,kt(this),t),t)})):"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=Dt(e),this.each((function(){if(s)for(i=w(this),a=0;a-1)return!0;return!1}});var Ct=/\r/g;w.fn.extend({val:function(e){var t,n,r,a=this[0];return arguments.length?(r=_(e),this.each((function(n){var a;1===this.nodeType&&(null==(a=r?e.call(this,n,w(this).val()):e)?a="":"number"==typeof a?a+="":Array.isArray(a)&&(a=w.map(a,(function(e){return null==e?"":e+""}))),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,a,"value")||(this.value=a))}))):a?(t=w.valHooks[a.type]||w.valHooks[a.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(a,"value"))?n:"string"==typeof(n=a.value)?n.replace(Ct,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:wt(w.text(e))}},select:{get:function(e){var t,n,r,a=e.options,i=e.selectedIndex,o="select-one"===e.type,s=o?null:[],l=o?i+1:a.length;for(r=i<0?l:o?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),w.each(["radio","checkbox"],(function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},g.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}));var St=r.location,xt={guid:Date.now()},Mt=/\?/;w.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new r.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||w.error("Invalid XML: "+(n?w.map(n.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var Bt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(e,t,n,a){var i,o,s,l,u,d,c,h,m=[n||A],p=f.call(e,"type")?e.type:e,g=f.call(e,"namespace")?e.namespace.split("."):[];if(o=h=s=n=n||A,3!==n.nodeType&&8!==n.nodeType&&!Bt.test(p+w.event.triggered)&&(p.indexOf(".")>-1&&(g=p.split("."),p=g.shift(),g.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[w.expando]?e:new w.Event(p,"object"==typeof e&&e)).isTrigger=a?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:w.makeArray(t,[e]),c=w.event.special[p]||{},a||!c.trigger||!1!==c.trigger.apply(n,t))){if(!a&&!c.noBubble&&!v(n)){for(l=c.delegateType||p,Bt.test(l+p)||(o=o.parentNode);o;o=o.parentNode)m.push(o),s=o;s===(n.ownerDocument||A)&&m.push(s.defaultView||s.parentWindow||r)}for(i=0;(o=m[i++])&&!e.isPropagationStopped();)h=o,e.type=i>1?l:c.bindType||p,(d=(se.get(o,"events")||Object.create(null))[e.type]&&se.get(o,"handle"))&&d.apply(o,t),(d=u&&o[u])&&d.apply&&ie(o)&&(e.result=d.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,a||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(m.pop(),t)||!ie(n)||u&&_(n[p])&&!v(n)&&((s=n[u])&&(n[u]=null),w.event.triggered=p,e.isPropagationStopped()&&h.addEventListener(p,Nt),n[p](),e.isPropagationStopped()&&h.removeEventListener(p,Nt),w.event.triggered=void 0,s&&(n[u]=s)),e.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each((function(){w.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}});var Lt=/\[\]$/,Ot=/\r?\n/g,Rt=/^(?:submit|button|image|reset|file)$/i,Yt=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var a;if(Array.isArray(t))w.each(t,(function(t,a){n||Lt.test(e)?r(e,a):jt(e+"["+("object"==typeof a&&null!=a?t:"")+"]",a,n,r)}));else if(n||"object"!==F(t))r(e,t);else for(a in t)jt(e+"["+a+"]",t[a],n,r)}w.param=function(e,t){var n,r=[],a=function(e,t){var n=_(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,(function(){a(this.name,this.value)}));else for(n in e)jt(n,e[n],t,a);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&Yt.test(this.nodeName)&&!Rt.test(e)&&(this.checked||!we.test(e))})).map((function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}})):{name:t.name,value:n.replace(Ot,"\r\n")}})).get()}});var Pt=/%20/g,It=/#.*$/,Ht=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)$/gm,Gt=/^(?:GET|HEAD)$/,Zt=/^\/\//,zt={},qt={},Wt="*/".concat("*"),$t=A.createElement("a");function Vt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,a=0,i=t.toLowerCase().match(W)||[];if(_(n))for(;r=i[a++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Jt(e,t,n,r){var a={},i=e===qt;function o(s){var l;return a[s]=!0,w.each(e[s]||[],(function(e,s){var u=s(t,n,r);return"string"!=typeof u||i||a[u]?i?!(l=u):void 0:(t.dataTypes.unshift(u),o(u),!1)})),l}return o(t.dataTypes[0])||!a["*"]&&o("*")}function Kt(e,t){var n,r,a=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((a[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}$t.href=St.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Wt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Kt(Kt(e,w.ajaxSettings),t):Kt(w.ajaxSettings,e)},ajaxPrefilter:Vt(zt),ajaxTransport:Vt(qt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,a,i,o,s,l,u,d,c,h,f=w.ajaxSetup({},t),m=f.context||f,p=f.context&&(m.nodeType||m.jquery)?w(m):w.event,g=w.Deferred(),_=w.Callbacks("once memory"),v=f.statusCode||{},b={},y={},F="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(u){if(!o)for(o={};t=Ut.exec(i);)o[t[1].toLowerCase()+" "]=(o[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=o[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?i:null},setRequestHeader:function(e,t){return null==u&&(e=y[e.toLowerCase()]=y[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)T.always(e[T.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||F;return n&&n.abort(t),E(0,t),this}};if(g.promise(T),f.url=((e||f.url||St.href)+"").replace(Zt,St.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(W)||[""],null==f.crossDomain){l=A.createElement("a");try{l.href=f.url,l.href=l.href,f.crossDomain=$t.protocol+"//"+$t.host!=l.protocol+"//"+l.host}catch(e){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=w.param(f.data,f.traditional)),Jt(zt,f,t,T),u)return T;for(c in(d=w.event&&f.global)&&0==w.active++&&w.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Gt.test(f.type),a=f.url.replace(It,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Pt,"+")):(h=f.url.slice(a.length),f.data&&(f.processData||"string"==typeof f.data)&&(a+=(Mt.test(a)?"&":"?")+f.data,delete f.data),!1===f.cache&&(a=a.replace(Ht,"$1"),h=(Mt.test(a)?"&":"?")+"_="+xt.guid+++h),f.url=a+h),f.ifModified&&(w.lastModified[a]&&T.setRequestHeader("If-Modified-Since",w.lastModified[a]),w.etag[a]&&T.setRequestHeader("If-None-Match",w.etag[a])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&T.setRequestHeader("Content-Type",f.contentType),T.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Wt+"; q=0.01":""):f.accepts["*"]),f.headers)T.setRequestHeader(c,f.headers[c]);if(f.beforeSend&&(!1===f.beforeSend.call(m,T,f)||u))return T.abort();if(F="abort",_.add(f.complete),T.done(f.success),T.fail(f.error),n=Jt(qt,f,t,T)){if(T.readyState=1,d&&p.trigger("ajaxSend",[T,f]),u)return T;f.async&&f.timeout>0&&(s=r.setTimeout((function(){T.abort("timeout")}),f.timeout));try{u=!1,n.send(b,E)}catch(e){if(u)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,o,l){var c,h,A,b,y,F=t;u||(u=!0,s&&r.clearTimeout(s),n=void 0,i=l||"",T.readyState=e>0?4:0,c=e>=200&&e<300||304===e,o&&(b=function(e,t,n){for(var r,a,i,o,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(a in s)if(s[a]&&s[a].test(r)){l.unshift(a);break}if(l[0]in n)i=l[0];else{for(a in n){if(!l[0]||e.converters[a+" "+l[0]]){i=a;break}o||(o=a)}i=i||o}if(i)return i!==l[0]&&l.unshift(i),n[i]}(f,T,o)),!c&&w.inArray("script",f.dataTypes)>-1&&w.inArray("json",f.dataTypes)<0&&(f.converters["text script"]=function(){}),b=function(e,t,n,r){var a,i,o,s,l,u={},d=e.dataTypes.slice();if(d[1])for(o in e.converters)u[o.toLowerCase()]=e.converters[o];for(i=d.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=i,i=d.shift())if("*"===i)i=l;else if("*"!==l&&l!==i){if(!(o=u[l+" "+i]||u["* "+i]))for(a in u)if((s=a.split(" "))[1]===i&&(o=u[l+" "+s[0]]||u["* "+s[0]])){!0===o?o=u[a]:!0!==u[a]&&(i=s[0],d.unshift(s[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(e){return{state:"parsererror",error:o?e:"No conversion from "+l+" to "+i}}}return{state:"success",data:t}}(f,b,T,c),c?(f.ifModified&&((y=T.getResponseHeader("Last-Modified"))&&(w.lastModified[a]=y),(y=T.getResponseHeader("etag"))&&(w.etag[a]=y)),204===e||"HEAD"===f.type?F="nocontent":304===e?F="notmodified":(F=b.state,h=b.data,c=!(A=b.error))):(A=F,!e&&F||(F="error",e<0&&(e=0))),T.status=e,T.statusText=(t||F)+"",c?g.resolveWith(m,[h,F,T]):g.rejectWith(m,[T,F,A]),T.statusCode(v),v=void 0,d&&p.trigger(c?"ajaxSuccess":"ajaxError",[T,f,c?h:A]),_.fireWith(m,[T,F]),d&&(p.trigger("ajaxComplete",[T,f]),--w.active||w.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],(function(e,t){w[t]=function(e,n,r,a){return _(n)&&(a=a||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:a,data:n,success:r},w.isPlainObject(e)&&e))}})),w.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),w._evalUrl=function(e,t,n){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){w.globalEval(e,t,n)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(_(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return _(e)?this.each((function(t){w(this).wrapInner(e.call(this,t))})):this.each((function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=_(e);return this.each((function(n){w(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new r.XMLHttpRequest}catch(e){}};var Qt={0:200,1223:204},Xt=w.ajaxSettings.xhr();g.cors=!!Xt&&"withCredentials"in Xt,g.ajax=Xt=!!Xt,w.ajaxTransport((function(e){var t,n;if(g.cors||Xt&&!e.crossDomain)return{send:function(a,i){var o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)s[o]=e.xhrFields[o];for(o in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||a["X-Requested-With"]||(a["X-Requested-With"]="XMLHttpRequest"),a)s.setRequestHeader(o,a[o]);t=function(e){return function(){t&&(t=n=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Qt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),n=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=n:s.onreadystatechange=function(){4===s.readyState&&r.setTimeout((function(){t&&n()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),w.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),w.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,a){t=w("","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountGroup.vue?vue&type=template&id=2626c25c\"\nimport script from \"./AccountGroup.vue?vue&type=script&lang=js\"\nexport * from \"./AccountGroup.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-group-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowDown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowDown.vue?vue&type=template&id=fb6e0974\"\nimport script from \"./ArrowDown.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowRight.vue?vue&type=template&id=145c588a\"\nimport script from \"./ArrowRight.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowRight.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-right-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowUp.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowUp.vue?vue&type=template&id=63d5381c\"\nimport script from \"./ArrowUp.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowUp.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-up-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Check.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Check.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Check.vue?vue&type=template&id=955fb7b6\"\nimport script from \"./Check.vue?vue&type=script&lang=js\"\nexport * from \"./Check.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=a9c649ce\"\nimport script from \"./Close.vue?vue&type=script&lang=js\"\nexport * from \"./Close.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon close-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=bd3ee6c0\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon delete-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Link.vue?vue&type=template&id=65f55100\"\nimport script from \"./Link.vue?vue&type=script&lang=js\"\nexport * from \"./Link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon link-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=9bebb224\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js\"\nexport * from \"./Magnify.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon magnify-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuDown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MenuDown.vue?vue&type=template&id=6738b53f\"\nimport script from \"./MenuDown.vue?vue&type=script&lang=js\"\nexport * from \"./MenuDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,10L12,15L17,10H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MenuUp.vue?vue&type=template&id=bd0156c6\"\nimport script from \"./MenuUp.vue?vue&type=script&lang=js\"\nexport * from \"./MenuUp.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-up-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,15L12,10L17,15H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pencil.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pencil.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Pencil.vue?vue&type=template&id=038276ef\"\nimport script from \"./Pencil.vue?vue&type=script&lang=js\"\nexport * from \"./Pencil.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon pencil-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Plus.vue?vue&type=template&id=6374de20\"\nimport script from \"./Plus.vue?vue&type=script&lang=js\"\nexport * from \"./Plus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon plus-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Star.vue?vue&type=template&id=d5ace39e\"\nimport script from \"./Star.vue?vue&type=script&lang=js\"\nexport * from \"./Star.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Upload.vue?vue&type=template&id=b380ab28\"\nimport script from \"./Upload.vue?vue&type=script&lang=js\"\nexport * from \"./Upload.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon upload-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.7.16\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\nvar isArray = Array.isArray;\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\nfunction isTrue(v) {\n return v === true;\n}\nfunction isFalse(v) {\n return v === false;\n}\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean');\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Quick object check - this is primarily used to tell\n * objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\nfunction isPromise(val) {\n return (isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function');\n}\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, replacer, 2)\n : String(val);\n}\nfunction replacer(_key, val) {\n // avoid circular deps from v3\n if (val && val.__v_isRef) {\n return val.value;\n }\n return val;\n}\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\n}\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n/**\n * Remove an item from an array.\n */\nfunction remove$2(arr, item) {\n var len = arr.length;\n if (len) {\n // fast path for the only / last item\n if (item === arr[len - 1]) {\n arr.length = len - 1;\n return;\n }\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\n});\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n/* istanbul ignore next */\nfunction polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx);\n }\n boundFn._length = fn.length;\n return boundFn;\n}\nfunction nativeBind(fn, ctx) {\n return fn.bind(ctx);\n}\n// @ts-expect-error bind cannot be `undefined`\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n/* eslint-disable no-unused-vars */\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop(a, b, c) { }\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n/* eslint-enable no-unused-vars */\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return (a.length === b.length &&\n a.every(function (e, i) {\n return looseEqual(e, b[i]);\n }));\n }\n else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return (keysA.length === keysB.length &&\n keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n }));\n }\n else {\n /* istanbul ignore next */\n return false;\n }\n }\n catch (e) {\n /* istanbul ignore next */\n return false;\n }\n }\n else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n }\n else {\n return false;\n }\n}\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val))\n return i;\n }\n return -1;\n}\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\nfunction hasChanged(x, y) {\n if (x === y) {\n return x === 0 && 1 / x !== 1 / y;\n }\n else {\n return x === x || y === y;\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch',\n 'renderTracked',\n 'renderTriggered'\n];\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n /**\n * Whether to record perf\n */\n performance: false,\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5f;\n}\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj)\n return;\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nUA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\nUA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n// Firefox has a \"watch\" function on Object.prototype...\n// @ts-expect-error firebox support\nvar nativeWatch = {}.watch;\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n }\n catch (e) { }\n}\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer =\n global['process'] && global['process'].env.VUE_ENV === 'server';\n }\n else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\nvar hasSymbol = typeof Symbol !== 'undefined' &&\n isNative(Symbol) &&\n typeof Reflect !== 'undefined' &&\n isNative(Reflect.ownKeys);\nvar _Set; // $flow-disable-line\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n}\nelse {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /** @class */ (function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function (key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function () {\n this.set = Object.create(null);\n };\n return Set;\n }());\n}\n\nvar currentInstance = null;\n/**\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\n * relies on it). Do not use this internally, just use `currentInstance`.\n *\n * @internal this function needs manual type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction getCurrentInstance() {\n return currentInstance && { proxy: currentInstance };\n}\n/**\n * @internal\n */\nfunction setCurrentInstance(vm) {\n if (vm === void 0) { vm = null; }\n if (!vm)\n currentInstance && currentInstance._scope.off();\n currentInstance = vm;\n vm && vm._scope.on();\n}\n\n/**\n * @internal\n */\nvar VNode = /** @class */ (function () {\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n Object.defineProperty(VNode.prototype, \"child\", {\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get: function () {\n return this.componentInstance;\n },\n enumerable: false,\n configurable: true\n });\n return VNode;\n}());\nvar createEmptyVNode = function (text) {\n if (text === void 0) { text = ''; }\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, \n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar uid$2 = 0;\nvar pendingCleanupDeps = [];\nvar cleanupDeps = function () {\n for (var i = 0; i < pendingCleanupDeps.length; i++) {\n var dep = pendingCleanupDeps[i];\n dep.subs = dep.subs.filter(function (s) { return s; });\n dep._pending = false;\n }\n pendingCleanupDeps.length = 0;\n};\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n * @internal\n */\nvar Dep = /** @class */ (function () {\n function Dep() {\n // pending subs cleanup\n this._pending = false;\n this.id = uid$2++;\n this.subs = [];\n }\n Dep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n };\n Dep.prototype.removeSub = function (sub) {\n // #12696 deps with massive amount of subscribers are extremely slow to\n // clean up in Chromium\n // to workaround this, we unset the sub for now, and clear them on\n // next scheduler flush.\n this.subs[this.subs.indexOf(sub)] = null;\n if (!this._pending) {\n this._pending = true;\n pendingCleanupDeps.push(this);\n }\n };\n Dep.prototype.depend = function (info) {\n if (Dep.target) {\n Dep.target.addDep(this);\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\n }\n }\n };\n Dep.prototype.notify = function (info) {\n // stabilize the subscriber list first\n var subs = this.subs.filter(function (s) { return s; });\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n var sub = subs[i];\n if (process.env.NODE_ENV !== 'production' && info) {\n sub.onTrigger &&\n sub.onTrigger(__assign({ effect: subs[i] }, info));\n }\n sub.update();\n }\n };\n return Dep;\n}());\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\nfunction pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n}\nfunction popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted)\n ob.observeArray(inserted);\n // notify change\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\n target: this,\n key: method\n });\n }\n else {\n ob.dep.notify();\n }\n return result;\n });\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\nvar NO_INITIAL_VALUE = {};\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\nfunction toggleObserving(value) {\n shouldObserve = value;\n}\n// ssr mock dep\nvar mockDep = {\n notify: noop,\n depend: noop,\n addSub: noop,\n removeSub: noop\n};\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = /** @class */ (function () {\n function Observer(value, shallow, mock) {\n if (shallow === void 0) { shallow = false; }\n if (mock === void 0) { mock = false; }\n this.value = value;\n this.shallow = shallow;\n this.mock = mock;\n // this.value = value\n this.dep = mock ? mockDep : new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (isArray(value)) {\n if (!mock) {\n if (hasProto) {\n value.__proto__ = arrayMethods;\n /* eslint-enable no-proto */\n }\n else {\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\n var key = arrayKeys[i];\n def(value, key, arrayMethods[key]);\n }\n }\n }\n if (!shallow) {\n this.observeArray(value);\n }\n }\n else {\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n var keys = Object.keys(value);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n defineReactive(value, key, NO_INITIAL_VALUE, undefined, shallow, mock);\n }\n }\n }\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function (value) {\n for (var i = 0, l = value.length; i < l; i++) {\n observe(value[i], false, this.mock);\n }\n };\n return Observer;\n}());\n// helpers\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, shallow, ssrMockReactivity) {\n if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n return value.__ob__;\n }\n if (shouldObserve &&\n (ssrMockReactivity || !isServerRendering()) &&\n (isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value.__v_skip /* ReactiveFlags.SKIP */ &&\n !isRef(value) &&\n !(value instanceof VNode)) {\n return new Observer(value, shallow, ssrMockReactivity);\n }\n}\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow, mock, observeEvenIfShallow) {\n if (observeEvenIfShallow === void 0) { observeEvenIfShallow = false; }\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) &&\n (val === NO_INITIAL_VALUE || arguments.length === 2)) {\n val = obj[key];\n }\n var childOb = shallow ? val && val.__ob__ : observe(val, false, mock);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: obj,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n else {\n dep.depend();\n }\n if (childOb) {\n childOb.dep.depend();\n if (isArray(value)) {\n dependArray(value);\n }\n }\n }\n return isRef(value) && !shallow ? value.value : value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (!hasChanged(value, newVal)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n }\n else if (getter) {\n // #7981: for accessor properties without setter\n return;\n }\n else if (!shallow && isRef(value) && !isRef(newVal)) {\n value.value = newVal;\n return;\n }\n else {\n val = newVal;\n }\n childOb = shallow ? newVal && newVal.__ob__ : observe(newVal, false, mock);\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: obj,\n key: key,\n newValue: newVal,\n oldValue: value\n });\n }\n else {\n dep.notify();\n }\n }\n });\n return dep;\n}\nfunction set(target, key, val) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n var ob = target.__ob__;\n if (isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n // when mocking for SSR, array methods are not hijacked\n if (ob && !ob.shallow && ob.mock) {\n observe(val, false, true);\n }\n return val;\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"add\" /* TriggerOpTypes.ADD */,\n target: target,\n key: key,\n newValue: val,\n oldValue: undefined\n });\n }\n else {\n ob.dep.notify();\n }\n return val;\n}\nfunction del(target, key) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.');\n return;\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"delete\" /* TriggerOpTypes.DELETE */,\n target: target,\n key: key\n });\n }\n else {\n ob.dep.notify();\n }\n}\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n if (e && e.__ob__) {\n e.__ob__.dep.depend();\n }\n if (isArray(e)) {\n dependArray(e);\n }\n }\n}\n\nfunction reactive(target) {\n makeReactive(target, false);\n return target;\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n makeReactive(target, true);\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n return target;\n}\nfunction makeReactive(target, shallow) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (!isReadonly(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\n }\n var existingOb = target && target.__ob__;\n if (existingOb && existingOb.shallow !== shallow) {\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\n }\n }\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\n if (process.env.NODE_ENV !== 'production' && !ob) {\n if (target == null || isPrimitive(target)) {\n warn(\"value cannot be made reactive: \".concat(String(target)));\n }\n if (isCollectionType(target)) {\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\n }\n }\n }\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value.__ob__);\n}\nfunction isShallow(value) {\n return !!(value && value.__v_isShallow);\n}\nfunction isReadonly(value) {\n return !!(value && value.__v_isReadonly);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n // non-extensible objects won't be observed anyway\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n }\n return value;\n}\n/**\n * @internal\n */\nfunction isCollectionType(value) {\n var type = toRawType(value);\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\n}\n\n/**\n * @internal\n */\nvar RefFlag = \"__v_isRef\";\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref$1(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n var ref = {};\n def(ref, RefFlag, true);\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\n return ref;\n}\nfunction triggerRef(ref) {\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\n warn(\"received object is not a triggerable ref.\");\n }\n if (process.env.NODE_ENV !== 'production') {\n ref.dep &&\n ref.dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: ref,\n key: 'value'\n });\n }\n else {\n ref.dep && ref.dep.notify();\n }\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nfunction proxyRefs(objectWithRefs) {\n if (isReactive(objectWithRefs)) {\n return objectWithRefs;\n }\n var proxy = {};\n var keys = Object.keys(objectWithRefs);\n for (var i = 0; i < keys.length; i++) {\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\n }\n return proxy;\n}\nfunction proxyWithRefUnwrap(target, source, key) {\n Object.defineProperty(target, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = source[key];\n if (isRef(val)) {\n return val.value;\n }\n else {\n var ob = val && val.__ob__;\n if (ob)\n ob.dep.depend();\n return val;\n }\n },\n set: function (value) {\n var oldValue = source[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n }\n else {\n source[key] = value;\n }\n }\n });\n}\nfunction customRef(factory) {\n var dep = new Dep();\n var _a = factory(function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n dep.depend();\n }\n }, function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value'\n });\n }\n else {\n dep.notify();\n }\n }), get = _a.get, set = _a.set;\n var ref = {\n get value() {\n return get();\n },\n set value(newVal) {\n set(newVal);\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\nfunction toRefs(object) {\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\n warn(\"toRefs() expects a reactive object but received a plain one.\");\n }\n var ret = isArray(object) ? new Array(object.length) : {};\n for (var key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nfunction toRef(object, key, defaultValue) {\n var val = object[key];\n if (isRef(val)) {\n return val;\n }\n var ref = {\n get value() {\n var val = object[key];\n return val === undefined ? defaultValue : val;\n },\n set value(newVal) {\n object[key] = newVal;\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\nfunction readonly(target) {\n return createReadonly(target, false);\n}\nfunction createReadonly(target, shallow) {\n if (!isPlainObject(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Vue 2 does not support readonly arrays.\");\n }\n else if (isCollectionType(target)) {\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\n }\n else {\n warn(\"value cannot be made readonly: \".concat(typeof target));\n }\n }\n return target;\n }\n if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {\n warn(\"Vue 2 does not support creating readonly proxy for non-extensible object.\");\n }\n // already a readonly object\n if (isReadonly(target)) {\n return target;\n }\n // already has a readonly proxy\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\n var existingProxy = target[existingFlag];\n if (existingProxy) {\n return existingProxy;\n }\n var proxy = Object.create(Object.getPrototypeOf(target));\n def(target, existingFlag, proxy);\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\n if (isRef(target)) {\n def(proxy, RefFlag, true);\n }\n if (shallow || isShallow(target)) {\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n }\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n defineReadonlyProperty(proxy, target, keys[i], shallow);\n }\n return proxy;\n}\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = target[key];\n return shallow || !isPlainObject(val) ? val : readonly(val);\n },\n set: function () {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n }\n });\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReadonly(target, true);\n}\n\nfunction computed(getterOrOptions, debugOptions) {\n var getter;\n var setter;\n var onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = process.env.NODE_ENV !== 'production'\n ? function () {\n warn('Write operation failed: computed value is readonly');\n }\n : noop;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n var watcher = isServerRendering()\n ? null\n : new Watcher(currentInstance, getter, noop, { lazy: true });\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\n watcher.onTrack = debugOptions.onTrack;\n watcher.onTrigger = debugOptions.onTrigger;\n }\n var ref = {\n // some libs rely on the presence effect for checking computed refs\n // from normal refs, but the implementation doesn't matter\n effect: watcher,\n get value() {\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n else {\n return getter();\n }\n },\n set value(newVal) {\n setter(newVal);\n }\n };\n def(ref, RefFlag, true);\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\n return ref;\n}\n\nvar WATCHER = \"watcher\";\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nvar INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\n \"supports `watch(source, cb, options?) signature.\");\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, _a) {\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\n if (process.env.NODE_ENV !== 'production' && !cb) {\n if (immediate !== undefined) {\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n if (deep !== undefined) {\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n }\n var warnInvalidSource = function (s) {\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\n \"function, a ref, a reactive object, or an array of these types.\");\n };\n var instance = currentInstance;\n var call = function (fn, type, args) {\n if (args === void 0) { args = null; }\n var res = invokeWithErrorHandling(fn, null, args, instance, type);\n if (deep && res && res.__ob__)\n res.__ob__.dep.depend();\n return res;\n };\n var getter;\n var forceTrigger = false;\n var isMultiSource = false;\n if (isRef(source)) {\n getter = function () { return source.value; };\n forceTrigger = isShallow(source);\n }\n else if (isReactive(source)) {\n getter = function () {\n source.__ob__.dep.depend();\n return source;\n };\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\n getter = function () {\n return source.map(function (s) {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n s.__ob__.dep.depend();\n return traverse(s);\n }\n else if (isFunction(s)) {\n return call(s, WATCHER_GETTER);\n }\n else {\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\n }\n });\n };\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = function () { return call(source, WATCHER_GETTER); };\n }\n else {\n // no cb -> simple effect\n getter = function () {\n if (instance && instance._isDestroyed) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return call(source, WATCHER, [onCleanup]);\n };\n }\n }\n else {\n getter = noop;\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\n }\n if (cb && deep) {\n var baseGetter_1 = getter;\n getter = function () { return traverse(baseGetter_1()); };\n }\n var cleanup;\n var onCleanup = function (fn) {\n cleanup = watcher.onStop = function () {\n call(fn, WATCHER_CLEANUP);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isServerRendering()) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = noop;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n call(cb, WATCHER_CB, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return noop;\n }\n var watcher = new Watcher(currentInstance, getter, noop, {\n lazy: true\n });\n watcher.noRecurse = !cb;\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n // overwrite default run\n watcher.run = function () {\n if (!watcher.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n var newValue = watcher.get();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some(function (v, i) {\n return hasChanged(v, oldValue[i]);\n })\n : hasChanged(newValue, oldValue))) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n call(cb, WATCHER_CB, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n watcher.get();\n }\n };\n if (flush === 'sync') {\n watcher.update = watcher.run;\n }\n else if (flush === 'post') {\n watcher.post = true;\n watcher.update = function () { return queueWatcher(watcher); };\n }\n else {\n // pre\n watcher.update = function () {\n if (instance && instance === currentInstance && !instance._isMounted) {\n // pre-watcher triggered before\n var buffer = instance._preWatchers || (instance._preWatchers = []);\n if (buffer.indexOf(watcher) < 0)\n buffer.push(watcher);\n }\n else {\n queueWatcher(watcher);\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n watcher.onTrack = onTrack;\n watcher.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n watcher.run();\n }\n else {\n oldValue = watcher.get();\n }\n }\n else if (flush === 'post' && instance) {\n instance.$once('hook:mounted', function () { return watcher.get(); });\n }\n else {\n watcher.get();\n }\n return function () {\n watcher.teardown();\n };\n}\n\nvar activeEffectScope;\nvar EffectScope = /** @class */ (function () {\n function EffectScope(detached) {\n if (detached === void 0) { detached = false; }\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n EffectScope.prototype.run = function (fn) {\n if (this.active) {\n var currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"cannot run an inactive effect scope.\");\n }\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.on = function () {\n activeEffectScope = this;\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.off = function () {\n activeEffectScope = this.parent;\n };\n EffectScope.prototype.stop = function (fromParent) {\n if (this.active) {\n var i = void 0, l = void 0;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].teardown();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n var last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n };\n return EffectScope;\n}());\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\n/**\n * @internal\n */\nfunction recordEffectScope(effect, scope) {\n if (scope === void 0) { scope = activeEffectScope; }\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\n \" to be associated with.\");\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"provide() can only be used inside setup().\");\n }\n }\n else {\n // TS doesn't allow symbol as index type\n resolveProvided(currentInstance)[key] = value;\n }\n}\nfunction resolveProvided(vm) {\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n var existing = vm._provided;\n var parentProvides = vm.$parent && vm.$parent._provided;\n if (parentProvides === existing) {\n return (vm._provided = Object.create(parentProvides));\n }\n else {\n return existing;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n var instance = currentInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n var provides = instance.$parent && instance.$parent._provided;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance)\n : defaultValue;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"inject() can only be used inside setup() or functional components.\");\n }\n}\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once,\n capture: capture,\n passive: passive\n };\n});\nfunction createFnInvoker(fns, vm) {\n function invoker() {\n var fns = invoker.fns;\n if (isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\n }\n }\n else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n invoker.fns = fns;\n return invoker;\n}\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\n }\n else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n }\n else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove(event.name, oldOn[name], event.capture);\n }\n }\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove$2(invoker.fns, wrappedHook);\n }\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n }\n else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n }\n else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs, props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\n \"\".concat(formatComponentName(\n // @ts-expect-error tag is string\n tag || Ctor), \", but the declared prop name is\") +\n \" \\\"\".concat(key, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n }\n else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.