mirror of https://github.com/nextcloud/photos
1 line
2.8 MiB
1 line
2.8 MiB
{"version":3,"file":"photos-vendors-node_modules_nextcloud_vue_dist_ncvuecomponents_js.js?v=22537f9b2c6a4da2f31d","mappings":"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","sources":["webpack:///photos/node_modules/uuid/dist/esm-browser/rng.js","webpack:///photos/node_modules/uuid/dist/esm-browser/regex.js","webpack:///photos/node_modules/uuid/dist/esm-browser/validate.js","webpack:///photos/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///photos/node_modules/uuid/dist/esm-browser/v4.js","webpack:///photos/node_modules/@nextcloud/calendar-js/dist/index.esm.js","webpack:///photos/node_modules/@nextcloud/vue/dist/ncvuecomponents.js","webpack:///photos/node_modules/charenc/charenc.js","webpack:///photos/node_modules/crypt/crypt.js","webpack:///photos/node_modules/debounce/index.js","webpack:///photos/node_modules/emoji-mart-vue-fast/dist/emoji-mart.js","webpack:///photos/node_modules/ical.js/build/ical.js","webpack:///photos/node_modules/is-buffer/index.js","webpack:///photos/node_modules/md5/md5.js","webpack:///photos/node_modules/tributejs/dist/tribute.esm.js","webpack:///photos/node_modules/vue-color/dist/vue-color.min.js","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ArrowLeft.vue?f857","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=template&id=4d58d92d&","webpack:///photos/node_modules/vue-material-design-icons/Check.vue","webpack:///photos/node_modules/vue-material-design-icons/Check.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Check.vue?bf3e","webpack:///photos/node_modules/vue-material-design-icons/Check.vue?vue&type=template&id=2de14aba&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?01b3","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?vue&type=template&id=37b64e70&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/CheckboxMarked.vue?9cba","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue?vue&type=template&id=44e5702a&","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ChevronLeft.vue?e7bb","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=template&id=5de37570&","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ChevronRight.vue?621b","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=fbe63c02&","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/HelpCircle.vue?c343","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue?vue&type=template&id=b5719a8a&","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/MinusBox.vue?bbf8","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue?vue&type=template&id=136fccde&","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Pause.vue?888e","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue?vue&type=template&id=3335ab9e&","webpack:///photos/node_modules/vue-material-design-icons/Play.vue","webpack:///photos/node_modules/vue-material-design-icons/Play.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Play.vue?6342","webpack:///photos/node_modules/vue-material-design-icons/Play.vue?vue&type=template&id=4d9eb9d0&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/RadioboxBlank.vue?f46c","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue?vue&type=template&id=50bbd593&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/RadioboxMarked.vue?410f","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue?vue&type=template&id=46ce9590&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitch.vue?83e3","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue?vue&type=template&id=b4f6858e&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitchOff.vue?fbc4","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue?vue&type=template&id=e0126390&","webpack:///photos/node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///photos/node_modules/date-format-parse/es/util.js","webpack:///photos/node_modules/date-format-parse/es/locale/en.js","webpack:///photos/node_modules/date-format-parse/es/format.js","webpack:///photos/node_modules/date-format-parse/es/parse.js","webpack:///photos/node_modules/vue2-datepicker/index.esm.js","webpack:///photos/node_modules/string-length/node_modules/strip-ansi/index.js","webpack:///photos/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///photos/node_modules/string-length/index.js","webpack:///photos/node_modules/char-regex/index.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import ICAL from 'ical.js';\nimport { v4 } from 'uuid';\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractParser\n * @classdesc\n */\nclass AbstractParser {\n /**\n * @constructor\n *\n * @param {Object=} options Object of options\n * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n */\n constructor(options = {}) {\n if (new.target === AbstractParser) {\n throw new TypeError('Cannot instantiate abstract class AbstractParser');\n }\n /**\n * Options for the parser\n *\n * @type {{removeRSVPForAttendees: Boolean}}\n * @private\n */\n\n\n this._options = Object.assign({}, options);\n /**\n * A name extracted from the calendar-data\n *\n * @type {String|null}\n * @protected\n */\n\n this._name = null;\n /**\n * A color extracted from the calendar-data\n *\n * @type {String|null}\n * @protected\n */\n\n this._color = null;\n /**\n * Gets the url that this icalendar file can be updated from\n *\n * @type {String}\n * @protected\n */\n\n this._sourceURL = null;\n /**\n * Gets the update interval if this icalendar file can be updated from a source\n *\n * @type {String}\n * @protected\n */\n\n this._refreshInterval = null;\n /**\n * Gets the default timezone of this calendar\n *\n * @type {String}\n * @protected\n */\n\n this._calendarTimezone = null;\n /**\n * Error count during parsing\n *\n * @type {Array}\n * @protected\n */\n\n this._errors = [];\n }\n /**\n * Gets the name extracted from the calendar-data\n *\n * @returns {String|null}\n */\n\n\n getName() {\n return this._name;\n }\n /**\n * Gets the color extracted from the calendar-data\n *\n * @returns {String|null}\n */\n\n\n getColor() {\n return this._color;\n }\n /**\n * Gets whether this import can be converted into a webcal subscription\n *\n * @returns {boolean}\n */\n\n\n offersWebcalFeed() {\n return this._sourceURL !== null;\n }\n /**\n * Gets the url pointing to the webcal source\n *\n * @returns {String|null}\n */\n\n\n getSourceURL() {\n return this._sourceURL;\n }\n /**\n * Gets the recommended refresh rate to update this subscription\n *\n * @returns {String|null}\n */\n\n\n getRefreshInterval() {\n return this._refreshInterval;\n }\n /**\n * Gets the default timezone of this calendar\n *\n * @returns {String}\n */\n\n\n getCalendarTimezone() {\n return this._calendarTimezone;\n }\n /**\n * {String|Object} data\n *\n * @param {any} data The data to parse\n * @throws TypeError\n */\n\n\n parse(data) {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * Returns one CalendarComponent at a time\n */\n\n\n *getItemIterator() {\n // eslint-disable-line require-yield\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * Get an array of all items\n *\n * @returns {CalendarComponent[]}\n */\n\n\n getAllItems() {\n return Array.from(this.getItemIterator());\n }\n /**\n * Returns a boolean whether or not the parsed data contains vevents\n *\n * @returns {boolean}\n */\n\n\n containsVEvents() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vjournals\n *\n * @returns {boolean}\n */\n\n\n containsVJournals() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vtodos\n *\n * @returns {boolean}\n */\n\n\n containsVTodos() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vfreebusys\n *\n * @returns {boolean}\n */\n\n\n containsVFreeBusy() {\n return false;\n }\n /**\n * Returns a boolean whether\n *\n * @returns {boolean}\n */\n\n\n hasErrors() {\n return this._errors.length !== 0;\n }\n /**\n * Get a list of all errors that occurred\n *\n * @returns {*[]}\n */\n\n\n getErrorList() {\n return this._errors.slice();\n }\n /**\n * Returns the number of calendar-objects in parser\n *\n * @returns {number}\n */\n\n\n getItemCount() {\n return 0;\n }\n /**\n * Gets an option provided\n *\n * @param {String} name The name of the option to get\n * @param {*} defaultValue The default value to return if option not provided\n * @returns {any}\n * @protected\n */\n\n\n _getOption(name, defaultValue) {\n return Object.prototype.hasOwnProperty.call(this._options, name) ? this._options[name] : defaultValue;\n }\n /**\n * Return list of supported mime types\n *\n * @static\n */\n\n\n static getMimeTypes() {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nclass ModificationNotAllowedError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nfunction lockableTrait(baseClass) {\n /**\n * @class LockableTrait\n */\n return class extends baseClass {\n /**\n * Constructor\n */\n constructor(...args) {\n super(...args);\n /**\n * Indicator whether this value was locked for changes\n *\n * @type {boolean}\n * @private\n */\n\n this._mutable = true;\n }\n /**\n * Returns whether or not this object is locked\n *\n * @returns {boolean}\n */\n\n\n isLocked() {\n return !this._mutable;\n }\n /**\n * Marks this object is immutable\n * locks it against further modification\n */\n\n\n lock() {\n this._mutable = false;\n }\n /**\n * Marks this object as mutable\n * allowing further modification\n */\n\n\n unlock() {\n this._mutable = true;\n }\n /**\n * Check if modifications are allowed\n *\n * @throws {ModificationNotAllowedError} if this object is locked for modification\n * @protected\n */\n\n\n _modify() {\n if (!this._mutable) {\n throw new ModificationNotAllowedError();\n }\n }\n /**\n * Check if modification of content is allowed\n *\n * @throws {ModificationNotAllowedError} if this object is locked for modification\n * @protected\n */\n\n\n _modifyContent() {\n this._modify();\n }\n\n };\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nclass ExpectedICalJSError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Turns the entire string lowercase\n *\n * @param {String} str The string to turn lowercase\n * @returns {string}\n */\nfunction lc(str) {\n return str.toLowerCase();\n}\n/**\n * Turns the entire string uppercase\n *\n * @param {String} str The string to turn uppercase\n * @returns {string}\n */\n\nfunction uc(str) {\n return str.toUpperCase();\n}\n/**\n * Capitalizes the string\n *\n * @param {String} str The string of which the first character will be turned uppercase\n * @returns {string}\n */\n\nfunction ucFirst(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n/**\n * Makes sure that a string starts with a certain other string\n * This is mostly used in the attendeeProperty to assure the uri starts with mailto:\n *\n * @param {String} str The string to check for the prefix and prepend if necessary\n * @param {String} startWith The prefix to be added if necessary\n * @returns {string}\n */\n\nfunction startStringWith(str, startWith) {\n if (!str.startsWith(startWith)) {\n str = startWith + str;\n }\n\n return str;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @type {Map<String, *>}\n */\nconst GLOBAL_CONFIG = new Map();\n/**\n * Sets a new config key\n *\n * @param {String} key The config-key to set\n * @param {*} value The value to set for given config-key\n */\n\nfunction setConfig(key, value) {\n GLOBAL_CONFIG.set(key, value);\n}\n/**\n * gets value of a config key\n *\n * @param {String} key The config-key to get\n * @param {*} defaultValue Default value of config does not exist\n * @returns {*}\n */\n\nfunction getConfig(key, defaultValue) {\n return GLOBAL_CONFIG.get(key) || defaultValue;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * creates a new ICAL.Component object\n *\n * @param {string} componentName The name of the component to create\n * @returns {ICAL.Component}\n */\n\nfunction createComponent(componentName) {\n return new ICAL.Component(lc(componentName));\n}\n/**\n * creates a new ICAL.Property object\n *\n * @param {string} propertyName The name of the property to create\n * @returns {ICAL.Property}\n */\n\nfunction createProperty(propertyName) {\n return new ICAL.Property(lc(propertyName));\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nfunction observerTrait(baseClass) {\n /**\n * @class ObserverTrait\n */\n return class extends baseClass {\n /**\n * Constructor\n */\n constructor(...args) {\n super(...args);\n /**\n * List of subscribers\n *\n * @type {Function[]}\n * @private\n */\n\n this._subscribers = [];\n }\n /**\n * Adds a new subscriber\n *\n * @param {Function} handler - Handler to be called when modification happens\n */\n\n\n subscribe(handler) {\n this._subscribers.push(handler);\n }\n /**\n * Removes a subscriber\n *\n * @param {Function} handler - Handler to be no longer called when modification happens\n */\n\n\n unsubscribe(handler) {\n const index = this._subscribers.indexOf(handler);\n\n if (index === -1) {\n return;\n }\n\n this._subscribers.splice(index, 1);\n }\n /**\n * Notify all subscribed handlers\n *\n * @protected\n */\n\n\n _notifySubscribers(...args) {\n for (const handler of this._subscribers) {\n handler(...args);\n }\n }\n\n };\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class Parameter\n * @classdesc This class represents a property parameters as defined in RFC 5545 Section 3.2\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.2\n * @url\n */\n\nclass Parameter extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {string} name The name of the parameter\n * @param {string|Array|null} value The value of the parameter\n */\n constructor(name, value = null) {\n super();\n /**\n * Name of the parameter\n *\n * @type {string}\n * @private\n */\n\n this._name = uc(name);\n /**\n * Value of the parameter\n *\n * @type {string|Array|null}\n * @private\n */\n\n this._value = value;\n }\n /**\n * Get parameter name\n *\n * @readonly\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Get parameter value\n *\n * @returns {String|Array}\n */\n\n\n get value() {\n return this._value;\n }\n /**\n * Set new parameter value\n *\n * @throws {ModificationNotAllowedError} if parameter is locked for modification\n * @param {String|Array} value The new value to set\n */\n\n\n set value(value) {\n this._modifyContent();\n\n this._value = value;\n }\n /**\n * Gets the first value of this parameter\n *\n * @returns {String|null}\n */\n\n\n getFirstValue() {\n if (!this.isMultiValue()) {\n return this.value;\n } else {\n if (this.value.length > 0) {\n return this.value[0];\n }\n }\n\n return null;\n }\n /**\n * Gets an iterator for all values\n */\n\n\n *getValueIterator() {\n if (this.isMultiValue()) {\n yield* this.value.slice()[Symbol.iterator]();\n } else {\n yield this.value;\n }\n }\n /**\n * Returns whether or not the value is a multivalue\n *\n * @returns {Boolean}\n */\n\n\n isMultiValue() {\n return Array.isArray(this._value);\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {Parameter}\n */\n\n\n clone() {\n const parameter = new this.constructor(this._name);\n\n if (this.isMultiValue()) {\n // only copy array values, don't copy array reference\n parameter.value = this._value.slice();\n } else {\n parameter.value = this._value;\n } // cloned parameters are always mutable\n\n\n return parameter;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class AbstractValue\n * @classdesc BaseClass for all values\n */\n\nclass AbstractValue extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset} icalValue The ICAL.JS object to wrap\n */\n constructor(icalValue) {\n if (new.target === AbstractValue) {\n throw new TypeError('Cannot instantiate abstract class AbstractValue');\n }\n\n super();\n /**\n * Wrapped ICAL.js value\n *\n * @type {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset}\n */\n\n this._innerValue = icalValue;\n }\n /**\n * Gets wrapped ICAL.JS object\n *\n * @returns {*}\n */\n\n\n toICALJs() {\n return this._innerValue;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class BinaryValue\n * @classdesc Wrapper for ICAL.Binary\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.1.3\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/binary.js\n */\n\nclass BinaryValue extends AbstractValue {\n /**\n * Sets the raw b64 encoded value\n *\n * @returns {String}\n */\n get rawValue() {\n return this._innerValue.value;\n }\n /**\n * Gets the raw b64 encoded value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} value - The new raw value\n */\n\n\n set rawValue(value) {\n this._modifyContent();\n\n this._innerValue.value = value;\n }\n /**\n * Gets the decoded value\n *\n * @returns {String}\n */\n\n\n get value() {\n return this._innerValue.decodeValue();\n }\n /**\n * Sets the decoded Value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} decodedValue - The new encoded value\n */\n\n\n set value(decodedValue) {\n this._modifyContent();\n\n this._innerValue.setEncodedValue(decodedValue);\n }\n /**\n * clones this value\n *\n * @returns {BinaryValue}\n */\n\n\n clone() {\n return BinaryValue.fromRawValue(this._innerValue.value);\n }\n /**\n * Create a new BinaryValue object from an ICAL.Binary object\n *\n * @param {ICAL.Binary} icalValue - The ICAL.Binary object\n * @returns {BinaryValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new BinaryValue(icalValue);\n }\n /**\n * Create a new BinaryValue object from a raw b64 encoded value\n *\n * @param {String} rawValue - The raw value\n * @returns {BinaryValue}\n */\n\n\n static fromRawValue(rawValue) {\n const icalBinary = new ICAL.Binary(rawValue);\n return BinaryValue.fromICALJs(icalBinary);\n }\n /**\n * Create a new BinaryValue object from decoded value\n *\n * @param {String} decodedValue - The encoded value\n * @returns {BinaryValue}\n */\n\n\n static fromDecodedValue(decodedValue) {\n const icalBinary = new ICAL.Binary();\n icalBinary.setEncodedValue(decodedValue);\n return BinaryValue.fromICALJs(icalBinary);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class DurationValue\n * @classdesc Wrapper for ICAL.Duration\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.6\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/duration.js\n */\n\nclass DurationValue extends AbstractValue {\n /**\n * Gets the weeks of the stored duration-value\n *\n * @returns {Number}\n */\n get weeks() {\n return this._innerValue.weeks;\n }\n /**\n * Sets the weeks of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} weeks Amount of weeks\n */\n\n\n set weeks(weeks) {\n this._modifyContent();\n\n if (weeks < 0) {\n throw new TypeError('Weeks cannot be negative, use isNegative instead');\n }\n\n this._innerValue.weeks = weeks;\n }\n /**\n * Gets the days of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get days() {\n return this._innerValue.days;\n }\n /**\n * Sets the days of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} days Amount of days\n */\n\n\n set days(days) {\n this._modifyContent();\n\n if (days < 0) {\n throw new TypeError('Days cannot be negative, use isNegative instead');\n }\n\n this._innerValue.days = days;\n }\n /**\n * Gets the hours of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get hours() {\n return this._innerValue.hours;\n }\n /**\n * Sets the weeks of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} hours Amount of hours\n */\n\n\n set hours(hours) {\n this._modifyContent();\n\n if (hours < 0) {\n throw new TypeError('Hours cannot be negative, use isNegative instead');\n }\n\n this._innerValue.hours = hours;\n }\n /**\n * Gets the minutes of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get minutes() {\n return this._innerValue.minutes;\n }\n /**\n * Sets the minutes of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} minutes Amount of minutes\n */\n\n\n set minutes(minutes) {\n this._modifyContent();\n\n if (minutes < 0) {\n throw new TypeError('Minutes cannot be negative, use isNegative instead');\n }\n\n this._innerValue.minutes = minutes;\n }\n /**\n * Gets the seconds of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get seconds() {\n return this._innerValue.seconds;\n }\n /**\n * Sets the seconds of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} seconds Amount of seconds\n */\n\n\n set seconds(seconds) {\n this._modifyContent();\n\n if (seconds < 0) {\n throw new TypeError('Seconds cannot be negative, use isNegative instead');\n }\n\n this._innerValue.seconds = seconds;\n }\n /**\n * Gets the negative-indicator of the stored duration-value\n *\n * @returns {Boolean}\n */\n\n\n get isNegative() {\n return this._innerValue.isNegative;\n }\n /**\n * Gets the negative-indicator of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Boolean} isNegative Whether or not the duration is negative\n */\n\n\n set isNegative(isNegative) {\n this._modifyContent();\n\n this._innerValue.isNegative = !!isNegative;\n }\n /**\n * Gets the amount of total seconds of the stored duration-value\n *\n * @returns {*|Number}\n */\n\n\n get totalSeconds() {\n return this._innerValue.toSeconds();\n }\n /**\n * Sets the amount of total seconds of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} totalSeconds The total amounts of seconds to set\n */\n\n\n set totalSeconds(totalSeconds) {\n this._modifyContent();\n\n this._innerValue.fromSeconds(totalSeconds);\n }\n /**\n * Compares this duration to another one\n *\n * @param {DurationValue} otherDuration The duration to compare to\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(otherDuration) {\n return this._innerValue.compare(otherDuration.toICALJs());\n }\n /**\n * Adds the value of another duration to this one\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} otherDuration The duration to add\n */\n\n\n addDuration(otherDuration) {\n this._modifyContent();\n\n this.totalSeconds += otherDuration.totalSeconds;\n\n this._innerValue.normalize();\n }\n /**\n * Subtract the value of another duration from this one\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} otherDuration The duration to subtract\n */\n\n\n subtractDuration(otherDuration) {\n this._modifyContent();\n\n this.totalSeconds -= otherDuration.totalSeconds;\n\n this._innerValue.normalize();\n }\n /**\n * clones this value\n *\n * @returns {DurationValue}\n */\n\n\n clone() {\n return DurationValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new DurationValue object from an ICAL.Duration object\n *\n * @param {ICAL.Duration} icalValue The ical.js duration value\n * @returns {DurationValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new DurationValue(icalValue);\n }\n /**\n * Create a new DurationValue object from a number of seconds\n *\n * @param {Number} seconds Total amount of seconds\n * @returns {DurationValue}\n */\n\n\n static fromSeconds(seconds) {\n const icalDuration = ICAL.Duration.fromSeconds(seconds);\n return new DurationValue(icalDuration);\n }\n /**\n * Create a new DurationValue object from data\n *\n * @param {Object} data The destructuring object\n * @param {Number=} data.weeks Number of weeks to set\n * @param {Number=} data.days Number of days to set\n * @param {Number=} data.hours Number of hours to set\n * @param {Number=} data.minutes Number of minutes to set\n * @param {Number=} data.seconds Number of seconds to set\n * @param {Boolean=} data.isNegative Whether or not duration is negative\n * @returns {DurationValue}\n */\n\n\n static fromData(data) {\n const icalDuration = ICAL.Duration.fromData(data);\n return new DurationValue(icalDuration);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class DateTimeValue\n * @classdesc Wrapper for ICAL.Time\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.4\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.5\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.12\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/time.js\n */\n\nclass DateTimeValue extends AbstractValue {\n /**\n * Gets the year of the stored date-time-value\n *\n * @returns {Number}\n */\n get year() {\n return this._innerValue.year;\n }\n /**\n * Sets the year of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} year Number of years to set\n */\n\n\n set year(year) {\n this._modifyContent();\n\n this._innerValue.year = year;\n }\n /**\n * Gets the month of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get month() {\n return this._innerValue.month;\n }\n /**\n * Sets the month of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} month Number of months to set\n */\n\n\n set month(month) {\n this._modifyContent();\n\n if (month < 1 || month > 12) {\n throw new TypeError('Month out of range');\n }\n\n this._innerValue.month = month;\n }\n /**\n * Gets the day of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get day() {\n return this._innerValue.day;\n }\n /**\n * Sets the day of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} day Number of days to set\n */\n\n\n set day(day) {\n this._modifyContent();\n\n if (day < 1 || day > 31) {\n throw new TypeError('Day out of range');\n }\n\n this._innerValue.day = day;\n }\n /**\n * Gets the hour of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get hour() {\n return this._innerValue.hour;\n }\n /**\n * Sets the hour of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} hour Number of hours to set\n */\n\n\n set hour(hour) {\n this._modifyContent();\n\n if (hour < 0 || hour > 23) {\n throw new TypeError('Hour out of range');\n }\n\n this._innerValue.hour = hour;\n }\n /**\n * Gets the minute of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get minute() {\n return this._innerValue.minute;\n }\n /**\n * Sets the minute of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} minute Number of minutes to set\n */\n\n\n set minute(minute) {\n this._modifyContent();\n\n if (minute < 0 || minute > 59) {\n throw new TypeError('Minute out of range');\n }\n\n this._innerValue.minute = minute;\n }\n /**\n * Gets the second of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get second() {\n return this._innerValue.second;\n }\n /**\n * Sets the second of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} second Number of seconds to set\n */\n\n\n set second(second) {\n this._modifyContent();\n\n if (second < 0 || second > 59) {\n throw new TypeError('Second out of range');\n }\n\n this._innerValue.second = second;\n }\n /**\n * Gets the timezone of this date-time-value\n *\n * @returns {String|null}\n */\n\n\n get timezoneId() {\n // If zone.tzid is set and it's not 'floating' nor 'UTC', then it's a proper\n // timezone that we also have a timezone id for\n if (this._innerValue.zone.tzid && this._innerValue.zone.tzid !== 'floating' && this._innerValue.zone.tzid === 'UTC') {\n return this._innerValue.zone.tzid;\n } // If there is a timezone set, but we didn't have a zone.tzid in the previous if,\n // this means that the tzid does not have a definition stored along it.\n // we will keep this information anyway to not lose it\n\n\n if (this._innerValue.timezone) {\n return this._innerValue.timezone;\n } // this is the case when it's floating / UTC\n\n\n return this._innerValue.zone.tzid || null;\n }\n /**\n * Gets whether this date-time-value is a date or date-time\n *\n * @returns {boolean}\n */\n\n\n get isDate() {\n return this._innerValue.isDate;\n }\n /**\n * Sets whether this date-time-value is a date or date-time\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {boolean} isDate Whether this is a date or date-time value\n */\n\n\n set isDate(isDate) {\n this._modifyContent();\n\n this._innerValue.isDate = !!isDate;\n\n if (isDate) {\n this._innerValue.hour = 0;\n this._innerValue.minute = 0;\n this._innerValue.second = 0;\n }\n }\n /**\n * Gets the unix-time\n *\n * @returns {Number}\n */\n\n\n get unixTime() {\n return this._innerValue.toUnixTime();\n }\n /**\n * returns vanilla javascript date object\n *\n * @returns {Date}\n */\n\n\n get jsDate() {\n return this._innerValue.toJSDate();\n }\n /**\n * Adds a duration to this date-time-value\n *\n * @param {DurationValue} duration The duration to ad\n */\n\n\n addDuration(duration) {\n this._innerValue.addDuration(duration.toICALJs());\n }\n /**\n * Subtract another date excluding timezones\n *\n * @param {DateTimeValue} other The date-time value to subtract\n * @returns {DurationValue}\n */\n\n\n subtractDateWithoutTimezone(other) {\n const icalDuration = this._innerValue.subtractDate(other.toICALJs());\n\n return DurationValue.fromICALJs(icalDuration);\n }\n /**\n * Subtract another date, taking timezones into account\n *\n * @param {DateTimeValue} other The date-time value to subtract\n * @returns {DurationValue}\n */\n\n\n subtractDateWithTimezone(other) {\n const icalDuration = this._innerValue.subtractDateTz(other.toICALJs());\n\n return DurationValue.fromICALJs(icalDuration);\n }\n /**\n * Compares this DateTimeValue object with another one\n *\n * @param {DateTimeValue} other The date-time to compare to\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(other) {\n return this._innerValue.compare(other.toICALJs());\n }\n /**\n * Compares only the date part in a given timezone\n *\n * @param {DateTimeValue} other The date-time to compare to\n * @param {Timezone} timezone The timezone to compare in\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compareDateOnlyInGivenTimezone(other, timezone) {\n return this._innerValue.compareDateOnlyTz(other.toICALJs(), timezone.toICALTimezone());\n }\n /**\n * Returns a clone of this object which was converted to a different timezone\n *\n * @param {Timezone} timezone TimezoneId to convert to\n * @returns {DateTimeValue}\n */\n\n\n getInTimezone(timezone) {\n const clonedICALTime = this._innerValue.convertToZone(timezone.toICALTimezone());\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * Get the inner ICAL.Timezone\n *\n * @returns {ICAL.Timezone}\n * @package\n */\n\n\n getICALTimezone() {\n return this._innerValue.zone;\n }\n /**\n * Returns a clone of this object which was converted to a different timezone\n *\n * @param {ICAL.Timezone} timezone TimezoneId to convert to\n * @returns {DateTimeValue}\n * @package\n */\n\n\n getInICALTimezone(timezone) {\n const clonedICALTime = this._innerValue.convertToZone(timezone);\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * Returns a clone of this object which was converted to UTC\n *\n * @returns {DateTimeValue}\n */\n\n\n getInUTC() {\n const clonedICALTime = this._innerValue.convertToZone(ICAL.Timezone.utcTimezone);\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * This silently replaces the inner timezone without converting the actual time\n *\n * @param {ICAL.Timezone} timezone The timezone to replace with\n * @package\n */\n\n\n silentlyReplaceTimezone(timezone) {\n this._modify();\n\n this._innerValue = new ICAL.Time({\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second,\n isDate: this.isDate,\n timezone\n });\n }\n /**\n * Replaces the inner timezone without converting the actual time\n *\n * @param {Timezone} timezone The timezone to replace with\n */\n\n\n replaceTimezone(timezone) {\n this._modifyContent();\n\n this._innerValue = ICAL.Time.fromData({\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second,\n isDate: this.isDate\n }, timezone.toICALTimezone());\n }\n /**\n * Calculates the UTC offset of the date-time-value in its timezone\n *\n * @returns {Number}\n */\n\n\n utcOffset() {\n return this._innerValue.utcOffset();\n }\n /**\n * Check if this is an event with floating time\n *\n * @returns {boolean}\n */\n\n\n isFloatingTime() {\n return this._innerValue.zone.tzid === 'floating';\n }\n /**\n * clones this value\n *\n * @returns {DateTimeValue}\n */\n\n\n clone() {\n return DateTimeValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new DateTimeValue object from an ICAL.Time object\n *\n * @param {ICAL.Time} icalValue The ical.js Date value to initialise from\n * @returns {DateTimeValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new DateTimeValue(icalValue);\n }\n /**\n * Creates a new DateTimeValue object based on a vanilla javascript object\n *\n * @param {Date} jsDate The JavaScript date to initialise from\n * @param {Boolean=} useUTC Whether or not to treat it as UTC\n * @returns {DateTimeValue}\n */\n\n\n static fromJSDate(jsDate, useUTC = false) {\n const icalValue = ICAL.Time.fromJSDate(jsDate, useUTC);\n return DateTimeValue.fromICALJs(icalValue);\n }\n /**\n * Creates a new DateTimeValue object based on simple parameters\n *\n * @param {Object} data The destructuring object\n * @param {Number=} data.year Amount of years to set\n * @param {Number=} data.month Amount of month to set (1-based)\n * @param {Number=} data.day Amount of days to set\n * @param {Number=} data.hour Amount of hours to set\n * @param {Number=} data.minute Amount of minutes to set\n * @param {Number=} data.second Amount of seconds to set\n * @param {Boolean=} data.isDate Whether this is a date or date-time\n * @param {Timezone=} timezone The timezone of the DateTimeValue\n * @returns {DateTimeValue}\n */\n\n\n static fromData(data, timezone) {\n const icalValue = ICAL.Time.fromData(data, timezone ? timezone.toICALTimezone() : undefined);\n return DateTimeValue.fromICALJs(icalValue);\n }\n\n}\nDateTimeValue.SUNDAY = ICAL.Time.SUNDAY;\nDateTimeValue.MONDAY = ICAL.Time.MONDAY;\nDateTimeValue.TUESDAY = ICAL.Time.TUESDAY;\nDateTimeValue.WEDNESDAY = ICAL.Time.WEDNESDAY;\nDateTimeValue.THURSDAY = ICAL.Time.THURSDAY;\nDateTimeValue.FRIDAY = ICAL.Time.FRIDAY;\nDateTimeValue.SATURDAY = ICAL.Time.SATURDAY;\nDateTimeValue.DEFAULT_WEEK_START = DateTimeValue.MONDAY;\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class PeriodValue\n * @classdesc Wrapper for ICAL.Period\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.9\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/period.js\n */\n\nclass PeriodValue extends AbstractValue {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * DateTimeValue object for start\n *\n * @type {DateTimeValue}\n * @private\n */\n\n this._start = DateTimeValue.fromICALJs(this._innerValue.start);\n /**\n * DateTimeValue object for end\n *\n * @type {DateTimeValue|null}\n * @private\n */\n\n this._end = null;\n /**\n * DurationValue object for duration\n *\n * @type {DurationValue|null}\n * @private\n */\n\n this._duration = null;\n }\n /**\n * Gets the start of the period-value\n *\n * @returns {DateTimeValue}\n */\n\n\n get start() {\n return this._start;\n }\n /**\n * Sets the start of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} start The start of the period\n */\n\n\n set start(start) {\n this._modifyContent();\n\n this._start = start;\n this._innerValue.start = start.toICALJs();\n }\n /**\n * Gets the end of the period-value\n *\n * @returns {DateTimeValue}\n */\n\n\n get end() {\n if (!this._end) {\n if (this._duration) {\n this._duration.lock();\n\n this._duration = null;\n }\n\n this._innerValue.end = this._innerValue.getEnd();\n this._end = DateTimeValue.fromICALJs(this._innerValue.end);\n this._innerValue.duration = null;\n\n if (this.isLocked()) {\n this._end.lock();\n }\n }\n\n return this._end;\n }\n /**\n * Sets the end of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} end The end of the period\n */\n\n\n set end(end) {\n this._modifyContent();\n\n this._innerValue.duration = null;\n this._innerValue.end = end.toICALJs();\n this._end = end;\n }\n /**\n * Gets the duration of the period-value\n * The value is automatically locked.\n * If you want to edit the value, clone it and it as new duration\n *\n * @returns {DurationValue}\n */\n\n\n get duration() {\n if (!this._duration) {\n if (this._end) {\n this._end.lock();\n\n this._end = null;\n }\n\n this._innerValue.duration = this._innerValue.getDuration();\n this._duration = DurationValue.fromICALJs(this._innerValue.duration);\n this._innerValue.end = null;\n\n if (this.isLocked()) {\n this._duration.lock();\n }\n }\n\n return this._duration;\n }\n /**\n * Sets the duration of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} duration The duration to set\n */\n\n\n set duration(duration) {\n this._modifyContent();\n\n this._innerValue.end = null;\n this._innerValue.duration = duration.toICALJs();\n this._duration = duration;\n }\n /**\n * @inheritDoc\n */\n\n\n lock() {\n super.lock();\n this.start.lock();\n\n if (this._end) {\n this._end.lock();\n }\n\n if (this._duration) {\n this._duration.lock();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n unlock() {\n super.unlock();\n this.start.unlock();\n\n if (this._end) {\n this._end.unlock();\n }\n\n if (this._duration) {\n this._duration.unlock();\n }\n }\n /**\n * clones this value\n *\n * @returns {PeriodValue}\n */\n\n\n clone() {\n return PeriodValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new PeriodValue object from a ICAL.Period object\n *\n * @param {ICAL.Period} icalValue The ical.js period value to initialise from\n * @returns {PeriodValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new PeriodValue(icalValue);\n }\n /**\n * Create a new PeriodValue object from start and end\n *\n * @param {Object} data The destructuring object\n * @param {DateTimeValue} data.start The start of the period\n * @param {DateTimeValue} data.end The end of the period\n * @returns {PeriodValue}\n */\n\n\n static fromDataWithEnd(data) {\n const icalPeriod = ICAL.Period.fromData({\n start: data.start.toICALJs(),\n end: data.end.toICALJs()\n });\n return PeriodValue.fromICALJs(icalPeriod);\n }\n /**\n * Create a new PeriodValue object from start and duration\n *\n * @param {Object} data The destructuring object\n * @param {DateTimeValue} data.start The start of the period\n * @param {DurationValue} data.duration The duration of the period\n * @returns {PeriodValue}\n */\n\n\n static fromDataWithDuration(data) {\n const icalPeriod = ICAL.Period.fromData({\n start: data.start.toICALJs(),\n duration: data.duration.toICALJs()\n });\n return PeriodValue.fromICALJs(icalPeriod);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n/**\n * @class RecurValue\n * @classdesc Wrapper for ICAL.Recur\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.10\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/recur.js\n */\n\nclass RecurValue extends AbstractValue {\n /**\n * Constructor\n *\n * @param {ICAL.Recur} icalValue The ical.js rrule value\n * @param {DateTimeValue?} until The Until date\n */\n constructor(icalValue, until) {\n super(icalValue);\n /**\n * DateTimeValue object for Until\n *\n * @type {DateTimeValue}\n * @private\n */\n\n this._until = until;\n }\n /**\n * Gets the stored interval of this recurrence rule\n *\n * @returns {Number}\n */\n\n\n get interval() {\n return this._innerValue.interval;\n }\n /**\n * Sets the stored interval of this recurrence rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} interval New Interval to set\n */\n\n\n set interval(interval) {\n this._modifyContent();\n\n this._innerValue.interval = parseInt(interval, 10);\n }\n /**\n * Gets the weekstart used to calculate the recurrence expansion\n *\n * @returns {Number}\n */\n\n\n get weekStart() {\n return this._innerValue.wkst;\n }\n /**\n * Sets the weekstart used to calculate the recurrence expansion\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if weekstart out of range\n * @param {Number} weekStart New start of week to set\n */\n\n\n set weekStart(weekStart) {\n this._modifyContent();\n\n if (weekStart < DateTimeValue.SUNDAY || weekStart > DateTimeValue.SATURDAY) {\n throw new TypeError('Weekstart out of range');\n }\n\n this._innerValue.wkst = weekStart;\n }\n /**\n * Gets the until value if set\n * The value is automatically locked.\n * If you want to edit the value, clone it and it as new until\n *\n * @returns {null|DateTimeValue}\n */\n\n\n get until() {\n if (!this._until && this._innerValue.until) {\n this._until = DateTimeValue.fromICALJs(this._innerValue.until);\n }\n\n return this._until;\n }\n /**\n * Sets the until value, automatically removes count\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} until New until date to set\n */\n\n\n set until(until) {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n }\n\n this._until = until;\n this._innerValue.count = null;\n this._innerValue.until = until.toICALJs();\n }\n /**\n * Gets the count value if set\n *\n * @returns {null|Number}\n */\n\n\n get count() {\n return this._innerValue.count;\n }\n /**\n * Sets the count value, automatically removes until\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} count New occurrence limit to set\n */\n\n\n set count(count) {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n\n this._until = null;\n }\n\n this._innerValue.until = null;\n this._innerValue.count = parseInt(count, 10);\n }\n /**\n * Gets the frequency of the recurrence rule\n *\n * @returns {String} see\n */\n\n\n get frequency() {\n return this._innerValue.freq;\n }\n /**\n * Sets the frequency of the recurrence rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if frequency is unknown\n * @param {String} freq New frequency to set\n */\n\n\n set frequency(freq) {\n this._modifyContent();\n\n if (!ALLOWED_FREQ.includes(freq)) {\n throw new TypeError('Unknown frequency');\n }\n\n this._innerValue.freq = freq;\n }\n /**\n * Modifies this recurrence-value to unset count and until\n */\n\n\n setToInfinite() {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n\n this._until = null;\n }\n\n this._innerValue.until = null;\n this._innerValue.count = null;\n }\n /**\n * Checks whether the stored rule is finite\n *\n * @returns {Boolean}\n */\n\n\n isFinite() {\n return this._innerValue.isFinite();\n }\n /**\n * Checks whether the recurrence rule is limited by count\n *\n * @returns {Boolean}\n */\n\n\n isByCount() {\n return this._innerValue.isByCount();\n }\n /**\n * Adds a part to a component to the recurrence-rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the recurrence-component to add\n * @param {String|Number} value The value to add\n */\n\n\n addComponent(componentName, value) {\n this._modifyContent();\n\n this._innerValue.addComponent(componentName, value);\n }\n /**\n * Sets / overwrites a component to the recurrence-rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the component to set\n * @param {Number[]|String[]} value The value to set\n */\n\n\n setComponent(componentName, value) {\n this._modifyContent();\n\n if (value.length === 0) {\n delete this._innerValue.parts[componentName.toUpperCase()];\n } else {\n this._innerValue.setComponent(componentName, value);\n }\n }\n /**\n * Removes all parts of a component\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the component to remove\n */\n\n\n removeComponent(componentName) {\n delete this._innerValue.parts[uc(componentName)];\n }\n /**\n * Gets all parts of a component\n *\n * @param {String} componentName The name of the component to get\n * @returns {Array}\n */\n\n\n getComponent(componentName) {\n return this._innerValue.getComponent(componentName);\n }\n /**\n * Checks if this recurrence rule is valid according to RFC 5545\n *\n * @returns {boolean}\n */\n\n\n isRuleValid() {\n return true;\n }\n /**\n * @inheritDoc\n */\n\n\n lock() {\n super.lock();\n\n if (this._until) {\n this._until.lock();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n unlock() {\n super.unlock();\n\n if (this._until) {\n this._until.unlock();\n }\n }\n /**\n * clones this value\n *\n * @returns {RecurValue}\n */\n\n\n clone() {\n return RecurValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new RecurValue object from a ICAL.Recur object\n *\n * @param {ICAL.Recur} icalValue The ICAL.JS Recur value\n * @param {DateTimeValue?} until The Until date\n * @returns {RecurValue}\n */\n\n\n static fromICALJs(icalValue, until = null) {\n return new RecurValue(icalValue, until);\n }\n /**\n * Create a new RecurValue object from a data object\n *\n * @param {Object} data The destructuring object\n * @param {String=} data.freq FREQ part of RRULE\n * @param {Number=} data.interval INTERVAL part of RRULE\n * @param {Number=} data.wkst WEEKSTART part of RRULE\n * @param {DateTimeValue=} data.until UNTIL part of RRULE\n * @param {Number=} data.count COUNT part of RRULE\n * @param {Number[]=} data.bysecond BYSECOND part of RRULE\n * @param {Number[]=} data.byminute BYMINUTE part of RRULE\n * @param {Number[]=} data.byhour BYHOUR part of RRULE\n * @param {String[]=} data.byday BYDAY part of RRULE\n * @param {Number[]=} data.bymonthday BYMONTHDAY part of RRULE\n * @param {Number[]=} data.byyearday BYYEARDAY part of RRULE\n * @param {Number[]=} data.byweekno BYWEEKNO part of RRULE\n * @param {Number[]=} data.bymonth BYMONTH part of RRULE\n * @param {Number[]=} data.bysetpos BYSETPOS part of RRULE\n * @returns {RecurValue}\n */\n\n\n static fromData(data) {\n let until = null;\n\n if (data.until) {\n until = data.until;\n data.until = data.until.toICALJs();\n }\n\n const icalRecur = ICAL.Recur.fromData(data);\n return RecurValue.fromICALJs(icalRecur, until);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class UTCOffsetValue\n * @classdesc Wrapper for ICAL.UtcOffset\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.14\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/utc_offset.js\n */\n\nclass UTCOffsetValue extends AbstractValue {\n /**\n * Gets the hour part of the offset-value\n *\n * @returns {Number}\n */\n get hours() {\n return this._innerValue.hours;\n }\n /**\n * Sets the hour part of the offset-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n \t * @param {Number} hours - New hours to set\n */\n\n\n set hours(hours) {\n this._modifyContent();\n\n this._innerValue.hours = hours;\n }\n /**\n * Gets the minute part of the offset-value\n *\n * @returns {Number}\n */\n\n\n get minutes() {\n return this._innerValue.minutes;\n }\n /**\n * Sets the minute part of the offset-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} minutes - New minutes to set\n */\n\n\n set minutes(minutes) {\n this._modifyContent();\n\n this._innerValue.minutes = minutes;\n }\n /**\n * Gets the factor\n *\n * @returns {Number}\n */\n\n\n get factor() {\n return this._innerValue.factor;\n }\n /**\n * Sets the factor\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if factor is neither 1 nor -1\n * @param {Number} factor - New factor to set, 1 for positive, -1 for negative\n */\n\n\n set factor(factor) {\n this._modifyContent();\n\n if (factor !== 1 && factor !== -1) {\n throw new TypeError('Factor may only be set to 1 or -1');\n }\n\n this._innerValue.factor = factor;\n }\n /**\n * Gets the total amount of seconds\n *\n * @returns {Number}\n */\n\n\n get totalSeconds() {\n return this._innerValue.toSeconds();\n }\n /**\n * Sets the total amount of seconds\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} totalSeconds - New number of total seconds to set\n */\n\n\n set totalSeconds(totalSeconds) {\n this._modifyContent();\n\n this._innerValue.fromSeconds(totalSeconds);\n }\n /**\n * Compares this UTCOffset to another one\n *\n * @param {UTCOffsetValue} other - The other UTCOffsetValue to compare with\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(other) {\n return this._innerValue.compare(other.toICALJs());\n }\n /**\n * Clones this value\n *\n * @returns {UTCOffsetValue}\n */\n\n\n clone() {\n return UTCOffsetValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new UTCOffsetValue object from a ICAL.UTCOffset object\n *\n * @param {ICAL.UtcOffset} icalValue - The ICAL.UtcOffset object to initialize this object from\n * @returns {UTCOffsetValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new UTCOffsetValue(icalValue);\n }\n /**\n * Create a new UTCOffsetValue object from a data object\n *\n * @param {Object} data - Object with data to create UTCOffsetValue object from\n * @param {Number=} data.hours - The number of hours to set\n * @param {Number=} data.minutes - The number of minutes to set\n * @param {Number=} data.factor - The factor to use, 1 for positive, -1 for negative\n * @returns {UTCOffsetValue}\n */\n\n\n static fromData(data) {\n const icalUTCOffset = new ICAL.UtcOffset();\n icalUTCOffset.fromData(data);\n return UTCOffsetValue.fromICALJs(icalUTCOffset);\n }\n /**\n * Create a new UTCOffsetValue object from an amount of seconds\n *w\n * @param {Number} seconds - The total number of seconds to create the UTCOffsetValue object from\n * @returns {UTCOffsetValue}\n */\n\n\n static fromSeconds(seconds) {\n const icalUTCOffset = ICAL.UtcOffset.fromSeconds(seconds);\n return UTCOffsetValue.fromICALJs(icalUTCOffset);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nclass UnknownICALTypeError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Richard Steinmetz <richard@steinmetz.cloud>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n *\n * @param {String} icaltype The icaltype to get a Value constructor for\n * @returns {RecurValue|PeriodValue|BinaryValue|DurationValue|UTCOffsetValue|DateTimeValue}\n */\n\nfunction getConstructorForICALType(icaltype) {\n switch (lc(icaltype)) {\n case 'binary':\n return BinaryValue;\n\n case 'date':\n case 'date-time':\n return DateTimeValue;\n\n case 'duration':\n return DurationValue;\n\n case 'period':\n return PeriodValue;\n\n case 'recur':\n return RecurValue;\n\n case 'utc-offset':\n return UTCOffsetValue;\n\n default:\n throw new UnknownICALTypeError();\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class Property\n * @classdesc This class represents a property as defined in RFC 5545 Section 3.5\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.5\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/property.js\n */\n\nclass Property extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {String} name The name of the property\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n * @param {Parameter[]|[String][]} parameters Array of parameters\n * @param {CalendarComponent|null} root The root of the calendar-document\n * @param {AbstractComponent|null} parent The parent-element of this property\n */\n constructor(name, value = null, parameters = [], root = null, parent = null) {\n super();\n /**\n * Name of the property\n *\n * @type {String}\n * @protected\n */\n\n this._name = uc(name);\n /**\n * Value of the property\n *\n * @type {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n * @protected\n */\n\n this._value = value;\n /**\n * List of parameters associated with this parameter\n *\n * @type {Map<String, Parameter>}\n */\n\n this._parameters = new Map();\n /**\n * Root node of ical document\n *\n * @type {CalendarComponent|null}\n * @protected\n */\n\n this._root = root;\n /**\n * Parent node\n *\n * @type {AbstractComponent|null}\n * @protected\n */\n\n this._parent = parent;\n\n this._setParametersFromConstructor(parameters);\n\n if (value instanceof AbstractValue) {\n value.subscribe(() => this._notifySubscribers());\n }\n }\n /**\n * Get property name\n *\n * @readonly\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Get parameter value\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n */\n\n\n get value() {\n return this._value;\n }\n /**\n * Set new parameter value\n *\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set value(value) {\n this._modifyContent();\n\n this._value = value;\n\n if (value instanceof AbstractValue) {\n value.subscribe(() => this._notifySubscribers());\n }\n }\n /**\n * Gets the root of this property\n *\n * @returns {CalendarComponent|null}\n */\n\n\n get root() {\n return this._root;\n }\n /**\n * Sets the root of this property\n *\n * @param {CalendarComponent|null} root The root of the calendar-document\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set root(root) {\n this._modify();\n\n this._root = root;\n }\n /**\n * Gets the direct parent element of this property\n *\n * @returns {AbstractComponent}\n */\n\n\n get parent() {\n return this._parent;\n }\n /**\n * Sets the direct parent element of this property\n *\n * @param {AbstractComponent|null} parent The parent element of this property\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set parent(parent) {\n this._modify();\n\n this._parent = parent;\n }\n /**\n * Gets the first value of this property\n *\n * @returns {null|String|Number|AbstractValue}\n */\n\n\n getFirstValue() {\n if (!this.isMultiValue()) {\n return this.value;\n } else {\n if (this.value.length > 0) {\n return this.value[0];\n }\n }\n\n return null;\n }\n /**\n * Gets an iterator over all values\n */\n\n\n *getValueIterator() {\n if (this.isMultiValue()) {\n yield* this.value.slice()[Symbol.iterator]();\n } else {\n yield this.value;\n }\n }\n /**\n * Adds a value to the multi-value property\n *\n * @param {String|AbstractValue} value Value to add\n */\n\n\n addValue(value) {\n if (!this.isMultiValue()) {\n throw new TypeError('This is not a multivalue property');\n }\n\n this._modifyContent();\n\n this.value.push(value);\n }\n /**\n * Checks if a value is inside this multi-value property\n *\n * @param {String|AbstractValue} value Value to check for\n * @returns {Boolean}\n */\n\n\n hasValue(value) {\n if (!this.isMultiValue()) {\n throw new TypeError('This is not a multivalue property');\n }\n\n return this.value.includes(value);\n }\n /**\n * Removes a value from this multi-value property\n *\n * @param {String|AbstractValue} value Value to remove\n */\n\n\n removeValue(value) {\n if (!this.hasValue(value)) {\n return;\n }\n\n this._modifyContent();\n\n const index = this.value.indexOf(value);\n this.value.splice(index, 1);\n }\n /**\n * Sets a parameter on this property\n *\n * @param {Parameter} parameter The parameter to set\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n setParameter(parameter) {\n this._modify();\n\n this._parameters.set(parameter.name, parameter);\n\n parameter.subscribe(() => this._notifySubscribers());\n }\n /**\n * Gets a parameter on this property by its name\n *\n * @param {String} parameterName Name of the parameter to get\n * @returns {Parameter}\n */\n\n\n getParameter(parameterName) {\n return this._parameters.get(uc(parameterName));\n }\n /**\n * Gets an iterator over all available parameters\n */\n\n\n *getParametersIterator() {\n yield* this._parameters.values();\n }\n /**\n * Get first value of a parameter\n *\n * @param {String} parameterName Name of the parameter\n * @returns {null|String}\n */\n\n\n getParameterFirstValue(parameterName) {\n const parameter = this.getParameter(parameterName);\n\n if (parameter instanceof Parameter) {\n if (parameter.isMultiValue()) {\n return parameter.value[0];\n } else {\n return parameter.value;\n }\n }\n\n return null;\n }\n /**\n * Returns whether a parameter exists on this property\n *\n * @param {String} parameterName Name of the parameter\n * @returns {boolean}\n */\n\n\n hasParameter(parameterName) {\n return this._parameters.has(uc(parameterName));\n }\n /**\n * Deletes a parameter on this property\n *\n * @param {String} parameterName Name of the parameter\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n deleteParameter(parameterName) {\n this._modify();\n\n this._parameters.delete(uc(parameterName));\n }\n /**\n * update a parameter if it exists,\n * create a new one if it doesn't\n *\n * @param {String} parameterName Name of the parameter\n * @param {string|Array|null} value Value to set\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n updateParameterIfExist(parameterName, value) {\n this._modify();\n\n if (this.hasParameter(parameterName)) {\n const parameter = this.getParameter(parameterName);\n parameter.value = value;\n } else {\n const parameter = new Parameter(uc(parameterName), value);\n this.setParameter(parameter);\n }\n }\n /**\n * Returns whether or not the value is a multivalue\n *\n * @returns {Boolean}\n */\n\n\n isMultiValue() {\n return Array.isArray(this._value);\n }\n /**\n * Returns whether or not this valus is decorated\n *\n * @returns {boolean}\n */\n\n\n isDecoratedValue() {\n if (this.isMultiValue()) {\n return this._value[0] instanceof AbstractValue;\n } else {\n return this._value instanceof AbstractValue;\n }\n }\n /**\n * Marks this parameter is immutable\n * locks it against further modification\n */\n\n\n lock() {\n super.lock();\n\n for (const parameter of this.getParametersIterator()) {\n parameter.lock();\n }\n\n if (this.isDecoratedValue()) {\n for (const value of this.getValueIterator()) {\n value.lock();\n }\n }\n }\n /**\n * Marks this parameter as mutable\n * allowing further modification\n */\n\n\n unlock() {\n super.unlock();\n\n for (const parameter of this.getParametersIterator()) {\n parameter.unlock();\n }\n\n if (this.isDecoratedValue()) {\n for (const value of this.getValueIterator()) {\n value.unlock();\n }\n }\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {Property}\n */\n\n\n clone() {\n const parameters = [];\n\n for (const parameter of this.getParametersIterator()) {\n parameters.push(parameter.clone());\n }\n\n return new this.constructor(this.name, this._cloneValue(), parameters, this.root, this.parent);\n }\n /**\n * Copies the values of this property\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n * @protected\n */\n\n\n _cloneValue() {\n if (this.isDecoratedValue()) {\n if (this.isMultiValue()) {\n return this._value.map(val => val.clone());\n } else {\n return this._value.clone();\n }\n } else {\n if (this.isMultiValue()) {\n // only copy array values, don't copy array reference\n return this._value.slice();\n } else {\n return this._value;\n }\n }\n }\n /**\n * Sets parameters from the constructor\n *\n * @param {Parameter[]|[String][]} parameters Array of parameters to set\n * @private\n */\n\n\n _setParametersFromConstructor(parameters) {\n parameters.forEach(parameter => {\n if (!(parameter instanceof Parameter)) {\n parameter = new Parameter(parameter[0], parameter[1]);\n }\n\n this.setParameter(parameter);\n });\n }\n /**\n * Creates a new Component based on an ical object\n *\n * @param {ICAL.Property} icalProperty The ical.js property to initialise from\n * @param {CalendarComponent=} root The root of the calendar-document\n * @param {AbstractComponent=} parent The parent element of this property\n * @returns {Property}\n */\n\n\n static fromICALJs(icalProperty, root = null, parent = null) {\n if (!(icalProperty instanceof ICAL.Property)) {\n throw new ExpectedICalJSError();\n }\n\n let value;\n\n if (icalProperty.isDecorated) {\n const constructor = getConstructorForICALType(icalProperty.getFirstValue().icaltype);\n\n if (icalProperty.isMultiValue) {\n value = icalProperty.getValues().map(val => constructor.fromICALJs(val));\n } else {\n value = constructor.fromICALJs(icalProperty.getFirstValue());\n }\n } else {\n if (icalProperty.isMultiValue) {\n value = icalProperty.getValues();\n } else {\n value = icalProperty.getFirstValue();\n }\n }\n\n const parameters = [];\n const paramNames = Object.keys(Object.assign({}, icalProperty.toJSON()[1]));\n paramNames.forEach(paramName => {\n // Timezone id is handled by DateTimeValue\n if (uc(paramName) === 'TZID') {\n return;\n }\n\n parameters.push([paramName, icalProperty.getParameter(paramName)]);\n });\n return new this(icalProperty.name, value, parameters, root, parent);\n }\n /**\n * Returns an ICAL.js property based on this Property\n *\n * @returns {ICAL.Property}\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n\n if (this.isMultiValue()) {\n if (this.isDecoratedValue()) {\n icalProperty.setValues(this.value.map(val => val.toICALJs()));\n } else {\n icalProperty.setValues(this.value);\n }\n } else {\n if (this.isDecoratedValue()) {\n icalProperty.setValue(this.value.toICALJs());\n } else {\n icalProperty.setValue(this.value);\n }\n }\n\n for (const parameter of this.getParametersIterator()) {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n }\n\n const firstValue = this.getFirstValue();\n\n if (firstValue instanceof DateTimeValue && firstValue.timezoneId !== 'floating' && firstValue.timezoneId !== 'UTC' && !firstValue.isDate) {\n icalProperty.setParameter('tzid', firstValue.timezoneId);\n }\n\n return icalProperty;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class AttachmentProperty\n * @classdesc This class represents an attachment property as defined in RFC 5545 Section 3.8.1.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n */\n\nclass AttachmentProperty extends Property {\n /**\n * Gets the format-type of this attachment\n *\n * @returns {String}\n */\n get formatType() {\n return this.getParameterFirstValue('FMTTYPE');\n }\n /**\n * Sets the format-type of this attachment\n *\n * @param {String} fmtType Mime-type of attachment\n */\n\n\n set formatType(fmtType) {\n this.updateParameterIfExist('FMTTYPE', fmtType);\n }\n /**\n * Gets the uri of this attachment\n *\n * @returns {String|null}\n */\n\n\n get uri() {\n if (this._value instanceof BinaryValue) {\n return null;\n }\n\n return this._value;\n }\n /**\n * Sets the uri of this attachment\n *\n * @param {String} uri Link to attachment if applicable\n */\n\n\n set uri(uri) {\n this.value = uri;\n }\n /**\n * Gets the encoding of this attachment\n *\n * @returns {string|null}\n */\n\n\n get encoding() {\n if (this._value instanceof BinaryValue) {\n return 'BASE64';\n }\n\n return null;\n }\n /**\n * Gets the data stored in this attachment\n *\n * @returns {String|null}\n */\n\n\n get data() {\n if (this._value instanceof BinaryValue) {\n return this._value.value;\n }\n\n return null;\n }\n /**\n * Sets the data stored in this attachment\n *\n * @param {String} data The data of the attachment\n */\n\n\n set data(data) {\n if (this.value instanceof BinaryValue) {\n this.value.value = data;\n } else {\n this.value = BinaryValue.fromDecodedValue(data);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n toICALJs() {\n const icalProperty = super.toICALJs();\n\n if (this._value instanceof BinaryValue) {\n icalProperty.setParameter('ENCODING', 'BASE64');\n }\n\n return icalProperty;\n }\n /**\n * Creates a new AttachmentProperty based on data\n *\n * @param {String} data The data of the attachment\n * @param {String=} formatType The mime-type of the data\n * @returns {AttachmentProperty}\n */\n\n\n static fromData(data, formatType = null) {\n const binaryValue = BinaryValue.fromDecodedValue(data);\n const property = new AttachmentProperty('ATTACH', binaryValue);\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n /**\n * Creates a new AttachmentProperty based on a link\n *\n * @param {String} uri The URI for the attachment\n * @param {String=} formatType The mime-type of the uri\n * @returns {AttachmentProperty}\n */\n\n\n static fromLink(uri, formatType = null) {\n const property = new AttachmentProperty('ATTACH', uri);\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class AttendeeProperty\n * @classdesc This class represents an attendee property as defined in RFC 5545 Section 3.8.4.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n */\n\nclass AttendeeProperty extends Property {\n /**\n * Returns the role of the attendee.\n *\n * @returns {string}\n */\n get role() {\n const allowed = ['CHAIR', 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT'];\n const defaultValue = 'REQ-PARTICIPANT';\n\n if (this.hasParameter('ROLE')) {\n const value = this.getParameterFirstValue('ROLE');\n\n if (allowed.includes(value)) {\n return value;\n }\n }\n\n return defaultValue;\n }\n /**\n * Sets new role of the attendee\n *\n * @param {String} role The role of the attendee (e.g. CHAIR, REQ-PARTICIPANT)\n */\n\n\n set role(role) {\n this.updateParameterIfExist('ROLE', role);\n }\n /**\n * Returns the calendar-user-type of an attendee\n *\n * @returns {string}\n */\n\n\n get userType() {\n const allowed = ['INDIVIDUAL', 'GROUP', 'RESOURCE', 'ROOM', 'UNKNOWN'];\n\n if (!this.hasParameter('CUTYPE')) {\n return 'INDIVIDUAL';\n } else {\n const value = this.getParameterFirstValue('CUTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n\n return 'UNKNOWN';\n }\n }\n /**\n * Sets new calendar-user-type of attendee\n *\n * @param {String} userType The type of user (e.g. INDIVIDUAL, GROUP)\n */\n\n\n set userType(userType) {\n this.updateParameterIfExist('CUTYPE', userType);\n }\n /**\n * Returns the \"Répondez s'il vous plaît\" value for attendee\n *\n * @returns {boolean}\n */\n\n\n get rsvp() {\n if (!this.hasParameter('RSVP')) {\n return false;\n } else {\n const value = this.getParameterFirstValue('RSVP');\n return uc(value) === 'TRUE';\n }\n }\n /**\n * Updates the \"Répondez s'il vous plaît\" value for attendee\n *\n * @param {boolean} rsvp Whether or not to send out an invitation\n */\n\n\n set rsvp(rsvp) {\n this.updateParameterIfExist('RSVP', rsvp ? 'TRUE' : 'FALSE');\n }\n /**\n * Returns the common-name of the attendee\n *\n * @returns {string|null}\n */\n\n\n get commonName() {\n return this.getParameterFirstValue('CN');\n }\n /**\n * Sets a new common-name of the attendee\n *\n * @param {string} commonName The display name of the attendee\n */\n\n\n set commonName(commonName) {\n this.updateParameterIfExist('CN', commonName);\n }\n /**\n * Returns the participation-status of the attendee\n *\n * @returns {string}\n */\n\n\n get participationStatus() {\n let vobjectType;\n\n if (this.parent) {\n vobjectType = this.parent.name;\n } else {\n // let's assume we are inside an event\n // if we don't know better\n vobjectType = 'VEVENT';\n }\n\n const allowed = {\n VEVENT: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED'],\n VJOURNAL: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED'],\n VTODO: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED', 'COMPLETED', 'IN-PROCESS']\n };\n\n if (!this.hasParameter('PARTSTAT')) {\n return 'NEEDS-ACTION';\n } else {\n const value = this.getParameterFirstValue('PARTSTAT');\n\n if (allowed[vobjectType].includes(value)) {\n return value;\n }\n\n return 'NEEDS-ACTION';\n }\n }\n /**\n * Sets a new participation-status of the attendee\n *\n * @param {String} participationStatus The participation status (e.g. ACCEPTED, DECLINED)\n */\n\n\n set participationStatus(participationStatus) {\n this.updateParameterIfExist('PARTSTAT', participationStatus);\n }\n /**\n * Gets this attendee's language\n *\n * @returns {String}\n */\n\n\n get language() {\n return this.getParameterFirstValue('LANGUAGE');\n }\n /**\n * Sets this attendee's language\n * This can be used to influence the language of the invitation email\n *\n * @param {String} language The preferred language of the attendee\n */\n\n\n set language(language) {\n this.updateParameterIfExist('LANGUAGE', language);\n }\n /**\n * Gets the email of the attendee\n *\n * @returns {String}\n */\n\n\n get email() {\n return this.value;\n }\n /**\n * Sets the email address of the attendee\n *\n * @param {String} email The e-email address of the attendee\n */\n\n\n set email(email) {\n this.value = startStringWith(email, 'mailto:');\n }\n /**\n * Is this attendee the organizer?\n *\n * @returns {boolean}\n */\n\n\n isOrganizer() {\n return this._name === 'ORGANIZER';\n }\n /**\n * Creates a new AttendeeProperty from name and email\n *\n * @param {String} name The display name\n * @param {String} email The email address\n * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n * @returns {AttendeeProperty}\n */\n\n\n static fromNameAndEMail(name, email, isOrganizer = false) {\n const propertyName = isOrganizer ? 'ORGANIZER' : 'ATTENDEE';\n email = startStringWith(email, 'mailto:');\n return new AttendeeProperty(propertyName, email, [['CN', name]]);\n }\n /**\n * Creates a new AttendeeProperty from name, email, role, userType and rsvp\n *\n * @param {String} name The display name\n * @param {String} email The email address\n * @param {String} role The role\n * @param {String} userType The type of user\n * @param {Boolean} rsvp Whether to send out an invitation\n * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n * @returns {AttendeeProperty}\n */\n\n\n static fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, isOrganizer = false) {\n const propertyName = isOrganizer ? 'ORGANIZER' : 'ATTENDEE';\n email = startStringWith(email, 'mailto:');\n return new AttendeeProperty(propertyName, email, [['CN', name], ['ROLE', role], ['CUTYPE', userType], ['RSVP', rsvp ? 'TRUE' : 'FALSE']]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nICAL.design.icalendar.property.conference = {\n defaultType: 'uri'\n};\nICAL.design.icalendar.param.feature = {\n valueType: 'cal-address',\n multiValue: ','\n};\n/**\n * @class ConferenceProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n */\n\nclass ConferenceProperty extends Property {\n /**\n * Iterator that iterates over all supported features\n * of the conference system\n */\n *getFeatureIterator() {\n if (!this.hasParameter('FEATURE')) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n yield* parameter.getValueIterator();\n }\n /**\n * Lists all supported features of the conference system\n *\n * @returns {String[]}\n */\n\n\n listAllFeatures() {\n if (!this.hasParameter('FEATURE')) {\n return [];\n }\n\n return this.getParameter('FEATURE').value.slice();\n }\n /**\n * Adds a supported feature to the conference system\n *\n * @param {String} featureToAdd Feature to add\n */\n\n\n addFeature(featureToAdd) {\n this._modify();\n\n if (!this.hasParameter('FEATURE')) {\n this.updateParameterIfExist('FEATURE', [featureToAdd]);\n } else {\n if (this.hasFeature(featureToAdd)) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n parameter.value.push(featureToAdd);\n }\n }\n /**\n * Removes a supported feature\n *\n * @param {String} feature The feature to remove\n */\n\n\n removeFeature(feature) {\n this._modify();\n\n if (!this.hasFeature(feature)) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n const index = parameter.value.indexOf(feature);\n parameter.value.splice(index, 1);\n }\n /**\n * Removes all supported features from this conference system\n */\n\n\n clearAllFeatures() {\n this.deleteParameter('FEATURE');\n }\n /**\n * Check if this conference system supports a feature\n *\n * @param {String} feature The feature to check\n * @returns {boolean}\n */\n\n\n hasFeature(feature) {\n if (!this.hasParameter('FEATURE')) {\n return false;\n }\n\n const parameter = this.getParameter('FEATURE');\n\n if (!Array.isArray(parameter.value)) {\n return false;\n }\n\n return parameter.value.includes(feature);\n }\n /**\n * Gets label for the conference system\n *\n * @returns {String}\n */\n\n\n get label() {\n return this.getParameterFirstValue('LABEL');\n }\n /**\n * Updates the label for the conference system\n *\n * @param {String} label The label to set\n */\n\n\n set label(label) {\n this.updateParameterIfExist('LABEL', label);\n }\n /**\n * Gets the uri for this conference system\n */\n\n\n get uri() {\n return this.value;\n }\n /**\n * Sets the uri for this conference system\n *\n * @param {String} uri The URI to set\n */\n\n\n set uri(uri) {\n this.value = uri;\n }\n /**\n * @inheritDoc\n */\n\n\n toICALJs() {\n const icalProperty = super.toICALJs();\n icalProperty.setParameter('value', 'URI');\n return icalProperty;\n }\n /**\n * Creates a new ConferenceProperty based on URI, label and features\n *\n * @param {String} uri URI of the Conference\n * @param {String=} label Label of the conference\n * @param {String[]=} features Features of the conference\n * @returns {ConferenceProperty}\n */\n\n\n static fromURILabelAndFeatures(uri, label = null, features = null) {\n const property = new ConferenceProperty('CONFERENCE', uri);\n\n if (label) {\n property.updateParameterIfExist('label', label);\n }\n\n if (features) {\n property.updateParameterIfExist('feature', features);\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class FreeBusyProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.6\n */\n\nclass FreeBusyProperty extends Property {\n /**\n * Gets the type of this FreeBusyProperty\n *\n * @returns {String}\n */\n get type() {\n const allowed = ['FREE', 'BUSY', 'BUSY-UNAVAILABLE', 'BUSY-TENTATIVE'];\n const defaultValue = 'BUSY';\n\n if (this.hasParameter('FBTYPE')) {\n const value = this.getParameterFirstValue('FBTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n }\n\n return defaultValue;\n }\n /**\n * Sets the type of this FreeBusyProperty\n *\n * @param {String} type The type of information (e.g. FREE, BUSY, etc.)\n */\n\n\n set type(type) {\n this.updateParameterIfExist('FBTYPE', type);\n }\n /**\n * Creates a new FreeBusyProperty based on period and type\n *\n * @param {PeriodValue} period The period for FreeBusy Information\n * @param {String} type The type of the period\n * @returns {FreeBusyProperty}\n */\n\n\n static fromPeriodAndType(period, type) {\n return new FreeBusyProperty('FREEBUSY', period, [['fbtype', type]]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class GeoProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n */\n\nclass GeoProperty extends Property {\n /**\n * @inheritDoc\n */\n constructor(name, value = [0, 0], parameters = [], root = null, parent = null) {\n super(name, value, parameters, root, parent);\n }\n /**\n * Gets the latitude stored in this property\n *\n * @returns {Number}\n */\n\n\n get latitude() {\n return this._value[0];\n }\n /**\n * Sets the latitude stored in this property\n *\n * @param {String|Number} lat Latitude\n */\n\n\n set latitude(lat) {\n this._modifyContent();\n\n if (typeof lat !== 'number') {\n lat = parseFloat(lat);\n }\n\n this._value[0] = lat;\n }\n /**\n * Gets the longitude stored in this property\n */\n\n\n get longitude() {\n return this._value[1];\n }\n /**\n * Sets the longitude stored in this property\n *\n * @param {String|Number} long Longitude\n */\n\n\n set longitude(long) {\n this._modifyContent();\n\n if (typeof long !== 'number') {\n long = parseFloat(long);\n }\n\n this._value[1] = long;\n }\n /**\n * @inheritDoc\n *\n * TODO: this is an ugly hack right now.\n * As soon as the value is an array, we assume it's multivalue\n * but GEO is a (the one and only besides request-status) structured value and is also\n * stored inside an array.\n *\n * Calling icalProperty.setValues will throw an error\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n icalProperty.setValue(this.value);\n\n this._parameters.forEach(parameter => {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n });\n\n return icalProperty;\n }\n /**\n * Creates a new GeoProperty based on a latitude and a longitude value\n *\n * @param {Number} lat Latitude\n * @param {Number} long Longitude\n * @returns {GeoProperty}\n */\n\n\n static fromPosition(lat, long) {\n return new GeoProperty('GEO', [lat, long]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ImageProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.10\n */\n\nclass ImageProperty extends AttachmentProperty {\n /**\n * Gets the image-type\n */\n get display() {\n return this.getParameterFirstValue('DISPLAY') || 'BADGE';\n }\n /**\n * Gets the image-type\n *\n * @param {String} display The display-type image is optimized for\n */\n\n\n set display(display) {\n this.updateParameterIfExist('DISPLAY', display);\n }\n /**\n * Creates a new ImageProperty based on data\n *\n * @param {String} data The data of the image\n * @param {String=} display The display-type it's optimized for\n * @param {String=} formatType The mime-type of the image\n * @returns {ImageProperty}\n */\n\n\n static fromData(data, display = null, formatType = null) {\n const binaryValue = BinaryValue.fromDecodedValue(data);\n const property = new ImageProperty('IMAGE', binaryValue);\n\n if (display) {\n property.display = display;\n }\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n /**\n * Creates a new ImageProperty based on a link\n *\n * @param {String} uri The uri of the image\n * @param {String=} display The display-type it's optimized for\n * @param {String=} formatType The mime-type of the image\n * @returns {ImageProperty}\n */\n\n\n static fromLink(uri, display = null, formatType = null) {\n const property = new ImageProperty('IMAGE', uri);\n\n if (display) {\n property.display = display;\n }\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class RelationProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.5\n */\n\nclass RelationProperty extends Property {\n /**\n * Get's the relation-type of this related-to property\n *\n * @returns {String}\n */\n get relationType() {\n const allowed = ['PARENT', 'CHILD', 'SIBLING'];\n const defaultValue = 'PARENT';\n\n if (!this.hasParameter('RELTYPE')) {\n return defaultValue;\n } else {\n const value = this.getParameterFirstValue('RELTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n\n return defaultValue;\n }\n }\n /**\n * Sets a new relation type\n *\n * @param {String} relationType The type of relation (e.g. SIBLING, PARENT, etc.)\n */\n\n\n set relationType(relationType) {\n this.updateParameterIfExist('RELTYPE', relationType);\n }\n /**\n * Gets Id of related object\n *\n * @returns {String}\n */\n\n\n get relatedId() {\n return this.value;\n }\n /**\n * Sets a new related id\n *\n * @param {String} relatedId The Id of the related document\n */\n\n\n set relatedId(relatedId) {\n this.value = relatedId;\n }\n /**\n * Creates a new RELATED-TO property based on a relation-type and id\n *\n * @param {String} relType The type of the relation (e.g. SIBLING, CHILD)\n * @param {String} relId The Id of the related document\n * @returns {RelationProperty}\n */\n\n\n static fromRelTypeAndId(relType, relId) {\n return new RelationProperty('RELATED-TO', relId, [['RELTYPE', relType]]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class RequestStatusProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.8.3\n */\n\nclass RequestStatusProperty extends Property {\n /**\n * @inheritDoc\n */\n constructor(name, value = ['1', 'Pending'], parameters = [], root = null, parent = null) {\n super(name, value, parameters, root, parent);\n }\n /**\n * Gets the status code of the request status\n *\n * @returns {Number}\n */\n\n\n get statusCode() {\n return parseFloat(this.value[0]);\n }\n /**\n * Sets the status code of the request status\n *\n * @param {Number} statusCode The statusCode of the request\n */\n\n\n set statusCode(statusCode) {\n this._modifyContent();\n\n this.value[0] = statusCode.toString(); // This makes sure 2.0 is actually saved as 2.0, not 2\n\n if (statusCode === Math.floor(statusCode)) {\n this.value[0] += '.0';\n }\n }\n /**\n * Gets the status message of the request status\n *\n * @returns {string}\n */\n\n\n get statusMessage() {\n return this.value[1];\n }\n /**\n * Sets the status message of the request status\n *\n * @param {String} statusMessage The message of the request\n */\n\n\n set statusMessage(statusMessage) {\n this._modifyContent();\n\n this.value[1] = statusMessage;\n }\n /**\n * Gets the exception data of the request status if available\n *\n * @returns {null|String}\n */\n\n\n get exceptionData() {\n if (!this.value[2]) {\n return null;\n }\n\n return this.value[2];\n }\n /**\n * Sets the exception dtat of the request status\n *\n * @param {String} exceptionData The additional exception-data\n */\n\n\n set exceptionData(exceptionData) {\n this._modifyContent();\n\n this.value[2] = exceptionData;\n }\n /**\n * Check if request is pending\n *\n * @returns {boolean}\n */\n\n\n isPending() {\n return this.statusCode >= 1 && this.statusCode < 2;\n }\n /**\n * Check if request was successful\n *\n * @returns {boolean}\n */\n\n\n isSuccessful() {\n return this.statusCode >= 2 && this.statusCode < 3;\n }\n /**\n * Check if a client error occurred\n *\n * @returns {boolean}\n */\n\n\n isClientError() {\n return this.statusCode >= 3 && this.statusCode < 4;\n }\n /**\n * Check if a scheduling error occurred\n *\n * @returns {boolean}\n */\n\n\n isSchedulingError() {\n return this.statusCode >= 4 && this.statusCode < 5;\n }\n /**\n * @inheritDoc\n *\n * TODO: this is an ugly hack right now.\n * As soon as the value is an array, we assume it's multivalue\n * but REQUEST-STATUS is a (the one and only besides GEO) structured value and is also\n * stored inside an array.\n *\n * Calling icalProperty.setValues will throw an error\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n icalProperty.setValue(this.value);\n\n this._parameters.forEach(parameter => {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n });\n\n return icalProperty;\n }\n /**\n * Creates a new RequestStatusProperty from a code and a status message\n *\n * @param {Number} code The status-code of the request\n * @param {String} message The message of the request\n * @returns {RequestStatusProperty}\n */\n\n\n static fromCodeAndMessage(code, message) {\n return new RequestStatusProperty('REQUEST-STATUS', [code.toString(), message]);\n }\n\n} // All request statuses registered in RFC 5546\n\nRequestStatusProperty.SUCCESS = [2.0, 'Success'];\nRequestStatusProperty.SUCCESS_FALLBACK = [2.1, 'Success, but fallback taken on one or more property values.'];\nRequestStatusProperty.SUCCESS_PROP_IGNORED = [2.2, 'Success; invalid property ignored.'];\nRequestStatusProperty.SUCCESS_PROPPARAM_IGNORED = [2.3, 'Success; invalid property parameter ignored.'];\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROP_IGNORED = [2.4, 'Success; unknown, non-standard property ignored.'];\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED = [2.5, 'Success; unknown, non-standard property value ignored.'];\nRequestStatusProperty.SUCCESS_COMP_IGNORED = [2.6, 'Success; invalid calendar component ignored.'];\nRequestStatusProperty.SUCCESS_FORWARDED = [2.7, 'Success; request forwarded to Calendar User.'];\nRequestStatusProperty.SUCCESS_REPEATING_IGNORED = [2.8, 'Success; repeating event ignored. Scheduled as a single component.'];\nRequestStatusProperty.SUCCESS_TRUNCATED_END = [2.9, 'Success; truncated end date time to date boundary.'];\nRequestStatusProperty.SUCCESS_REPEATING_VTODO_IGNORED = [2.10, 'Success; repeating VTODO ignored. Scheduled as a single VTODO.'];\nRequestStatusProperty.SUCCESS_UNBOUND_RRULE_CLIPPED = [2.11, 'Success; unbounded RRULE clipped at some finite number of instances.'];\nRequestStatusProperty.CLIENT_INVALID_PROPNAME = [3.0, 'Invalid property name.'];\nRequestStatusProperty.CLIENT_INVALID_PROPVALUE = [3.1, 'Invalid property value.'];\nRequestStatusProperty.CLIENT_INVALID_PROPPARAM = [3.2, 'Invalid property parameter.'];\nRequestStatusProperty.CLIENT_INVALID_PROPPARAMVALUE = [3.3, 'Invalid property parameter value.'];\nRequestStatusProperty.CLIENT_INVALUD_CALENDAR_COMP_SEQ = [3.4, 'Invalid calendar component sequence.'];\nRequestStatusProperty.CLIENT_INVALID_DATE_TIME = [3.5, 'Invalid date or time.'];\nRequestStatusProperty.CLIENT_INVALID_RRULE = [3.6, 'Invalid rule.'];\nRequestStatusProperty.CLIENT_INVALID_CU = [3.7, 'Invalid Calendar User.'];\nRequestStatusProperty.CLIENT_NO_AUTHORITY = [3.8, 'No authority.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_VERSION = [3.9, 'Unsupported version.'];\nRequestStatusProperty.CLIENT_TOO_LARGE = [3.10, 'Request entity too large.'];\nRequestStatusProperty.CLIENT_REQUIRED_COMP_OR_PROP_MISSING = [3.11, 'Required component or property missing.'];\nRequestStatusProperty.CLIENT_UNKNOWN_COMP_OR_PROP = [3.12, 'Unknown component or property found.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_COMP_OR_PROP = [3.13, 'Unsupported component or property found.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_CAPABILITY = [3.14, 'Unsupported capability.'];\nRequestStatusProperty.SCHEDULING_EVENT_CONFLICT = [4.0, 'Event conflict. Date/time is busy.'];\nRequestStatusProperty.SERVER_REQUEST_NOT_SUPPORTED = [5.0, 'Request not supported.'];\nRequestStatusProperty.SERVER_SERVICE_UNAVAILABLE = [5.1, 'Service unavailable.'];\nRequestStatusProperty.SERVER_INVALID_CALENDAR_SERVICE = [5.2, 'Invalid calendar service.'];\nRequestStatusProperty.SERVER_NO_SCHEDULING_FOR_USER = [5.3, 'No scheduling support for user.'];\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class TextProperty\n * @classdesc\n */\n\nclass TextProperty extends Property {\n /**\n * Gets the alternate text\n *\n * @returns {String}\n */\n get alternateText() {\n return this.getParameterFirstValue('ALTREP');\n }\n /**\n * Sets the alternate text\n *\n * @param {String} altRep The alternative text\n */\n\n\n set alternateText(altRep) {\n this.updateParameterIfExist('ALTREP', altRep);\n }\n /**\n * Gets language of this property\n *\n * @returns {String}\n */\n\n\n get language() {\n return this.getParameterFirstValue('LANGUAGE');\n }\n /**\n * Sets language of this property\n *\n * @param {String} language The language of the text\n */\n\n\n set language(language) {\n this.updateParameterIfExist('LANGUAGE', language);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class TriggerProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n */\n\nclass TriggerProperty extends Property {\n /**\n * Gets the related parameter\n *\n * @returns {String}\n */\n get related() {\n if (!this.hasParameter('RELATED')) {\n return 'START';\n }\n\n return this.getParameterFirstValue('RELATED');\n }\n /**\n * Sets the related parameter\n *\n * @param {String} related Either START or END\n */\n\n\n set related(related) {\n this.updateParameterIfExist('RELATED', related);\n }\n /**\n * Gets the value of this trigger\n * (If you override the setter, you also have to override the getter or\n * it will simply be undefined)\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]}\n */\n\n\n get value() {\n return super.value;\n }\n /**\n * Set the value of this trigger\n *\n * @param {DurationValue|DateTimeValue} value The time of trigger\n */\n\n\n set value(value) {\n super.value = value; // If it's not a duration, remove related parameter\n\n if (value instanceof DateTimeValue) {\n this.deleteParameter('RELATED');\n super.value = value.getInUTC();\n }\n }\n /**\n * Gets whether this alarm trigger is relative\n *\n * @returns {boolean}\n */\n\n\n isRelative() {\n return this.getFirstValue() instanceof DurationValue;\n }\n /**\n * Creates a new absolute trigger\n *\n * @param {DateTimeValue} alarmTime Time to create Trigger from\n * @returns {TriggerProperty}\n */\n\n\n static fromAbsolute(alarmTime) {\n return new TriggerProperty('TRIGGER', alarmTime);\n }\n /**\n * Creates a new relative trigger\n *\n * @param {DurationValue} alarmOffset Duration to create Trigger from\n * @param {Boolean=} relatedToStart Related to Start or end?\n * @returns {TriggerProperty}\n */\n\n\n static fromRelativeAndRelated(alarmOffset, relatedToStart = true) {\n return new TriggerProperty('TRIGGER', alarmOffset, [['RELATED', relatedToStart ? 'START' : 'END']]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Richard Steinmetz <richard@steinmetz.cloud>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n *\n * @param {String} propName Name of the prop to get constructor for\n * @returns {AttendeeProperty|GeoProperty|ConferenceProperty|Property|AttachmentProperty|ImageProperty|RelationProperty|RequestStatusProperty}\n */\n\nfunction getConstructorForPropertyName(propName) {\n switch (uc(propName)) {\n case 'ATTACH':\n return AttachmentProperty;\n\n case 'ATTENDEE':\n case 'ORGANIZER':\n return AttendeeProperty;\n\n case 'CONFERENCE':\n return ConferenceProperty;\n\n case 'FREEBUSY':\n return FreeBusyProperty;\n\n case 'GEO':\n return GeoProperty;\n\n case 'IMAGE':\n return ImageProperty;\n\n case 'RELATED-TO':\n return RelationProperty;\n\n case 'REQUEST-STATUS':\n return RequestStatusProperty;\n\n case 'TRIGGER':\n return TriggerProperty;\n\n case 'COMMENT':\n case 'CONTACT':\n case 'DESCRIPTION':\n case 'LOCATION':\n case 'SUMMARY':\n return TextProperty;\n\n default:\n return Property;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class AbstractComponent\n */\n\nclass AbstractComponent extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {String} name - Name of component\n * @param {Property[]} properties - Array of properties stored inside the component\n * @param {AbstractComponent[]} components - Array of subcomponents stored inside this component\n * @param {CalendarComponent|null} root - The root of this calendar document\n * @param {AbstractComponent|null} parent - The parent component of this element\n */\n constructor(name, properties = [], components = [], root = null, parent = null) {\n super();\n /**\n * Name of component\n *\n * @type {String}\n * @private\n */\n\n this._name = uc(name);\n /**\n * All properties in this component\n *\n * @type {Map<String, Property[]>}\n * @private\n */\n\n this._properties = new Map();\n /**\n * All subcomponents of this component\n *\n * @type {Map<String, AbstractComponent[]>}\n * @private\n */\n\n this._components = new Map();\n /**\n * Root node of ical document\n *\n * @type {CalendarComponent|null}\n * @private\n */\n\n this._root = root;\n /**\n * Parent node\n *\n * @type {AbstractComponent|null}\n * @private\n */\n\n this._parent = parent;\n\n this._setPropertiesFromConstructor(properties);\n\n this._setComponentsFromConstructor(components);\n }\n /**\n * Get the component's name\n *\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Gets the root of this calendar-document\n *\n * @returns {CalendarComponent}\n */\n\n\n get root() {\n return this._root;\n }\n /**\n * Sets the root of this calendar-document\n *\n * @param {CalendarComponent} root The new root element\n */\n\n\n set root(root) {\n this._modify();\n\n this._root = root;\n\n for (const property of this.getPropertyIterator()) {\n property.root = root;\n }\n\n for (const component of this.getComponentIterator()) {\n component.root = root;\n }\n }\n /**\n * Gets the parent component\n *\n * @returns {AbstractComponent}\n */\n\n\n get parent() {\n return this._parent;\n }\n /**\n * Sets the parent component\n *\n * @param {AbstractComponent} parent The new parent element\n */\n\n\n set parent(parent) {\n this._modify();\n\n this._parent = parent;\n }\n /**\n * Gets the first property that matches the given propertyName\n *\n * @param {String} propertyName Name of the property to get\n * @returns {Property|null}\n */\n\n\n getFirstProperty(propertyName) {\n if (!this._properties.has(uc(propertyName))) {\n return null;\n }\n\n return this._properties.get(uc(propertyName))[0];\n }\n /**\n * Gets the first value of the first property matching that name\n *\n * @param {String} propertyName Name of the property to get first value of\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n */\n\n\n getFirstPropertyFirstValue(propertyName) {\n const property = this.getFirstProperty(propertyName);\n\n if (!property) {\n return null;\n }\n\n return property.getFirstValue();\n }\n /**\n * update a property if it exists,\n * create a new one if it doesn't\n *\n * @param {String} propertyName Name of the property to update / create\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value to set\n */\n\n\n updatePropertyWithValue(propertyName, value) {\n this._modify();\n\n const property = this.getFirstProperty(propertyName);\n\n if (property) {\n property.value = value;\n } else {\n const constructor = getConstructorForPropertyName(propertyName);\n const newProperty = new constructor(propertyName, value, [], this, this.root);\n this.addProperty(newProperty);\n }\n }\n /**\n * Returns iterator for all properties of a given propertyName\n * or if no propertyName was given over all available properties\n *\n * @param {String=} propertyName Name of the property to get an iterator for\n */\n\n\n *getPropertyIterator(propertyName = null) {\n if (propertyName) {\n if (!this.hasProperty(propertyName)) {\n return;\n } // this._properties.get() returns an array\n // [Symbol.iterator]() creates an iterator from that array\n\n\n yield* this._properties.get(uc(propertyName)).slice()[Symbol.iterator]();\n } else {\n for (const key of this._properties.keys()) {\n yield* this.getPropertyIterator(key);\n }\n }\n }\n /**\n * Get all properties by name that match the given LANG parameter\n *\n * @param {String} propertyName The name of the property\n * @param {String|null} lang The lang to query\n * @private\n */\n\n\n *_getAllOfPropertyByLang(propertyName, lang) {\n for (const property of this.getPropertyIterator(propertyName)) {\n // getParameterFirstValue will return null if language not set, so no language parameter will match lang=null\n if (property.getParameterFirstValue('LANGUAGE') === lang) {\n yield property;\n }\n }\n }\n /**\n * Get the first property by name that matches the given LANG parameter\n *\n * @param {String} propertyName The name of the property\n * @param {String|null} lang The lang to query\n * @returns {Property|null}\n * @private\n */\n\n\n _getFirstOfPropertyByLang(propertyName, lang) {\n const iterator = this._getAllOfPropertyByLang(propertyName, lang);\n\n return iterator.next().value || null;\n }\n /**\n * Adds a property\n *\n * @param {Property} property The property to add\n * @returns {boolean}\n */\n\n\n addProperty(property) {\n this._modify();\n\n property.root = this.root;\n property.parent = this;\n\n if (this._properties.has(property.name)) {\n const arr = this._properties.get(property.name);\n\n if (arr.indexOf(property) !== -1) {\n // If the property is already part of this component,\n // return false to indicate an error\n return false;\n }\n\n arr.push(property);\n } else {\n this._properties.set(property.name, [property]);\n }\n\n property.subscribe(() => this._notifySubscribers());\n return true;\n }\n /**\n * Checks if this component has a property of the given name\n *\n * @param {String} propertyName The name of the property\n * @returns {boolean}\n */\n\n\n hasProperty(propertyName) {\n return this._properties.has(uc(propertyName));\n }\n /**\n * Removes the given property from this component\n *\n * @param {Property} property The property to delete\n * @returns {boolean}\n */\n\n\n deleteProperty(property) {\n this._modify();\n\n if (!this._properties.has(property.name)) {\n return false;\n }\n\n const arr = this._properties.get(property.name);\n\n const index = arr.indexOf(property);\n\n if (index === -1) {\n return false;\n }\n\n if (index !== -1 && arr.length === 1) {\n // If this is the last property of the given name,\n // remove the entire array from _properties\n // This is required for hasProperty to work properly\n this._properties.delete(property.name);\n } else {\n arr.splice(index, 1);\n }\n\n return true;\n }\n /**\n * Removes all properties of a given name\n *\n * @param {String} propertyName The name of the property\n * @returns {boolean}\n */\n\n\n deleteAllProperties(propertyName) {\n this._modify();\n\n return this._properties.delete(uc(propertyName));\n }\n /**\n * Gets the first component of a given name\n *\n * @param {String} componentName The name of the component\n * @returns {AbstractComponent|null}\n */\n\n\n getFirstComponent(componentName) {\n if (!this.hasComponent(componentName)) {\n return null;\n }\n\n return this._components.get(uc(componentName))[0];\n }\n /**\n * Returns iterator for all components of a given componentName\n * or if no componentName was given over all available components\n *\n * @param {String=} componentName The name of the component\n */\n\n\n *getComponentIterator(componentName) {\n if (componentName) {\n if (!this.hasComponent(componentName)) {\n return;\n } // this._components.get() returns an array\n // [Symbol.iterator]() creates an iterator from that array\n\n\n yield* this._components.get(uc(componentName)).slice()[Symbol.iterator]();\n } else {\n for (const key of this._components.keys()) {\n yield* this.getComponentIterator(key);\n }\n }\n }\n /**\n * Adds a new component to this component\n *\n * @param {AbstractComponent} component The component to add\n * @returns {Boolean}\n */\n\n\n addComponent(component) {\n this._modify();\n\n component.root = this.root;\n component.parent = this;\n\n if (this._components.has(component.name)) {\n const arr = this._components.get(component.name);\n\n if (arr.indexOf(component) !== -1) {\n // If the property is already part of this component,\n // return false to indicate an error\n return false;\n }\n\n arr.push(component);\n } else {\n this._components.set(component.name, [component]);\n }\n\n component.subscribe(() => this._notifySubscribers());\n return true;\n }\n /**\n * Checks if this component has a component of the given name\n *\n * @param {String} componentName The name of the component\n * @returns {boolean}\n */\n\n\n hasComponent(componentName) {\n return this._components.has(uc(componentName));\n }\n /**\n * Removes the given component from this component\n *\n * @param {AbstractComponent} component The component to delete\n * @returns {boolean}\n */\n\n\n deleteComponent(component) {\n this._modify();\n\n if (!this._components.has(component.name)) {\n return false;\n }\n\n const arr = this._components.get(component.name);\n\n const index = arr.indexOf(component);\n\n if (index === -1) {\n return false;\n }\n\n if (index !== -1 && arr.length === 1) {\n // If this is the last component of the given name,\n // remove the entire array from _components\n // This is required for hasComponent to work properly\n this._components.delete(component.name);\n } else {\n arr.splice(index, 1);\n }\n\n return true;\n }\n /**\n * Removes all components of a given name\n *\n * @param {String} componentName The name of the component\n * @returns {boolean}\n */\n\n\n deleteAllComponents(componentName) {\n this._modify();\n\n return this._components.delete(uc(componentName));\n }\n /**\n * Marks this parameter is immutable\n * locks it against further modification\n */\n\n\n lock() {\n super.lock();\n\n for (const property of this.getPropertyIterator()) {\n property.lock();\n }\n\n for (const component of this.getComponentIterator()) {\n component.lock();\n }\n }\n /**\n * Marks this parameter as mutable\n * allowing further modification\n */\n\n\n unlock() {\n super.unlock();\n\n for (const property of this.getPropertyIterator()) {\n property.unlock();\n }\n\n for (const component of this.getComponentIterator()) {\n component.unlock();\n }\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {AbstractComponent}\n */\n\n\n clone() {\n const properties = [];\n\n for (const property of this.getPropertyIterator()) {\n properties.push(property.clone());\n }\n\n const components = [];\n\n for (const component of this.getComponentIterator()) {\n components.push(component.clone());\n }\n\n return new this.constructor(this.name, properties, components, this.root, this.parent);\n }\n /**\n * Adds properties from constructor to this._properties\n *\n * @param {Property[]} properties Array of properties\n * @private\n */\n\n\n _setPropertiesFromConstructor(properties) {\n for (let property of properties) {\n if (Array.isArray(property)) {\n const constructor = getConstructorForPropertyName(property[0]);\n property = new constructor(property[0], property[1]);\n }\n\n this.addProperty(property);\n }\n }\n /**\n * Adds components from constructor to this._components\n *\n * @param {AbstractComponent[]} components Array of components\n * @private\n */\n\n\n _setComponentsFromConstructor(components) {\n for (const component of components) {\n this.addComponent(component);\n }\n }\n /**\n * Creates a new Component based on an ical object\n *\n * @param {ICAL.Component} icalValue The ical.js component to initialise from\n * @param {CalendarComponent=} root The root of the Calendar Document\n * @param {AbstractComponent=} parent The parent element of this component\n * @returns {AbstractComponent}\n */\n\n\n static fromICALJs(icalValue, root = null, parent = null) {\n if (!(icalValue instanceof ICAL.Component)) {\n throw new ExpectedICalJSError();\n }\n\n const name = icalValue.name;\n const newComponent = new this(name, [], [], root, parent);\n\n for (const icalProp of icalValue.getAllProperties()) {\n const constructor = getConstructorForPropertyName(icalProp.name);\n const property = constructor.fromICALJs(icalProp, root, newComponent);\n newComponent.addProperty(property);\n }\n\n for (const icalComp of icalValue.getAllSubcomponents()) {\n const constructor = this._getConstructorForComponentName(icalComp.name);\n\n const component = constructor.fromICALJs(icalComp, root, newComponent);\n newComponent.addComponent(component);\n }\n\n return newComponent;\n }\n /**\n * Gets a constructor for a give component name\n *\n * @param {String} componentName The name of the component\n * @returns {AbstractComponent}\n * @protected\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return AbstractComponent;\n }\n /**\n * turns this Component into an ICAL.js component\n *\n * @returns {ICAL.Component}\n */\n\n\n toICALJs() {\n const component = createComponent(lc(this.name));\n\n for (const prop of this.getPropertyIterator()) {\n component.addProperty(prop.toICALJs());\n }\n\n for (const comp of this.getComponentIterator()) {\n component.addSubcomponent(comp.toICALJs());\n }\n\n return component;\n }\n\n}\n/**\n * Advertise properties that may at most occur once\n *\n * Properties, which may at most occur once, get a simple getter and setter\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n * @param {Boolean} advertiseValueOnly Whether to advertise the value only or the entire property\n */\n\nfunction advertiseSingleOccurrenceProperty(prototype, options, advertiseValueOnly = true) {\n options = getDefaultOncePropConfig(options);\n Object.defineProperty(prototype, options.name, {\n get() {\n const value = this.getFirstPropertyFirstValue(options.iCalendarName);\n\n if (!value) {\n return options.defaultValue;\n } else {\n if (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n return options.unknownValue;\n }\n\n return value;\n }\n },\n\n set(value) {\n this._modify();\n\n if (value === null) {\n this.deleteAllProperties(options.iCalendarName);\n return;\n }\n\n if (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n throw new TypeError('Illegal value');\n }\n\n this.updatePropertyWithValue(options.iCalendarName, value);\n }\n\n });\n}\n/**\n * Advertise properties that may occur more than once\n *\n * Properties, which may occur more than once, won't get simple getter / setter,\n * but rather a more advanced set of get{name}Iterator, get{name}List, add{name},\n * remove{name} and clearAll{name} methods\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\n\nfunction advertiseMultipleOccurrenceProperty(prototype, options) {\n options = getDefaultMultiplePropConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* () {\n yield* this.getPropertyIterator(options.iCalendarName);\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function () {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator']());\n };\n\n prototype['remove' + ucFirst(options.name)] = function (property) {\n this.deleteProperty(property);\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function () {\n this.deleteAllProperties(options.iCalendarName);\n };\n}\n/**\n * advertises a multi-value string property enabling simple access by language\n * This is used for:\n * - CATEGORIES\n * - RESOURCES\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\n\nfunction advertiseMultiValueStringPropertySeparatedByLang(prototype, options) {\n options = getDefaultMultiplePropConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* (lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n yield* property.getValueIterator();\n }\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function (lang = null) {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator'](lang));\n };\n\n prototype['add' + ucFirst(options.name)] = function (value, lang = null) {\n const property = this._getFirstOfPropertyByLang(options.iCalendarName, lang);\n\n if (property) {\n property.addValue(value);\n } else {\n const newProperty = new Property(options.iCalendarName, [value]);\n\n if (lang) {\n const languageParameter = new Parameter('LANGUAGE', lang);\n newProperty.setParameter(languageParameter);\n }\n\n this.addProperty(newProperty);\n }\n };\n\n prototype['remove' + ucFirst(options.name)] = function (value, lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n if (property.isMultiValue() && property.hasValue(value)) {\n if (property.value.length === 1) {\n this.deleteProperty(property);\n return true;\n }\n\n property.removeValue(value);\n return true;\n }\n }\n\n return false;\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function (lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n this.deleteProperty(property);\n }\n };\n}\n/**\n * advertise a component\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising components\n */\n\nfunction advertiseComponent(prototype, options) {\n options = getDefaultMultipleCompConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* () {\n yield* this.getComponentIterator(options.iCalendarName);\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function () {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator']());\n };\n\n prototype['remove' + ucFirst(options.name)] = function (component) {\n this.deleteComponent(component);\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function () {\n this.deleteAllComponents(options.iCalendarName);\n };\n}\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of the property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {String[]=} options.allowedValues A list of allowed values\n * @param {String|Number=} options.defaultValue The default value if unset\n * @param {String|Number=} options.unknownValue The fallback value if unknown value\n * @returns {Object}\n */\n\nfunction getDefaultOncePropConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: uc(options.name),\n pluralName: options.name + 's',\n allowedValues: null,\n defaultValue: null,\n unknownValue: null\n }, options);\n}\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\n\n\nfunction getDefaultMultiplePropConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: uc(options.name),\n pluralName: options.name + 's'\n }, options);\n}\n/**\n * Fill up the options object for advertiseComponent\n *\n * @param {Object|String} options Options destructuring object\n * @param {String} options.name Advertised name of component\n * @param {String=} options.iCalendarName The iCalendar name of the component\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\n\n\nfunction getDefaultMultipleCompConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: 'V' + uc(options.name),\n pluralName: options.name + 's'\n }, options);\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets a new DateObject set to now\n *\n * @returns {Date}\n */\nfunction dateFactory() {\n return new Date();\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nclass RecurringWithoutDtStartError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class RecurrenceHelper\n * @classdesc\n *\n * TODO: This needs caching\n */\n\nclass RecurrenceManager {\n /**\n * Constructor\n *\n * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n */\n constructor(masterItem) {\n /**\n *\n * @type {AbstractRecurringComponent}\n * @private\n */\n this._masterItem = masterItem;\n /**\n * Set of Recurrence exception items\n *\n * Number is the unix time representation of the recurrence ID\n *\n * @type {Map<Number, AbstractRecurringComponent>}\n * @private\n */\n\n this._recurrenceExceptionItems = new Map();\n /**\n * A sorted index of recurrence ids with range\n *\n * @type {Number[]}\n * @private\n */\n\n this._rangeRecurrenceExceptionItemsIndex = [];\n /**\n * Cached difference of dtstart and recurrenceId for recurrence exceptions with range\n *\n * @type {Map<Number, DurationValue>}\n * @private\n */\n\n this._rangeRecurrenceExceptionItemsDiffCache = new Map();\n /**\n * Set of Recurrence exception items that have a RANGE of THISANDFUTURE\n *\n * Number is the unix time representation of the recurrence ID\n *\n * @type {Map<Number, AbstractRecurringComponent>}\n * @private\n */\n\n this._rangeRecurrenceExceptionItems = new Map();\n }\n /**\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get masterItem() {\n return this._masterItem;\n }\n /**\n *\n * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n */\n\n\n set masterItem(masterItem) {\n this._masterItem = masterItem;\n }\n /**\n * Gets an iterator over all registered recurrence exceptions of this calendar-document\n */\n\n\n *getRecurrenceExceptionIterator() {\n yield* this._recurrenceExceptionItems.values();\n }\n /**\n * Gets a list of all registered recurrence-exceptions of this calendar-document\n *\n * @returns {AbstractRecurringComponent[]}\n */\n\n\n getRecurrenceExceptionList() {\n return Array.from(this.getRecurrenceExceptionIterator());\n }\n /**\n * Checks if there is a recurrence Exception for a given recurrenceId\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n * @returns {boolean}\n */\n\n\n hasRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n return this._recurrenceExceptionItems.has(recurrenceId);\n }\n /**\n * Gets the recurrence exception for a given recurrence Id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getRecurrenceException(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n return this._recurrenceExceptionItems.get(recurrenceId) || null;\n }\n /**\n * Check if there is a recurrence-exception with a range for a given recurrence-id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n * @returns {boolean}\n */\n\n\n hasRangeRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n if (this._rangeRecurrenceExceptionItemsIndex.length === 0) {\n return false;\n }\n\n return this._rangeRecurrenceExceptionItemsIndex[0] < recurrenceId;\n }\n /**\n * Get recurrence-exception with range that's affecting the given recurrence-id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getRangeRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n const index = ICAL.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex, recurrenceId, (a, b) => a - b);\n\n if (index === 0) {\n return null;\n }\n\n const key = this._rangeRecurrenceExceptionItemsIndex[index - 1];\n return this._rangeRecurrenceExceptionItems.get(key);\n }\n /**\n * Gets the difference between recurrence-id and start\n * Mostly needed to handle recurrence-exceptions with range\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {DurationValue|null}\n */\n\n\n getRangeRecurrenceExceptionDiff(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n if (this._rangeRecurrenceExceptionItemsDiffCache.has(recurrenceId)) {\n return this._rangeRecurrenceExceptionItemsDiffCache.get(recurrenceId);\n }\n\n const recurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId);\n\n if (!recurrenceException) {\n return null;\n }\n\n const originalRecurrenceId = recurrenceException.recurrenceId;\n const originalModifiedStart = recurrenceException.startDate;\n const difference = originalModifiedStart.subtractDateWithTimezone(originalRecurrenceId);\n difference.lock();\n\n this._rangeRecurrenceExceptionItemsDiffCache.set(recurrenceId, difference);\n\n return difference;\n }\n /**\n * Adds a new recurrence-exception to this calendar-document\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception-item to relate to recurrence-set\n */\n\n\n relateRecurrenceException(recurrenceExceptionItem) {\n this._modify();\n\n const key = this._getRecurrenceIdKey(recurrenceExceptionItem);\n\n this._recurrenceExceptionItems.set(key, recurrenceExceptionItem);\n\n if (recurrenceExceptionItem.modifiesFuture()) {\n this._rangeRecurrenceExceptionItems.set(key, recurrenceExceptionItem);\n\n const index = ICAL.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex, key, (a, b) => a - b);\n\n this._rangeRecurrenceExceptionItemsIndex.splice(index, 0, key);\n }\n\n recurrenceExceptionItem.recurrenceManager = this;\n }\n /**\n * Removes a recurrence exception by the item itself\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception remove\n */\n\n\n removeRecurrenceException(recurrenceExceptionItem) {\n const key = this._getRecurrenceIdKey(recurrenceExceptionItem);\n\n this.removeRecurrenceExceptionByRecurrenceId(key);\n }\n /**\n * Removes a recurrence exception by it's unix-time\n *\n * @param {Number} recurrenceId The recurrence-exception to remove\n */\n\n\n removeRecurrenceExceptionByRecurrenceId(recurrenceId) {\n this._modify();\n\n this._recurrenceExceptionItems.delete(recurrenceId);\n\n this._rangeRecurrenceExceptionItems.delete(recurrenceId);\n\n this._rangeRecurrenceExceptionItemsDiffCache.delete(recurrenceId);\n\n const index = this._rangeRecurrenceExceptionItemsIndex.indexOf(recurrenceId);\n\n if (index !== -1) {\n this._rangeRecurrenceExceptionItemsIndex.splice(index, 1);\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem Object to get key from\n * @returns {Number}\n * @private\n */\n\n\n _getRecurrenceIdKey(recurrenceExceptionItem) {\n return recurrenceExceptionItem.recurrenceId.unixTime;\n }\n /**\n * Gets an iterator over all recurrence rules\n */\n\n\n *getRecurrenceRuleIterator() {\n for (const property of this._masterItem.getPropertyIterator('RRULE')) {\n yield property.getFirstValue();\n }\n }\n /**\n * Gets a list of all recurrence rules\n *\n * @returns {RecurValue[]}\n */\n\n\n getRecurrenceRuleList() {\n return Array.from(this.getRecurrenceRuleIterator());\n }\n /**\n * Adds a new recurrence rule\n *\n * @param {RecurValue} recurrenceRule The RRULE to add\n */\n\n\n addRecurrenceRule(recurrenceRule) {\n this._modify();\n\n this.resetCache();\n const property = new Property('RRULE', recurrenceRule);\n\n this._masterItem.addProperty(property);\n }\n /**\n * Removes a recurrence rule\n *\n * @param {RecurValue} recurrenceRule The RRULE to remove\n */\n\n\n removeRecurrenceRule(recurrenceRule) {\n this._modify();\n\n this.resetCache();\n\n for (const property of this._masterItem.getPropertyIterator('RRULE')) {\n if (property.getFirstValue() === recurrenceRule) {\n this._masterItem.deleteProperty(property);\n }\n }\n }\n /**\n * Removes all recurrence rules\n */\n\n\n clearAllRecurrenceRules() {\n this._modify();\n\n this.resetCache();\n\n this._masterItem.deleteAllProperties('RRULE');\n }\n /**\n * Gets an iterator over all recurrence\n *\n * @param {boolean} isNegative Whether or not to get EXDATES\n * @param {String} valueType Limit type of EXDATES\n */\n\n\n *getRecurrenceDateIterator(isNegative = false, valueType = null) {\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n yield* property.getValueIterator();\n }\n }\n /**\n *\n * @param {boolean} isNegative Whether or not to get EXDATES\n * @param {String} valueType Limit type of EXDATES\n * @returns {(DateTimeValue|PeriodValue)[]}\n */\n\n\n listAllRecurrenceDates(isNegative = false, valueType = null) {\n return Array.from(this.getRecurrenceDateIterator(isNegative, valueType));\n }\n /**\n * This adds a new recurrence-date value.\n * It automatically adds it to the first property of the same value-type\n * or creates a new one if necessary\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue|PeriodValue} value EXDATE to add\n */\n\n\n addRecurrenceDate(isNegative = false, value) {\n this._modify();\n\n this.resetCache(); // Only add DateTime Value if its of the same timezone\n\n let timezoneId = null;\n\n if (value instanceof DateTimeValue && !value.isDate) {\n timezoneId = value.timezoneId;\n }\n\n const valueType = this._getValueTypeByValue(value);\n\n const iterator = this._getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId);\n\n const first = iterator.next.value;\n\n if (first instanceof Property) {\n const propertyValue = first.value;\n propertyValue.push(value);\n this.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE');\n } else {\n const propertyName = this._getPropertyNameByIsNegative(isNegative);\n\n const property = new Property(propertyName, value);\n\n this._masterItem.addProperty(property);\n }\n }\n /**\n * Checks if a recurrenceID is an RDATE or EXDATE\n *\n * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue} recurrenceId Recurrence-Id to check\n * @returns {boolean}\n */\n\n\n hasRecurrenceDate(isNegative = false, recurrenceId) {\n for (let value of this.getRecurrenceDateIterator(isNegative)) {\n if (value instanceof PeriodValue) {\n value = value.start;\n }\n\n if (value.compare(recurrenceId) === 0) {\n return true;\n }\n }\n\n return false;\n }\n /**\n *\n * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n * @returns {null|DateTimeValue|PeriodValue}\n */\n\n\n getRecurrenceDate(isNegative = false, recurrenceId) {\n for (const value of this.getRecurrenceDateIterator(isNegative)) {\n let valueToCheck = value;\n\n if (valueToCheck instanceof PeriodValue) {\n valueToCheck = valueToCheck.start;\n }\n\n if (valueToCheck.compare(recurrenceId) === 0) {\n return value;\n }\n }\n\n return null;\n }\n /**\n * This deletes a recurrence-date value from this recurrence-set\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue|PeriodValue} value The EXDATE/RDATE to remove\n */\n\n\n removeRecurrenceDate(isNegative = false, value) {\n this._modify();\n\n this.resetCache();\n\n const valueType = this._getValueTypeByValue(value);\n\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n for (const valueToCheck of property.getValueIterator()) {\n if (value === valueToCheck) {\n const allValues = property.value;\n\n if (allValues.length === 1) {\n this.masterItem.deleteProperty(property);\n continue;\n }\n\n const index = allValues.indexOf(value);\n allValues.splice(index, 1);\n this.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE');\n }\n }\n }\n }\n /**\n * Clears all recurrence-date information\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {String} valueType The type of RDATEs/EXDATEs to remove\n */\n\n\n clearAllRecurrenceDates(isNegative = false, valueType = null) {\n this._modify();\n\n this.resetCache();\n\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n this._masterItem.deleteProperty(property);\n }\n }\n /**\n * Gets the property name for recurrence dates based on the isNegative boolean\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @returns {string}\n * @private\n */\n\n\n _getPropertyNameByIsNegative(isNegative) {\n return isNegative ? 'EXDATE' : 'RDATE';\n }\n /**\n * Gets the value type based on the provided value\n *\n * @param {PeriodValue|DateTimeValue} value The value to get type of property from\n * @returns {string}\n * @private\n */\n\n\n _getValueTypeByValue(value) {\n if (value instanceof PeriodValue) {\n return 'PERIOD';\n } else if (value.isDate) {\n return 'DATE';\n } else {\n return 'DATETIME';\n }\n }\n /**\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {String|null} valueType The type of values to get\n * @param {ICAL.Timezone=} timezoneId Filter by timezone\n * @private\n */\n\n\n *_getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId = null) {\n const propertyName = this._getPropertyNameByIsNegative(isNegative);\n\n for (const property of this._masterItem.getPropertyIterator(propertyName)) {\n if (valueType === null) {\n yield property;\n } else if (uc(valueType) === 'PERIOD' && property.getFirstValue() instanceof PeriodValue) {\n yield property;\n } else if (uc(valueType) === 'DATE' && property.getFirstValue().isDate) {\n yield property;\n } else if (uc(valueType) === 'DATETIME' && !property.getFirstValue().isDate) {\n if (timezoneId === null || property.getFirstValue().timezoneId === timezoneId) {\n yield property;\n }\n }\n }\n }\n /**\n * Checks if the entire set of recurrence rules is finite\n *\n * @returns {boolean}\n */\n\n\n isFinite() {\n return this.getRecurrenceRuleList().every(rule => rule.isFinite());\n }\n /**\n * @returns {boolean}\n */\n\n\n isEmptyRecurrenceSet() {\n return this._getRecurExpansionObject().next() === undefined;\n }\n /**\n * Gets the occurrence at the exact given recurrenceId\n *\n * @param {DateTimeValue} recurrenceId RecurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getOccurrenceAtExactly(recurrenceId) {\n if (!this.masterItem.isRecurring()) {\n if (this.masterItem.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n return this.masterItem;\n }\n\n return null;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n const icalRecurrenceId = recurrenceId.toICALJs();\n let next;\n\n while (next = iterator.next()) {\n if (next.compare(icalRecurrenceId) === 0) {\n // It's a match 🔥\n return this._getOccurrenceAtRecurrenceId(DateTimeValue.fromICALJs(next));\n }\n\n if (next.compare(icalRecurrenceId) === 1) {\n // We hit an occurrence in the future, return null\n return null;\n }\n }\n\n return null;\n }\n /**\n * Gets the closest occurrence to the given recurrenceId.\n * That's either the closest in the future, or in case the\n * recurrence-set ends before recurrenceId, the last one\n *\n * This function works solely on the basis of recurrence-ids.\n * It ignores the actual date of recurrence-exceptions.\n * Ideally we should fix it and provide a similar implementation\n * like getAllOccurrencesBetweenIterator, but for now it's the\n * accepted behavior.\n *\n * @param {DateTimeValue} recurrenceId RecurrenceId to get\n * @returns {AbstractRecurringComponent}\n */\n\n\n getClosestOccurrence(recurrenceId) {\n if (!this.masterItem.isRecurring()) {\n return this.masterItem;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n recurrenceId = recurrenceId.toICALJs();\n let previous = null;\n let next;\n\n while (next = iterator.next()) {\n if (next.compare(recurrenceId) === -1) {\n previous = next;\n } else {\n // This is the case when it's either equal or in the future\n const dateTimeValue = DateTimeValue.fromICALJs(next);\n return this._getOccurrenceAtRecurrenceId(dateTimeValue);\n }\n }\n\n const dateTimeValue = DateTimeValue.fromICALJs(previous);\n return this._getOccurrenceAtRecurrenceId(dateTimeValue);\n }\n /**\n * Get all occurrences between start and end\n * Start and End are inclusive\n *\n * @param {DateTimeValue} queriedTimeRangeStart Start of time-range\n * @param {DateTimeValue} queriedTimeRangeEnd End of time-range\n */\n\n\n *getAllOccurrencesBetweenIterator(queriedTimeRangeStart, queriedTimeRangeEnd) {\n if (!this.masterItem.isRecurring()) {\n if (typeof this.masterItem.isInTimeFrame !== 'function') {\n yield this.masterItem;\n }\n\n if (this.masterItem.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n yield this.masterItem;\n }\n\n return;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n const queriedICALJsTimeRangeStart = queriedTimeRangeStart.toICALJs();\n const queriedICALJsTimeRangeEnd = queriedTimeRangeEnd.toICALJs();\n const recurrenceIdKeys = Array.from(this._recurrenceExceptionItems.keys());\n const maximumRecurrenceId = Math.max.apply(Math, recurrenceIdKeys);\n let next;\n\n while (next = iterator.next()) {\n // We have to get the real occurrence to resolve RECURRENCE-IDs\n const dateTimeValue = DateTimeValue.fromICALJs(next);\n\n const occurrence = this._getOccurrenceAtRecurrenceId(dateTimeValue); // Check what type of recurrence object we are dealing with\n // Depending on that, the time to compare to changes\n // If we are dealing events, we have to compare to the end-date\n // If we are dealing with tasks, we will have to compare to the due-date\n // etc.\n // For now we are only implementing events, other components will come later\n\n\n let compareDate = null;\n\n switch (uc(occurrence.name)) {\n case 'VEVENT':\n case 'VTODO':\n compareDate = occurrence.endDate.toICALJs();\n break;\n\n case 'VJOURNAL':\n default:\n compareDate = next;\n break;\n } // If the date we are comparing to is before our time-range,\n // we don't want to yield this event\n\n\n if (compareDate.compare(queriedICALJsTimeRangeStart) === -1) {\n continue;\n } // If we have an object that is:\n // 1. either\n // 1.1 - no recurrence exception\n // or\n // 1.2 - a recurrence-exception that modifies the future\n // and\n // 2. starts after the queried time-range ends, then we stop expanding\n\n\n const startDate = occurrence.startDate.toICALJs();\n\n if ((!occurrence.isRecurrenceException() || occurrence.modifiesFuture()) && startDate.compare(queriedICALJsTimeRangeEnd) === 1) {\n // Just break if there are no recurrence-exceptions\n if (this._recurrenceExceptionItems.size === 0) {\n break;\n } // Keep iterating until our currently checked recurrenceId\n // is bigger than the maximum recurrence-id that we have.\n\n\n if (next.toUnixTime() > maximumRecurrenceId) {\n break;\n } else {\n continue;\n }\n }\n\n if (typeof occurrence.isInTimeFrame !== 'function') {\n yield occurrence;\n }\n\n if (occurrence.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n yield occurrence;\n }\n }\n }\n /**\n * Get all occurrences between start and end\n *\n * @param {DateTimeValue} start Start of time-range\n * @param {DateTimeValue} end End of time-range\n * @returns {(*|null)[]}\n */\n\n\n getAllOccurrencesBetween(start, end) {\n return Array.from(this.getAllOccurrencesBetweenIterator(start, end));\n }\n /**\n * Update the UID of all components in the recurrence set\n *\n * @param {String} newUID The new UID of the calendar-document\n */\n\n\n updateUID(newUID) {\n this._masterItem.updatePropertyWithValue('UID', newUID);\n\n for (const recurrenceExceptionItem of this.getRecurrenceExceptionIterator()) {\n recurrenceExceptionItem.updatePropertyWithValue('UID', newUID);\n }\n }\n /**\n * Updates the recurrence-information accordingly,\n * whenever the start-date of the master-item changes\n *\n * @param {DateTimeValue} newStartDate The new start-date\n * @param {DateTimeValue} oldStartDate The old start-date\n */\n\n\n updateStartDateOfMasterItem(newStartDate, oldStartDate) {\n const difference = newStartDate.subtractDateWithTimezone(oldStartDate); // update EXDATE\n\n for (const exdate of this.getRecurrenceDateIterator(true)) {\n // If this EXDATE matches an RDATE, don't update, because we don't update RDATEs\n if (this.hasRecurrenceDate(false, exdate)) {\n continue;\n } // EXDATE are always either DATE or DATETIME,\n // no need to check for PERIOD\n\n\n exdate.addDuration(difference);\n }\n\n for (const recurrenceException of this.getRecurrenceExceptionIterator()) {\n // We don't edit RDATES, so don't update recurrence-ids if they\n // are based on an RDATE\n if (this.hasRecurrenceDate(false, recurrenceException.recurrenceId)) {\n continue;\n }\n\n this.removeRecurrenceException(recurrenceException);\n recurrenceException.recurrenceId.addDuration(difference);\n this.relateRecurrenceException(recurrenceException);\n } // update UNTIL of recurrence-rules\n\n\n for (const rrule of this.getRecurrenceRuleIterator()) {\n if (rrule.until) {\n rrule.until.addDuration(difference);\n }\n }\n }\n /**\n * Gets an object for the given recurrenceId\n * It does not verify that the given recurrenceId\n * is actually a valid recurrence of this calendar-document\n *\n * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n * @returns {AbstractRecurringComponent}\n * @private\n */\n\n\n _getOccurrenceAtRecurrenceId(recurrenceId) {\n if (this.hasRecurrenceExceptionForId(recurrenceId)) {\n const recurrenceException = this.getRecurrenceException(recurrenceId);\n\n if (!recurrenceException.canCreateRecurrenceExceptions()) {\n return recurrenceException;\n }\n\n return recurrenceException.forkItem(recurrenceId);\n } else if (this.hasRangeRecurrenceExceptionForId(recurrenceId)) {\n const rangeRecurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId);\n const difference = this.getRangeRecurrenceExceptionDiff(recurrenceId);\n return rangeRecurrenceException.forkItem(recurrenceId, difference);\n } else if (recurrenceId.compare(this._masterItem.startDate) === 0) {\n if (!this._masterItem.canCreateRecurrenceExceptions()) {\n return this._masterItem;\n }\n\n return this._masterItem.forkItem(recurrenceId);\n } else {\n return this._masterItem.forkItem(recurrenceId);\n }\n }\n /**\n * Resets the internal recur-expansion object.\n * This is necessary after each modification of the\n * recurrence-information\n */\n\n\n resetCache() {// TODO - implement me\n }\n /**\n * Gets a new ICAL.RecurExpansion object\n *\n * Inspired by how ICAL.JS RecurExpansion\n * serialises and unserialises its state\n *\n * @returns {ICAL.RecurExpansion}\n * @private\n */\n\n\n _getRecurExpansionObject() {\n if (this._masterItem.startDate === null) {\n throw new RecurringWithoutDtStartError();\n }\n\n const dtstart = this._masterItem.startDate.toICALJs();\n\n let last = dtstart.clone();\n const ruleIterators = [];\n let ruleDateInc;\n const ruleDates = [];\n let ruleDate = null;\n const exDates = [];\n const complete = false;\n\n for (const ruleValue of this.getRecurrenceRuleIterator()) {\n ruleIterators.push(ruleValue.toICALJs().iterator(dtstart));\n ruleIterators[ruleIterators.length - 1].next();\n }\n\n for (let rDateValue of this.getRecurrenceDateIterator()) {\n if (rDateValue instanceof PeriodValue) {\n rDateValue = rDateValue.start;\n }\n\n rDateValue = rDateValue.toICALJs();\n const index = ICAL.helpers.binsearchInsert(ruleDates, rDateValue, (a, b) => a.compare(b));\n ruleDates.splice(index, 0, rDateValue);\n } // Is the first RDATE prior to our current DTSTART?\n\n\n if (ruleDates.length > 0 && ruleDates[0].compare(dtstart) === -1) {\n ruleDateInc = 0;\n last = ruleDates[0].clone();\n } else {\n ruleDateInc = ICAL.helpers.binsearchInsert(ruleDates, dtstart, (a, b) => a.compare(b));\n ruleDate = exDates[ruleDateInc];\n }\n\n for (let exDateValue of this.getRecurrenceDateIterator(true)) {\n exDateValue = exDateValue.toICALJs();\n const index = ICAL.helpers.binsearchInsert(exDates, exDateValue, (a, b) => a.compare(b));\n exDates.splice(index, 0, exDateValue);\n }\n\n const exDateInc = ICAL.helpers.binsearchInsert(exDates, dtstart, (a, b) => a.compare(b));\n const exDate = exDates[exDateInc];\n return new ICAL.RecurExpansion({\n dtstart,\n last,\n ruleIterators,\n ruleDateInc,\n exDateInc,\n ruleDates,\n ruleDate,\n exDates,\n exDate,\n complete\n });\n }\n /**\n * @private\n */\n\n\n _modify() {\n if (this._masterItem.isLocked()) {\n throw new ModificationNotAllowedError();\n }\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class TimezoneComponent\n * @classdesc\n *\n * There are no advertised properties / components for the TimezoneComponent,\n * since we don't care about it.\n * Editing / accessing the timezone information directly is not a use-case\n * All the timezone-handling is done by the underlying ICAL.JS\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.5\n */\n\nclass TimezoneComponent extends AbstractComponent {\n /**\n * Returns a calendar-js Timezone object\n *\n * @returns {Timezone}\n */\n toTimezone() {\n return new Timezone(this.toICALJs());\n }\n\n}\n/**\n * The timezoneId of this timezone-component\n *\n * @name TimezoneComponent#timezoneId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(TimezoneComponent.prototype, {\n name: 'timezoneId',\n iCalendarName: 'tzid'\n});\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class Timezone\n */\n\nclass Timezone {\n /**\n * Constructor\n *\n * @param {String|ICAL.Timezone|ICAL.Component} timezoneId Id of the timezone\n * @param {String?} ics The iCalendar timezone definition\n */\n constructor(timezoneId, ics) {\n /**\n * Id of the timezone, used before initialising\n *\n * @type {String}\n * @private\n */\n this._timezoneId = null;\n /**\n * ICS representation of the timezone, used before initialising\n *\n * @type {String}\n * @private\n */\n\n this._ics = null;\n /**\n * @type {ICAL.Timezone|null}\n */\n\n this._innerValue = null;\n /**\n *\n * @type {boolean}\n * @private\n */\n\n this._initialized = false; // If the first parameter is already\n // an instance of ICAL.Timezone,\n // skip lazy loading\n\n if (timezoneId instanceof ICAL.Timezone) {\n this._innerValue = timezoneId;\n this._initialized = true;\n } else if (timezoneId instanceof ICAL.Component) {\n this._innerValue = new ICAL.Timezone(timezoneId);\n this._initialized = true;\n } else {\n this._timezoneId = timezoneId;\n this._ics = ics;\n }\n }\n /**\n * Gets the timezone id\n *\n * @returns {String}\n */\n\n\n get timezoneId() {\n if (this._initialized) {\n return this._innerValue.tzid;\n }\n\n return this._timezoneId;\n }\n /**\n * Gets the UTC Offset for a given date in this timezone\n *\n * @param {Number} year Year of the date\n * @param {Number} month Month of the date (1-based)\n * @param {Number} day Day of the date\n * @param {Number} hour Hour of the date\n * @param {Number} minute Minute of the date\n * @param {Number} second Second of the date\n * @returns {Number}\n */\n\n\n offsetForArray(year, month, day, hour, minute, second) {\n this._initialize();\n\n const time = new ICAL.Time({\n year,\n month,\n day,\n hour,\n minute,\n second,\n isDate: false\n });\n return this._innerValue.utcOffset(time);\n }\n /**\n * Converts a timestamp to an array of year, month, day, hour, minute, second.\n *\n * @param {Number} ms Timestamp in milliseconds\n * @returns {Number[]}\n */\n\n\n timestampToArray(ms) {\n this._initialize(); // just create a dummy object because fromUnixTime is not exposed on ICAL.Time\n\n\n const time = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0\n });\n time.fromUnixTime(Math.floor(ms / 1000));\n const local = time.convertToZone(this._innerValue);\n return [local.year, local.month, // THIS is 1-based !\n local.day, local.hour, local.minute, local.second];\n }\n /**\n *\n * @returns {TimezoneComponent}\n */\n\n\n toTimezoneComponent() {\n return TimezoneComponent.fromICALJs(this.toICALJs());\n }\n /**\n * Returns\n *\n * @returns {ICAL.Timezone}\n */\n\n\n toICALTimezone() {\n this._initialize();\n\n return this._innerValue;\n }\n /**\n * Returns the corresponding ICAL.\n *\n * @returns {ICAL.Component}\n */\n\n\n toICALJs() {\n this._initialize();\n\n return this._innerValue.component;\n }\n /**\n * Initialises the inner ICAL.Timezone component\n *\n * @private\n */\n\n\n _initialize() {\n if (!this._initialized) {\n const jCal = ICAL.parse(this._ics);\n const icalComp = new ICAL.Component(jCal);\n this._innerValue = new ICAL.Timezone(icalComp);\n this._initialized = true;\n }\n }\n\n}\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone);\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone);\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class AlarmComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.6\n */\n\nclass AlarmComponent extends AbstractComponent {\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @param {String} name - Name of the attendee\n * @param {String} email - E-Mail address of the attendee\n * @returns {boolean}\n */\n addAttendeeFromNameAndEMail(name, email) {\n const attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email);\n return this.addProperty(attendeeProperty);\n }\n /**\n * Gets the trigger property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n *\n * @returns {TriggerProperty}\n */\n\n\n get trigger() {\n return this.getFirstProperty('TRIGGER');\n }\n /**\n * Sets an absolute alarm\n *\n * @param {DateTimeValue} alarmTime - Absolute time for the trigger\n */\n\n\n setTriggerFromAbsolute(alarmTime) {\n const triggerProperty = TriggerProperty.fromAbsolute(alarmTime);\n this.deleteAllProperties('TRIGGER');\n this.addProperty(triggerProperty);\n }\n /**\n * Sets a relative trigger\n *\n * @param {DurationValue} alarmOffset - Relative time of the trigger, either related to start or end\n * @param {Boolean=} relatedToStart - Related to Start or end?\n */\n\n\n setTriggerFromRelative(alarmOffset, relatedToStart = true) {\n const triggerProperty = TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart);\n this.deleteAllProperties('TRIGGER');\n this.addProperty(triggerProperty);\n }\n\n}\n/**\n * Action to be taken when this Alarm is due\n * Possible values:\n * - AUDIO\n * - DISPLAY\n * - EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.1\n *\n * @name AlarmComponent#action\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'action');\n/**\n * Description for this alarm\n * Can only be used in combination with action DISPLAY and EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name AlarmComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'description');\n/**\n * Summary for this alarm\n * Can only be used in combination with action EMAIL\n * Will be used as the EMAIL's subject\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name AlarmComponent#summary\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'summary');\n/**\n * The duration specifies the delay period between repeated alarms.\n * This property must be specified along with the repeat property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name AlarmComponent#duration\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'duration');\n/**\n * The number of times an alarm should be repeated.\n * This property must be specified along with the duration property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.2\n *\n * @name AlarmComponent#repeat\n * @type {Number}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'repeat');\n/**\n * This attachment points to a sound file, can only be used in combination\n * with ACTION AUDIO\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n *\n * @name AlarmComponent#attachment\n * @type {AttachmentProperty}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, {\n name: 'attachment',\n iCalendarName: 'ATTACH'\n});\n/**\n * Get an iterator over all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Get a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Adds a new attendee to this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#addAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to add\n */\n\n/**\n * Removes an attendee from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to remove\n */\n\n/**\n * Removes all attendees from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AlarmComponent.prototype, 'attendee');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be nested inside other ones\n *\n * @param {String} compName - Component name to get default constructor for\n * @returns {AlarmComponent|AbstractComponent}\n */\n\nfunction getConstructorForComponentName$1(compName) {\n switch (uc(compName)) {\n case 'VALARM':\n return AlarmComponent;\n\n default:\n return AbstractComponent;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class AbstractRecurringComponent\n * @classdesc AbstractRecurringComponent is the basis for\n * EventComponent, JournalComponent and TodoComponent.\n *\n * It contains all the logic for recurrence-expansion and\n * recurrence-management plus all management for all\n * properties and all subcomponents that the three\n * components mentioned before have in common\n */\n\nclass AbstractRecurringComponent extends AbstractComponent {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * In case this object is virtual, primary item refers to the master object\n * that this object was forked from.\n *\n * Otherwise primary item is null\n *\n * @type {AbstractRecurringComponent}\n * @private\n */\n\n this._primaryItem = null;\n /**\n * Indicator whether this is a direct fork of a primary item, representing\n * the very same recurrence id\n *\n * @type {boolean}\n * @private\n */\n\n this._isExactForkOfPrimary = false;\n /**\n * The original recurrence-id of this occurrence.\n * Mostly needed for range exceptions with a range\n *\n * @type {DateTimeValue|null}\n * @private\n */\n\n this._originalRecurrenceId = null;\n /**\n * Instance of the recurrence manager.\n * This object is shared among all instances\n * of a recurrence-set\n *\n * @type {RecurrenceManager}\n * @private\n */\n\n this._recurrenceManager = null;\n /**\n * Indicator whether this component was modified\n * In case it was, the last-modified property\n * needs to be updated before saving the event\n *\n * @type {boolean}\n * @private\n */\n\n this._dirty = false;\n /**\n * Indicator whether there have been significant changes\n * In case the changes are considered significant,\n * the sequence needs to be incremented\n *\n * @type {boolean}\n * @private\n */\n\n this._significantChange = false;\n /**\n * Id of this AbstractRecurringComponent\n *\n * @type {String|null}\n * @private\n */\n\n this._cachedId = null;\n }\n /**\n * Gets the primary-item of this recurring item\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get primaryItem() {\n return this._primaryItem;\n }\n /**\n * Sets the primary-item of this recurring item\n *\n * @param {AbstractRecurringComponent} primaryItem The new primary-item\n */\n\n\n set primaryItem(primaryItem) {\n this._modify();\n\n this._primaryItem = primaryItem;\n }\n /**\n * Gets whether or not this is a fork of the primary item\n * for the same recurrence-id\n *\n * @returns {boolean}\n */\n\n\n get isExactForkOfPrimary() {\n return this._isExactForkOfPrimary;\n }\n /**\n * Sets the isExactForkOfPrimary indicator, see getter for description\n *\n * @param {boolean} isExactForkOfPrimary Whether or not this is an exact fork\n */\n\n\n set isExactForkOfPrimary(isExactForkOfPrimary) {\n this._isExactForkOfPrimary = isExactForkOfPrimary;\n }\n /**\n * Gets the original recurrence-id\n *\n * @returns {DateTimeValue}\n */\n\n\n get originalRecurrenceId() {\n return this._originalRecurrenceId;\n }\n /**\n * Sets the original recurrence-id\n *\n * @param {DateTimeValue} originalRecurrenceId The new original recurrence-id\n */\n\n\n set originalRecurrenceId(originalRecurrenceId) {\n this._originalRecurrenceId = originalRecurrenceId;\n }\n /**\n * Gets the recurrence-manager of this recurrence-set\n *\n * @returns {RecurrenceManager}\n */\n\n\n get recurrenceManager() {\n return this._recurrenceManager;\n }\n /**\n * Sets the recurrence-manager of this recurrence-set\n *\n * @param {RecurrenceManager} recurrenceManager The new recurrence-manager\n */\n\n\n set recurrenceManager(recurrenceManager) {\n this._recurrenceManager = recurrenceManager;\n }\n /**\n * Gets the master-item of this recurring item\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get masterItem() {\n return this.recurrenceManager.masterItem;\n }\n /**\n * Returns whether this item is the master item\n *\n * @returns {boolean}\n */\n\n\n isMasterItem() {\n return this.masterItem === this;\n }\n /**\n * Gets a unique ID for this occurrence of the event\n *\n * Please note that if the same event occurs in multiple calendars,\n * this id will not be unique. Software using this library will have to\n * manually mix in the calendar id into this id\n *\n * @returns {String}\n */\n\n\n get id() {\n if (this._cachedId) {\n return this._cachedId;\n }\n\n if (this.startDate === null) {\n this._cachedId = encodeURIComponent(this.uid);\n return this._cachedId;\n }\n\n this._cachedId = [encodeURIComponent(this.uid), encodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString())].join('###');\n return this._cachedId;\n }\n /**\n * Gets the UID property\n *\n * @returns {String|null}\n */\n\n\n get uid() {\n return this.getFirstPropertyFirstValue('UID');\n }\n /**\n * Sets the UID property and the UID property of all related exceptions\n *\n * @param {String} uid The new UID\n */\n\n\n set uid(uid) {\n this._recurrenceManager.updateUID(uid);\n }\n /**\n * Gets the start date of the event\n *\n * @returns {DateTimeValue}\n */\n\n\n get startDate() {\n return this.getFirstPropertyFirstValue('dtstart');\n }\n /**\n * Sets the start date of the event\n *\n * @param {DateTimeValue} start The new start-date to set\n */\n\n\n set startDate(start) {\n const oldStartDate = this.startDate;\n this.updatePropertyWithValue('dtstart', start);\n\n if (this.isMasterItem()) {\n this._recurrenceManager.updateStartDateOfMasterItem(start, oldStartDate);\n }\n }\n /**\n * Checks whether this item is part of a recurring set\n *\n * @returns {boolean}\n */\n\n\n isPartOfRecurrenceSet() {\n return this.masterItem.isRecurring();\n }\n /**\n * Checks whether this component is recurring\n *\n * @returns {boolean}\n */\n\n\n isRecurring() {\n return this.hasProperty('RRULE') || this.hasProperty('RDATE');\n }\n /**\n * Checks whether this component is a recurrence-exception\n *\n * @returns {boolean}\n */\n\n\n isRecurrenceException() {\n return this.hasProperty('RECURRENCE-ID');\n }\n /**\n * Checks wether this component is a recurrence-exception\n * and whether it's modifying the future\n *\n * @returns {boolean}\n */\n\n\n modifiesFuture() {\n if (!this.isRecurrenceException()) {\n return false;\n }\n\n const property = this.getFirstProperty('RECURRENCE-ID');\n return property.getParameterFirstValue('RANGE') === 'THISANDFUTURE';\n }\n /**\n * Creates an occurrence at the given time\n *\n * This is an internal function for calendar-js, used by the recurrence-manager\n * Do not call from outside\n *\n * @param {DateTimeValue} recurrenceId The recurrence-Id of the forked item\n * @param {DurationValue=} startDiff to be used when The start-diff (used for RECURRENCE-ID;RANGE=THISANDFUTURE)\n * @returns {AbstractRecurringComponent}\n */\n\n\n forkItem(recurrenceId, startDiff = null) {\n const occurrence = this.clone();\n occurrence.recurrenceManager = this.recurrenceManager;\n occurrence.primaryItem = this; // Exact match for master item or recurrence-exception\n\n if (occurrence.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n occurrence.isExactForkOfPrimary = true;\n }\n\n if (!occurrence.hasProperty('DTSTART')) {\n throw new TypeError('Can\\'t fork item without a DTSTART');\n }\n\n if (occurrence.getFirstPropertyFirstValue('DTSTART').timezoneId !== recurrenceId.timezoneId) {\n const originalTimezone = occurrence.getFirstPropertyFirstValue('DTSTART').getICALTimezone();\n recurrenceId = recurrenceId.getInICALTimezone(originalTimezone);\n }\n\n occurrence.originalRecurrenceId = recurrenceId.clone();\n const dtStartValue = occurrence.getFirstPropertyFirstValue('DTSTART');\n let period = null;\n\n if (this._recurrenceManager.hasRecurrenceDate(false, recurrenceId)) {\n const recurrenceDate = this._recurrenceManager.getRecurrenceDate(false, recurrenceId);\n\n if (recurrenceDate instanceof PeriodValue) {\n period = recurrenceDate;\n }\n }\n\n let duration;\n\n if (occurrence.hasProperty('DTEND')) {\n const dtEndValue = occurrence.getFirstPropertyFirstValue('DTEND');\n duration = dtEndValue.subtractDateWithTimezone(dtStartValue);\n } else if (occurrence.hasProperty('DUE')) {\n const dueValue = occurrence.getFirstPropertyFirstValue('DUE');\n duration = dueValue.subtractDateWithTimezone(dtStartValue);\n }\n\n if (!(occurrence.isRecurrenceException() && occurrence.isExactForkOfPrimary)) {\n occurrence.updatePropertyWithValue('DTSTART', recurrenceId.clone());\n\n if (startDiff) {\n occurrence.startDate.addDuration(startDiff);\n }\n\n if (occurrence.hasProperty('DTEND')) {\n const dtEnd = occurrence.startDate.clone();\n dtEnd.addDuration(duration);\n occurrence.updatePropertyWithValue('DTEND', dtEnd);\n } else if (occurrence.hasProperty('DUE')) {\n const due = occurrence.startDate.clone();\n due.addDuration(duration);\n occurrence.updatePropertyWithValue('DUE', due);\n }\n\n if (period) {\n occurrence.deleteAllProperties('DTEND');\n occurrence.deleteAllProperties('DURATION');\n occurrence.updatePropertyWithValue('DTEND', period.end.clone());\n }\n }\n\n occurrence.resetDirty();\n return occurrence;\n }\n /**\n * Checks whether it's possible to create a recurrence exception for this event\n * It is possible\n *\n * @returns {boolean}\n */\n\n\n canCreateRecurrenceExceptions() {\n let primaryIsRecurring = false;\n\n if (this.primaryItem && this.primaryItem.isRecurring()) {\n primaryIsRecurring = true;\n }\n\n return this.isRecurring() || this.modifiesFuture() || !this.isRecurring() && primaryIsRecurring;\n }\n /**\n * creates a recurrence exception based on this event\n * If the parameter thisAndAllFuture is set to true,\n * it will apply changes to this and all future occurrences\n *\n * @param {boolean} thisAndAllFuture Whether to create an exception for this and all future\n * @returns {AbstractRecurringComponent[]} the AbstractRecurringComponent of the future events.\n * In case you set `thisAndAllFuture` to true, this will be an\n * AbstractRecurringComponent inside a entirely new calendar component\n */\n\n\n createRecurrenceException(thisAndAllFuture = false) {\n if (!this.canCreateRecurrenceExceptions()) {\n throw new Error('Can\\'t create recurrence-exceptions for non-recurring items');\n }\n\n const previousPrimaryItem = this.primaryItem;\n /**\n * The overall support for RANGE=THISANDFUTURE is really bad.\n * Instead, we have to create a new event/journal/task and\n * set an until date on the old one.\n *\n * Also see:\n * - https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813\n * - https://github.com/nextcloud/calendar/issues/7#issuecomment-299169143\n *\n * Right now, this replaces all future occurrence modifications,\n * including recurrence-exceptions, RDATES and EXDATES.\n * This is also how other CUAs handle it, but i would be happy\n * to put that up for discussion.\n *\n * Keeping future RDates + their recurrence-exceptions would be rather easy.\n * Updating recurrence-exceptions, that are based off normal recurrence rules,\n * could be very expensive.\n */\n\n if (thisAndAllFuture) {\n if (this.isExactForkOfPrimary) {\n // master item\n if (this.primaryItem.isMasterItem()) {\n this._overridePrimaryItem();\n\n return [this, this];\n }\n }\n\n this.removeThisOccurrence(true);\n this.recurrenceManager = new RecurrenceManager(this);\n this._originalRecurrenceId = null;\n this.primaryItem = this;\n this.updatePropertyWithValue('UID', v4());\n this._cachedId = null;\n this.addRelation('SIBLING', previousPrimaryItem.uid);\n previousPrimaryItem.addRelation('SIBLING', this.uid); // delete to make sure all parameters are gone\n\n this.deleteAllProperties('RECURRENCE-ID');\n this.deleteAllProperties('RDATE');\n this.deleteAllProperties('EXDATE');\n this.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('SEQUENCE', 0);\n this._significantChange = false;\n this._dirty = false;\n this.root = this.root.constructor.fromEmpty();\n this.root.addComponent(this);\n this.parent = this.root; // this is a completely new event, we should set the RSVP of all attendees to true,\n // so that they receive an invitation to the new event, not only the cancellation of the old one\n\n for (const attendee of this.getAttendeeIterator()) {\n attendee.rsvp = true;\n }\n } else {\n // delete to make sure all parameters are gone\n this.deleteAllProperties('RECURRENCE-ID');\n this.recurrenceId = this.getReferenceRecurrenceId().clone();\n this.root.addComponent(this);\n this.recurrenceManager.relateRecurrenceException(this);\n this.primaryItem = this;\n this.deleteAllProperties('RDATE');\n this.deleteAllProperties('RRULE');\n this.deleteAllProperties('EXDATE');\n this.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('SEQUENCE', 0);\n\n if (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n const recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId());\n\n if (recurDate instanceof PeriodValue) {\n const valueDateTimeRecurDate = recurDate.start;\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n this.recurrenceManager.addRecurrenceDate(false, valueDateTimeRecurDate);\n }\n }\n\n this.originalRecurrenceId = null;\n }\n\n return [previousPrimaryItem, this];\n }\n /**\n * Deletes this occurrence from the series of recurring events\n * If the parameter thisAndAllFuture is set to true,\n * it will remove this and all future occurrences\n *\n * @param {Boolean} thisAndAllFuture Whether to create an exception for this and all future\n * @throws EmptyRecurrenceSetError Thrown, when deleting an occurrence results in no more events\n * @returns {Boolean} true if this deleted the last occurrence in set, false if there are occurrences left\n */\n\n\n removeThisOccurrence(thisAndAllFuture = false) {\n if (!this.isPartOfRecurrenceSet()) {\n // When deleting an object, that's not part of a recurring set,\n // the calendar-document would be empty.\n return true;\n }\n\n if (thisAndAllFuture) {\n // To get the UNTIL date, just deduct one second.\n // That's also how macOS does it, so this should be fairly\n // well supported among all clients\n const recurrenceId = this.getReferenceRecurrenceId().clone();\n const until = recurrenceId.getInTimezone(Timezone.utc);\n until.addDuration(DurationValue.fromSeconds(-1));\n\n for (const recurValue of this.recurrenceManager.getRecurrenceRuleIterator()) {\n recurValue.until = until.clone();\n }\n\n for (const recurDate of this.recurrenceManager.getRecurrenceDateIterator()) {\n let valueToCheck = recurDate;\n\n if (recurDate instanceof PeriodValue) {\n valueToCheck = valueToCheck.start;\n }\n\n if (recurrenceId.compare(valueToCheck) <= 0) {\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n }\n }\n\n for (const exceptionDate of this.recurrenceManager.getRecurrenceDateIterator(true)) {\n if (recurrenceId.compare(exceptionDate) <= 0) {\n this.recurrenceManager.removeRecurrenceDate(true, exceptionDate);\n }\n }\n\n for (const exception of this.recurrenceManager.getRecurrenceExceptionList()) {\n if (recurrenceId.compare(exception.recurrenceId) <= 0) {\n this.root.deleteComponent(exception);\n this.recurrenceManager.removeRecurrenceException(exception);\n }\n }\n } else {\n // Make sure we don't leave orphaned recurrence-exceptions\n if (this.isRecurrenceException() && !this.modifiesFuture()) {\n this.root.deleteComponent(this);\n this.recurrenceManager.removeRecurrenceException(this);\n } // If this is based on a recurrence-date, simply delete it\n // otherwise add an exception-date\n\n\n if (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n const recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId());\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n } else {\n this.recurrenceManager.addRecurrenceDate(true, this.getReferenceRecurrenceId().clone());\n }\n }\n\n return this.recurrenceManager.isEmptyRecurrenceSet();\n }\n /**\n * @inheritDoc\n */\n\n\n clone() {\n const comp = super.clone();\n comp.resetDirty();\n return comp;\n }\n /**\n * Adds a new attendee\n *\n * @param {AttendeeProperty} attendee The attendee property to add\n * @private\n * @returns {boolean}\n */\n\n\n _addAttendee(attendee) {\n // Check for different Attendee objects with the same uri\n for (const a of this.getAttendeeIterator()) {\n if (a.email === attendee.email) {\n return false;\n }\n }\n\n this.addProperty(attendee);\n return true;\n }\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n * @returns {boolean}\n */\n\n\n addAttendeeFromNameAndEMail(name, email) {\n const attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email);\n return this._addAttendee(attendeeProperty);\n }\n /**\n * Adds a new attendee based on their properties\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n * @param {String} role The role of the attendee to add\n * @param {String} userType The type of attendee to add\n * @param {Boolean} rsvp Whether or not to request a response from the attendee\n * @returns {boolean}\n */\n\n\n addAttendeeFromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp) {\n const attendeeProperty = AttendeeProperty.fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, false);\n return this._addAttendee(attendeeProperty);\n }\n /**\n * Sets the organiser property from common-name and email address\n *\n * @param {String} name The name of the organizer\n * @param {String} email The email-address of the organizer\n */\n\n\n setOrganizerFromNameAndEMail(name, email) {\n this.deleteAllProperties('ORGANIZER');\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true));\n }\n /**\n * Adds a new attachment from raw data\n *\n * @param {String} data The data of the attachment\n * @param {String} formatType The mime-type of the attachment\n */\n\n\n addAttachmentFromData(data, formatType = null) {\n this.addProperty(AttachmentProperty.fromData(data, formatType));\n }\n /**\n * Adds a new attachment from a link\n *\n * @param {String} uri The URI of the attachment\n * @param {String} formatType The mime-type of the attachment\n */\n\n\n addAttachmentFromLink(uri, formatType = null) {\n this.addProperty(AttachmentProperty.fromLink(uri, formatType));\n }\n /**\n * Adds a new contact\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.2\n *\n * @param {String} contact The textual contact description to add\n */\n\n\n addContact(contact) {\n this.addProperty(new TextProperty('CONTACT', contact));\n }\n /**\n * Adds a new comment\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.4\n *\n * @param {String} comment The comment to add\n */\n\n\n addComment(comment) {\n this.addProperty(new TextProperty('COMMENT', comment));\n }\n /**\n * Adds a new image from raw data\n *\n * @param {String} data Data of the image to add\n * @param {String=} display What display-type the image is optimized for\n * @param {String=} formatType The mime-type of the image\n */\n\n\n addImageFromData(data, display = null, formatType = null) {\n this.addProperty(ImageProperty.fromData(data, display, formatType));\n }\n /**\n * Adds a new image from a link\n *\n * @param {String} uri The URI of the image to add\n * @param {String=} display What display-type the image is optimized for\n * @param {String=} formatType The mime-type of the image\n */\n\n\n addImageFromLink(uri, display = null, formatType = null) {\n this.addProperty(ImageProperty.fromLink(uri, display, formatType));\n }\n /**\n * Creates a new RELATED-TO property based on a relation-type and id\n * and adds it to this object\n *\n * @param {String} relType The type of relation to add\n * @param {String} relId The id of the related calendar-document\n */\n\n\n addRelation(relType, relId) {\n this.addProperty(RelationProperty.fromRelTypeAndId(relType, relId));\n }\n /**\n * Creates a new REQUEST-STATUS property based on code and message\n * and adds it to this object\n *\n * @param {Number} code The status-code of the request status\n * @param {String} message The message of the request status\n */\n\n\n addRequestStatus(code, message) {\n this.addProperty(RequestStatusProperty.fromCodeAndMessage(code, message));\n }\n /**\n * Adds a new absolute alarm based on action and trigger time\n *\n * @param {String} action The type of alarm Action\n * @param {DateTimeValue} alarmTime The trigger time of the alarm\n * @returns {AlarmComponent}\n */\n\n\n addAbsoluteAlarm(action, alarmTime) {\n const alarmComp = new AlarmComponent('VALARM', [['action', action], TriggerProperty.fromAbsolute(alarmTime)]);\n this.addComponent(alarmComp);\n return alarmComp;\n }\n /**\n * Adds a new relative alarm based on action, trigger time and relativeTo parameter\n *\n * @param {String} action The type of alarm Action\n * @param {DurationValue} alarmOffset The trigger time of the alarm\n * @param {Boolean=} relatedToStart Whether or not the alarm is related to the event's start\n * @returns {AlarmComponent}\n */\n\n\n addRelativeAlarm(action, alarmOffset, relatedToStart = true) {\n const alarmComp = new AlarmComponent('VALARM', [['action', action], TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart)]);\n this.addComponent(alarmComp);\n return alarmComp;\n }\n /**\n * Marks a certain property as edited\n *\n * @param {String} propertyName The name of the property\n */\n\n\n markPropertyAsDirty(propertyName) {\n this.markDirty(); // Properties that must be considered a significant change\n // according to RFC 5546 Section 2.1.4\n\n const props = ['DTSTART', 'DTEND', 'DURATION', 'RRULE', 'RDATE', 'EXDATE', 'STATUS', ...getConfig('property-list-significant-change', [])];\n\n if (props.includes(uc(propertyName))) {\n this.markChangesAsSignificant();\n }\n }\n /**\n * Marks a certain component as edited\n *\n * @param {String} componentName The name of the component\n */\n\n\n markSubComponentAsDirty(componentName) {\n this.markDirty();\n\n if (getConfig('component-list-significant-change', []).includes(componentName)) {\n this.markChangesAsSignificant();\n }\n }\n /**\n * Returns whether or not this component is dirty\n *\n * @returns {boolean}\n */\n\n\n isDirty() {\n return this._dirty || this._significantChange;\n }\n /**\n * Marks this object as dirty\n */\n\n\n markDirty() {\n this._dirty = true;\n }\n /**\n * Marks changes as significant. Can be called by the program using this lib\n */\n\n\n markChangesAsSignificant() {\n this._significantChange = true;\n }\n /**\n * Updates the event after modifications.\n *\n * @returns {boolean} true if last-modified was updated\n */\n\n\n undirtify() {\n if (!this.isDirty()) {\n return false;\n }\n\n if (!this.hasProperty('SEQUENCE')) {\n this.sequence = 0;\n }\n\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n\n if (this._significantChange) {\n this.sequence++;\n }\n\n this.resetDirty();\n return true;\n }\n /**\n * Resets the dirty indicators without updating DTSTAMP or LAST-MODIFIED\n */\n\n\n resetDirty() {\n this._dirty = false;\n this._significantChange = false;\n }\n /**\n * @inheritDoc\n */\n\n\n updatePropertyWithValue(propertyName, value) {\n super.updatePropertyWithValue(propertyName, value);\n\n if (uc(propertyName) === 'UID') {\n this._cachedId = null;\n }\n\n this.markPropertyAsDirty(propertyName);\n }\n /**\n * @inheritDoc\n */\n\n\n addProperty(property) {\n this.markPropertyAsDirty(property.name);\n property.subscribe(() => this.markPropertyAsDirty(property.name));\n return super.addProperty(property);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteProperty(property) {\n this.markPropertyAsDirty(property.name);\n return super.deleteProperty(property);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteAllProperties(propertyName) {\n this.markPropertyAsDirty(propertyName);\n return super.deleteAllProperties(propertyName);\n }\n /**\n * @inheritDoc\n */\n\n\n addComponent(component) {\n this.markSubComponentAsDirty(component.name);\n component.subscribe(() => this.markSubComponentAsDirty(component.name));\n return super.addComponent(component);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteComponent(component) {\n this.markSubComponentAsDirty(component.name);\n return super.deleteComponent(component);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteAllComponents(componentName) {\n this.markSubComponentAsDirty(componentName);\n return super.deleteAllComponents(componentName);\n }\n /**\n * Gets a recurrence-id that has to be used to refer to this event.\n * This is used for recurrence-management\n *\n * @returns {DateTimeValue}\n */\n\n\n getReferenceRecurrenceId() {\n if (this.originalRecurrenceId) {\n return this.originalRecurrenceId;\n } else if (this.recurrenceId) {\n return this.recurrenceId;\n } else {\n return this.startDate;\n }\n }\n /**\n * Overrides the master item with this one\n *\n * @private\n */\n\n\n _overridePrimaryItem() {\n const oldStartDate = this.primaryItem.startDate;\n\n for (const property of this.primaryItem.getPropertyIterator()) {\n this.primaryItem.deleteProperty(property);\n }\n\n for (const property of this.getPropertyIterator()) {\n this.primaryItem.addProperty(property);\n }\n\n this.recurrenceManager.resetCache();\n\n if (this.startDate.compare(oldStartDate) !== 0) {\n this.recurrenceManager.updateStartDateOfMasterItem(this.startDate, oldStartDate);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return getConstructorForComponentName$1(componentName);\n }\n /**\n * @inheritDoc\n */\n\n\n static fromICALJs(...args) {\n const comp = super.fromICALJs(...args);\n comp.resetDirty();\n return comp;\n }\n\n}\n/**\n * Date-Time stamp of this object.\n * It has different meaning, based on whether or not a method is defined\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.2\n *\n * @name EventComponent#stampTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'stampTime',\n iCalendarName: 'DTSTAMP'\n});\n/**\n * Recurrence-ID of this object, used for recurrence-exceptions\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.4\n *\n * @name EventComponent#recurrenceId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'recurrenceId',\n iCalendarName: 'RECURRENCE-ID'\n});\n/**\n * Special color for this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.9\n *\n * @name EventComponent#color\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'color');\n/**\n * Creation Time of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.1\n *\n * @name EventComponent#creationTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'creationTime',\n iCalendarName: 'CREATED'\n});\n/**\n * The time this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.3\n *\n * @name EventComponent#modificationTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'modificationTime',\n iCalendarName: 'LAST-MODIFIED'\n});\n/**\n * Organizer of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name EventComponent#organizer\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'organizer');\n/**\n * Revision of this this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.4\n *\n * @name EventComponent#sequence\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'sequence');\n/**\n * Status of this event / journal / task\n * This indicates whether an event is tentative / confirmed / cancelled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.11\n *\n * @name EventComponent#status\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'status');\n/**\n * URL of a more dynamic rendition of this event / journal / task\n * DO NOT use this to simply point to a website merely related.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.6\n *\n * @name EventComponent#url\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'url');\n/**\n * Title of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name EventComponent#title\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'title',\n iCalendarName: 'SUMMARY'\n});\n/**\n * Access class of this event / journal / task\n * This determines what other users can see when sharing\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.3\n *\n * @name EventComponent#accessClass\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'accessClass',\n iCalendarName: 'class',\n allowedValues: ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL'],\n defaultValue: 'PUBLIC',\n unknownValue: 'PRIVATE'\n});\n/**\n * Returns an iterator over all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a new category\n *\n * @name AbstractRecurringComponent#addCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Removes a category\n *\n * @name AbstractRecurringComponent#removeCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Clear all categories of a given language\n *\n * @name AbstractRecurringComponent#clearAllCategories\n * @function\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(AbstractRecurringComponent.prototype, {\n name: 'category',\n pluralName: 'categories',\n iCalendarName: 'CATEGORIES'\n});\n/**\n * Returns an iterator over all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Gets a list of all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes an attendee from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'attendee'\n});\n/**\n * Returns an iterator over all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentIterator\n * @function\n * @returns {IterableIterator<AttachmentProperty>}\n */\n\n/**\n * Gets a list of all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes one attachment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttachment\n * @function\n * @param {AttachmentProperty} attachment\n */\n\n/**\n * Removes all attachments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttachments\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'attachment',\n iCalendarName: 'ATTACH'\n});\n/**\n * Returns an iterator over all relation properties\n *\n * @name AbstractRecurringComponent#getRelationIterator\n * @function\n * @returns {IterableIterator<RelationProperty>}\n */\n\n/**\n * Returns a list of all relation properties\n *\n * @name AbstractRecurringComponent#getRelationList\n * @function\n * @returns {RelationProperty[]}\n */\n\n/**\n * Removes a relation from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRelation\n * @function\n * @param {RelationProperty} relation\n */\n\n/**\n * Removes all relations from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRelations\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'relation',\n iCalendarName: 'RELATED-TO'\n});\n/**\n * Returns an iterator over all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes a comment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeComment\n * @function\n * @param {TextProperty} comment\n */\n\n/**\n * Removes all comments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllComments\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'comment');\n/**\n * Returns an iterator over all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes one contact from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeContact\n * @function\n * @param {TextProperty} contact\n */\n\n/**\n * Removes all contacts from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllContacts\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'contact');\n/**\n * Returns an iterator over all image properties\n *\n * @name AbstractRecurringComponent#getImageIterator\n * @function\n * @returns {IterableIterator<ImageProperty>}\n */\n\n/**\n * Returns a list of all image properties\n *\n * @name AbstractRecurringComponent#getImageList\n * @function\n * @returns {ImageProperty[]}\n */\n\n/**\n * Removes one image from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeImage\n * @function\n * @param {ImageProperty} image\n */\n\n/**\n * Removes all images from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllImages\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'image');\n/**\n * Returns an iterator over all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusIterator\n * @function\n * @returns {IterableIterator<RequestStatusProperty>}\n */\n\n/**\n * Returns a list of all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusList\n * @function\n * @returns {RequestStatusProperty[]}\n */\n\n/**\n * Removes one request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRequestStatus\n * @function\n * @param {RequestStatusProperty} requestStatus\n */\n\n/**\n * Removes all request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRequestStatus\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'requestStatus',\n pluralName: 'requestStatus',\n iCalendarName: 'REQUEST-STATUS'\n});\n/**\n * Returns an iterator of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmIterator\n * @function\n * @returns {IterableIterator<AlarmComponent>}\n */\n\n/**\n * Returns a list of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmList\n * @function\n * @returns {AlarmComponent[]}\n */\n\n/**\n * Removes an alarm from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAlarm\n * @function\n * @param {AlarmComponent} alarm\n */\n\n/**\n * Removes all alarms from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAlarms\n * @function\n */\n\nadvertiseComponent(AbstractRecurringComponent.prototype, 'alarm');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets kind of birthday event\n * returns \"BDAY\", \"DEATHDATE\", \"ANNIVERSARY\"\n * or null if this is not a birthday event\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nfunction getTypeOfBirthdayEvent(eventComponent) {\n return eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-FIELD-TYPE');\n}\n/**\n * Gets icon for the birthday type\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {string|null}\n */\n\nfunction getIconForBirthday(eventComponent) {\n const birthdayType = getTypeOfBirthdayEvent(eventComponent);\n\n switch (birthdayType) {\n case 'BDAY':\n return '🎂';\n\n case 'DEATHDATE':\n return '⚰️';\n\n case 'ANNIVERSARY':\n return '💍';\n\n default:\n return null;\n }\n}\n/**\n * Returns the age of the birthday person or null of no birth-year given\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @param {number} yearOfOccurrence The year to calculate the age for\n * @returns {null|number}\n */\n\nfunction getAgeOfBirthday(eventComponent, yearOfOccurrence) {\n if (!eventComponent.hasProperty('X-NEXTCLOUD-BC-YEAR')) {\n return null;\n }\n\n const yearOfBirth = eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-YEAR');\n return parseInt(yearOfOccurrence, 10) - parseInt(yearOfBirth, 10);\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class EventComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.1\n */\n\nclass EventComponent extends AbstractRecurringComponent {\n /**\n * Returns whether this event is an all-day event\n *\n * @returns {boolean}\n */\n isAllDay() {\n return this.startDate.isDate && this.endDate.isDate;\n }\n /**\n * Checks whether it's possible to switch from date-time to date or vise-versa\n *\n * @returns {boolean}\n */\n\n\n canModifyAllDay() {\n return !this.recurrenceManager.masterItem.isRecurring();\n }\n /**\n * Gets the calculated end-date of the event\n *\n * Quote from RFC 5545 3.6.1:\n * The \"DTSTART\" property for a \"VEVENT\" specifies the inclusive\n * start of the event. For recurring events, it also specifies the\n * very first instance in the recurrence set. The \"DTEND\" property\n * for a \"VEVENT\" calendar component specifies the non-inclusive end\n * of the event. For cases where a \"VEVENT\" calendar component\n * specifies a \"DTSTART\" property with a DATE value type but no\n * \"DTEND\" nor \"DURATION\" property, the event's duration is taken to\n * be one day. For cases where a \"VEVENT\" calendar component\n * specifies a \"DTSTART\" property with a DATE-TIME value type but no\n * \"DTEND\" property, the event ends on the same calendar date and\n * time of day specified by the \"DTSTART\" property.\n *\n * @returns {DateTimeValue}\n */\n\n\n get endDate() {\n if (this.hasProperty('dtend')) {\n return this.getFirstPropertyFirstValue('dtend');\n }\n\n const dtend = this.startDate.clone();\n\n if (this.hasProperty('duration')) {\n dtend.addDuration(this.getFirstPropertyFirstValue('duration'));\n } else if (this.startDate.isDate) {\n dtend.addDuration(DurationValue.fromSeconds(60 * 60 * 24));\n } // There is nothing to do when this event is not allday\n\n\n return dtend;\n }\n /**\n * Sets the end time of the event\n *\n * @param {DateTimeValue} end The end of the event\n */\n\n\n set endDate(end) {\n this.deleteAllProperties('duration');\n this.updatePropertyWithValue('dtend', end);\n }\n /**\n * Gets the calculated duration of the event\n *\n * @returns {DurationValue}\n */\n\n\n get duration() {\n if (this.hasProperty('duration')) {\n return this.getFirstPropertyFirstValue('duration');\n }\n\n return this.startDate.subtractDateWithTimezone(this.endDate);\n }\n /**\n * Sets the calculated duration of the event\n *\n * @param {DurationValue} duration The duration of the event\n */\n\n\n set duration(duration) {\n this.deleteAllProperties('dtend');\n this.updatePropertyWithValue('duration', duration);\n }\n /**\n * Sets the geographical position based on latitude and longitude\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @param {Number} lat - latitude\n * @param {Number} long - longitude\n */\n\n\n setGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n this.deleteAllProperties('GEO');\n this.addProperty(GeoProperty.fromPosition(lat, long));\n }\n /**\n * Adds a new conference property based on URI, label and features\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @param {String} uri The URI of the conference system\n * @param {String=} label The label for the conference system\n * @param {String[]=} features The features of the conference system\n */\n\n\n addConference(uri, label = null, features = null) {\n this._modify();\n\n this.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features));\n }\n /**\n * Adds a duration to the start of the event\n *\n * @param {DurationValue} duration The duration to add\n */\n\n\n addDurationToStart(duration) {\n this.startDate.addDuration(duration);\n }\n /**\n * Adds a duration to the end of the event\n *\n * @param {DurationValue} duration The duration to add\n */\n\n\n addDurationToEnd(duration) {\n const endDate = this.endDate;\n endDate.addDuration(duration);\n this.endDate = endDate;\n }\n /**\n * Shifts the entire event by the given duration\n *\n * @param {DurationValue} delta The duration to shift event by\n * @param {Boolean} allDay Whether the updated event should be all-day or not\n * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n */\n\n\n shiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n const currentAllDay = this.isAllDay();\n\n if (currentAllDay !== allDay && !this.canModifyAllDay()) {\n throw new TypeError('Can\\'t modify all-day of this event');\n }\n\n this.startDate.isDate = allDay;\n this.startDate.addDuration(delta); // If this event was moved from the all-day area into the time-grid,\n // then we have to add a timezone and the default duration\n\n if (currentAllDay && !allDay) {\n this.startDate.replaceTimezone(defaultTimezone);\n this.endDate = this.startDate.clone();\n this.endDate.addDuration(defaultTimedDuration);\n } // If this event was moved from the time-grid into the all-day area,\n // then we have to change the default duration\n\n\n if (!currentAllDay && allDay) {\n this.endDate = this.startDate.clone();\n this.endDate.addDuration(defaultAllDayDuration);\n } // If this event was only moved inside the time-grid or only inside\n // the all-day area, then we only have to adjust the end-date\n\n\n if (currentAllDay === allDay) {\n const endDate = this.endDate;\n endDate.addDuration(delta);\n this.endDate = endDate;\n }\n }\n /**\n * Checks if this is a birthday event\n *\n * @returns {boolean}\n */\n\n\n isBirthdayEvent() {\n return getTypeOfBirthdayEvent(this) === 'BDAY';\n }\n /**\n * Gets the icon to the birthday event\n *\n * @returns {string}\n */\n\n\n getIconForBirthdayEvent() {\n return getIconForBirthday(this);\n }\n /**\n * Calculates the age of the birthday\n *\n * @returns {number}\n */\n\n\n getAgeForBirthdayEvent() {\n return getAgeOfBirthday(this, this.startDate.year);\n }\n /**\n * Serializes the entire series to ICS\n *\n * @returns {string}\n */\n\n\n toICSEntireSeries() {\n return this.root.toICS();\n }\n /**\n * Serializes exactly this recurrence to ICS\n * It removes all recurrence information\n *\n * @returns {string}\n */\n\n\n toICSThisOccurrence() {\n const clone = this.clone();\n clone.deleteAllProperties('RRULE');\n clone.deleteAllProperties('EXRULE');\n clone.deleteAllProperties('RDATE');\n clone.deleteAllProperties('EXDATE');\n clone.deleteAllProperties('RECURRENCE-ID');\n clone.root = clone.root.constructor.fromEmpty();\n clone.parent = clone.root;\n clone.root.addComponent(clone);\n return clone.root.toICS();\n }\n /**\n * Checks if this event is in a given time-frame\n *\n * @param {DateTimeValue} start Start of time-range to check\n * @param {DateTimeValue} end End of time-range to check\n * @returns {boolean}\n */\n\n\n isInTimeFrame(start, end) {\n return start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0;\n }\n\n}\n/**\n * Time-transparency of this event.\n * If set to TRANSPARENT, this event will be ignored for FREE/BUSY calculations.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.7\n *\n * @name EventComponent#timeTransparency\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'timeTransparency',\n iCalendarName: 'TRANSP',\n allowedValues: ['OPAQUE', 'TRANSPARENT'],\n defaultValue: 'OPAQUE'\n});\n/**\n * Description of this event.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name EventComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'description');\n/**\n * Geographical position of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @name EventComponent#geographicalPosition\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'geographicalPosition',\n iCalendarName: 'GEO'\n});\n/**\n * Location that this event takes place in\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name EventComponent#location\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'location');\n/**\n * Priority of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name EventComponent#priority\n * @type Number\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'priority',\n allowedValues: Array(9).keys(),\n defaultValue: 0,\n unknownValue: 0\n});\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(EventComponent.prototype, {\n name: 'resource',\n iCalendarName: 'RESOURCES'\n});\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#clearAllConferences\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(EventComponent.prototype, 'conference');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class FreeBusyComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.4\n */\n\nclass FreeBusyComponent extends AbstractComponent {\n /**\n * Gets the start-date of the FreeBusy component\n *\n * @returns {DateTimeValue}\n */\n get startDate() {\n return this.getFirstPropertyFirstValue('DTSTART');\n }\n /**\n * Sets the start-date of the FreeBusy component\n *\n * @param {DateTimeValue} startDate The start of the queried time-range\n */\n\n\n set startDate(startDate) {\n this._modify();\n\n this.updatePropertyWithValue('DTSTART', startDate.getInTimezone(Timezone.utc));\n }\n /**\n * Gets the end-date of the FreeBusy component\n *\n * @returns {DateTimeValue}\n */\n\n\n get endDate() {\n return this.getFirstPropertyFirstValue('DTEND');\n }\n /**\n * Sets the start-date of the FreeBusy component\n *\n * @param {DateTimeValue} endDate The end of the queried time-range\n */\n\n\n set endDate(endDate) {\n this._modify();\n\n this.updatePropertyWithValue('DTEND', endDate.getInTimezone(Timezone.utc));\n }\n /**\n * Gets an iterator over all FreeBusyProperties\n */\n\n\n *getFreeBusyIterator() {\n yield* this.getPropertyIterator('FREEBUSY');\n }\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n */\n\n\n addAttendeeFromNameAndEMail(name, email) {\n this._modify();\n\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email));\n }\n /**\n * Sets the organiser property from common-name and email address\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @param {String} name The name of the organizer\n * @param {String} email The email-address of the organizer\n */\n\n\n setOrganizerFromNameAndEMail(name, email) {\n this._modify();\n\n this.deleteAllProperties('ORGANIZER');\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true));\n }\n\n}\n/**\n * The organizer of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\n\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'organizer');\n/**\n * The UID of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.7\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\n\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'uid');\n/**\n * Returns an iterator of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Returns a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Removes an attendee\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(FreeBusyComponent.prototype, 'attendee');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class JournalComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.3\n */\n\nclass JournalComponent extends AbstractRecurringComponent {\n /**\n * Adds a new description property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @param {String} description The description text\n */\n addDescription(description) {\n this.addProperty(new TextProperty('DESCRIPTION', description));\n }\n\n}\n/**\n * Gets an iterator over all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a description from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#removeDescription\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all descriptions from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#clearAllDescriptions\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(JournalComponent.prototype, 'description');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ToDoComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.2\n */\n\nclass ToDoComponent extends AbstractRecurringComponent {\n /**\n * Returns whether this event is an all-day event\n *\n * @returns {boolean}\n */\n isAllDay() {\n const propertiesToCheck = ['DTSTART', 'DUE'];\n\n for (const propertyToCheck of propertiesToCheck) {\n if (this.hasProperty(propertyToCheck)) {\n return this.getFirstPropertyFirstValue(propertyToCheck).isDate;\n }\n } // If a task is not associated with any date, it is defined to\n // occur on any successive date until it is completed.\n // We are treating it as all-day in that case.\n\n\n return true;\n }\n /**\n * Checks whether it's possible to switch from date-time to date or vise-versa\n *\n * @returns {boolean}\n */\n\n\n canModifyAllDay() {\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n return false;\n }\n\n return !this.recurrenceManager.masterItem.isRecurring();\n }\n /**\n * Gets the calculated end-date of the task\n *\n * If there is a due-date, we will just return that.\n * If there is a start-date and a duration, we will\n * calculate the end-date based on that.\n *\n * If there is neither a due-date nor a combination\n * of start-date and duration, we just return null\n *\n * @returns {DateTimeValue|null}\n */\n\n\n get endDate() {\n if (this.hasProperty('due')) {\n return this.getFirstPropertyFirstValue('due');\n }\n\n if (!this.hasProperty('dtstart') || !this.hasProperty('duration')) {\n return null;\n }\n\n const endDate = this.startDate.clone();\n endDate.addDuration(this.getFirstPropertyFirstValue('duration'));\n return endDate;\n }\n /**\n * Shifts the entire task by the given duration\n *\n * @param {DurationValue} delta The duration to shift event by\n * @param {Boolean} allDay Whether the updated event should be all-day or not\n * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n */\n\n\n shiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n const currentAllDay = this.isAllDay();\n\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n throw new TypeError('This task does not have a start-date nor due-date');\n }\n\n if (currentAllDay !== allDay && !this.canModifyAllDay()) {\n throw new TypeError('Can\\'t modify all-day of this todo');\n } // If this task has a start-date, update it\n // This is especially important, if you shift\n // the task by a negative duration, because\n // dtstart always has to be prior to the due date\n\n\n if (this.hasProperty('dtstart')) {\n this.startDate.isDate = allDay;\n this.startDate.addDuration(delta);\n\n if (currentAllDay && !allDay) {\n this.startDate.replaceTimezone(defaultTimezone);\n }\n }\n\n if (this.hasProperty('due')) {\n this.dueTime.isDate = allDay;\n this.dueTime.addDuration(delta);\n\n if (currentAllDay && !allDay) {\n this.dueTime.replaceTimezone(defaultTimezone);\n }\n }\n }\n /**\n * Checks if this event is in a given time-frame\n *\n * @param {DateTimeValue} start Start of time-range to check\n * @param {DateTimeValue} end End of time-range to check\n * @returns {boolean}\n */\n\n\n isInTimeFrame(start, end) {\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n return true;\n }\n\n if (!this.hasProperty('dtstart') && this.hasProperty('due')) {\n return start.compare(this.endDate) <= 0;\n }\n\n return start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0;\n }\n /**\n * Gets the geographical position property\n *\n * @returns {GeoProperty}\n */\n\n\n get geographicalPosition() {\n return this.getFirstProperty('GEO');\n }\n /**\n * Sets the geographical position based on latitude and longitude\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @param {Number} lat - latitude\n * @param {Number} long - longitude\n */\n\n\n setGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n this.deleteAllProperties('GEO');\n this.addProperty(GeoProperty.fromPosition(lat, long));\n }\n /**\n * Adds a new conference property based on URI, label and features\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @param {String} uri The URI of the conference\n * @param {String=} label The label of the conference\n * @param {String[]=} features Supported features of conference-system\n */\n\n\n addConference(uri, label = null, features = null) {\n this.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features));\n }\n\n}\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.1\n *\n * @name ToDoComponent#completedTime\n * @type {DateTimeValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'completedTime',\n iCalendarName: 'COMPLETED'\n});\n/**\n * The time when a task is due\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.3\n *\n * @name ToDoComponent#dueTime\n * @type {DateTimeValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'dueTime',\n iCalendarName: 'DUE'\n});\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name ToDoComponent#duration\n * @type {DurationValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'duration'\n});\n/**\n * The percentage a task was already fulfilled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.8\n *\n * @name ToDoComponent#percent\n * @type {Number}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'percent',\n iCalendarName: 'PERCENT-COMPLETE'\n});\n/**\n * Description of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name ToDoComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'description');\n/**\n * Location of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name ToDoComponent#location\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'location');\n/**\n * Priority of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name ToDoComponent#priority\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'priority',\n allowedValues: Array.from(Array(10).keys()),\n defaultValue: 0,\n unknownValue: 0\n});\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(ToDoComponent.prototype, {\n name: 'resource',\n iCalendarName: 'RESOURCES'\n});\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#clearAllConferences\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(ToDoComponent.prototype, 'conference');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be used in the root of a calendar-document\n *\n * @param {String} compName Name of the component to get constructor for\n * @returns {AbstractComponent|ToDoComponent|JournalComponent|FreeBusyComponent|TimezoneComponent|EventComponent}\n */\n\nfunction getConstructorForComponentName(compName) {\n switch (uc(compName)) {\n case 'VEVENT':\n return EventComponent;\n\n case 'VFREEBUSY':\n return FreeBusyComponent;\n\n case 'VJOURNAL':\n return JournalComponent;\n\n case 'VTIMEZONE':\n return TimezoneComponent;\n\n case 'VTODO':\n return ToDoComponent;\n\n default:\n return AbstractComponent;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * This class represents one VCALENDAR block\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.4\n */\n\nclass CalendarComponent extends AbstractComponent {\n /**\n * Constructor\n *\n * @inheritDoc\n */\n constructor(name = 'VCALENDAR', properties = [], components = []) {\n super(name, properties, components);\n this.root = this;\n this.parent = null;\n }\n /**\n * Gets an iterator over all VTIMEZONE components\n */\n\n\n *getTimezoneIterator() {\n yield* this.getComponentIterator('vtimezone');\n }\n /**\n * Gets an iterator over all VObject components\n */\n\n\n *getVObjectIterator() {\n yield* this.getEventIterator();\n yield* this.getJournalIterator();\n yield* this.getTodoIterator();\n }\n /**\n * Gets an iterator over all VEVENT components\n */\n\n\n *getEventIterator() {\n yield* this.getComponentIterator('vevent');\n }\n /**\n * Gets an iterator over all VFREEBUSY components\n */\n\n\n *getFreebusyIterator() {\n yield* this.getComponentIterator('vfreebusy');\n }\n /**\n * Gets an iterator over all VJOURNAL components\n */\n\n\n *getJournalIterator() {\n yield* this.getComponentIterator('vjournal');\n }\n /**\n * Gets an iterator over all VTODO components\n */\n\n\n *getTodoIterator() {\n yield* this.getComponentIterator('vtodo');\n }\n /**\n * @inheritDoc\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return getConstructorForComponentName(componentName);\n }\n /**\n * Converts this calendar component into text/calendar\n *\n * @param {boolean} cleanUpTimezones Whether or not to clean up timezone data\n * @returns {string}\n */\n\n\n toICS(cleanUpTimezones = true) {\n for (const vObject of this.getVObjectIterator()) {\n vObject.undirtify();\n }\n\n const icalRoot = this.toICALJs();\n\n if (cleanUpTimezones) {\n ICAL.helpers.updateTimezones(icalRoot);\n }\n\n return icalRoot.toString();\n }\n /**\n * Creates a new empty calendar-component\n *\n * @param {[String][]=} additionalProps Additional props to add to empty calendar-document\n * @returns {CalendarComponent}\n */\n\n\n static fromEmpty(additionalProps = []) {\n return new this('VCALENDAR', [['prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN')], ['calscale', 'GREGORIAN'], ['version', '2.0']].concat(additionalProps));\n }\n /**\n * Creates a new calendar-component with a method\n *\n * @param {string} method The method for the calendar-document\n * @returns {CalendarComponent}\n */\n\n\n static fromMethod(method) {\n return this.fromEmpty([['method', method]]);\n }\n /**\n * @inheritDoc\n */\n\n\n static fromICALJs(icalValue) {\n const comp = super.fromICALJs(icalValue);\n comp.root = comp;\n return comp;\n }\n\n}\n/**\n * ProductId representing the software that created this calendar-document\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.3\n *\n * @name CalendarComponent#productId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'productId',\n iCalendarName: 'PRODID'\n});\n/**\n * iCalendar version of this calendar-document\n * minver and maxver parameters are not supported, since they\n * are virtually used by no calendaring-software\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.4\n *\n * @name CalendarComponent#version\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'version'\n});\n/**\n * Calendar-scale used in this calendar-document\n * The default and only supported calendar-scale is GREGORIAN.\n * There is an iCalendar-extension about non-gregorian RRULES,\n * but that is not supported by calendar-js at the moment\n * @see https://tools.ietf.org/html/rfc7529\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.1\n *\n * @name CalendarComponent#calendarScale\n * @type {String}\n * @default \"GREGORIAN\"\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'calendarScale',\n iCalendarName: 'CALSCALE',\n defaultValue: 'GREGORIAN'\n});\n/**\n * Method of this calendar-document when being used in an iTIP message\n * Please see https://tools.ietf.org/html/rfc5546#section-3.2 for more information\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.2\n *\n * @name CalendarComponent#method\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'method'\n});\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractRepairStep\n * @classdesc A repair step is used to fix calendar-data before it is parsed\n */\nclass AbstractRepairStep {\n /**\n * @constructor\n */\n constructor() {\n if (new.target === AbstractRepairStep) {\n throw new TypeError('Cannot instantiate abstract class AbstractRepairStep');\n }\n }\n /**\n * @param {String} input String representation of the data to repair\n */\n\n\n repair(input) {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * @returns {number}\n */\n\n\n static priority() {\n return 0;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarAddMissingUIDRepairStep\n */\n\nclass ICalendarAddMissingUIDRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\\n/gm, (match, vobjectName, vObjectBlock) => {\n return 'BEGIN:' + vobjectName + '\\r\\n' + 'UID:' + v4() + vObjectBlock + 'END:' + vobjectName + '\\r\\n';\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarAddMissingValueDateDoubleColonRepairStep\n */\n\nclass ICalendarAddMissingValueDateDoubleColonRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm, (match, propName, parameters, date) => {\n return propName + ';VALUE=DATE:' + date;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarAddMissingValueDateRepairStep\n */\n\nclass ICalendarAddMissingValueDateRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm, (match, propName, parameters, _, date) => {\n return propName + parameters + ';VALUE=DATE:' + date;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarEmptyTriggerRepairStep\n * @classdesc This repair step fixes malformed TRIGGER properties\n */\n\nclass ICalendarEmptyTriggerRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^TRIGGER:P$/gm, 'TRIGGER:P0D').replace(/^TRIGGER:-P$/gm, 'TRIGGER:P0D');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nclass ICalendarIllegalCreatedRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^CREATED:00001231T000000Z$/gm, 'CREATED:19700101T000000Z');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarMultipleVCalendarBlocksRepairStep\n * @classdesc This repair step merges multiple BEGIN:VCALENDAR...END:VCALENDAR blocks\n */\n\nclass ICalendarMultipleVCalendarBlocksRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n let containsProdId = false;\n let containsVersion = false;\n let containsCalscale = false;\n const includedTimezones = new Set();\n return ics.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\\n))*)^BEGIN:VCALENDAR$\\n/gm, '').replace(/^PRODID:(.*)$\\n/gm, match => {\n if (containsProdId) {\n return '';\n }\n\n containsProdId = true;\n return match;\n }).replace(/^VERSION:(.*)$\\n/gm, match => {\n if (containsVersion) {\n return '';\n }\n\n containsVersion = true;\n return match;\n }).replace(/^CALSCALE:(.*)$\\n/gm, match => {\n if (containsCalscale) {\n return '';\n }\n\n containsCalscale = true;\n return match;\n }).replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm, match => {\n const tzidMatcher = match.match(/^TZID:(.*)$/gm); // If this Timezone definition contains no TZID for some reason,\n // just remove it, because we can't use it anyway\n\n if (tzidMatcher === null) {\n return '';\n }\n\n const tzid = uc(tzidMatcher[0].substr(5));\n\n if (includedTimezones.has(tzid)) {\n // If we already included this timezone, just skip\n return '';\n }\n\n includedTimezones.add(tzid);\n return match;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarRemoveXNCGroupIdRepairStep\n * @classdesc This repair step removes the X-NC-GroupID parameter used in previous versions of Nextcloud\n */\n\nclass ICalendarRemoveXNCGroupIdRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/(^.*)(;X-NC-GROUP-ID=\\d+)(:.*$)/gm, '$1$3');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * Get an iterator over all repair steps for iCalendar documents\n */\n\nfunction* getRepairSteps() {\n yield ICalendarAddMissingUIDRepairStep;\n yield ICalendarAddMissingValueDateDoubleColonRepairStep;\n yield ICalendarAddMissingValueDateRepairStep;\n yield ICalendarEmptyTriggerRepairStep;\n yield ICalendarIllegalCreatedRepairStep;\n yield ICalendarMultipleVCalendarBlocksRepairStep;\n yield ICalendarRemoveXNCGroupIdRepairStep;\n}\n\nvar version = \"2.2019c\";\nvar aliases = {\n\t\"AUS Central Standard Time\": {\n\t\taliasTo: \"Australia/Darwin\"\n\t},\n\t\"AUS Eastern Standard Time\": {\n\t\taliasTo: \"Australia/Sydney\"\n\t},\n\t\"Afghanistan Standard Time\": {\n\t\taliasTo: \"Asia/Kabul\"\n\t},\n\t\"Africa/Asmera\": {\n\t\taliasTo: \"Africa/Asmara\"\n\t},\n\t\"Africa/Timbuktu\": {\n\t\taliasTo: \"Africa/Bamako\"\n\t},\n\t\"Alaskan Standard Time\": {\n\t\taliasTo: \"America/Anchorage\"\n\t},\n\t\"America/Argentina/ComodRivadavia\": {\n\t\taliasTo: \"America/Argentina/Catamarca\"\n\t},\n\t\"America/Buenos_Aires\": {\n\t\taliasTo: \"America/Argentina/Buenos_Aires\"\n\t},\n\t\"America/Louisville\": {\n\t\taliasTo: \"America/Kentucky/Louisville\"\n\t},\n\t\"America/Montreal\": {\n\t\taliasTo: \"America/Toronto\"\n\t},\n\t\"America/Santa_Isabel\": {\n\t\taliasTo: \"America/Tijuana\"\n\t},\n\t\"Arab Standard Time\": {\n\t\taliasTo: \"Asia/Riyadh\"\n\t},\n\t\"Arabian Standard Time\": {\n\t\taliasTo: \"Asia/Dubai\"\n\t},\n\t\"Arabic Standard Time\": {\n\t\taliasTo: \"Asia/Baghdad\"\n\t},\n\t\"Argentina Standard Time\": {\n\t\taliasTo: \"America/Argentina/Buenos_Aires\"\n\t},\n\t\"Asia/Calcutta\": {\n\t\taliasTo: \"Asia/Kolkata\"\n\t},\n\t\"Asia/Katmandu\": {\n\t\taliasTo: \"Asia/Kathmandu\"\n\t},\n\t\"Asia/Rangoon\": {\n\t\taliasTo: \"Asia/Yangon\"\n\t},\n\t\"Asia/Saigon\": {\n\t\taliasTo: \"Asia/Ho_Chi_Minh\"\n\t},\n\t\"Atlantic Standard Time\": {\n\t\taliasTo: \"America/Halifax\"\n\t},\n\t\"Atlantic/Faeroe\": {\n\t\taliasTo: \"Atlantic/Faroe\"\n\t},\n\t\"Atlantic/Jan_Mayen\": {\n\t\taliasTo: \"Europe/Oslo\"\n\t},\n\t\"Azerbaijan Standard Time\": {\n\t\taliasTo: \"Asia/Baku\"\n\t},\n\t\"Azores Standard Time\": {\n\t\taliasTo: \"Atlantic/Azores\"\n\t},\n\t\"Bahia Standard Time\": {\n\t\taliasTo: \"America/Bahia\"\n\t},\n\t\"Bangladesh Standard Time\": {\n\t\taliasTo: \"Asia/Dhaka\"\n\t},\n\t\"Belarus Standard Time\": {\n\t\taliasTo: \"Europe/Minsk\"\n\t},\n\t\"Canada Central Standard Time\": {\n\t\taliasTo: \"America/Regina\"\n\t},\n\t\"Cape Verde Standard Time\": {\n\t\taliasTo: \"Atlantic/Cape_Verde\"\n\t},\n\t\"Caucasus Standard Time\": {\n\t\taliasTo: \"Asia/Yerevan\"\n\t},\n\t\"Cen. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Adelaide\"\n\t},\n\t\"Central America Standard Time\": {\n\t\taliasTo: \"America/Guatemala\"\n\t},\n\t\"Central Asia Standard Time\": {\n\t\taliasTo: \"Asia/Almaty\"\n\t},\n\t\"Central Brazilian Standard Time\": {\n\t\taliasTo: \"America/Cuiaba\"\n\t},\n\t\"Central Europe Standard Time\": {\n\t\taliasTo: \"Europe/Budapest\"\n\t},\n\t\"Central European Standard Time\": {\n\t\taliasTo: \"Europe/Warsaw\"\n\t},\n\t\"Central Pacific Standard Time\": {\n\t\taliasTo: \"Pacific/Guadalcanal\"\n\t},\n\t\"Central Standard Time\": {\n\t\taliasTo: \"America/Chicago\"\n\t},\n\t\"Central Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Mexico_City\"\n\t},\n\t\"China Standard Time\": {\n\t\taliasTo: \"Asia/Shanghai\"\n\t},\n\t\"E. Africa Standard Time\": {\n\t\taliasTo: \"Africa/Nairobi\"\n\t},\n\t\"E. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Brisbane\"\n\t},\n\t\"E. South America Standard Time\": {\n\t\taliasTo: \"America/Sao_Paulo\"\n\t},\n\t\"Eastern Standard Time\": {\n\t\taliasTo: \"America/New_York\"\n\t},\n\t\"Egypt Standard Time\": {\n\t\taliasTo: \"Africa/Cairo\"\n\t},\n\t\"Ekaterinburg Standard Time\": {\n\t\taliasTo: \"Asia/Yekaterinburg\"\n\t},\n\t\"Etc/GMT\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/GMT+0\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/UCT\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/UTC\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/Unversal\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/Zulu\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Europe/Belfast\": {\n\t\taliasTo: \"Europe/London\"\n\t},\n\t\"FLE Standard Time\": {\n\t\taliasTo: \"Europe/Kiev\"\n\t},\n\t\"Fiji Standard Time\": {\n\t\taliasTo: \"Pacific/Fiji\"\n\t},\n\tGMT: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"GMT Standard Time\": {\n\t\taliasTo: \"Europe/London\"\n\t},\n\t\"GMT+0\": {\n\t\taliasTo: \"UTC\"\n\t},\n\tGMT0: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"GTB Standard Time\": {\n\t\taliasTo: \"Europe/Bucharest\"\n\t},\n\t\"Georgian Standard Time\": {\n\t\taliasTo: \"Asia/Tbilisi\"\n\t},\n\t\"Greenland Standard Time\": {\n\t\taliasTo: \"America/Godthab\"\n\t},\n\tGreenwich: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Greenwich Standard Time\": {\n\t\taliasTo: \"Atlantic/Reykjavik\"\n\t},\n\t\"Hawaiian Standard Time\": {\n\t\taliasTo: \"Pacific/Honolulu\"\n\t},\n\t\"India Standard Time\": {\n\t\taliasTo: \"Asia/Calcutta\"\n\t},\n\t\"Iran Standard Time\": {\n\t\taliasTo: \"Asia/Tehran\"\n\t},\n\t\"Israel Standard Time\": {\n\t\taliasTo: \"Asia/Jerusalem\"\n\t},\n\t\"Jordan Standard Time\": {\n\t\taliasTo: \"Asia/Amman\"\n\t},\n\t\"Kaliningrad Standard Time\": {\n\t\taliasTo: \"Europe/Kaliningrad\"\n\t},\n\t\"Korea Standard Time\": {\n\t\taliasTo: \"Asia/Seoul\"\n\t},\n\t\"Libya Standard Time\": {\n\t\taliasTo: \"Africa/Tripoli\"\n\t},\n\t\"Line Islands Standard Time\": {\n\t\taliasTo: \"Pacific/Kiritimati\"\n\t},\n\t\"Magadan Standard Time\": {\n\t\taliasTo: \"Asia/Magadan\"\n\t},\n\t\"Mauritius Standard Time\": {\n\t\taliasTo: \"Indian/Mauritius\"\n\t},\n\t\"Middle East Standard Time\": {\n\t\taliasTo: \"Asia/Beirut\"\n\t},\n\t\"Montevideo Standard Time\": {\n\t\taliasTo: \"America/Montevideo\"\n\t},\n\t\"Morocco Standard Time\": {\n\t\taliasTo: \"Africa/Casablanca\"\n\t},\n\t\"Mountain Standard Time\": {\n\t\taliasTo: \"America/Denver\"\n\t},\n\t\"Mountain Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Chihuahua\"\n\t},\n\t\"Myanmar Standard Time\": {\n\t\taliasTo: \"Asia/Rangoon\"\n\t},\n\t\"N. Central Asia Standard Time\": {\n\t\taliasTo: \"Asia/Novosibirsk\"\n\t},\n\t\"Namibia Standard Time\": {\n\t\taliasTo: \"Africa/Windhoek\"\n\t},\n\t\"Nepal Standard Time\": {\n\t\taliasTo: \"Asia/Katmandu\"\n\t},\n\t\"New Zealand Standard Time\": {\n\t\taliasTo: \"Pacific/Auckland\"\n\t},\n\t\"Newfoundland Standard Time\": {\n\t\taliasTo: \"America/St_Johns\"\n\t},\n\t\"North Asia East Standard Time\": {\n\t\taliasTo: \"Asia/Irkutsk\"\n\t},\n\t\"North Asia Standard Time\": {\n\t\taliasTo: \"Asia/Krasnoyarsk\"\n\t},\n\t\"Pacific SA Standard Time\": {\n\t\taliasTo: \"America/Santiago\"\n\t},\n\t\"Pacific Standard Time\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"Pacific Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Santa_Isabel\"\n\t},\n\t\"Pacific/Johnston\": {\n\t\taliasTo: \"Pacific/Honolulu\"\n\t},\n\t\"Pakistan Standard Time\": {\n\t\taliasTo: \"Asia/Karachi\"\n\t},\n\t\"Paraguay Standard Time\": {\n\t\taliasTo: \"America/Asuncion\"\n\t},\n\t\"Romance Standard Time\": {\n\t\taliasTo: \"Europe/Paris\"\n\t},\n\t\"Russia Time Zone 10\": {\n\t\taliasTo: \"Asia/Srednekolymsk\"\n\t},\n\t\"Russia Time Zone 11\": {\n\t\taliasTo: \"Asia/Kamchatka\"\n\t},\n\t\"Russia Time Zone 3\": {\n\t\taliasTo: \"Europe/Samara\"\n\t},\n\t\"Russian Standard Time\": {\n\t\taliasTo: \"Europe/Moscow\"\n\t},\n\t\"SA Eastern Standard Time\": {\n\t\taliasTo: \"America/Cayenne\"\n\t},\n\t\"SA Pacific Standard Time\": {\n\t\taliasTo: \"America/Bogota\"\n\t},\n\t\"SA Western Standard Time\": {\n\t\taliasTo: \"America/La_Paz\"\n\t},\n\t\"SE Asia Standard Time\": {\n\t\taliasTo: \"Asia/Bangkok\"\n\t},\n\t\"Samoa Standard Time\": {\n\t\taliasTo: \"Pacific/Apia\"\n\t},\n\t\"Singapore Standard Time\": {\n\t\taliasTo: \"Asia/Singapore\"\n\t},\n\t\"South Africa Standard Time\": {\n\t\taliasTo: \"Africa/Johannesburg\"\n\t},\n\t\"Sri Lanka Standard Time\": {\n\t\taliasTo: \"Asia/Colombo\"\n\t},\n\t\"Syria Standard Time\": {\n\t\taliasTo: \"Asia/Damascus\"\n\t},\n\t\"Taipei Standard Time\": {\n\t\taliasTo: \"Asia/Taipei\"\n\t},\n\t\"Tasmania Standard Time\": {\n\t\taliasTo: \"Australia/Hobart\"\n\t},\n\t\"Tokyo Standard Time\": {\n\t\taliasTo: \"Asia/Tokyo\"\n\t},\n\t\"Tonga Standard Time\": {\n\t\taliasTo: \"Pacific/Tongatapu\"\n\t},\n\t\"Turkey Standard Time\": {\n\t\taliasTo: \"Europe/Istanbul\"\n\t},\n\tUCT: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"US Eastern Standard Time\": {\n\t\taliasTo: \"America/Indiana/Indianapolis\"\n\t},\n\t\"US Mountain Standard Time\": {\n\t\taliasTo: \"America/Phoenix\"\n\t},\n\t\"US/Central\": {\n\t\taliasTo: \"America/Chicago\"\n\t},\n\t\"US/Eastern\": {\n\t\taliasTo: \"America/New_York\"\n\t},\n\t\"US/Mountain\": {\n\t\taliasTo: \"America/Denver\"\n\t},\n\t\"US/Pacific\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"US/Pacific-New\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"Ulaanbaatar Standard Time\": {\n\t\taliasTo: \"Asia/Ulaanbaatar\"\n\t},\n\tUniversal: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Venezuela Standard Time\": {\n\t\taliasTo: \"America/Caracas\"\n\t},\n\t\"Vladivostok Standard Time\": {\n\t\taliasTo: \"Asia/Vladivostok\"\n\t},\n\t\"W. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Perth\"\n\t},\n\t\"W. Central Africa Standard Time\": {\n\t\taliasTo: \"Africa/Lagos\"\n\t},\n\t\"W. Europe Standard Time\": {\n\t\taliasTo: \"Europe/Berlin\"\n\t},\n\t\"West Asia Standard Time\": {\n\t\taliasTo: \"Asia/Tashkent\"\n\t},\n\t\"West Pacific Standard Time\": {\n\t\taliasTo: \"Pacific/Port_Moresby\"\n\t},\n\t\"Yakutsk Standard Time\": {\n\t\taliasTo: \"Asia/Yakutsk\"\n\t},\n\tZ: {\n\t\taliasTo: \"UTC\"\n\t},\n\tZulu: {\n\t\taliasTo: \"UTC\"\n\t},\n\tutc: {\n\t\taliasTo: \"UTC\"\n\t}\n};\nvar zones = {\n\t\"Africa/Abidjan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0051900\",\n\t\tlongitude: \"-0040200\"\n\t},\n\t\"Africa/Accra\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0053300\",\n\t\tlongitude: \"+0001300\"\n\t},\n\t\"Africa/Addis_Ababa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0090200\",\n\t\tlongitude: \"+0384200\"\n\t},\n\t\"Africa/Algiers\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364700\",\n\t\tlongitude: \"+0030300\"\n\t},\n\t\"Africa/Asmara\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0152000\",\n\t\tlongitude: \"+0385300\"\n\t},\n\t\"Africa/Bamako\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0123900\",\n\t\tlongitude: \"-0080000\"\n\t},\n\t\"Africa/Bangui\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0042200\",\n\t\tlongitude: \"+0183500\"\n\t},\n\t\"Africa/Banjul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0132800\",\n\t\tlongitude: \"-0163900\"\n\t},\n\t\"Africa/Bissau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0115100\",\n\t\tlongitude: \"-0153500\"\n\t},\n\t\"Africa/Blantyre\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0154700\",\n\t\tlongitude: \"+0350000\"\n\t},\n\t\"Africa/Brazzaville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0041600\",\n\t\tlongitude: \"+0151700\"\n\t},\n\t\"Africa/Bujumbura\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0032300\",\n\t\tlongitude: \"+0292200\"\n\t},\n\t\"Africa/Cairo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0300300\",\n\t\tlongitude: \"+0311500\"\n\t},\n\t\"Africa/Casablanca\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0333900\",\n\t\tlongitude: \"-0073500\"\n\t},\n\t\"Africa/Ceuta\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0355300\",\n\t\tlongitude: \"-0051900\"\n\t},\n\t\"Africa/Conakry\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0093100\",\n\t\tlongitude: \"-0134300\"\n\t},\n\t\"Africa/Dakar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0144000\",\n\t\tlongitude: \"-0172600\"\n\t},\n\t\"Africa/Dar_es_Salaam\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0064800\",\n\t\tlongitude: \"+0391700\"\n\t},\n\t\"Africa/Djibouti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0113600\",\n\t\tlongitude: \"+0430900\"\n\t},\n\t\"Africa/Douala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0040300\",\n\t\tlongitude: \"+0094200\"\n\t},\n\t\"Africa/El_Aaiun\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0270900\",\n\t\tlongitude: \"-0131200\"\n\t},\n\t\"Africa/Freetown\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0083000\",\n\t\tlongitude: \"-0131500\"\n\t},\n\t\"Africa/Gaborone\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0243900\",\n\t\tlongitude: \"+0255500\"\n\t},\n\t\"Africa/Harare\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0175000\",\n\t\tlongitude: \"+0310300\"\n\t},\n\t\"Africa/Johannesburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0261500\",\n\t\tlongitude: \"+0280000\"\n\t},\n\t\"Africa/Juba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045100\",\n\t\tlongitude: \"+0313700\"\n\t},\n\t\"Africa/Kampala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0001900\",\n\t\tlongitude: \"+0322500\"\n\t},\n\t\"Africa/Khartoum\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0153600\",\n\t\tlongitude: \"+0323200\"\n\t},\n\t\"Africa/Kigali\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0015700\",\n\t\tlongitude: \"+0300400\"\n\t},\n\t\"Africa/Kinshasa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0041800\",\n\t\tlongitude: \"+0151800\"\n\t},\n\t\"Africa/Lagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0062700\",\n\t\tlongitude: \"+0032400\"\n\t},\n\t\"Africa/Libreville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0002300\",\n\t\tlongitude: \"+0092700\"\n\t},\n\t\"Africa/Lome\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0060800\",\n\t\tlongitude: \"+0011300\"\n\t},\n\t\"Africa/Luanda\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0084800\",\n\t\tlongitude: \"+0131400\"\n\t},\n\t\"Africa/Lubumbashi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0114000\",\n\t\tlongitude: \"+0272800\"\n\t},\n\t\"Africa/Lusaka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0152500\",\n\t\tlongitude: \"+0281700\"\n\t},\n\t\"Africa/Malabo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0034500\",\n\t\tlongitude: \"+0084700\"\n\t},\n\t\"Africa/Maputo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0255800\",\n\t\tlongitude: \"+0323500\"\n\t},\n\t\"Africa/Maseru\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0292800\",\n\t\tlongitude: \"+0273000\"\n\t},\n\t\"Africa/Mbabane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0261800\",\n\t\tlongitude: \"+0310600\"\n\t},\n\t\"Africa/Mogadishu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0020400\",\n\t\tlongitude: \"+0452200\"\n\t},\n\t\"Africa/Monrovia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0061800\",\n\t\tlongitude: \"-0104700\"\n\t},\n\t\"Africa/Nairobi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0011700\",\n\t\tlongitude: \"+0364900\"\n\t},\n\t\"Africa/Ndjamena\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120700\",\n\t\tlongitude: \"+0150300\"\n\t},\n\t\"Africa/Niamey\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0133100\",\n\t\tlongitude: \"+0020700\"\n\t},\n\t\"Africa/Nouakchott\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180600\",\n\t\tlongitude: \"-0155700\"\n\t},\n\t\"Africa/Ouagadougou\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0122200\",\n\t\tlongitude: \"-0013100\"\n\t},\n\t\"Africa/Porto-Novo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0062900\",\n\t\tlongitude: \"+0023700\"\n\t},\n\t\"Africa/Sao_Tome\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:20180101T010000\\r\\nRDATE:20180101T010000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:20190101T020000\\r\\nRDATE:20190101T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0002000\",\n\t\tlongitude: \"+0064400\"\n\t},\n\t\"Africa/Tripoli\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0325400\",\n\t\tlongitude: \"+0131100\"\n\t},\n\t\"Africa/Tunis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364800\",\n\t\tlongitude: \"+0101100\"\n\t},\n\t\"Africa/Windhoek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0223400\",\n\t\tlongitude: \"+0170600\"\n\t},\n\t\"America/Adak\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0515248\",\n\t\tlongitude: \"-1763929\"\n\t},\n\t\"America/Anchorage\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0611305\",\n\t\tlongitude: \"-1495401\"\n\t},\n\t\"America/Anguilla\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0181200\",\n\t\tlongitude: \"-0630400\"\n\t},\n\t\"America/Antigua\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0170300\",\n\t\tlongitude: \"-0614800\"\n\t},\n\t\"America/Araguaina\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0071200\",\n\t\tlongitude: \"-0481200\"\n\t},\n\t\"America/Argentina/Buenos_Aires\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0343600\",\n\t\tlongitude: \"-0582700\"\n\t},\n\t\"America/Argentina/Catamarca\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0282800\",\n\t\tlongitude: \"-0654700\"\n\t},\n\t\"America/Argentina/Cordoba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0312400\",\n\t\tlongitude: \"-0641100\"\n\t},\n\t\"America/Argentina/Jujuy\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0241100\",\n\t\tlongitude: \"-0651800\"\n\t},\n\t\"America/Argentina/La_Rioja\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0292600\",\n\t\tlongitude: \"-0665100\"\n\t},\n\t\"America/Argentina/Mendoza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0325300\",\n\t\tlongitude: \"-0684900\"\n\t},\n\t\"America/Argentina/Rio_Gallegos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0513800\",\n\t\tlongitude: \"-0691300\"\n\t},\n\t\"America/Argentina/Salta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0244700\",\n\t\tlongitude: \"-0652500\"\n\t},\n\t\"America/Argentina/San_Juan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0313200\",\n\t\tlongitude: \"-0683100\"\n\t},\n\t\"America/Argentina/San_Luis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0331900\",\n\t\tlongitude: \"-0662100\"\n\t},\n\t\"America/Argentina/Tucuman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0264900\",\n\t\tlongitude: \"-0651300\"\n\t},\n\t\"America/Argentina/Ushuaia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0544800\",\n\t\tlongitude: \"-0681800\"\n\t},\n\t\"America/Aruba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0123000\",\n\t\tlongitude: \"-0695800\"\n\t},\n\t\"America/Asuncion\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701004T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700322T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0251600\",\n\t\tlongitude: \"-0574000\"\n\t},\n\t\"America/Atikokan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484531\",\n\t\tlongitude: \"-0913718\"\n\t},\n\t\"America/Bahia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0125900\",\n\t\tlongitude: \"-0383100\"\n\t},\n\t\"America/Bahia_Banderas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0204800\",\n\t\tlongitude: \"-1051500\"\n\t},\n\t\"America/Barbados\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0130600\",\n\t\tlongitude: \"-0593700\"\n\t},\n\t\"America/Belem\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0012700\",\n\t\tlongitude: \"-0482900\"\n\t},\n\t\"America/Belize\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0173000\",\n\t\tlongitude: \"-0881200\"\n\t},\n\t\"America/Blanc-Sablon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0512500\",\n\t\tlongitude: \"-0570700\"\n\t},\n\t\"America/Boa_Vista\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0024900\",\n\t\tlongitude: \"-0604000\"\n\t},\n\t\"America/Bogota\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0043600\",\n\t\tlongitude: \"-0740500\"\n\t},\n\t\"America/Boise\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0433649\",\n\t\tlongitude: \"-1161209\"\n\t},\n\t\"America/Cambridge_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0690650\",\n\t\tlongitude: \"-1050310\"\n\t},\n\t\"America/Campo_Grande\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0202700\",\n\t\tlongitude: \"-0543700\"\n\t},\n\t\"America/Cancun\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0210500\",\n\t\tlongitude: \"-0864600\"\n\t},\n\t\"America/Caracas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0103000\",\n\t\tlongitude: \"-0665600\"\n\t},\n\t\"America/Cayenne\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045600\",\n\t\tlongitude: \"-0522000\"\n\t},\n\t\"America/Cayman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0191800\",\n\t\tlongitude: \"-0812300\"\n\t},\n\t\"America/Chicago\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415100\",\n\t\tlongitude: \"-0873900\"\n\t},\n\t\"America/Chihuahua\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0283800\",\n\t\tlongitude: \"-1060500\"\n\t},\n\t\"America/Costa_Rica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0095600\",\n\t\tlongitude: \"-0840500\"\n\t},\n\t\"America/Creston\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0490600\",\n\t\tlongitude: \"-1163100\"\n\t},\n\t\"America/Cuiaba\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0153500\",\n\t\tlongitude: \"-0560500\"\n\t},\n\t\"America/Curacao\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0121100\",\n\t\tlongitude: \"-0690000\"\n\t},\n\t\"America/Danmarkshavn\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0764600\",\n\t\tlongitude: \"-0184000\"\n\t},\n\t\"America/Dawson\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0640400\",\n\t\tlongitude: \"-1392500\"\n\t},\n\t\"America/Dawson_Creek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0594600\",\n\t\tlongitude: \"-1201400\"\n\t},\n\t\"America/Denver\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394421\",\n\t\tlongitude: \"-1045903\"\n\t},\n\t\"America/Detroit\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0421953\",\n\t\tlongitude: \"-0830245\"\n\t},\n\t\"America/Dominica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0151800\",\n\t\tlongitude: \"-0612400\"\n\t},\n\t\"America/Edmonton\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0533300\",\n\t\tlongitude: \"-1132800\"\n\t},\n\t\"America/Eirunepe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0064000\",\n\t\tlongitude: \"-0695200\"\n\t},\n\t\"America/El_Salvador\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0134200\",\n\t\tlongitude: \"-0891200\"\n\t},\n\t\"America/Fort_Nelson\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0584800\",\n\t\tlongitude: \"-1224200\"\n\t},\n\t\"America/Fortaleza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0034300\",\n\t\tlongitude: \"-0383000\"\n\t},\n\t\"America/Glace_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0461200\",\n\t\tlongitude: \"-0595700\"\n\t},\n\t\"America/Godthab\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700328T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701024T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0641100\",\n\t\tlongitude: \"-0514400\"\n\t},\n\t\"America/Goose_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0532000\",\n\t\tlongitude: \"-0602500\"\n\t},\n\t\"America/Grand_Turk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:20181104T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20190310T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20180311T020000\\r\\nRDATE:20180311T020000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0212800\",\n\t\tlongitude: \"-0710800\"\n\t},\n\t\"America/Grenada\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120300\",\n\t\tlongitude: \"-0614500\"\n\t},\n\t\"America/Guadeloupe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0161400\",\n\t\tlongitude: \"-0613200\"\n\t},\n\t\"America/Guatemala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143800\",\n\t\tlongitude: \"-0903100\"\n\t},\n\t\"America/Guayaquil\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0021000\",\n\t\tlongitude: \"-0795000\"\n\t},\n\t\"America/Guyana\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0064800\",\n\t\tlongitude: \"-0581000\"\n\t},\n\t\"America/Halifax\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0443900\",\n\t\tlongitude: \"-0633600\"\n\t},\n\t\"America/Havana\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0230800\",\n\t\tlongitude: \"-0822200\"\n\t},\n\t\"America/Hermosillo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0290400\",\n\t\tlongitude: \"-1105800\"\n\t},\n\t\"America/Indiana/Indianapolis\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394606\",\n\t\tlongitude: \"-0860929\"\n\t},\n\t\"America/Indiana/Knox\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0411745\",\n\t\tlongitude: \"-0863730\"\n\t},\n\t\"America/Indiana/Marengo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0382232\",\n\t\tlongitude: \"-0862041\"\n\t},\n\t\"America/Indiana/Petersburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0382931\",\n\t\tlongitude: \"-0871643\"\n\t},\n\t\"America/Indiana/Tell_City\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375711\",\n\t\tlongitude: \"-0864541\"\n\t},\n\t\"America/Indiana/Vevay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0384452\",\n\t\tlongitude: \"-0850402\"\n\t},\n\t\"America/Indiana/Vincennes\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0384038\",\n\t\tlongitude: \"-0873143\"\n\t},\n\t\"America/Indiana/Winamac\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0410305\",\n\t\tlongitude: \"-0863611\"\n\t},\n\t\"America/Inuvik\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0682059\",\n\t\tlongitude: \"-1334300\"\n\t},\n\t\"America/Iqaluit\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0634400\",\n\t\tlongitude: \"-0682800\"\n\t},\n\t\"America/Jamaica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175805\",\n\t\tlongitude: \"-0764736\"\n\t},\n\t\"America/Juneau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0581807\",\n\t\tlongitude: \"-1342511\"\n\t},\n\t\"America/Kentucky/Louisville\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0381515\",\n\t\tlongitude: \"-0854534\"\n\t},\n\t\"America/Kentucky/Monticello\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364947\",\n\t\tlongitude: \"-0845057\"\n\t},\n\t\"America/Kralendijk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120903\",\n\t\tlongitude: \"-0681636\"\n\t},\n\t\"America/La_Paz\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0163000\",\n\t\tlongitude: \"-0680900\"\n\t},\n\t\"America/Lima\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0120300\",\n\t\tlongitude: \"-0770300\"\n\t},\n\t\"America/Los_Angeles\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0340308\",\n\t\tlongitude: \"-1181434\"\n\t},\n\t\"America/Lower_Princes\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180305\",\n\t\tlongitude: \"-0630250\"\n\t},\n\t\"America/Maceio\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0094000\",\n\t\tlongitude: \"-0354300\"\n\t},\n\t\"America/Managua\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120900\",\n\t\tlongitude: \"-0861700\"\n\t},\n\t\"America/Manaus\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0030800\",\n\t\tlongitude: \"-0600100\"\n\t},\n\t\"America/Marigot\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180400\",\n\t\tlongitude: \"-0630500\"\n\t},\n\t\"America/Martinique\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143600\",\n\t\tlongitude: \"-0610500\"\n\t},\n\t\"America/Matamoros\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0255000\",\n\t\tlongitude: \"-0973000\"\n\t},\n\t\"America/Mazatlan\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0231300\",\n\t\tlongitude: \"-1062500\"\n\t},\n\t\"America/Menominee\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0450628\",\n\t\tlongitude: \"-0873651\"\n\t},\n\t\"America/Merida\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0205800\",\n\t\tlongitude: \"-0893700\"\n\t},\n\t\"America/Metlakatla\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20191103T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20190120T020000\\r\\nRDATE:20190120T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550737\",\n\t\tlongitude: \"-1313435\"\n\t},\n\t\"America/Mexico_City\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0192400\",\n\t\tlongitude: \"-0990900\"\n\t},\n\t\"America/Miquelon\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470300\",\n\t\tlongitude: \"-0562000\"\n\t},\n\t\"America/Moncton\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0460600\",\n\t\tlongitude: \"-0644700\"\n\t},\n\t\"America/Monterrey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0254000\",\n\t\tlongitude: \"-1001900\"\n\t},\n\t\"America/Montevideo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0345433\",\n\t\tlongitude: \"-0561245\"\n\t},\n\t\"America/Montserrat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0164300\",\n\t\tlongitude: \"-0621300\"\n\t},\n\t\"America/Nassau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0250500\",\n\t\tlongitude: \"-0772100\"\n\t},\n\t\"America/New_York\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0404251\",\n\t\tlongitude: \"-0740023\"\n\t},\n\t\"America/Nipigon\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0490100\",\n\t\tlongitude: \"-0881600\"\n\t},\n\t\"America/Nome\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0643004\",\n\t\tlongitude: \"-1652423\"\n\t},\n\t\"America/Noronha\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0035100\",\n\t\tlongitude: \"-0322500\"\n\t},\n\t\"America/North_Dakota/Beulah\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0471551\",\n\t\tlongitude: \"-1014640\"\n\t},\n\t\"America/North_Dakota/Center\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470659\",\n\t\tlongitude: \"-1011757\"\n\t},\n\t\"America/North_Dakota/New_Salem\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0465042\",\n\t\tlongitude: \"-1012439\"\n\t},\n\t\"America/Ojinaga\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0293400\",\n\t\tlongitude: \"-1042500\"\n\t},\n\t\"America/Panama\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0085800\",\n\t\tlongitude: \"-0793200\"\n\t},\n\t\"America/Pangnirtung\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0660800\",\n\t\tlongitude: \"-0654400\"\n\t},\n\t\"America/Paramaribo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0055000\",\n\t\tlongitude: \"-0551000\"\n\t},\n\t\"America/Phoenix\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0332654\",\n\t\tlongitude: \"-1120424\"\n\t},\n\t\"America/Port-au-Prince\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0183200\",\n\t\tlongitude: \"-0722000\"\n\t},\n\t\"America/Port_of_Spain\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0103900\",\n\t\tlongitude: \"-0613100\"\n\t},\n\t\"America/Porto_Velho\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0084600\",\n\t\tlongitude: \"-0635400\"\n\t},\n\t\"America/Puerto_Rico\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182806\",\n\t\tlongitude: \"-0660622\"\n\t},\n\t\"America/Punta_Arenas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0530900\",\n\t\tlongitude: \"-0705500\"\n\t},\n\t\"America/Rainy_River\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484300\",\n\t\tlongitude: \"-0943400\"\n\t},\n\t\"America/Rankin_Inlet\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0624900\",\n\t\tlongitude: \"-0920459\"\n\t},\n\t\"America/Recife\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0080300\",\n\t\tlongitude: \"-0345400\"\n\t},\n\t\"America/Regina\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0502400\",\n\t\tlongitude: \"-1043900\"\n\t},\n\t\"America/Resolute\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0744144\",\n\t\tlongitude: \"-0944945\"\n\t},\n\t\"America/Rio_Branco\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0095800\",\n\t\tlongitude: \"-0674800\"\n\t},\n\t\"America/Santarem\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0022600\",\n\t\tlongitude: \"-0545200\"\n\t},\n\t\"America/Santiago\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20190407T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20190908T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180812T000000\\r\\nRDATE:20180812T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180513T000000\\r\\nRDATE:20180513T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0332700\",\n\t\tlongitude: \"-0704000\"\n\t},\n\t\"America/Santo_Domingo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182800\",\n\t\tlongitude: \"-0695400\"\n\t},\n\t\"America/Sao_Paulo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0233200\",\n\t\tlongitude: \"-0463700\"\n\t},\n\t\"America/Scoresbysund\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0702900\",\n\t\tlongitude: \"-0215800\"\n\t},\n\t\"America/Sitka\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0571035\",\n\t\tlongitude: \"-1351807\"\n\t},\n\t\"America/St_Barthelemy\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175300\",\n\t\tlongitude: \"-0625100\"\n\t},\n\t\"America/St_Johns\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0230\\r\\nTZOFFSETTO:-0330\\r\\nTZNAME:NST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0330\\r\\nTZOFFSETTO:-0230\\r\\nTZNAME:NDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0473400\",\n\t\tlongitude: \"-0524300\"\n\t},\n\t\"America/St_Kitts\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0171800\",\n\t\tlongitude: \"-0624300\"\n\t},\n\t\"America/St_Lucia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0140100\",\n\t\tlongitude: \"-0610000\"\n\t},\n\t\"America/St_Thomas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182100\",\n\t\tlongitude: \"-0645600\"\n\t},\n\t\"America/St_Vincent\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0130900\",\n\t\tlongitude: \"-0611400\"\n\t},\n\t\"America/Swift_Current\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0501700\",\n\t\tlongitude: \"-1075000\"\n\t},\n\t\"America/Tegucigalpa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0140600\",\n\t\tlongitude: \"-0871300\"\n\t},\n\t\"America/Thule\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0763400\",\n\t\tlongitude: \"-0684700\"\n\t},\n\t\"America/Thunder_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0482300\",\n\t\tlongitude: \"-0891500\"\n\t},\n\t\"America/Tijuana\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0323200\",\n\t\tlongitude: \"-1170100\"\n\t},\n\t\"America/Toronto\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0433900\",\n\t\tlongitude: \"-0792300\"\n\t},\n\t\"America/Tortola\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182700\",\n\t\tlongitude: \"-0643700\"\n\t},\n\t\"America/Vancouver\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0491600\",\n\t\tlongitude: \"-1230700\"\n\t},\n\t\"America/Whitehorse\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0604300\",\n\t\tlongitude: \"-1350300\"\n\t},\n\t\"America/Winnipeg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0495300\",\n\t\tlongitude: \"-0970900\"\n\t},\n\t\"America/Yakutat\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0593249\",\n\t\tlongitude: \"-1394338\"\n\t},\n\t\"America/Yellowknife\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0622700\",\n\t\tlongitude: \"-1142100\"\n\t},\n\t\"Antarctica/Casey\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:20180311T040000\\r\\nRDATE:20180311T040000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0661700\",\n\t\tlongitude: \"+1103100\"\n\t},\n\t\"Antarctica/Davis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0683500\",\n\t\tlongitude: \"+0775800\"\n\t},\n\t\"Antarctica/DumontDUrville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0664000\",\n\t\tlongitude: \"+1400100\"\n\t},\n\t\"Antarctica/Macquarie\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0543000\",\n\t\tlongitude: \"+1585700\"\n\t},\n\t\"Antarctica/Mawson\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0673600\",\n\t\tlongitude: \"+0625300\"\n\t},\n\t\"Antarctica/McMurdo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0775000\",\n\t\tlongitude: \"+1663600\"\n\t},\n\t\"Antarctica/Palmer\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0644800\",\n\t\tlongitude: \"-0640600\"\n\t},\n\t\"Antarctica/Rothera\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0673400\",\n\t\tlongitude: \"-0680800\"\n\t},\n\t\"Antarctica/Syowa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0690022\",\n\t\tlongitude: \"+0393524\"\n\t},\n\t\"Antarctica/Troll\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:+02\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0720041\",\n\t\tlongitude: \"+0023206\"\n\t},\n\t\"Antarctica/Vostok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0782400\",\n\t\tlongitude: \"+1065400\"\n\t},\n\t\"Arctic/Longyearbyen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0780000\",\n\t\tlongitude: \"+0160000\"\n\t},\n\t\"Asia/Aden\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0124500\",\n\t\tlongitude: \"+0451200\"\n\t},\n\t\"Asia/Almaty\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0431500\",\n\t\tlongitude: \"+0765700\"\n\t},\n\t\"Asia/Amman\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700326T235959\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0315700\",\n\t\tlongitude: \"+0355600\"\n\t},\n\t\"Asia/Anadyr\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0644500\",\n\t\tlongitude: \"+1772900\"\n\t},\n\t\"Asia/Aqtau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0443100\",\n\t\tlongitude: \"+0501600\"\n\t},\n\t\"Asia/Aqtobe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0501700\",\n\t\tlongitude: \"+0571000\"\n\t},\n\t\"Asia/Ashgabat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375700\",\n\t\tlongitude: \"+0582300\"\n\t},\n\t\"Asia/Atyrau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470700\",\n\t\tlongitude: \"+0515600\"\n\t},\n\t\"Asia/Baghdad\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0332100\",\n\t\tlongitude: \"+0442500\"\n\t},\n\t\"Asia/Bahrain\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0262300\",\n\t\tlongitude: \"+0503500\"\n\t},\n\t\"Asia/Baku\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0402300\",\n\t\tlongitude: \"+0495100\"\n\t},\n\t\"Asia/Bangkok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0134500\",\n\t\tlongitude: \"+1003100\"\n\t},\n\t\"Asia/Barnaul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0532200\",\n\t\tlongitude: \"+0834500\"\n\t},\n\t\"Asia/Beirut\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0335300\",\n\t\tlongitude: \"+0353000\"\n\t},\n\t\"Asia/Bishkek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0425400\",\n\t\tlongitude: \"+0743600\"\n\t},\n\t\"Asia/Brunei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045600\",\n\t\tlongitude: \"+1145500\"\n\t},\n\t\"Asia/Chita\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0520300\",\n\t\tlongitude: \"+1132800\"\n\t},\n\t\"Asia/Choibalsan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480400\",\n\t\tlongitude: \"+1143000\"\n\t},\n\t\"Asia/Colombo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:+0530\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0065600\",\n\t\tlongitude: \"+0795100\"\n\t},\n\t\"Asia/Damascus\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700327T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0333000\",\n\t\tlongitude: \"+0361800\"\n\t},\n\t\"Asia/Dhaka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0234300\",\n\t\tlongitude: \"+0902500\"\n\t},\n\t\"Asia/Dili\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0083300\",\n\t\tlongitude: \"+1253500\"\n\t},\n\t\"Asia/Dubai\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0251800\",\n\t\tlongitude: \"+0551800\"\n\t},\n\t\"Asia/Dushanbe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0383500\",\n\t\tlongitude: \"+0684800\"\n\t},\n\t\"Asia/Famagusta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180325T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0350700\",\n\t\tlongitude: \"+0335700\"\n\t},\n\t\"Asia/Gaza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0313000\",\n\t\tlongitude: \"+0342800\"\n\t},\n\t\"Asia/Hebron\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0313200\",\n\t\tlongitude: \"+0350542\"\n\t},\n\t\"Asia/Ho_Chi_Minh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0104500\",\n\t\tlongitude: \"+1064000\"\n\t},\n\t\"Asia/Hong_Kong\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:HKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0221700\",\n\t\tlongitude: \"+1140900\"\n\t},\n\t\"Asia/Hovd\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480100\",\n\t\tlongitude: \"+0913900\"\n\t},\n\t\"Asia/Irkutsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0521600\",\n\t\tlongitude: \"+1042000\"\n\t},\n\t\"Asia/Istanbul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0410100\",\n\t\tlongitude: \"+0285800\"\n\t},\n\t\"Asia/Jakarta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0061000\",\n\t\tlongitude: \"+1064800\"\n\t},\n\t\"Asia/Jayapura\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:WIT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0023200\",\n\t\tlongitude: \"+1404200\"\n\t},\n\t\"Asia/Jerusalem\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:IDT\\r\\nDTSTART:19700327T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:IST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0314650\",\n\t\tlongitude: \"+0351326\"\n\t},\n\t\"Asia/Kabul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0343100\",\n\t\tlongitude: \"+0691200\"\n\t},\n\t\"Asia/Kamchatka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0530100\",\n\t\tlongitude: \"+1583900\"\n\t},\n\t\"Asia/Karachi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:PKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0245200\",\n\t\tlongitude: \"+0670300\"\n\t},\n\t\"Asia/Kathmandu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0545\\r\\nTZOFFSETTO:+0545\\r\\nTZNAME:+0545\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0274300\",\n\t\tlongitude: \"+0851900\"\n\t},\n\t\"Asia/Khandyga\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0623923\",\n\t\tlongitude: \"+1353314\"\n\t},\n\t\"Asia/Kolkata\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:IST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0223200\",\n\t\tlongitude: \"+0882200\"\n\t},\n\t\"Asia/Krasnoyarsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0560100\",\n\t\tlongitude: \"+0925000\"\n\t},\n\t\"Asia/Kuala_Lumpur\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0031000\",\n\t\tlongitude: \"+1014200\"\n\t},\n\t\"Asia/Kuching\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0013300\",\n\t\tlongitude: \"+1102000\"\n\t},\n\t\"Asia/Kuwait\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0292000\",\n\t\tlongitude: \"+0475900\"\n\t},\n\t\"Asia/Macau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0221150\",\n\t\tlongitude: \"+1133230\"\n\t},\n\t\"Asia/Magadan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0593400\",\n\t\tlongitude: \"+1504800\"\n\t},\n\t\"Asia/Makassar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:WITA\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0050700\",\n\t\tlongitude: \"+1192400\"\n\t},\n\t\"Asia/Manila\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:PST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143500\",\n\t\tlongitude: \"+1210000\"\n\t},\n\t\"Asia/Muscat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0233600\",\n\t\tlongitude: \"+0583500\"\n\t},\n\t\"Asia/Nicosia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0351000\",\n\t\tlongitude: \"+0332200\"\n\t},\n\t\"Asia/Novokuznetsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0534500\",\n\t\tlongitude: \"+0870700\"\n\t},\n\t\"Asia/Novosibirsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550200\",\n\t\tlongitude: \"+0825500\"\n\t},\n\t\"Asia/Omsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550000\",\n\t\tlongitude: \"+0732400\"\n\t},\n\t\"Asia/Oral\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0511300\",\n\t\tlongitude: \"+0512100\"\n\t},\n\t\"Asia/Phnom_Penh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0113300\",\n\t\tlongitude: \"+1045500\"\n\t},\n\t\"Asia/Pontianak\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0000200\",\n\t\tlongitude: \"+1092000\"\n\t},\n\t\"Asia/Pyongyang\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0830\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0830\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:20180504T233000\\r\\nRDATE:20180504T233000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0390100\",\n\t\tlongitude: \"+1254500\"\n\t},\n\t\"Asia/Qatar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0251700\",\n\t\tlongitude: \"+0513200\"\n\t},\n\t\"Asia/Qostanay\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0531200\",\n\t\tlongitude: \"+0633700\"\n\t},\n\t\"Asia/Qyzylorda\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:20181221T000000\\r\\nRDATE:20181221T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0444800\",\n\t\tlongitude: \"+0652800\"\n\t},\n\t\"Asia/Riyadh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0243800\",\n\t\tlongitude: \"+0464300\"\n\t},\n\t\"Asia/Sakhalin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0465800\",\n\t\tlongitude: \"+1424200\"\n\t},\n\t\"Asia/Samarkand\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394000\",\n\t\tlongitude: \"+0664800\"\n\t},\n\t\"Asia/Seoul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0373300\",\n\t\tlongitude: \"+1265800\"\n\t},\n\t\"Asia/Shanghai\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0311400\",\n\t\tlongitude: \"+1212800\"\n\t},\n\t\"Asia/Singapore\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0011700\",\n\t\tlongitude: \"+1035100\"\n\t},\n\t\"Asia/Srednekolymsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0672800\",\n\t\tlongitude: \"+1534300\"\n\t},\n\t\"Asia/Taipei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0250300\",\n\t\tlongitude: \"+1213000\"\n\t},\n\t\"Asia/Tashkent\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0412000\",\n\t\tlongitude: \"+0691800\"\n\t},\n\t\"Asia/Tbilisi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0414300\",\n\t\tlongitude: \"+0444900\"\n\t},\n\t\"Asia/Tehran\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0330\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:20180321T235959\\r\\nRDATE:20180321T235959\\r\\nRDATE:20190321T235959\\r\\nRDATE:20200320T235959\\r\\nRDATE:20210321T235959\\r\\nRDATE:20220321T235959\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:20180921T235959\\r\\nRDATE:20180921T235959\\r\\nRDATE:20190921T235959\\r\\nRDATE:20200920T235959\\r\\nRDATE:20210921T235959\\r\\nRDATE:20220921T235959\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0354000\",\n\t\tlongitude: \"+0512600\"\n\t},\n\t\"Asia/Thimphu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0272800\",\n\t\tlongitude: \"+0893900\"\n\t},\n\t\"Asia/Tokyo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:JST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0353916\",\n\t\tlongitude: \"+1394441\"\n\t},\n\t\"Asia/Tomsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0563000\",\n\t\tlongitude: \"+0845800\"\n\t},\n\t\"Asia/Ulaanbaatar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0475500\",\n\t\tlongitude: \"+1065300\"\n\t},\n\t\"Asia/Urumqi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0434800\",\n\t\tlongitude: \"+0873500\"\n\t},\n\t\"Asia/Ust-Nera\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0643337\",\n\t\tlongitude: \"+1431336\"\n\t},\n\t\"Asia/Vientiane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175800\",\n\t\tlongitude: \"+1023600\"\n\t},\n\t\"Asia/Vladivostok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0431000\",\n\t\tlongitude: \"+1315600\"\n\t},\n\t\"Asia/Yakutsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0620000\",\n\t\tlongitude: \"+1294000\"\n\t},\n\t\"Asia/Yangon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0164700\",\n\t\tlongitude: \"+0961000\"\n\t},\n\t\"Asia/Yekaterinburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0565100\",\n\t\tlongitude: \"+0603600\"\n\t},\n\t\"Asia/Yerevan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0401100\",\n\t\tlongitude: \"+0443000\"\n\t},\n\t\"Atlantic/Azores\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0374400\",\n\t\tlongitude: \"-0254000\"\n\t},\n\t\"Atlantic/Bermuda\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0321700\",\n\t\tlongitude: \"-0644600\"\n\t},\n\t\"Atlantic/Canary\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0280600\",\n\t\tlongitude: \"-0152400\"\n\t},\n\t\"Atlantic/Cape_Verde\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0145500\",\n\t\tlongitude: \"-0233100\"\n\t},\n\t\"Atlantic/Faroe\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0620100\",\n\t\tlongitude: \"-0064600\"\n\t},\n\t\"Atlantic/Madeira\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0323800\",\n\t\tlongitude: \"-0165400\"\n\t},\n\t\"Atlantic/Reykjavik\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0640900\",\n\t\tlongitude: \"-0215100\"\n\t},\n\t\"Atlantic/South_Georgia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0541600\",\n\t\tlongitude: \"-0363200\"\n\t},\n\t\"Atlantic/St_Helena\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0155500\",\n\t\tlongitude: \"-0054200\"\n\t},\n\t\"Atlantic/Stanley\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0514200\",\n\t\tlongitude: \"-0575100\"\n\t},\n\t\"Australia/Adelaide\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0345500\",\n\t\tlongitude: \"+1383500\"\n\t},\n\t\"Australia/Brisbane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0272800\",\n\t\tlongitude: \"+1530200\"\n\t},\n\t\"Australia/Broken_Hill\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0315700\",\n\t\tlongitude: \"+1412700\"\n\t},\n\t\"Australia/Currie\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0395600\",\n\t\tlongitude: \"+1435200\"\n\t},\n\t\"Australia/Darwin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0122800\",\n\t\tlongitude: \"+1305000\"\n\t},\n\t\"Australia/Eucla\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0845\\r\\nTZOFFSETTO:+0845\\r\\nTZNAME:+0845\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0314300\",\n\t\tlongitude: \"+1285200\"\n\t},\n\t\"Australia/Hobart\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0425300\",\n\t\tlongitude: \"+1471900\"\n\t},\n\t\"Australia/Lindeman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0201600\",\n\t\tlongitude: \"+1490000\"\n\t},\n\t\"Australia/Lord_Howe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:+1030\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0313300\",\n\t\tlongitude: \"+1590500\"\n\t},\n\t\"Australia/Melbourne\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0374900\",\n\t\tlongitude: \"+1445800\"\n\t},\n\t\"Australia/Perth\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:AWST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0315700\",\n\t\tlongitude: \"+1155100\"\n\t},\n\t\"Australia/Sydney\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0335200\",\n\t\tlongitude: \"+1511300\"\n\t},\n\t\"Europe/Amsterdam\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0522200\",\n\t\tlongitude: \"+0045400\"\n\t},\n\t\"Europe/Andorra\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0423000\",\n\t\tlongitude: \"+0013100\"\n\t},\n\t\"Europe/Astrakhan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0462100\",\n\t\tlongitude: \"+0480300\"\n\t},\n\t\"Europe/Athens\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375800\",\n\t\tlongitude: \"+0234300\"\n\t},\n\t\"Europe/Belgrade\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0445000\",\n\t\tlongitude: \"+0203000\"\n\t},\n\t\"Europe/Berlin\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0523000\",\n\t\tlongitude: \"+0132200\"\n\t},\n\t\"Europe/Bratislava\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480900\",\n\t\tlongitude: \"+0170700\"\n\t},\n\t\"Europe/Brussels\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0505000\",\n\t\tlongitude: \"+0042000\"\n\t},\n\t\"Europe/Bucharest\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0442600\",\n\t\tlongitude: \"+0260600\"\n\t},\n\t\"Europe/Budapest\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0473000\",\n\t\tlongitude: \"+0190500\"\n\t},\n\t\"Europe/Busingen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0474200\",\n\t\tlongitude: \"+0084100\"\n\t},\n\t\"Europe/Chisinau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470000\",\n\t\tlongitude: \"+0285000\"\n\t},\n\t\"Europe/Copenhagen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0554000\",\n\t\tlongitude: \"+0123500\"\n\t},\n\t\"Europe/Dublin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:IST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0532000\",\n\t\tlongitude: \"-0061500\"\n\t},\n\t\"Europe/Gibraltar\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0360800\",\n\t\tlongitude: \"-0052100\"\n\t},\n\t\"Europe/Guernsey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0492717\",\n\t\tlongitude: \"-0023210\"\n\t},\n\t\"Europe/Helsinki\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0601000\",\n\t\tlongitude: \"+0245800\"\n\t},\n\t\"Europe/Isle_of_Man\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0540900\",\n\t\tlongitude: \"-0042800\"\n\t},\n\t\"Europe/Istanbul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0410100\",\n\t\tlongitude: \"+0285800\"\n\t},\n\t\"Europe/Jersey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0491101\",\n\t\tlongitude: \"-0020624\"\n\t},\n\t\"Europe/Kaliningrad\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0544300\",\n\t\tlongitude: \"+0203000\"\n\t},\n\t\"Europe/Kiev\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0502600\",\n\t\tlongitude: \"+0303100\"\n\t},\n\t\"Europe/Kirov\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0583600\",\n\t\tlongitude: \"+0493900\"\n\t},\n\t\"Europe/Lisbon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0384300\",\n\t\tlongitude: \"-0090800\"\n\t},\n\t\"Europe/Ljubljana\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0460300\",\n\t\tlongitude: \"+0143100\"\n\t},\n\t\"Europe/London\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0513030\",\n\t\tlongitude: \"+0000731\"\n\t},\n\t\"Europe/Luxembourg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0493600\",\n\t\tlongitude: \"+0060900\"\n\t},\n\t\"Europe/Madrid\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0402400\",\n\t\tlongitude: \"-0034100\"\n\t},\n\t\"Europe/Malta\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0355400\",\n\t\tlongitude: \"+0143100\"\n\t},\n\t\"Europe/Mariehamn\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0600600\",\n\t\tlongitude: \"+0195700\"\n\t},\n\t\"Europe/Minsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0535400\",\n\t\tlongitude: \"+0273400\"\n\t},\n\t\"Europe/Monaco\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0434200\",\n\t\tlongitude: \"+0072300\"\n\t},\n\t\"Europe/Moscow\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0554521\",\n\t\tlongitude: \"+0373704\"\n\t},\n\t\"Europe/Nicosia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0351000\",\n\t\tlongitude: \"+0332200\"\n\t},\n\t\"Europe/Oslo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0595500\",\n\t\tlongitude: \"+0104500\"\n\t},\n\t\"Europe/Paris\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0485200\",\n\t\tlongitude: \"+0022000\"\n\t},\n\t\"Europe/Podgorica\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0422600\",\n\t\tlongitude: \"+0191600\"\n\t},\n\t\"Europe/Prague\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0500500\",\n\t\tlongitude: \"+0142600\"\n\t},\n\t\"Europe/Riga\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0565700\",\n\t\tlongitude: \"+0240600\"\n\t},\n\t\"Europe/Rome\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415400\",\n\t\tlongitude: \"+0122900\"\n\t},\n\t\"Europe/Samara\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0531200\",\n\t\tlongitude: \"+0500900\"\n\t},\n\t\"Europe/San_Marino\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0435500\",\n\t\tlongitude: \"+0122800\"\n\t},\n\t\"Europe/Sarajevo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0435200\",\n\t\tlongitude: \"+0182500\"\n\t},\n\t\"Europe/Saratov\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0513400\",\n\t\tlongitude: \"+0460200\"\n\t},\n\t\"Europe/Simferopol\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0445700\",\n\t\tlongitude: \"+0340600\"\n\t},\n\t\"Europe/Skopje\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415900\",\n\t\tlongitude: \"+0212600\"\n\t},\n\t\"Europe/Sofia\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0424100\",\n\t\tlongitude: \"+0231900\"\n\t},\n\t\"Europe/Stockholm\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0592000\",\n\t\tlongitude: \"+0180300\"\n\t},\n\t\"Europe/Tallinn\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0592500\",\n\t\tlongitude: \"+0244500\"\n\t},\n\t\"Europe/Tirane\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0412000\",\n\t\tlongitude: \"+0195000\"\n\t},\n\t\"Europe/Ulyanovsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0542000\",\n\t\tlongitude: \"+0482400\"\n\t},\n\t\"Europe/Uzhgorod\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0483700\",\n\t\tlongitude: \"+0221800\"\n\t},\n\t\"Europe/Vaduz\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470900\",\n\t\tlongitude: \"+0093100\"\n\t},\n\t\"Europe/Vatican\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415408\",\n\t\tlongitude: \"+0122711\"\n\t},\n\t\"Europe/Vienna\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0481300\",\n\t\tlongitude: \"+0162000\"\n\t},\n\t\"Europe/Vilnius\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0544100\",\n\t\tlongitude: \"+0251900\"\n\t},\n\t\"Europe/Volgograd\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:20181028T020000\\r\\nRDATE:20181028T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484400\",\n\t\tlongitude: \"+0442500\"\n\t},\n\t\"Europe/Warsaw\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0521500\",\n\t\tlongitude: \"+0210000\"\n\t},\n\t\"Europe/Zagreb\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0454800\",\n\t\tlongitude: \"+0155800\"\n\t},\n\t\"Europe/Zaporozhye\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0475000\",\n\t\tlongitude: \"+0351000\"\n\t},\n\t\"Europe/Zurich\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0472300\",\n\t\tlongitude: \"+0083200\"\n\t},\n\t\"Indian/Antananarivo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0185500\",\n\t\tlongitude: \"+0473100\"\n\t},\n\t\"Indian/Chagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0072000\",\n\t\tlongitude: \"+0722500\"\n\t},\n\t\"Indian/Christmas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0102500\",\n\t\tlongitude: \"+1054300\"\n\t},\n\t\"Indian/Cocos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0121000\",\n\t\tlongitude: \"+0965500\"\n\t},\n\t\"Indian/Comoro\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0114100\",\n\t\tlongitude: \"+0431600\"\n\t},\n\t\"Indian/Kerguelen\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0492110\",\n\t\tlongitude: \"+0701303\"\n\t},\n\t\"Indian/Mahe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0044000\",\n\t\tlongitude: \"+0552800\"\n\t},\n\t\"Indian/Maldives\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0041000\",\n\t\tlongitude: \"+0733000\"\n\t},\n\t\"Indian/Mauritius\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0201000\",\n\t\tlongitude: \"+0573000\"\n\t},\n\t\"Indian/Mayotte\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0124700\",\n\t\tlongitude: \"+0451400\"\n\t},\n\t\"Indian/Reunion\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0205200\",\n\t\tlongitude: \"+0552800\"\n\t},\n\t\"Pacific/Apia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700405T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700927T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0135000\",\n\t\tlongitude: \"-1714400\"\n\t},\n\t\"Pacific/Auckland\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0365200\",\n\t\tlongitude: \"+1744600\"\n\t},\n\t\"Pacific/Bougainville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0061300\",\n\t\tlongitude: \"+1553400\"\n\t},\n\t\"Pacific/Chatham\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1245\\r\\nTZOFFSETTO:+1345\\r\\nTZNAME:+1345\\r\\nDTSTART:19700927T024500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1345\\r\\nTZOFFSETTO:+1245\\r\\nTZNAME:+1245\\r\\nDTSTART:19700405T034500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0435700\",\n\t\tlongitude: \"-1763300\"\n\t},\n\t\"Pacific/Chuuk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0072500\",\n\t\tlongitude: \"+1514700\"\n\t},\n\t\"Pacific/Easter\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20190406T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20190907T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20180811T220000\\r\\nRDATE:20180811T220000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20180512T220000\\r\\nRDATE:20180512T220000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0270900\",\n\t\tlongitude: \"-1092600\"\n\t},\n\t\"Pacific/Efate\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0174000\",\n\t\tlongitude: \"+1682500\"\n\t},\n\t\"Pacific/Enderbury\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0030800\",\n\t\tlongitude: \"-1710500\"\n\t},\n\t\"Pacific/Fakaofo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0092200\",\n\t\tlongitude: \"-1711400\"\n\t},\n\t\"Pacific/Fiji\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700118T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20191110T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0180800\",\n\t\tlongitude: \"+1782500\"\n\t},\n\t\"Pacific/Funafuti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0083100\",\n\t\tlongitude: \"+1791300\"\n\t},\n\t\"Pacific/Galapagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0005400\",\n\t\tlongitude: \"-0893600\"\n\t},\n\t\"Pacific/Gambier\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:-09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0230800\",\n\t\tlongitude: \"-1345700\"\n\t},\n\t\"Pacific/Guadalcanal\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0093200\",\n\t\tlongitude: \"+1601200\"\n\t},\n\t\"Pacific/Guam\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0132800\",\n\t\tlongitude: \"+1444500\"\n\t},\n\t\"Pacific/Honolulu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0211825\",\n\t\tlongitude: \"-1575130\"\n\t},\n\t\"Pacific/Kiritimati\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0015200\",\n\t\tlongitude: \"-1572000\"\n\t},\n\t\"Pacific/Kosrae\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0051900\",\n\t\tlongitude: \"+1625900\"\n\t},\n\t\"Pacific/Kwajalein\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0090500\",\n\t\tlongitude: \"+1672000\"\n\t},\n\t\"Pacific/Majuro\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0070900\",\n\t\tlongitude: \"+1711200\"\n\t},\n\t\"Pacific/Marquesas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0930\\r\\nTZOFFSETTO:-0930\\r\\nTZNAME:-0930\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0090000\",\n\t\tlongitude: \"-1393000\"\n\t},\n\t\"Pacific/Midway\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0281300\",\n\t\tlongitude: \"-1772200\"\n\t},\n\t\"Pacific/Nauru\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0003100\",\n\t\tlongitude: \"+1665500\"\n\t},\n\t\"Pacific/Niue\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:-11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0190100\",\n\t\tlongitude: \"-1695500\"\n\t},\n\t\"Pacific/Norfolk\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:20191006T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20200405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1130\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20190701T000000\\r\\nRDATE:20190701T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0290300\",\n\t\tlongitude: \"+1675800\"\n\t},\n\t\"Pacific/Noumea\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0221600\",\n\t\tlongitude: \"+1662700\"\n\t},\n\t\"Pacific/Pago_Pago\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0141600\",\n\t\tlongitude: \"-1704200\"\n\t},\n\t\"Pacific/Palau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0072000\",\n\t\tlongitude: \"+1342900\"\n\t},\n\t\"Pacific/Pitcairn\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:-08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0250400\",\n\t\tlongitude: \"-1300500\"\n\t},\n\t\"Pacific/Pohnpei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0065800\",\n\t\tlongitude: \"+1581300\"\n\t},\n\t\"Pacific/Port_Moresby\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0093000\",\n\t\tlongitude: \"+1471000\"\n\t},\n\t\"Pacific/Rarotonga\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0211400\",\n\t\tlongitude: \"-1594600\"\n\t},\n\t\"Pacific/Saipan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0151200\",\n\t\tlongitude: \"+1454500\"\n\t},\n\t\"Pacific/Tahiti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0173200\",\n\t\tlongitude: \"-1493400\"\n\t},\n\t\"Pacific/Tarawa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0012500\",\n\t\tlongitude: \"+1730000\"\n\t},\n\t\"Pacific/Tongatapu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0211000\",\n\t\tlongitude: \"-1751000\"\n\t},\n\t\"Pacific/Wake\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0191700\",\n\t\tlongitude: \"+1663700\"\n\t},\n\t\"Pacific/Wallis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0131800\",\n\t\tlongitude: \"-1761000\"\n\t}\n};\nvar tzData = {\n\tversion: version,\n\taliases: aliases,\n\tzones: zones\n};\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class TimezoneManager\n */\n\nclass TimezoneManager {\n /**\n * Constructor\n */\n constructor() {\n /**\n * Map of aliases\n * Alias name => timezoneId\n *\n * @type {Map<String, String>}\n */\n this._aliases = new Map();\n /**\n * Map of Timezones\n * timezoneId => Timezone\n *\n * @type {Map<String, Timezone>}\n * @private\n */\n\n this._timezones = new Map();\n }\n /**\n * Gets a timezone for the given id\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {Timezone|null}\n */\n\n\n getTimezoneForId(timezoneId) {\n return this._getTimezoneForIdRec(timezoneId, 0);\n }\n\n _getTimezoneForIdRec(timezoneId, level) {\n if (this._timezones.has(timezoneId)) {\n return this._timezones.get(timezoneId);\n }\n\n if (level >= 20) {\n // too much recursion\n console.error('TimezoneManager.getTimezoneForIdRec() exceeds recursion limits');\n return null;\n }\n\n if (this._aliases.has(timezoneId)) {\n const resolvedTimezoneId = this._aliases.get(timezoneId); // can be a recursive alias:\n\n\n return this._getTimezoneForIdRec(resolvedTimezoneId, level + 1);\n }\n\n return null;\n }\n /**\n * Checks if there is a timezone for the given id stored in this manager\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n hasTimezoneForId(timezoneId) {\n return this._timezones.has(timezoneId) || this._aliases.has(timezoneId);\n }\n /**\n * Checks if the given timezone id is an alias\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n isAlias(timezoneId) {\n return !this._timezones.has(timezoneId) && this._aliases.has(timezoneId);\n }\n /**\n * Lists all timezones\n *\n * @param {Boolean=} includeAliases Whether or not to include aliases\n * @returns {String[]}\n */\n\n\n listAllTimezones(includeAliases = false) {\n const timezones = Array.from(this._timezones.keys());\n\n if (includeAliases) {\n return timezones.concat(Array.from(this._aliases.keys()));\n }\n\n return timezones;\n }\n /**\n * Registers a timezone\n *\n * @param {Timezone} timezone The timezone-object to register\n */\n\n\n registerTimezone(timezone) {\n this._timezones.set(timezone.timezoneId, timezone);\n }\n\n registerDefaultTimezones() {\n console.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`);\n\n for (const tzid in tzData.zones) {\n if (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n const ics = ['BEGIN:VTIMEZONE', 'TZID:' + tzid, ...tzData.zones[tzid].ics, 'END:VTIMEZONE'].join('\\r\\n');\n this.registerTimezoneFromICS(tzid, ics);\n }\n }\n\n for (const tzid in tzData.aliases) {\n if (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n this.registerAlias(tzid, tzData.aliases[tzid].aliasTo);\n }\n }\n }\n /**\n * Registers a timezone based on ics data\n *\n * @param {String} timezoneId The id of the timezone\n * @param {String} ics The iCalendar timezone definition\n */\n\n\n registerTimezoneFromICS(timezoneId, ics) {\n const timezone = new Timezone(timezoneId, ics);\n this.registerTimezone(timezone);\n }\n /**\n * Registers a new timezone-alias\n *\n * @param {String} aliasName The timezone-id of the alias\n * @param {String} timezoneId The timezone-id to resolve the alias to\n */\n\n\n registerAlias(aliasName, timezoneId) {\n this._aliases.set(aliasName, timezoneId);\n }\n /**\n * Unregisters a timezone\n *\n * @param {String} timezoneId Unregisters a timezone by Id\n */\n\n\n unregisterTimezones(timezoneId) {\n this._timezones.delete(timezoneId);\n }\n /**\n * Unregisters a timezone-alias\n *\n * @param {String} aliasName The alias to unregister\n */\n\n\n unregisterAlias(aliasName) {\n this._aliases.delete(aliasName);\n }\n /**\n * Clear all timezones\n \t */\n\n\n clearAllTimezones() {\n this._aliases = new Map();\n this._timezones = new Map();\n timezoneManager.registerTimezone(Timezone.utc);\n timezoneManager.registerTimezone(Timezone.floating);\n timezoneManager.registerAlias('GMT', Timezone.utc.timezoneId);\n timezoneManager.registerAlias('Z', Timezone.utc.timezoneId);\n }\n\n}\nconst timezoneManager = new TimezoneManager();\ntimezoneManager.clearAllTimezones();\n/**\n * Gets the default instance of the timezone manager\n *\n * @returns {TimezoneManager}\n */\n\nfunction getTimezoneManager() {\n return timezoneManager;\n}\n/**\n *\n * @param {String} tzName Name of the timezone to check\n * @returns {boolean}\n */\n\nfunction isOlsonTimezone(tzName) {\n const hasSlash = tzName.indexOf('/') !== -1;\n const hasSpace = tzName.indexOf(' ') !== -1;\n const startsWithETC = tzName.startsWith('Etc');\n const startsWithUS = tzName.startsWith('US/');\n return hasSlash && !hasSpace && !startsWithETC && !startsWithUS;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ICalendarParser\n * @classdesc\n */\n\nclass ICalendarParser extends AbstractParser {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * The raw text/calendar data\n *\n * @type {String}\n * @protected\n */\n\n this._rawData = null;\n /**\n * The CalendarComponent representing the raw data\n *\n * @type {CalendarComponent}\n * @protected\n */\n\n this._calendarComponent = null;\n /**\n * A flag whether this calendar-data contains vevents\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVEvents = false;\n /**\n * A flag whether this calendar-data contains vjournals\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVJournals = false;\n /**\n * A flag whether this calendar-data contains vtodos\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVTodos = false;\n /**\n * A flag whether this calendar-data contains vfreebusy\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVFreeBusy = false;\n /**\n * A map containing all VObjects.\n * The key of this map is the UID\n * The value an array of all VObjects with that particular UID\n *\n * @type {Map<String, AbstractRecurringComponent[]>}\n * @private\n */\n\n this._items = new Map();\n /**\n * Items that are no recurrence-exceptions\n * The key of this map is the UID\n *\n * @type {Map<String, AbstractRecurringComponent>}\n * @private\n */\n\n this._masterItems = new Map();\n /**\n * Items that are recurrence exceptions\n *\n * @type {Map<String, AbstractRecurringComponent[]>}\n * @private\n */\n\n this._recurrenceExceptionItems = new Map();\n /**\n * Some recurrence-exceptions come without a master item\n * In that case we need to forge a master item\n *\n * @type {Map<String, AbstractRecurringComponent>}\n * @private\n */\n\n this._forgedMasterItems = new Map();\n /**\n * A list of timezone-components found in the calendar-data\n *\n * @type {Map<String, Timezone>}\n * @private\n */\n\n this._timezones = new Map();\n /**\n * A set of required timezones for each UID\n *\n * @type {Map<String, Set<String>>}\n * @private\n */\n\n this._requiredTimezones = new Map();\n /**\n * Instance of the default timezone-manager\n *\n * @type {TimezoneManager}\n * @private\n */\n\n this._defaultTimezoneManager = getTimezoneManager();\n }\n /**\n * Parses the actual calendar-data\n *\n * @param {String} ics The icalendar data to parse\n */\n\n\n parse(ics) {\n this._rawData = ics;\n\n this._applyRepairSteps(); // If a timezone is not inside our TimezoneManager at the time of parsing\n // the internal zone will be marked as floating inside ICAL.Time\n // so before we start any actual parsing, we need to extract all timezones\n // and add them to the TimezoneManager\n\n\n this._extractTimezones();\n\n this._registerTimezones();\n\n this._createCalendarComponent();\n\n if (this._getOption('extractGlobalProperties', false)) {\n this._extractProperties();\n }\n\n this._processVObjects();\n\n if (this._getOption('processFreeBusy', false)) {\n this._processVFreeBusy();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n *getItemIterator() {\n for (const itemList of this._items.values()) {\n const calendarComp = CalendarComponent.fromEmpty();\n\n if (this._getOption('includeTimezones', false)) {\n this._addRequiredTimezonesToCalendarComp(calendarComp, itemList[0].uid);\n } // Preserve the original product id, just in case we need special handling for certain clients later on ...\n\n\n if (this._calendarComponent.hasProperty('PRODID')) {\n calendarComp.deleteAllProperties('PRODID');\n calendarComp.addProperty(this._calendarComponent.getFirstProperty('PRODID').clone());\n }\n\n if (this._getOption('preserveMethod', false)) {\n if (this._calendarComponent.hasProperty('METHOD')) {\n calendarComp.deleteAllProperties('METHOD');\n calendarComp.addProperty(this._calendarComponent.getFirstProperty('METHOD').clone());\n }\n }\n\n for (const item of itemList) {\n calendarComp.addComponent(item);\n }\n\n yield calendarComp;\n }\n }\n /**\n * @inheritDoc\n */\n\n\n containsVEvents() {\n return this._containsVEvents;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVJournals() {\n return this._containsVJournals;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVTodos() {\n return this._containsVTodos;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVFreeBusy() {\n return this._containsVFreeBusy;\n }\n /**\n * @inheritDoc\n */\n\n\n getItemCount() {\n return Array.from(this._items.keys()).length;\n }\n /**\n * Applies all registered repair steps\n *\n * @private\n */\n\n\n _applyRepairSteps() {\n for (const RepairStep of getRepairSteps()) {\n const step = new RepairStep();\n this._rawData = step.repair(this._rawData);\n }\n }\n /**\n * Creates a calendar component based upon the repaired data\n *\n * @private\n */\n\n\n _createCalendarComponent() {\n const jCal = ICAL.parse(this._rawData);\n const icalComp = new ICAL.Component(jCal);\n this._calendarComponent = CalendarComponent.fromICALJs(icalComp);\n }\n /**\n * extracts properties\n *\n * @protected\n */\n\n\n _extractProperties() {\n this._extractPropertyAndPutResultIntoVariable(['name', 'x-wr-calname'], '_name');\n\n this._extractPropertyAndPutResultIntoVariable(['color', 'x-apple-calendar-color'], '_color');\n\n this._extractPropertyAndPutResultIntoVariable(['source'], '_sourceURL');\n\n this._extractPropertyAndPutResultIntoVariable(['refresh-interval', 'x-published-ttl'], '_refreshInterval');\n\n this._extractPropertyAndPutResultIntoVariable(['x-wr-timezone'], '_calendarTimezone');\n }\n /**\n * Extract a property and writes it into a class property\n * names must be an array, it will use the value of the fist\n * propertyname it can find\n *\n * @param {String[]} names The names of the properties to check\n * @param {String} variableName The variable name to save it under\n * @private\n */\n\n\n _extractPropertyAndPutResultIntoVariable(names, variableName) {\n for (const name of names) {\n if (this._calendarComponent.hasProperty(name)) {\n this[variableName] = this._calendarComponent.getFirstPropertyFirstValue(name);\n return;\n }\n }\n }\n /**\n * Extracts timezones from the calendar component\n *\n * @protected\n */\n\n\n _extractTimezones() {\n const matches = this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm);\n\n if (!matches) {\n return;\n }\n\n for (const match of matches) {\n const tzidMatcher = match.match(/^TZID:(.*)$/gm);\n\n if (!tzidMatcher) {\n continue;\n }\n\n const tzid = tzidMatcher[0].substr(5);\n const timezone = new Timezone(tzid, match);\n\n this._timezones.set(tzid, timezone);\n }\n }\n /**\n * Registers unknown timezones into our timezone-manager\n *\n * @protected\n */\n\n\n _registerTimezones() {\n for (const [tzid, timezone] of this._timezones) {\n if (!this._defaultTimezoneManager.hasTimezoneForId(tzid)) {\n this._defaultTimezoneManager.registerTimezone(timezone);\n }\n }\n }\n /**\n * Processes the parsed vobjects\n *\n * @protected\n */\n\n\n _processVObjects() {\n for (const vObject of this._calendarComponent.getVObjectIterator()) {\n this._addItem(vObject);\n\n this._markCompTypeAsSeen(vObject.name);\n\n if (vObject.isRecurrenceException()) {\n this._addRecurrenceException(vObject);\n } else {\n vObject.recurrenceManager = new RecurrenceManager(vObject);\n\n this._masterItems.set(vObject.uid, vObject);\n }\n\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n } // TRIGGER is supposed to be stored in UTC only,\n // but not all clients stick to this\n\n\n for (const alarm of vObject.getAlarmIterator()) {\n for (const propertyToCheck of alarm.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n }\n }\n\n if (this._getOption('removeRSVPForAttendees', false)) {\n for (const attendee of vObject.getAttendeeIterator()) {\n attendee.deleteParameter('RSVP');\n }\n }\n }\n\n for (const recurrenceExceptionList of this._recurrenceExceptionItems.values()) {\n for (const recurrenceException of recurrenceExceptionList) {\n // Check if there is a master item for this recurrence exception\n // otherwise we have to forge one\n if (!this._masterItems.has(recurrenceException.uid)) {\n const constructor = getConstructorForComponentName(recurrenceException.name);\n const forgedMaster = new constructor(recurrenceException.name, [['UID', recurrenceException.uid], ['DTSTAMP', recurrenceException.stampTime.clone()], ['DTSTART', recurrenceException.recurrenceId.clone()]]);\n forgedMaster.recurrenceManager = new RecurrenceManager(forgedMaster);\n\n this._forgedMasterItems.set(recurrenceException.uid, forgedMaster);\n\n this._masterItems.set(recurrenceException.uid, forgedMaster);\n\n this._addItem(forgedMaster);\n } else {\n const master = this._masterItems.get(recurrenceException.uid); // This should usually not be the case,\n // only if the calendar-data is seriously broken.\n // Let's try to handle it anyway by adding it to\n // forgedMasterItems, we will simply add RDATEs\n // in the next step to make it recur\n\n\n if (!master.isRecurring()) {\n this._forgedMasterItems.set(master.uid, master);\n }\n }\n\n if (this._forgedMasterItems.has(recurrenceException.uid)) {\n const forgedMaster = this._forgedMasterItems.get(recurrenceException.uid);\n\n forgedMaster.recurrenceManager.addRecurrenceDate(false, recurrenceException.recurrenceId.clone());\n }\n\n const masterItem = this._masterItems.get(recurrenceException.uid);\n\n masterItem.recurrenceManager.relateRecurrenceException(recurrenceException);\n }\n }\n }\n /**\n * Process FreeBusy components\n *\n * @private\n */\n\n\n _processVFreeBusy() {\n for (const vObject of this._calendarComponent.getFreebusyIterator()) {\n this._addItem(vObject);\n\n this._markCompTypeAsSeen(vObject.name);\n\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n }\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} item The recurrence-item to register\n * @private\n */\n\n\n _addRecurrenceException(item) {\n if (this._recurrenceExceptionItems.has(item.uid)) {\n const arr = this._recurrenceExceptionItems.get(item.uid);\n\n arr.push(item);\n } else {\n this._recurrenceExceptionItems.set(item.uid, [item]);\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} item The item to register\n * @private\n */\n\n\n _addItem(item) {\n if (this._items.has(item.uid)) {\n const arr = this._items.get(item.uid);\n\n arr.push(item);\n } else {\n this._items.set(item.uid, [item]);\n }\n }\n /**\n *\n * @param {String} uid The uid of the calendar-object\n * @param {String} timezoneId The timezoneId required by the object\n * @private\n */\n\n\n _addRequiredTimezone(uid, timezoneId) {\n if (timezoneId === 'UTC' || timezoneId === 'floating' || timezoneId === 'GMT' || timezoneId === 'Z') {\n return;\n }\n\n if (this._requiredTimezones.has(uid)) {\n this._requiredTimezones.get(uid).add(timezoneId);\n } else {\n const set = new Set([timezoneId]);\n\n this._requiredTimezones.set(uid, set);\n }\n }\n /**\n *\n * @param {CalendarComponent} calendarComp The calendar-component to add timezones to\n * @param {String} uid The UID of the calendar-object\n * @private\n */\n\n\n _addRequiredTimezonesToCalendarComp(calendarComp, uid) {\n if (!this._requiredTimezones.has(uid)) {\n return;\n }\n\n for (const requiredTimezone of this._requiredTimezones.get(uid)) {\n if (!this._defaultTimezoneManager.hasTimezoneForId(requiredTimezone)) {\n return;\n }\n\n const timezone = this._defaultTimezoneManager.getTimezoneForId(requiredTimezone); // Is this an alias?\n\n\n if (timezone.timezoneId !== requiredTimezone) {\n this._replaceTimezoneWithAnotherOne(calendarComp, requiredTimezone, timezone.timezoneId);\n }\n\n const timezoneComponent = timezone.toTimezoneComponent();\n calendarComp.addComponent(timezoneComponent);\n }\n }\n /**\n * Replaces all occurrences of searchTimezone with replaceTimezone\n *\n * @param {CalendarComponent} calendarComponent The calendar-component to replace a timezone in\n * @param {String} searchTimezone The timezone to replace\n * @param {String} replaceTimezone The replacement timezone\n * @private\n */\n\n\n _replaceTimezoneWithAnotherOne(calendarComponent, searchTimezone, replaceTimezone) {\n for (const vObject of this._calendarComponent.getVObjectIterator()) {\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (!(value instanceof DateTimeValue)) {\n continue;\n }\n\n if (value.timezoneId === searchTimezone) {\n value.silentlyReplaceTimezone(replaceTimezone);\n }\n }\n } // TRIGGER is supposed to be stored in UTC only,\n // but not all clients stick to this\n\n\n for (const alarm of vObject.getAlarmIterator()) {\n for (const propertyToCheck of alarm.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (!(value instanceof DateTimeValue)) {\n continue;\n }\n\n if (value.timezoneId === searchTimezone) {\n value.silentlyReplaceTimezone(replaceTimezone);\n }\n }\n }\n }\n }\n }\n /**\n * Marks a certain component type as seen.\n * This is used for\n * containsVEvents()\n * containsVJournals()\n * containsVTodos()\n *\n * @param {String} compName The name of the visited component\n * @private\n */\n\n\n _markCompTypeAsSeen(compName) {\n switch (uc(compName)) {\n case 'VEVENT':\n this._containsVEvents = true;\n break;\n\n case 'VJOURNAL':\n this._containsVJournals = true;\n break;\n\n case 'VTODO':\n this._containsVTodos = true;\n break;\n\n case 'VFREEBUSY':\n this._containsVFreeBusy = true;\n break;\n }\n }\n /**\n * @inheritDoc\n */\n\n\n static getMimeTypes() {\n return ['text/calendar'];\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n/**\n * @class ParserManager\n * @classdesc\n */\n\nclass ParserManager {\n /**\n * Constructor\n */\n constructor() {\n /**\n * List of supported parsers\n *\n * @type {Function[]}\n */\n this._parsers = [];\n }\n /**\n * Get a list of all supported file-types\n *\n * @returns {String[]}\n */\n\n\n getAllSupportedFileTypes() {\n return this._parsers.reduce((allFileTypes, parser) => allFileTypes.concat(parser.getMimeTypes()), []);\n }\n /**\n * Get an instance of a parser for one specific file-type\n *\n * @param {String} fileType The mime-type to get a parser for\n * @param {Object=} options Options destructuring object\n * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n *\n * @returns {AbstractParser}\n */\n\n\n getParserForFileType(fileType, options) {\n const Parser = this._parsers.find(parser => parser.getMimeTypes().includes(fileType));\n\n if (!Parser) {\n throw new TypeError('Unknown file-type.');\n }\n\n return new Parser(options);\n }\n /**\n * Registers a parser\n *\n * @param {Function} parser The parser to register\n */\n\n\n registerParser(parser) {\n this._parsers.push(parser);\n }\n\n}\n/**\n * Gets an instance of the ParserManager with all default parsers\n *\n * @returns {ParserManager}\n */\n\nfunction getParserManager() {\n const parserManager = new ParserManager(); // We only support iCalendar for now.\n // JSON calendar and CSV will be supported soon,\n // but require some more work\n\n parserManager.registerParser(ICalendarParser); // parserManager.registerParser(JCalendarParser)\n // parserManager.registerParser(CSVParser)\n\n return parserManager;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class TimezoneAdapter\n * @classdesc Connecting ICAL.TimezoneService with our TimezoneManager\n */\nclass TimezoneAdapter {\n /**\n * Constructor\n *\n * @param {TimezoneManager} timezoneManager The timezone-manager to wrap\n */\n constructor(timezoneManager) {\n /**\n * TimezoneManager object\n *\n * @type {TimezoneManager}\n * @private\n */\n this._timezoneManager = timezoneManager;\n }\n /**\n * @param {string} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n has(timezoneId) {\n return this._timezoneManager.hasTimezoneForId(timezoneId);\n }\n /**\n * @param {String} timezoneId The id of the timezone\n * @returns {ICAL.Timezone|undefined}\n */\n\n\n get(timezoneId) {\n const timezone = this._timezoneManager.getTimezoneForId(timezoneId);\n\n if (!timezone) {\n return undefined;\n }\n\n return timezone.toICALTimezone();\n }\n /**\n * @throws TypeError\n */\n\n\n register() {\n throw new TypeError('Not allowed to register new timezone');\n }\n /**\n * @throws TypeError\n */\n\n\n remove() {\n throw new TypeError('Not allowed to remove timezone');\n }\n /**\n * @throws TypeError\n */\n\n\n reset() {\n throw new TypeError('Not allowed to reset TimezoneService');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\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 <http://www.gnu.org/licenses/>.\n *\n */\nclass IllegalValueError extends Error {}\n\n/**\n * @copyright Copyright (c) 2021 Christoph Wurst\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @param {String} globalTimezoneName The localized name of the \"Global\" timezones\n * @returns {[]}\n */\nfunction getSortedTimezoneList(timezoneList = [], additionalTimezones = [], globalTimezoneName = 'Global') {\n const sortedByContinent = {};\n const sortedList = [];\n\n for (const timezoneId of timezoneList) {\n const components = timezoneId.split('/');\n let [continent, name] = [components.shift(), components.join('/')];\n\n if (!name) {\n name = continent;\n continent = globalTimezoneName;\n }\n\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label: getReadableTimezoneName(name),\n cities: [],\n timezoneId\n });\n }\n\n for (const additionalTimezone of additionalTimezones) {\n const {\n continent,\n label,\n timezoneId\n } = additionalTimezone;\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label,\n cities: [],\n timezoneId\n });\n }\n\n for (const continent in sortedByContinent) {\n if (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n continue;\n }\n\n sortedByContinent[continent].regions.sort((a, b) => {\n if (a.label < b.label) {\n return -1;\n }\n\n return 1;\n });\n sortedList.push(sortedByContinent[continent]);\n } // Sort continents by name\n\n\n sortedList.sort((a, b) => {\n if (a.continent < b.continent) {\n return -1;\n }\n\n return 1;\n });\n return sortedList;\n}\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @returns {string}\n */\n\nfunction getReadableTimezoneName(timezoneId) {\n return timezoneId.split('_').join(' ').replace('St ', 'St. ').split('/').join(' - ');\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Richard Steinmetz <richard@steinmetz.cloud>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\nif (!(ICAL.TimezoneService instanceof TimezoneAdapter)) {\n ICAL.TimezoneService = new TimezoneAdapter(getTimezoneManager());\n}\n/**\n * parses a single ICS and returns an iterator over all occurrences\n * in a given timeframe\n *\n * @param {String} ics The calendar-data to parse\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n */\n\n\nfunction* parseICSAndGetAllOccurrencesBetween(ics, start, end) {\n const parserManager = getParserManager();\n const icsParser = parserManager.getParserForFileType('text/calendar');\n icsParser.parse(ics);\n const objectIterator = icsParser.getItemIterator();\n const calendarComp = objectIterator.next().value;\n\n if (calendarComp === undefined) {\n return;\n }\n\n const vObjectIterator = calendarComp.getVObjectIterator();\n const firstVObject = vObjectIterator.next().value;\n\n if (firstVObject === undefined) {\n return;\n }\n\n yield* firstVObject.recurrenceManager.getAllOccurrencesBetweenIterator(start, end);\n}\n/**\n * Creates a new event\n *\n * @param {DateTimeValue} start Start-time of the new event\n * @param {DateTimeValue} end End-time of the new event\n * @returns {CalendarComponent}\n */\n\nfunction createEvent(start, end) {\n const calendar = CalendarComponent.fromEmpty();\n const eventComponent = new EventComponent('VEVENT');\n eventComponent.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('SEQUENCE', 0);\n eventComponent.updatePropertyWithValue('UID', v4());\n eventComponent.updatePropertyWithValue('DTSTART', start);\n eventComponent.updatePropertyWithValue('DTEND', end);\n calendar.addComponent(eventComponent);\n eventComponent.recurrenceManager = new RecurrenceManager(eventComponent);\n return calendar;\n}\n/**\n * Creates a FreeBusy Request to be used on the scheduling outbox\n *\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n * @param {AttendeeProperty} organizer The organizer querying information\n * @param {AttendeeProperty[]}attendees The list of attendees to query information for\n * @returns {CalendarComponent}\n */\n\nfunction createFreeBusyRequest(start, end, organizer, attendees) {\n const calendar = CalendarComponent.fromMethod('REQUEST');\n const freeBusyComponent = new FreeBusyComponent('VFREEBUSY');\n freeBusyComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n freeBusyComponent.updatePropertyWithValue('UID', v4());\n freeBusyComponent.updatePropertyWithValue('DTSTART', start.clone().getInUTC());\n freeBusyComponent.updatePropertyWithValue('DTEND', end.clone().getInUTC());\n freeBusyComponent.addProperty(organizer.clone());\n\n for (const attendee of attendees) {\n const clonedAttendee = attendee.clone();\n clonedAttendee.deleteParameter('ROLE');\n clonedAttendee.deleteParameter('CUTYPE');\n clonedAttendee.deleteParameter('RSVP');\n clonedAttendee.deleteParameter('PARTSTAT');\n clonedAttendee.deleteParameter('REQUEST-STATUS');\n clonedAttendee.deleteParameter('LANGUAGE');\n freeBusyComponent.addProperty(clonedAttendee);\n }\n\n calendar.addComponent(freeBusyComponent);\n return calendar;\n}\n\nexport { AbstractComponent, AbstractParser, AbstractRecurringComponent, AbstractValue, AlarmComponent, AttachmentProperty, AttendeeProperty, BinaryValue, CalendarComponent, ConferenceProperty, DateTimeValue, DurationValue, EventComponent, ExpectedICalJSError, FreeBusyComponent, FreeBusyProperty, GeoProperty, ICalendarParser, IllegalValueError, ImageProperty, JournalComponent, ModificationNotAllowedError, Parameter, ParserManager, PeriodValue, Property, RecurValue, RecurrenceManager, RecurringWithoutDtStartError, RelationProperty, RequestStatusProperty, TextProperty, Timezone, TimezoneAdapter, TimezoneComponent, TimezoneManager, ToDoComponent, TriggerProperty, UTCOffsetValue, UnknownICALTypeError, createEvent, createFreeBusyRequest, getConstructorForICALType, getConstructorForPropertyName, getParserManager, getReadableTimezoneName, getSortedTimezoneList, getTimezoneManager, isOlsonTimezone, parseICSAndGetAllOccurrencesBetween, setConfig };\n//# sourceMappingURL=index.esm.js.map\n","/*! For license information please see ncvuecomponents.js.LICENSE.txt */\n!function(n,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],t):\"object\"==typeof exports?exports.NextcloudVue=t():(n.NextcloudVue=n.NextcloudVue||{},n.NextcloudVue.ncvuecomponents=t())}(self,(function(){return function(){var n={5938:function(n,t,e){\"use strict\";var i=e(9156);t.Z={name:\"ActionButton\",mixins:[i.Z],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}}},858:function(n,t,e){\"use strict\";var i=e(3251),a=e.n(i),r=e(8104),o=e(9040),s=e(1205),l=e(932),c=e(8099);function d(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}function A(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,i)}return e}function u(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?A(Object(e),!0).forEach((function(t){p(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):A(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}function p(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var m=\".focusable\";t.Z={name:\"Actions\",directives:{tooltip:o.default},components:{DotsHorizontal:a(),Popover:c.default,VNodes:r.Z},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:(0,l.t)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+(0,s.Z)(),children:this.$children,firstAction:{}}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:\"\"},isDisabled:function(){var n,t;return this.disabled||1===this.actions.length&&(null===(n=this.firstAction)||void 0===n||null===(t=n.$props)||void 0===t?void 0:t.disabled)},firstActionVNode:function(){return this.actions[0]},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var n=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===n)return u(u({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===n)return u(u({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===n)return u(u({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var n,t,e;return null===(n=this.firstActionVNode)||void 0===n||null===(t=n.componentOptions)||void 0===t||null===(e=t.listeners)||void 0===e?void 0:e.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var n,t;return null===(n=this.firstAction)||void 0===n||null===(t=n.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(n){n!==this.opened&&(this.opened=n)},children:function(){this.firstAction=this.children[0]?this.children[0]:{}}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(n){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(n){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(n){var t=this;this.$nextTick((function(){t.focusFirstAction(n)}))},onMouseFocusAction:function(n){if(document.activeElement!==n.target){var t=n.target.closest(\"li\");if(t){var e=t.querySelector(m);if(e){var i=(a=this.$refs.menu.querySelectorAll(m),function(n){if(Array.isArray(n))return d(n)}(a)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(a)||function(n,t){if(n){if(\"string\"==typeof n)return d(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?d(n,t):void 0}}(a)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()).indexOf(e);i>-1&&(this.focusIndex=i,this.focusAction())}}}var a},removeCurrentActive:function(){var n=this.$refs.menu.querySelector(\"li.active\");n&&n.classList.remove(\"active\")},focusAction:function(){var n=this.$refs.menu.querySelectorAll(m)[this.focusIndex];if(n){this.removeCurrentActive();var t=n.closest(\"li.action\");n.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(n){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(n),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(n){if(this.opened){var t=this.$refs.menu.querySelectorAll(m).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(n),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(n){this.opened&&(this.preventIfEvent(n),this.focusIndex=0,this.focusAction())},focusLastAction:function(n){this.opened&&(this.preventIfEvent(n),this.focusIndex=this.$el.querySelectorAll(m).length-1,this.focusAction())},preventIfEvent:function(n){n&&(n.preventDefault(),n.stopPropagation())},execFirstAction:function(n){this.firstActionEvent&&this.firstActionEvent(n)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(n){return!!n&&!!n.componentOptions}))},onFocus:function(n){this.$emit(\"focus\",n)},onBlur:function(n){this.$emit(\"blur\",n)}}}},5041:function(n,t){\"use strict\";t.Z={name:\"VNodes\",functional:!0,render:function(n,t){return t.props.vnodes}}},4828:function(n,t,e){\"use strict\";var i=e(491);t.default=i.Z},198:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"ActionCaption\",props:{title:{type:String,required:!0}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(6429),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(5933),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"li\",{staticClass:\"app-navigation-caption\"},[n._v(\"\\n\\t\"+n._s(n.title)+\"\\n\")])}),[],!1,null,\"2fd4f3eb\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},3056:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(723),a=e(1205),r={name:\"ActionCheckbox\",mixins:[i.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,a.Z)()},validator:function(n){return\"\"!==n.trim()}},checked:{type:Boolean,default:!1},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{checkInput:function(n){this.$refs.label.click()},onChange:function(n){this.$emit(\"update:checked\",this.$refs.checkbox.checked),this.$emit(\"change\",n),this.$refs.checkbox.checked?this.$emit(\"check\"):this.$emit(\"uncheck\")}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(4105),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(9012),B=e.n(v),E=(0,f.Z)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-checkbox\"},[e(\"input\",{ref:\"checkbox\",staticClass:\"checkbox action-checkbox__checkbox\",class:{focusable:n.isFocusable},attrs:{id:n.id,disabled:n.disabled,type:\"checkbox\"},domProps:{checked:n.checked,value:n.value},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.checkInput.apply(null,arguments))},change:n.onChange}}),n._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-checkbox__label\",attrs:{for:n.id}},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"cae5b47a\",null);\"function\"==typeof B()&&B()(E);var D=E.exports},538:function(n,t,e){\"use strict\";e.d(t,{default:function(){return N}});var i=e(2533),a=e.n(i),r=e(723),o=e(1205),s=e(577),l=e(7316),c={name:\"ActionInput\",components:{ArrowRight:a(),DatetimePicker:s.default,Multiselect:l.default},mixins:[r.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,o.Z)()},validator:function(n){return\"\"!==n.trim()}},icon:{type:String,default:\"\"},type:{type:String,default:\"text\",validator:function(n){return[\"date\",\"datetime-local\",\"month\",\"multiselect\",\"number\",\"password\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\",\"color\",\"email\"].indexOf(n)>-1}},value:{type:[String,Date,Number],default:\"\"},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(n){return!1}},isMultiselectType:function(){return\"multiselect\"===this.type},isDatePickerType:function(){switch(this.type){case\"date\":case\"month\":case\"time\":return this.type;case\"datetime-local\":return\"datetime\"}return!1},isFocusable:function(){return!this.disabled}},methods:{onLeave:function(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput:function(n){this.$emit(\"input\",n),this.$emit(\"update:value\",n.target?n.target.value:n)},onSubmit:function(n){if(n.preventDefault(),n.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",n)},onChange:function(n){this.$emit(\"change\",n)}}},d=e(3379),A=e.n(d),u=e(7795),p=e.n(u),m=e(569),T=e.n(m),h=e(3565),g=e.n(h),C=e(9216),b=e.n(C),f=e(4589),v=e.n(f),B=e(3949),E={};E.styleTagTransform=v(),E.setAttributes=g(),E.insert=T().bind(null,\"head\"),E.domAPI=p(),E.insertStyleElement=b(),A()(B.Z,E),B.Z&&B.Z.locals&&B.Z.locals;var D=e(1900),S=e(2329),y=e.n(S),x=(0,D.Z)(c,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-input\",class:{\"action-input--picker\":n.isDatePickerType,\"action-input-picker--disabled\":n.disabled},on:{mouseleave:n.onLeave}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-input__icon\",class:[n.isIconUrl?\"action-input__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-input__form\",attrs:{disabled:n.disabled},on:{submit:function(t){return t.preventDefault(),n.onSubmit.apply(null,arguments)}}},[n.isDatePickerType?e(\"DatetimePicker\",n._b({ref:\"datetimepicker\",staticClass:\"action-input__picker\",attrs:{value:n.value,placeholder:n.text,disabled:n.disabled,type:n.isDatePickerType,\"input-class\":[\"mx-input\",{focusable:n.isFocusable}]},on:{input:n.onInput,change:n.onChange}},\"DatetimePicker\",n.$attrs,!1)):n.isMultiselectType?e(\"Multiselect\",n._g(n._b({staticClass:\"action-input__multi\",class:{focusable:n.isFocusable},attrs:{value:n.value,placeholder:n.text,disabled:n.disabled}},\"Multiselect\",n.$attrs,!1),n.$listeners)):[e(\"input\",{staticClass:\"action-input__submit\",attrs:{id:n.id,type:\"submit\"}}),n._v(\" \"),e(\"input\",n._b({staticClass:\"action-input__input\",class:{focusable:n.isFocusable},attrs:{type:n.type,placeholder:n.text,disabled:n.disabled,\"aria-label\":n.ariaLabel},domProps:{value:n.value},on:{input:n.onInput,change:n.onChange}},\"input\",n.$attrs,!1)),n._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.disabled,expression:\"!disabled\"}],staticClass:\"action-input__label\",attrs:{for:n.id}},[e(\"ArrowRight\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1)]],2)],2)])}),[],!1,null,\"3a716b2a\",null);\"function\"==typeof y()&&y()(x);var N=x.exports},1460:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"ActionLink\",mixins:[e(9156).Z],props:{href:{type:String,default:\"#\",required:!0,validator:function(n){try{return new URL(n)}catch(t){return n.startsWith(\"#\")||n.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(n){return[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(n)>-1}}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(4975),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(1967),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\"},[e(\"a\",{staticClass:\"action-link focusable\",attrs:{download:n.download,href:n.href,\"aria-label\":n.ariaLabel,target:n.target,rel:\"nofollow noreferrer noopener\"},on:{click:n.onClick}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-link__icon\",class:[n.isIconUrl?\"action-link__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-link__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-link__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"c8248868\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},5668:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(723),a=e(1205),r={name:\"ActionRadio\",mixins:[i.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,a.Z)()},validator:function(n){return\"\"!==n.trim()}},checked:{type:Boolean,default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{toggleInput:function(n){this.$refs.label.click()},onChange:function(n){this.$emit(\"update:checked\",this.$refs.radio.checked),this.$emit(\"change\",n)}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(8631),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(4444),B=e.n(v),E=(0,f.Z)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-radio\"},[e(\"input\",{ref:\"radio\",staticClass:\"radio action-radio__radio\",class:{focusable:n.isFocusable},attrs:{id:n.id,disabled:n.disabled,name:n.name,type:\"radio\"},domProps:{checked:n.checked,value:n.value},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.toggleInput.apply(null,arguments))},change:n.onChange}}),n._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-radio__label\",attrs:{for:n.id}},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"9e294d1a\",null);\"function\"==typeof B()&&B()(E);var D=E.exports},3434:function(n,t,e){\"use strict\";e.d(t,{default:function(){return b}});var i={name:\"ActionRouter\",mixins:[e(9156).Z],props:{to:{type:[String,Object],default:\"\",required:!0},exact:{type:Boolean,default:!1}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(8477),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\"},[e(\"router-link\",{staticClass:\"action-router focusable\",attrs:{to:n.to,exact:n.exact,\"aria-label\":n.ariaLabel,rel:\"nofollow noreferrer noopener\"},nativeOn:{click:function(t){return n.onClick.apply(null,arguments)}}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-router__icon\",class:[n.isIconUrl?\"action-router__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-router__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-router__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-router__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-router__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)],1)}),[],!1,null,\"0dbcc9ff\",null),b=C.exports},2768:function(n,t,e){\"use strict\";e.d(t,{default:function(){return g}});var i=e(3379),a=e.n(i),r=e(7795),o=e.n(r),s=e(569),l=e.n(s),c=e(3565),d=e.n(c),A=e(9216),u=e.n(A),p=e(4589),m=e.n(p),T=e(2103),h={};h.styleTagTransform=m(),h.setAttributes=d(),h.insert=l().bind(null,\"head\"),h.domAPI=o(),h.insertStyleElement=u(),a()(T.Z,h),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,e(1900).Z)({name:\"ActionSeparator\"},(function(){var n=this.$createElement;return(this._self._c||n)(\"li\",{staticClass:\"action action-separator action--disabled\"})}),[],!1,null,\"5339ba06\",null).exports},1262:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={name:\"ActionText\",mixins:[e(9156).Z]},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(7727),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\"},[e(\"span\",{staticClass:\"action-text\",on:{click:n.onClick}},[n._t(\"icon\",(function(){return[\"\"!==n.icon?e(\"span\",{staticClass:\"action-text__icon\",class:[n.isIconUrl?\"action-text__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}}):n._e()]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-text__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-text__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-text__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-text__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"304eec30\",null).exports},9975:function(n,t,e){\"use strict\";e.d(t,{default:function(){return y}});var i=e(2533),a=e.n(i),r=e(9156),o=e(1205),s={name:\"ActionTextEditable\",components:{ArrowRight:a()},mixins:[r.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,o.Z)()},validator:function(n){return\"\"!==n.trim()}},disabled:{type:Boolean,default:!1},value:{type:String,default:\"\"}},computed:{isFocusable:function(){return!this.disabled}},methods:{onInput:function(n){this.$emit(\"input\",n),this.$emit(\"update:value\",n.target.value)},onSubmit:function(n){if(n.preventDefault(),n.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",n)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(2476),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(1900),E=e(6616),D=e.n(E),S=(0,B.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-text-editable\",on:{click:n.onClick}},[e(\"span\",{staticClass:\"action-text-editable__icon\",class:[n.isIconUrl?\"action-text-editable__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}}),n._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-text-editable__form\",attrs:{disabled:n.disabled},on:{submit:function(t){return t.preventDefault(),n.onSubmit.apply(null,arguments)}}},[e(\"input\",{staticClass:\"action-text-editable__submit\",attrs:{id:n.id,type:\"submit\"}}),n._v(\" \"),n.title?e(\"strong\",{staticClass:\"action-text__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]):n._e(),n._v(\" \"),e(\"textarea\",n._b({class:[\"action-text-editable__textarea\",{focusable:n.isFocusable}],attrs:{disabled:n.disabled},domProps:{value:n.value},on:{input:n.onInput}},\"textarea\",n.$attrs,!1)),n._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.disabled,expression:\"!disabled\"}],staticClass:\"action-text-editable__label\",attrs:{for:n.id}},[e(\"ArrowRight\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1)])])])}),[],!1,null,\"b3a35a96\",null);\"function\"==typeof D()&&D()(S);var y=S.exports},5860:function(n,t,e){\"use strict\";var i=e(3083);t.default=i.Z},1582:function(n,t,e){\"use strict\";e.d(t,{default:function(){return Z}}),require(\"splitpanes/dist/splitpanes.css\");var i=e(542),a=e(7672),r=require(\"splitpanes\"),o=e(2640),s=e.n(o),l=e(932),c={name:\"AppDetailsToggle\",computed:{title:function(){return(0,l.t)(\"Go back to the list\")}},beforeMount:function(){this.toggleAppNavigationButton(!0)},beforeDestroy:function(){this.toggleAppNavigationButton(!1)},methods:{toggleAppNavigationButton:function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=document.querySelector(\".app-navigation .app-navigation-toggle\");t&&(t.style.display=n?\"none\":null,!0===n&&(0,i.emit)(\"toggle-navigation\",{open:!1}))}}},d=c,A=e(3379),u=e.n(A),p=e(7795),m=e.n(p),T=e(569),h=e.n(T),g=e(3565),C=e.n(g),b=e(9216),f=e.n(b),v=e(4589),B=e.n(v),E=e(4707),D={};D.styleTagTransform=B(),D.setAttributes=C(),D.insert=h().bind(null,\"head\"),D.domAPI=m(),D.insertStyleElement=f(),u()(E.Z,D),E.Z&&E.Z.locals&&E.Z.locals;var S=e(1900),y=(0,S.Z)(d,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:n.title,expression:\"title\"}],staticClass:\"app-details-toggle icon-confirm\",attrs:{href:\"#\"}})}),[],!1,null,\"24f4ece3\",null).exports,x=e(334),N=(0,a.getBuilder)(\"nextcloud\").persist().build(),k={name:\"AppContent\",components:{AppDetailsToggle:y,Pane:r.Pane,Splitpanes:r.Splitpanes},mixins:[x.default],props:{allowSwipeNavigation:{type:Boolean,default:!0},listSize:{type:Number,default:20},listMinWidth:{type:Number,default:15},listMaxWidth:{type:Number,default:40},paneConfigKey:{type:String,default:\"\"},showDetails:{type:Boolean,default:!0}},data:function(){return{contentHeight:0,hasList:!1,listPaneSize:this.restorePaneConfig()}},computed:{paneConfigID:function(){if(\"\"!==this.paneConfigKey)return\"pane-list-size-\".concat(this.paneConfigKey);try{return\"pane-list-size-\".concat(appName)}catch(n){return console.info(\"[INFO] AppContent:\",\"falling back to global nextcloud pane config\"),\"pane-list-size-nextcloud\"}},detailsPaneSize:function(){return this.listPaneSize?100-this.listPaneSize:this.paneDefaults.details.size},paneDefaults:function(){return{list:{size:this.listSize,min:this.listMinWidth,max:this.listMaxWidth},details:{size:100-this.listSize,min:100-this.listMaxWidth,max:100-this.listMinWidth}}}},updated:function(){this.checkListSlot()},mounted:function(){this.allowSwipeNavigation&&(this.mc=new(s())(this.$el,{cssProps:{userSelect:\"text\"}}),this.mc.on(\"swipeleft swiperight\",this.handleSwipe)),this.checkListSlot(),this.restorePaneConfig()},beforeDestroy:function(){this.mc.off(\"swipeleft swiperight\",this.handleSwipe)},methods:{handleSwipe:function(n){var t=n.srcEvent.pageX-n.deltaX,e=Math.abs(n.deltaX)>70;e&&t<40?(0,i.emit)(\"toggle-navigation\",{open:!0}):e&&t<340&&(0,i.emit)(\"toggle-navigation\",{open:!1})},handlePaneResize:function(n){var t=parseInt(n[0].size,10);N.setItem(this.paneConfigID,JSON.stringify(t)),this.listPaneSize=t,console.debug(\"AppContent pane config\",t)},checkListSlot:function(){var n=!!this.$slots.list;this.hasList!==n&&(this.hasList=n)},restorePaneConfig:function(){var n=parseInt(N.getItem(this.paneConfigID),10);if(!isNaN(n)&&n!==this.listPaneSize)return console.debug(\"AppContent pane config\",n),this.listPaneSize=n,n},hideDetails:function(){this.$emit(\"update:showDetails\",!1)}}},R=e(4247),F={};F.styleTagTransform=B(),F.setAttributes=C(),F.insert=h().bind(null,\"head\"),F.domAPI=m(),F.insertStyleElement=f(),u()(R.Z,F),R.Z&&R.Z.locals&&R.Z.locals;var w=e(1871),O=e.n(w),_=(0,S.Z)(k,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"main\",{staticClass:\"app-content no-snapper\",attrs:{id:\"app-content-vue\"}},[n.hasList?[n.isMobile?e(\"div\",{staticClass:\"app-content-wrapper app-content-wrapper--mobile\",class:n.showDetails?\"app-content-wrapper--show-details\":\"app-content-wrapper--show-list\"},[n.hasList&&n.showDetails?e(\"AppDetailsToggle\",{nativeOn:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.hideDetails.apply(null,arguments)}}}):n._e(),n._v(\" \"),n._t(\"list\"),n._v(\" \"),n._t(\"default\")],2):e(\"div\",{staticClass:\"app-content-wrapper\"},[e(\"Splitpanes\",{staticClass:\"default-theme\",on:{resized:n.handlePaneResize}},[e(\"Pane\",{staticClass:\"splitpanes__pane-list\",attrs:{size:n.listPaneSize||n.paneDefaults.list.size,\"min-size\":n.paneDefaults.list.min,\"max-size\":n.paneDefaults.list.max}},[n._t(\"list\")],2),n._v(\" \"),e(\"Pane\",{staticClass:\"splitpanes__pane-details\",attrs:{size:n.detailsPaneSize,\"min-size\":n.paneDefaults.details.min,\"max-size\":n.paneDefaults.details.max}},[n._t(\"default\")],2)],1)],1)]:n._t(\"default\")],2)}),[],!1,null,\"61c97b1e\",null);\"function\"==typeof O()&&O()(_);var Z=_.exports},7864:function(n,t,e){\"use strict\";e.d(t,{default:function(){return i}});var i=(0,e(1900).Z)({name:\"AppContentDetails\"},(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"app-content-details\"},[n._t(\"default\")],2)}),[],!1,null,null,null).exports},637:function(n,t,e){\"use strict\";e.d(t,{default:function(){return a}});var i={name:\"AppContentList\",props:{selection:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!1}}},a=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"app-content-list\",class:{selection:n.selection,showdetails:n.showDetails}},[n._t(\"default\")],2)}),[],!1,null,null,null).exports},8916:function(n,t,e){\"use strict\";e.d(t,{default:function(){return F}});var i=e(542),a=e(3083),r=e(491),o=e(932),s=require(\"vue-material-design-icons/Menu\"),l=e.n(s),c={name:\"AppNavigationToggle\",components:{Actions:a.Z,ActionButton:r.Z,Menu:l()},props:{open:{type:Boolean,required:!0}},computed:{label:function(){return this.open?(0,o.t)(\"Close navigation\"):(0,o.t)(\"Open navigation\")}},methods:{toggleNavigation:function(){this.$emit(\"update:open\",!this.open)}}},d=e(3379),A=e.n(d),u=e(7795),p=e.n(u),m=e(569),T=e.n(m),h=e(3565),g=e.n(h),C=e(9216),b=e.n(C),f=e(4589),v=e.n(f),B=e(805),E={};E.styleTagTransform=v(),E.setAttributes=g(),E.insert=T().bind(null,\"head\"),E.domAPI=p(),E.insertStyleElement=b(),A()(B.Z,E),B.Z&&B.Z.locals&&B.Z.locals;var D=e(1900),S={name:\"AppNavigation\",components:{AppNavigationToggle:(0,D.Z)(c,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"Actions\",{staticClass:\"app-navigation-toggle\"},[e(\"ActionButton\",{attrs:{\"aria-expanded\":n.open?\"true\":\"false\",\"aria-controls\":\"app-navigation-vue\"},on:{click:n.toggleNavigation},scopedSlots:n._u([{key:\"icon\",fn:function(){return[e(\"Menu\",{attrs:{size:20,title:\"\",decorative:\"\"}})]},proxy:!0}])},[n._v(\"\\n\\t\\t\"+n._s(n.label)+\"\\n\\t\")])],1)}),[],!1,null,\"31c70ec3\",null).exports},mixins:[e(334).default],data:function(){return{open:!0}},watch:{isMobile:function(){this.open=!this.isMobile}},mounted:function(){(0,i.subscribe)(\"toggle-navigation\",this.toggleNavigationByEventBus),(0,i.emit)(\"navigation-toggled\",{open:this.open})},unmounted:function(){this.mc.off(\"swipeleft swiperight\"),this.mc.destroy(),(0,i.unsubscribe)(\"toggle-navigation\",this.toggleNavigationByEventBus)},methods:{toggleNavigation:function(n){var t=this;this.open=void 0===n?!this.open:n;var e=getComputedStyle(document.body),a=parseInt(e.getPropertyValue(\"--animation-quick\"))||100;setTimeout((function(){(0,i.emit)(\"navigation-toggled\",{open:t.open})}),1.5*a)},toggleNavigationByEventBus:function(n){var t=n.open;this.toggleNavigation(t)}}},y=e(2400),x={};x.styleTagTransform=v(),x.setAttributes=g(),x.insert=T().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=b(),A()(y.Z,x),y.Z&&y.Z.locals&&y.Z.locals;var N=e(8347),k=e.n(N),R=(0,D.Z)(S,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation\",class:{\"app-navigation--close\":!n.open},attrs:{id:\"app-navigation-vue\",role:\"navigation\"}},[e(\"AppNavigationToggle\",{attrs:{open:n.open},on:{\"update:open\":n.toggleNavigation}}),n._v(\" \"),n._t(\"default\"),n._v(\" \"),e(\"ul\",{staticClass:\"app-navigation__list\"},[n._t(\"list\")],2),n._v(\" \"),n._t(\"footer\")],2)}),[],!1,null,\"146e0c06\",null);\"function\"==typeof k()&&k()(R);var F=R.exports},5485:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"AppNavigationCaption\",components:{Actions:e(3083).Z},props:{title:{type:String,required:!0}},computed:{hasActions:function(){return!!this.$slots.actions}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(4609),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(4795),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"app-navigation-caption\"},[e(\"div\",{staticClass:\"app-navigation-caption__title\"},[n._v(\"\\n\\t\\t\"+n._s(n.title)+\"\\n\\t\")]),n._v(\" \"),n.hasActions?e(\"div\",{staticClass:\"app-navigation-caption__actions\"},[e(\"Actions\",n._b({},\"Actions\",n.$attrs,!1),[n._t(\"actions\")],2)],1):n._e()])}),[],!1,null,\"45d39094\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},1599:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"AppNavigationCounter\",props:{highlighted:{type:Boolean,default:!1}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(9325),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(7808),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"app-navigation-entry__counter\",class:{\"app-navigation-entry__counter--highlighted\":n.highlighted}},[n._t(\"default\")],2)}),[],!1,null,\"3e9952b7\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},1466:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"AppNavigationIconBullet\",props:{color:{type:String,required:!0,validator:function(n){return/^#?([0-9A-F]{3}){1,2}$/i.test(n)}}},computed:{formattedColor:function(){return this.color.startsWith(\"#\")?this.color:\"#\"+this.color}},methods:{onClick:function(n){this.$emit(\"click\",n)}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(533),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(2930),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation-entry__icon-bullet\",on:{click:n.onClick}},[e(\"div\",{style:{backgroundColor:n.formattedColor}})])}),[],!1,null,\"71402848\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},3097:function(n,t,e){\"use strict\";e.d(t,{default:function(){return M}});var i=e(453),a=e(3083),r=e(491),o=require(\"vue-material-design-icons/MenuDown\"),s={name:\"AppNavigationIconCollapsible\",components:{MenuDown:e.n(o)()},props:{open:{type:Boolean,default:!0}},methods:{onClick:function(n){this.$emit(\"click\",n)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(6456),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(1900),E=(0,B.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"button\",{staticClass:\"icon-collapse\",class:{\"icon-collapse--rotated\":n.open},attrs:{type:\"button\"},on:{click:n.onClick}},[e(\"MenuDown\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1)}),[],!1,null,\"4b0d387e\",null).exports,D=e(334),S=e(2569),y=e(932),x=require(\"vue-material-design-icons/Pencil\"),N=e.n(x),k=require(\"vue-material-design-icons/Undo\"),R=e.n(k),F={name:\"AppNavigationItem\",components:{Actions:a.Z,ActionButton:r.Z,AppNavigationIconCollapsible:E,InputConfirmCancel:S.Z,Pencil:N(),Undo:R()},directives:{ClickOutside:i.directive},mixins:[D.default],props:{title:{type:String,required:!0},icon:{type:String,default:\"\"},loading:{type:Boolean,default:!1},to:{type:[String,Object],default:\"\"},exact:{type:Boolean,default:!1},allowCollapse:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editLabel:{type:String,default:\"\"},editPlaceholder:{type:String,default:\"\"},pinned:{type:Boolean,default:!1},undo:{type:Boolean,default:!1},open:{type:Boolean,default:!1},menuOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuIcon:{type:String,default:void 0},menuPlacement:{type:String,default:\"bottom\"},ariaDescription:{type:String,default:null}},data:function(){return{editingValue:\"\",opened:this.open,editingActive:!1,hasChildren:!1}},computed:{collapsible:function(){return this.allowCollapse&&!!this.$slots.default},isIconShown:function(){return!this.collapsible||this.collapsible&&!this.isMobile},canHaveChildren:function(){return\"AppNavigationItem\"!==this.$parent.$options._componentTag},hasUtils:function(){return!this.editing&&!!(this.$slots.actions||this.$slots.counter||this.editable||this.undo)},navElement:function(){return this.to?{is:\"router-link\",tag:\"li\",to:this.to,exact:this.exact}:{is:\"li\"}},isActive:function(){return this.to&&this.$route===this.to},editButtonAriaLabel:function(){return this.editLabel?this.editLabel:(0,y.t)(\"Edit item\")},undoButtonAriaLabel:function(){return(0,y.t)(\"Undo changes\")}},watch:{open:function(n){this.opened=n}},created:function(){this.updateSlotInfo()},beforeUpdate:function(){this.updateSlotInfo()},methods:{onMenuToggle:function(n){this.$emit(\"update:menuOpen\",n)},toggleCollapse:function(){this.opened=!this.opened,this.$emit(\"update:open\",this.opened)},onClick:function(n){this.$emit(\"click\",n)},handleEdit:function(){var n=this;this.editingValue=this.title,this.editingActive=!0,this.onMenuToggle(!1),this.$nextTick((function(){n.$refs.editingInput.focusInput()}))},cancelEditing:function(){this.editingActive=!1},handleEditingDone:function(){this.$emit(\"update:title\",this.editingValue),this.editingValue=\"\",this.editingActive=!1},handleUndo:function(){this.$emit(\"undo\")},updateSlotInfo:function(){this.hasChildren=!!this.$slots.default}}},w=e(183),O={};O.styleTagTransform=b(),O.setAttributes=T(),O.insert=p().bind(null,\"head\"),O.domAPI=A(),O.insertStyleElement=g(),c()(w.Z,O),w.Z&&w.Z.locals&&w.Z.locals;var _=e(7091),Z=e.n(_),Y=(0,B.Z)(F,(function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return i(\"nav-element\",t._b({staticClass:\"app-navigation-entry\",class:{\"app-navigation-entry--no-icon\":!t.isIconShown,\"app-navigation-entry--opened\":t.opened,\"app-navigation-entry--pinned\":t.pinned,\"app-navigation-entry--editing\":t.editingActive,\"app-navigation-entry--deleted\":t.undo,\"app-navigation-entry--collapsible\":t.collapsible,active:t.isActive}},\"nav-element\",t.navElement,!1),[t.undo?t._e():i(\"a\",{staticClass:\"app-navigation-entry-link\",attrs:{\"aria-description\":t.ariaDescription,href:\"#\"},on:{click:t.onClick}},[i(\"div\",{staticClass:\"app-navigation-entry-icon\",class:(n={\"icon-loading-small\":t.loading},n[t.icon]=t.icon&&t.isIconShown,n)},[t._t(\"icon\")],2),t._v(\" \"),t.editingActive?t._e():i(\"span\",{staticClass:\"app-navigation-entry__title\",attrs:{title:t.title}},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]),t._v(\" \"),t.editingActive?i(\"div\",{staticClass:\"editingContainer\"},[i(\"InputConfirmCancel\",{ref:\"editingInput\",attrs:{placeholder:\"\"!==t.editPlaceholder?t.editPlaceholder:t.title},on:{cancel:t.cancelEditing,confirm:t.handleEditingDone},model:{value:t.editingValue,callback:function(n){t.editingValue=n},expression:\"editingValue\"}})],1):t._e()]),t._v(\" \"),t.collapsible?i(\"AppNavigationIconCollapsible\",{attrs:{open:t.opened},on:{click:function(n){return n.preventDefault(),n.stopPropagation(),t.toggleCollapse.apply(null,arguments)}}}):t._e(),t._v(\" \"),t.undo?i(\"div\",{staticClass:\"app-navigation-entry__deleted\"},[i(\"div\",{staticClass:\"app-navigation-entry__deleted-description\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")])]):t._e(),t._v(\" \"),t.hasUtils&&!t.editingActive?i(\"div\",{staticClass:\"app-navigation-entry__utils\"},[t.$slots.counter?i(\"div\",{staticClass:\"app-navigation-entry__counter-wrapper\"},[t._t(\"counter\")],2):t._e(),t._v(\" \"),i(\"Actions\",{attrs:{\"menu-align\":\"right\",placement:t.menuPlacement,open:t.menuOpen,\"force-menu\":t.forceMenu,\"default-icon\":t.menuIcon},on:{\"update:open\":t.onMenuToggle},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"menu-icon\")]},proxy:!0}],null,!0)},[t._v(\" \"),t.editable&&!t.editingActive?i(\"ActionButton\",{attrs:{\"aria-label\":t.editButtonAriaLabel},on:{click:t.handleEdit},scopedSlots:t._u([{key:\"icon\",fn:function(){return[i(\"Pencil\",{attrs:{size:20,decorative:\"\"}})]},proxy:!0}],null,!1,2864695315)},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.editLabel)+\"\\n\\t\\t\\t\")]):t._e(),t._v(\" \"),t.undo?i(\"ActionButton\",{attrs:{\"aria-label\":t.undoButtonAriaLabel},on:{click:t.handleUndo},scopedSlots:t._u([{key:\"icon\",fn:function(){return[i(\"Undo\",{attrs:{size:20,decorative:\"\"}})]},proxy:!0}],null,!1,4006107262)}):t._e(),t._v(\" \"),t._t(\"actions\")],2)],1):t._e(),t._v(\" \"),t.canHaveChildren&&t.hasChildren?i(\"ul\",{staticClass:\"app-navigation-entry__children\"},[t._t(\"default\")],2):t._e(),t._v(\" \"),t._t(\"extra\")],2)}),[],!1,null,null,null);\"function\"==typeof Z()&&Z()(Y);var M=Y.exports},9273:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={props:{buttonId:{type:String,required:!1,default:\"\"},buttonClass:{type:[String,Array,Object],required:!1,default:\"\"},disabled:{type:Boolean,required:!1,default:!1},text:{type:String,required:!0}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(7004),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation-new\"},[e(\"button\",{class:n.buttonClass,attrs:{id:n.buttonId,disabled:n.disabled,type:\"button\"},on:{click:function(t){return n.$emit(\"click\")}}},[n._v(\"\\n\\t\\t\"+n._s(n.text)+\"\\n\\t\")])])}),[],!1,null,\"7286e935\",null).exports},5240:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(453),a=e(334),r={name:\"AppNavigationNewItem\",components:{InputConfirmCancel:e(2569).Z},directives:{ClickOutside:i.directive},mixins:[a.default],props:{title:{type:String,required:!0},icon:{type:String,default:\"\"},loading:{type:Boolean,default:!1},editLabel:{type:String,default:\"\"},editPlaceholder:{type:String,default:\"\"}},data:function(){return{newItemValue:\"\",newItemActive:!1}},methods:{handleNewItem:function(){var n=this;this.loading||(this.newItemActive=!0,this.$nextTick((function(){n.$refs.newItemInput.focusInput()})))},cancelNewItem:function(){this.newItemActive=!1},handleNewItemDone:function(){this.$emit(\"new-item\",this.newItemValue),this.newItemValue=\"\",this.newItemActive=!1}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(8704),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(4773),B=e.n(v),E=(0,f.Z)(r,(function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return i(\"li\",{staticClass:\"app-navigation-entry\",class:{\"app-navigation-entry--newItemActive\":t.newItemActive}},[i(\"div\",{staticClass:\"app-navigation-entry-div\",on:{click:t.handleNewItem}},[i(\"div\",{staticClass:\"app-navigation-entry-icon\",class:(n={\"icon-loading-small\":t.loading},n[t.icon]=!t.loading,n)},[t.loading?t._e():t._t(\"icon\")],2),t._v(\" \"),t.newItemActive?t._e():i(\"span\",{staticClass:\"app-navigation-new-item__title\",attrs:{title:t.title}},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]),t._v(\" \"),t.newItemActive?i(\"div\",{staticClass:\"newItemContainer\"},[i(\"InputConfirmCancel\",{ref:\"newItemInput\",attrs:{placeholder:\"\"!==t.editPlaceholder?t.editPlaceholder:t.title},on:{cancel:t.cancelNewItem,confirm:t.handleNewItemDone},model:{value:t.newItemValue,callback:function(n){t.newItemValue=n},expression:\"newItemValue\"}})],1):t._e()])])}),[],!1,null,null,null);\"function\"==typeof B()&&B()(E);var D=E.exports},8906:function(n,t,e){\"use strict\";e.d(t,{default:function(){return E}});var i=e(453),a=e(932),r=e(3351),o=require(\"vue-material-design-icons/Cog\"),s=e.n(o),l={directives:{ClickOutside:i.directive},components:{Cog:s()},mixins:[r.yd],props:{title:{type:String,required:!1,default:(0,a.t)(\"Settings\")}},data:function(){return{open:!1,clickOutsideConfig:{handler:this.closeMenu,middleware:this.clickOutsideMiddleware}}},methods:{toggleMenu:function(){this.open=!this.open},closeMenu:function(){this.open=!1}}},c=e(3379),d=e.n(c),A=e(7795),u=e.n(A),p=e(569),m=e.n(p),T=e(3565),h=e.n(T),g=e(9216),C=e.n(g),b=e(4589),f=e.n(b),v=e(8323),B={};B.styleTagTransform=f(),B.setAttributes=h(),B.insert=m().bind(null,\"head\"),B.domAPI=u(),B.insertStyleElement=C(),d()(v.Z,B),v.Z&&v.Z.locals&&v.Z.locals;var E=(0,e(1900).Z)(l,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:n.clickOutsideConfig,expression:\"clickOutsideConfig\"}],class:{open:n.open},attrs:{id:\"app-settings\"}},[e(\"div\",{attrs:{id:\"app-settings__header\"}},[e(\"button\",{staticClass:\"settings-button\",attrs:{type:\"button\"},on:{click:n.toggleMenu}},[e(\"Cog\",{staticClass:\"settings-button__icon\",attrs:{size:20,decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"settings-button__label\"},[n._v(n._s(n.title))])],1)]),n._v(\" \"),e(\"transition\",{attrs:{name:\"slide-up\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.open,expression:\"open\"}],attrs:{id:\"app-settings__content\"}},[n._t(\"default\")],2)])],1)}),[],!1,null,\"20bf47dc\",null).exports},6005:function(n,t,e){\"use strict\";e.d(t,{default:function(){return g}});var i=e(3379),a=e.n(i),r=e(7795),o=e.n(r),s=e(569),l=e.n(s),c=e(3565),d=e.n(c),A=e(9216),u=e.n(A),p=e(4589),m=e.n(p),T=e(6381),h={};h.styleTagTransform=m(),h.setAttributes=d(),h.insert=l().bind(null,\"head\"),h.domAPI=o(),h.insertStyleElement=u(),a()(T.Z,h),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,e(1900).Z)({name:\"AppNavigationSpacer\"},(function(){var n=this.$createElement;return(this._self._c||n)(\"li\",{staticClass:\"app-navigation-spacer\"})}),[],!1,null,\"42195cc8\",null).exports},3257:function(n,t,e){\"use strict\";e.d(t,{default:function(){return k}});var i=e(4113),a=e(334),r=e(932),o=e(3465),s=e.n(o);function l(n){return function(n){if(Array.isArray(n))return c(n)}(n)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(n)||function(n,t){if(n){if(\"string\"==typeof n)return c(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?c(n,t):void 0}}(n)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}var d={name:\"AppSettingsDialog\",components:{Modal:i.default},mixins:[a.default],props:{open:{type:Boolean,required:!0},showNavigation:{type:Boolean,default:!1},container:{type:String,default:\"body\"}},data:function(){return{selectedSection:\"\",linkClicked:!1,addedScrollListener:!1,scroller:null}},computed:{hasNavigation:function(){return!(this.isMobile||!this.showNavigation)},settingsNavigationAriaLabel:function(){return(0,r.t)(\"Settings navigation\")}},mounted:function(){this.selectedSection=this.$slots.default[0].componentOptions.propsData.title},updated:function(){this.$refs.settingsScroller&&(this.scroller=this.$refs.settingsScroller,this.addedScrollListener||(this.scroller.addEventListener(\"scroll\",this.handleScroll),this.addedScrollListener=!0))},methods:{getSettingsNavigation:function(n){var t=n.filter((function(n){return n.componentOptions})).map((function(n){var t;return null===(t=n.componentOptions.propsData)||void 0===t?void 0:t.title}));return t.forEach((function(n,e){var i=l(t);if(i.splice(e,1),-1!==i.indexOf(n))throw new Error(\"Duplicate section title found: \".concat(n,\". Settings navigation sections must have unique section titles.\"))})),t},handleSettingsNavigationClick:function(n){var t=this;this.linkClicked=!0,document.getElementById(\"settings-section_\"+n.replace(/\\s+/g,\"\")).scrollIntoView({behavior:\"smooth\",inline:\"nearest\"}),this.selectedSection=n,setTimeout((function(){t.linkClicked=!1}),1e3)},handleCloseModal:function(){this.$emit(\"update:open\",!1),this.scroller.removeEventListener(\"scroll\",this.handleScroll),this.addedScrollListener=!1,this.scroller.scrollTop=0},handleScroll:function(){this.linkClicked||this.unfocusNavigationItem()},unfocusNavigationItem:s()((function(){this.selectedSection=\"\",document.activeElement.className.includes(\"navigation-list__link\")&&document.activeElement.blur()}),300),handleLinkKeydown:function(n,t){\"Enter\"===n.code&&this.handleSettingsNavigationClick(t)}},render:function(n){var t=this;return this.open?n(\"Modal\",{attrs:{container:this.container,size:\"large\"},on:{close:function(){t.handleCloseModal()}}},[n(\"div\",{attrs:{class:\"app-settings\"}},[].concat(l(t.hasNavigation?[n(\"div\",{attrs:{class:\"app-settings__navigation\",role:\"tablist\",\"aria-label\":t.settingsNavigationAriaLabel}},[n(\"ul\",{attrs:{class:\"navigation-list\",role:\"tablist\"}},t.getSettingsNavigation(t.$slots.default).map((function(e){return function(e){return n(\"li\",{},[n(\"a\",{class:{\"navigation-list__link\":!0,\"navigation-list__link--active\":e===t.selectedSection},attrs:{role:\"tab\",\"aria-selected\":e===t.selectedSection,tabindex:\"0\"},on:{click:function(){return t.handleSettingsNavigationClick(e)},keydown:function(){return t.handleLinkKeydown(event,e)}}},e)])}(e)})))])]:[]),[n(\"div\",{attrs:{class:\"app-settings__content\"},ref:\"settingsScroller\"},this.$slots.default)]))]):void 0}},A=e(3379),u=e.n(A),p=e(7795),m=e.n(p),T=e(569),h=e.n(T),g=e(3565),C=e.n(g),b=e(9216),f=e.n(b),v=e(4589),B=e.n(v),E=e(6527),D={};D.styleTagTransform=B(),D.setAttributes=C(),D.insert=h().bind(null,\"head\"),D.domAPI=m(),D.insertStyleElement=f(),u()(E.Z,D),E.Z&&E.Z.locals&&E.Z.locals;var S=e(1900),y=e(2458),x=e.n(y),N=(0,S.Z)(d,void 0,void 0,!1,null,\"268855c9\",null);\"function\"==typeof x()&&x()(N);var k=N.exports},2656:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={name:\"AppSettingsSection\",props:{title:{type:String,required:!0}},computed:{id:function(){return\"settings-section_\"+this.title.replace(/\\s+/g,\"\")}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(8736),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-settings-section\",attrs:{id:n.id}},[e(\"h3\",{staticClass:\"app-settings-section__title\",attrs:{id:n.title}},[n._v(\"\\n\\t\\t\"+n._s(n.title)+\"\\n\\t\")]),n._v(\" \"),n._t(\"default\")],2)}),[],!1,null,\"0e33da14\",null).exports},2523:function(n,t,e){\"use strict\";e.d(t,{default:function(){return z}});var i=e(5860),a=e(8167),r=e(5675),o=e(9040),s=e(2734),l=e.n(s),c=e(8104),d=function(n){return n&&\"string\"==typeof n&&\"\"!==n.trim()},A=function(n){return d(n)&&-1===n.indexOf(\" \")},u={name:\"AppSidebarTabs\",components:{VNodes:c.Z},props:{active:{type:String,default:\"\"}},data:function(){return{tabs:[],activeTab:\"\",children:[]}},computed:{hasMultipleTabs:function(){return this.tabs.length>1},currentTabIndex:function(){var n=this;return this.tabs.findIndex((function(t){return t.id===n.activeTab}))}},watch:{active:function(n){n!==this.activeTab&&this.updateActive()},children:function(){this.updateTabs()}},mounted:function(){this.updateTabs(),this.children=this.$children},methods:{setActive:function(n){this.activeTab=n,this.$emit(\"update:active\",this.activeTab)},focusPreviousTab:function(){this.currentTabIndex>0&&this.setActive(this.tabs[this.currentTabIndex-1].id),this.focusActiveTab()},focusNextTab:function(){this.currentTabIndex<this.tabs.length-1&&this.setActive(this.tabs[this.currentTabIndex+1].id),this.focusActiveTab()},focusFirstTab:function(){this.setActive(this.tabs[0].id),this.focusActiveTab()},focusLastTab:function(){this.setActive(this.tabs[this.tabs.length-1].id),this.focusActiveTab()},focusActiveTab:function(){this.$el.querySelector(\"#\"+this.activeTab).focus()},focusActiveTabContent:function(){this.$el.querySelector(\"#tab-\"+this.activeTab).focus()},updateActive:function(){var n=this;this.activeTab=this.active&&-1!==this.tabs.findIndex((function(t){return t.id===n.active}))?this.active:this.tabs.length>0?this.tabs[0].id:\"\"},hasMdIcon:function(n){var t;return null==n||null===(t=n.$slots)||void 0===t?void 0:t.icon},updateTabs:function(){if(this.$slots.default){var n=this.$slots.default.filter((function(n){return n.tag||n.text.trim()})),t=[],e=n.reduce((function(n,e){var i,a=e.componentInstance;return d(null==a?void 0:a.name)&&A(null==a?void 0:a.id)&&(A(null==a?void 0:a.icon)||null!=a&&null!==(i=a.$slots)&&void 0!==i&&i.icon)?n.push(a):t.push(e),n}),[]);0!==e.length&&e.length!==n.length&&(l().util.warn(\"Mixing tabs and non-tab-content is not possible.\"),t.map((function(n){return console.debug(\"Ignoring invalid tab\",n)}))),this.tabs=e.sort((function(n,t){var e=n.order||0,i=t.order||0;return e===i?OC.Util.naturalSortCompare(n.name,t.name):e-i})),this.tabs.length>0&&this.updateActive()}else this.tabs=[]}}},p=e(3379),m=e.n(p),T=e(7795),h=e.n(T),g=e(569),C=e.n(g),b=e(3565),f=e.n(b),v=e(9216),B=e.n(v),E=e(4589),D=e.n(E),S=e(1128),y={};y.styleTagTransform=D(),y.setAttributes=f(),y.insert=C().bind(null,\"head\"),y.domAPI=h(),y.insertStyleElement=B(),m()(S.Z,y),S.Z&&S.Z.locals&&S.Z.locals;var x=e(1900),N=(0,x.Z)(u,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-sidebar-tabs\"},[n.hasMultipleTabs?e(\"nav\",{staticClass:\"app-sidebar-tabs__nav\",on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"left\",37,t.key,[\"Left\",\"ArrowLeft\"])||\"button\"in t&&0!==t.button||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusPreviousTab.apply(null,arguments))},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"right\",39,t.key,[\"Right\",\"ArrowRight\"])||\"button\"in t&&2!==t.button||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusNextTab.apply(null,arguments))},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusActiveTabContent.apply(null,arguments))},function(t){return t.type.indexOf(\"key\")||33===t.keyCode?t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusFirstTab.apply(null,arguments)):null},function(t){return t.type.indexOf(\"key\")||34===t.keyCode?t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusLastTab.apply(null,arguments)):null}]}},[e(\"ul\",n._l(n.tabs,(function(t){return e(\"li\",{key:t.id,staticClass:\"app-sidebar-tabs__tab\"},[e(\"a\",{class:{active:n.activeTab===t.id},attrs:{id:t.id,\"aria-controls\":\"tab-\"+t.id,\"aria-selected\":n.activeTab===t.id,\"data-id\":t.id,href:\"#tab-\"+t.id,tabindex:n.activeTab===t.id?null:-1,role:\"tab\"},on:{click:function(e){return e.preventDefault(),n.setActive(t.id)}}},[e(\"span\",{staticClass:\"app-sidebar-tabs__tab-icon\"},[n.hasMdIcon(t)?e(\"VNodes\",{attrs:{vnodes:t.$slots.icon[0]}}):e(\"span\",{class:t.icon})],1),n._v(\"\\n\\t\\t\\t\\t\\t\"+n._s(t.name)+\"\\n\\t\\t\\t\\t\")])])})),0)]):n._e(),n._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-tabs__content\",class:{\"app-sidebar-tabs__content--multiple\":n.hasMultipleTabs}},[n._t(\"default\")],2)])}),[],!1,null,\"15932673\",null),k=N.exports,R=e(5576),F=e(932),w=e(453),O=e(5978),_=e.n(O),Z=require(\"vue-material-design-icons/Star\"),Y=e.n(Z),M={name:\"AppSidebar\",components:{Actions:i.default,AppSidebarTabs:k,EmptyContent:R.Z,Close:_(),Star:Y()},directives:{focus:a.default,linkify:r.default,ClickOutside:w.directive,Tooltip:o.default},props:{active:{type:String,default:\"\"},title:{type:String,default:\"\",required:!0},titleEditable:{type:Boolean,default:!1},titlePlaceholder:{type:String,default:\"\"},subtitle:{type:String,default:\"\"},subtitleTooltip:{type:String,default:\"\"},background:{type:String,default:\"\"},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},linkifyTitle:{type:Boolean,default:!1},titleTooltip:{type:String,default:\"\"}},data:function(){return{closeTranslated:(0,F.t)(\"Close\"),isStarred:this.starred}},computed:{canStar:function(){return null!==this.isStarred},hasFigure:function(){return this.$slots.header||this.background},hasFigureClickListener:function(){return this.$listeners[\"figure-click\"]}},watch:{starred:function(){this.isStarred=this.starred}},beforeDestroy:function(){this.$emit(\"closed\")},methods:{onBeforeEnter:function(n){this.$emit(\"opening\",n)},onAfterEnter:function(n){this.$emit(\"opened\",n)},onBeforeLeave:function(n){this.$emit(\"closing\",n)},onAfterLeave:function(n){this.$emit(\"closed\",n)},closeSidebar:function(n){this.$emit(\"close\",n)},onFigureClick:function(n){this.$emit(\"figure-click\",n)},toggleStarred:function(){this.isStarred=!this.isStarred,this.$emit(\"update:starred\",this.isStarred)},editTitle:function(){var n=this;this.$emit(\"update:titleEditable\",!0),this.titleEditable&&this.$nextTick((function(){return n.$refs.titleInput.focus()}))},onTitleInput:function(n){this.$emit(\"update:title\",n.target.value)},onSubmitTitle:function(n){this.$emit(\"update:titleEditable\",!1),this.$emit(\"submit-title\",n)},onDismissEditing:function(){this.$emit(\"update:titleEditable\",!1),this.$emit(\"dismiss-editing\")},onUpdateActive:function(n){this.$emit(\"update:active\",n)}}},I=e(8711),G={};G.styleTagTransform=D(),G.setAttributes=f(),G.insert=C().bind(null,\"head\"),G.domAPI=h(),G.insertStyleElement=B(),m()(I.Z,G),I.Z&&I.Z.locals&&I.Z.locals;var L=e(7464),$={};$.styleTagTransform=D(),$.setAttributes=f(),$.insert=C().bind(null,\"head\"),$.domAPI=h(),$.insertStyleElement=B(),m()(L.Z,$),L.Z&&L.Z.locals&&L.Z.locals;var U=e(9976),j=e.n(U),P=(0,x.Z)(M,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"transition\",{attrs:{appear:\"\",name:\"slide-right\"},on:{\"before-enter\":n.onBeforeEnter,\"after-enter\":n.onAfterEnter,\"before-leave\":n.onBeforeLeave,\"after-leave\":n.onAfterLeave}},[e(\"aside\",{staticClass:\"app-sidebar\",attrs:{id:\"app-sidebar-vue\"}},[e(\"header\",{staticClass:\"app-sidebar-header\",class:{\"app-sidebar-header--with-figure\":n.hasFigure,\"app-sidebar-header--compact\":n.compact}},[e(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.closeTranslated,expression:\"closeTranslated\",modifiers:{auto:!0}}],staticClass:\"app-sidebar__close\",attrs:{href:\"#\"},on:{click:function(t){return t.preventDefault(),n.closeSidebar.apply(null,arguments)}}},[e(\"Close\",{staticClass:\"app-sidebar__close-icon\",attrs:{size:20,decorative:\"\"}})],1),n._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__info\"},[n.hasFigure&&!n.empty?e(\"div\",{staticClass:\"app-sidebar-header__figure\",class:{\"app-sidebar-header__figure--with-action\":n.hasFigureClickListener},style:{backgroundImage:\"url(\"+n.background+\")\"},on:{click:n.onFigureClick}},[n._t(\"header\")],2):n._e(),n._v(\" \"),n.empty?n._e():e(\"div\",{staticClass:\"app-sidebar-header__desc\",class:{\"app-sidebar-header__desc--with-tertiary-action\":n.canStar||n.$slots[\"tertiary-actions\"],\"app-sidebar-header__desc--editable\":n.titleEditable&&!n.subtitle,\"app-sidebar-header__desc--with-subtitle--editable\":n.titleEditable&&n.subtitle,\"app-sidebar-header__desc--without-actions\":!n.$slots[\"secondary-actions\"]}},[n.canStar||n.$slots[\"tertiary-actions\"]?e(\"div\",{staticClass:\"app-sidebar-header__tertiary-actions\"},[n._t(\"tertiary-actions\",(function(){return[n.canStar?e(\"a\",{staticClass:\"app-sidebar-header__star\",on:{click:function(t){return t.preventDefault(),n.toggleStarred.apply(null,arguments)}}},[n.starLoading?e(\"span\",{staticClass:\"icon-loading-small\"}):e(\"Star\",{staticClass:\"star\",class:{\"star--starred\":n.isStarred,\"star--star\":!n.isStarred},attrs:{size:20,decorative:\"\"}})],1):n._e()]}))],2):n._e(),n._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__title-container\"},[e(\"div\",{staticClass:\"app-sidebar-header__maintitle-container\"},[e(\"h2\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.titleEditable,expression:\"!titleEditable\"},{name:\"linkify\",rawName:\"v-linkify\",value:{text:n.title,linkify:n.linkifyTitle},expression:\"{text: title, linkify: linkifyTitle}\"},{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.titleTooltip,expression:\"titleTooltip\",modifiers:{auto:!0}}],staticClass:\"app-sidebar-header__maintitle\",on:{click:function(t){return t.target!==t.currentTarget?null:n.editTitle.apply(null,arguments)}}},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),n._v(\" \"),n.titleEditable?[e(\"form\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:function(){return n.onSubmitTitle()},expression:\"() => onSubmitTitle()\"}],staticClass:\"app-sidebar-header__maintitle-form\",on:{submit:function(t){return t.preventDefault(),n.onSubmitTitle.apply(null,arguments)}}},[e(\"input\",{directives:[{name:\"focus\",rawName:\"v-focus\"}],ref:\"titleInput\",staticClass:\"app-sidebar-header__maintitle-input\",attrs:{type:\"text\",placeholder:n.titlePlaceholder},domProps:{value:n.title},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:n.onDismissEditing.apply(null,arguments)},input:n.onTitleInput}}),n._v(\" \"),e(\"button\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\"}})])]:n._e(),n._v(\" \"),n.$slots[\"secondary-actions\"]?e(\"Actions\",{staticClass:\"app-sidebar-header__menu\",attrs:{\"force-menu\":n.forceMenu}},[n._t(\"secondary-actions\")],2):n._e()],2),n._v(\" \"),\"\"!==n.subtitle.trim()?e(\"p\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.subtitleTooltip,expression:\"subtitleTooltip\",modifiers:{auto:!0}}],staticClass:\"app-sidebar-header__subtitle\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.subtitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]):n._e()])])]),n._v(\" \"),n.$slots.description&&!n.empty?e(\"div\",{staticClass:\"app-sidebar-header__description\"},[n._t(\"description\")],2):n._e()]),n._v(\" \"),e(\"AppSidebarTabs\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.loading,expression:\"!loading\"}],ref:\"tabs\",attrs:{active:n.active},on:{\"update:active\":n.onUpdateActive}},[n._t(\"default\")],2),n._v(\" \"),n.loading?e(\"EmptyContent\",{attrs:{icon:\"icon-loading\"}}):n._e()],1)])}),[],!1,null,\"68d5c99c\",null);\"function\"==typeof j()&&j()(P);var z=P.exports},1060:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={name:\"AppSidebarTab\",props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:\"\"},order:{type:Number,default:0}},computed:{isActive:function(){return this.$parent.activeTab===this.id}},methods:{onScroll:function(n){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit(\"bottomReached\",n),this.$emit(\"scroll\",n)}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(3126),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"section\",{staticClass:\"app-sidebar__tab\",class:{\"app-sidebar__tab--active\":n.isActive},attrs:{id:\"tab-\"+n.id,\"aria-hidden\":!n.isActive,\"aria-labelledby\":n.id,tabindex:\"0\",role:\"tabpanel\"},on:{scroll:n.onScroll}},[n._t(\"default\")],2)}),[],!1,null,\"28609fd2\",null).exports},167:function(n,t,e){\"use strict\";e.d(t,{default:function(){return j}});var i=e(3251),a=e.n(i),r=e(453),o=e(4262),s=e(7672),l=e(3607),c=e(542),d=e(768),A=e.n(d),u=e(6996),p=e(9040),m=e(7993),T=e(3351),h=e(932),g=e(7020);function C(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}function b(n){return function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){C(r,i,a,o,s,\"next\",n)}function s(n){C(r,i,a,o,s,\"throw\",n)}o(void 0)}))}}var f=(0,s.getBuilder)(\"nextcloud\").persist().build();function v(n){var t=f.getItem(\"user-has-avatar.\"+n);return\"string\"==typeof t?Boolean(t):null}function B(n,t){n&&f.setItem(\"user-has-avatar.\"+n,t)}var E={name:\"Avatar\",directives:{tooltip:p.default,ClickOutside:r.directive},components:{DotsHorizontal:a(),Popover:g.Z,PopoverMenu:u.default},mixins:[T.iQ],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,h.t)(\"Avatar of {displayName}, {status}\",{displayName:this.displayName||this.userId,status:this.userStatus.status}):(0,h.t)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var n;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(n=(0,l.getCurrentUser)())||void 0===n?void 0:n.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var n={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var t=(0,m.default)(this.getUserIdentifier);n.backgroundColor=\"rgb(\"+t.r+\", \"+t.g+\", \"+t.b+\")\"}return n},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var n;if(this.shouldShowPlaceholder){var t=this.getUserIdentifier,e=t.indexOf(\" \");\"\"===t?n=\"?\":(n=String.fromCodePoint(t.codePointAt(0)),-1!==e&&(n=n.concat(String.fromCodePoint(t.codePointAt(e+1)))))}return n.toUpperCase()},menu:function(){var n,t,e,i=this.contactsMenuActions.map((function(n){return{href:n.hyperlink,icon:n.icon,longtext:n.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((n=this.userStatus.icon,t=document.createTextNode(n),e=document.createElement(\"p\"),e.appendChild(t),e.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&(0,c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var n=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");n.length&&n[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(n){this.user===n.userId&&(this.userStatus={status:n.status,icon:n.icon,message:n.message})},toggleMenu:function(){var n=this;return b(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.hasMenu){t.next=2;break}return t.abrupt(\"return\");case 2:if(n.contactsMenuOpenState){t.next=5;break}return t.next=5,n.fetchContactsMenu();case 5:n.contactsMenuOpenState=!n.contactsMenuOpenState;case 6:case\"end\":return t.stop()}}),t)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var n=this;return b(regeneratorRuntime.mark((function t(){var e,i,a;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.contactsMenuLoading=!0,t.prev=1,e=encodeURIComponent(n.user),t.next=5,A().post((0,o.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(e));case 5:i=t.sent,a=i.data,n.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,t.next=13;break;case 10:t.prev=10,t.t0=t.catch(1),n.contactsMenuOpenState=!1;case 13:n.contactsMenuLoading=!1,n.isMenuLoaded=!0;case 15:case\"end\":return t.stop()}}),t,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){var n=this.avatarUrlGenerator(this.user,64),t=[n+\" 1x\",this.avatarUrlGenerator(this.user,512)+\" 8x\"].join(\", \");this.updateImageIfValid(n,t)}else{var e=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(e)}},avatarUrlGenerator:function(n,t){var e,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=(0,o.generateUrl)(i,{user:n,size:t});return n===(null===(e=(0,l.getCurrentUser)())||void 0===e?void 0:e.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(n){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=v(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=n,e&&(this.avatarSrcSetLoaded=e),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){t.avatarUrlLoaded=n,e&&(t.avatarSrcSetLoaded=e),t.isAvatarLoaded=!0,B(t.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",n),t.avatarUrlLoaded=null,t.avatarSrcSetLoaded=null,t.userDoesNotExist=!0,t.isAvatarLoaded=!1,B(t.user,!1)},e&&(a.srcset=e),a.src=n}}},D=E,S=e(3379),y=e.n(S),x=e(7795),N=e.n(x),k=e(569),R=e.n(k),F=e(3565),w=e.n(F),O=e(9216),_=e.n(O),Z=e(4589),Y=e.n(Z),M=e(6016),I={};I.styleTagTransform=Y(),I.setAttributes=w(),I.insert=R().bind(null,\"head\"),I.domAPI=N(),I.insertStyleElement=_(),y()(M.Z,I),M.Z&&M.Z.locals&&M.Z.locals;var G=e(1900),L=e(995),$=e.n(L),U=(0,G.Z)(D,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",n._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:n.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:n.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":n.userDoesNotExist,\"avatardiv--with-menu\":n.hasMenu},style:n.avatarStyle,attrs:{tabindex:n.disableMenu?\"-1\":\"0\",\"aria-label\":n.avatarAriaLabel,role:n.disableMenu?\"\":\"button\"},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:n.toggleMenu.apply(null,arguments)}}},n.disableMenu?{}:{click:n.toggleMenu}),[n.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:n.iconClass}):n.isAvatarLoaded&&!n.userDoesNotExist?e(\"img\",{attrs:{src:n.avatarUrlLoaded,srcset:n.avatarSrcSetLoaded,alt:\"\"}}):n._e(),n._v(\" \"),n.hasMenu?e(\"Popover\",{attrs:{placement:\"auto\",container:n.menuContainer,open:n.contactsMenuOpenState},on:{\"after-show\":n.handlePopoverAfterShow,\"after-hide\":n.handlePopoverAfterHide},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[n.contactsMenuLoading?e(\"div\",{staticClass:\"icon-loading\"}):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:20,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,2015540072)},[e(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:n.menu}})],1):n._e(),n._v(\" \"),n.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[n._v(\"\\n\\t\\t\"+n._s(n.userStatus.icon)+\"\\n\\t\")]):n.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+n.userStatus.status}):n._e(),n._v(\" \"),n.userDoesNotExist&&!n.iconClass?e(\"div\",{staticClass:\"unknown\"},[n._v(\"\\n\\t\\t\"+n._s(n.initials)+\"\\n\\t\")]):n._e()],1)}),[],!1,null,\"41fc3610\",null);\"function\"==typeof $()&&$()(U);var j=U.exports},3792:function(n,t,e){\"use strict\";e.d(t,{default:function(){return y}});var i=e(5860),a=e(1205),r=e(9605),o=e.n(r),s={name:\"Breadcrumb\",components:{Actions:i.default,ChevronRight:o()},props:{title:{type:String,required:!0},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:\"\"},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},data:function(){return{hovering:!1,crumbId:\"crumb-id-\".concat((0,a.Z)())}},computed:{tag:function(){return this.to?\"router-link\":\"a\"}},methods:{onOpenChange:function(n){this.$emit(\"update:open\",n)},dropped:function(n){return this.disableDrop||(this.$emit(\"dropped\",n,this.to||this.href),this.$parent.$emit(\"dropped\",n,this.to||this.href),this.hovering=!1),!1},dragEnter:function(n){this.disableDrop||(this.hovering=!0)},dragLeave:function(n){this.disableDrop||n.target.contains(n.relatedTarget)||this.$refs.crumb.contains(n.relatedTarget)||(this.hovering=!1)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(430),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(1900),E=e(9352),D=e.n(E),S=(0,B.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",n._b({ref:\"crumb\",staticClass:\"vue-crumb\",class:{\"vue-crumb--hovered\":n.hovering},attrs:{draggable:\"false\"},on:{dragstart:function(n){return n.preventDefault(),function(){}.apply(null,arguments)},drop:function(t){return t.preventDefault(),n.dropped.apply(null,arguments)},dragover:function(n){return n.preventDefault(),function(){}.apply(null,arguments)},dragenter:n.dragEnter,dragleave:n.dragLeave}},\"div\",n._d({},[n.crumbId,\"\"])),[!n.title&&!n.icon||n.$slots.default?n._e():e(n.tag,{tag:\"element\",attrs:{to:n.to,href:n.href}},[n._t(\"icon\",(function(){return[n.icon?e(\"span\",{staticClass:\"icon\",class:n.icon}):e(\"span\",[n._v(n._s(n.title))])]}))],2),n._v(\" \"),n.$slots.default?e(\"Actions\",{ref:\"actions\",attrs:{\"force-menu\":n.forceMenu,open:n.open,\"menu-title\":n.title,\"force-title\":!0,container:\".vue-crumb[\"+n.crumbId+\"]\"},on:{\"update:open\":n.onOpenChange},scopedSlots:n._u([{key:\"icon\",fn:function(){return[n._t(\"menu-icon\")]},proxy:!0}],null,!0)},[n._v(\" \"),n._t(\"default\")],2):n._e(),n._v(\" \"),e(\"ChevronRight\",{staticClass:\"vue-crumb__separator\",attrs:{size:20}})],1)}),[],!1,null,\"771b8b5f\",null);\"function\"==typeof D()&&D()(S);var y=S.exports},6669:function(n,t,e){\"use strict\";e.d(t,{default:function(){return Y}});var i=e(2734),a=e.n(i),r=e(3465),o=e.n(r),s=e(5860),l=e(3434),c=e(1460),d=function(n,t,e){if(void 0!==n)for(var i=n.length-1;i>=0;i--){var r=n[i],o=!r.componentOptions&&r.tag&&-1===t.indexOf(r.tag),s=!!r.componentOptions&&\"string\"==typeof r.componentOptions.tag,l=s&&-1===t.indexOf(r.componentOptions.tag);(o||!s||l)&&((o||l)&&a().util.warn(\"\".concat(o?r.tag:r.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),n.splice(i,1))}},A=e(3792),u=e(542),p=require(\"vue-material-design-icons/Folder\"),m=e.n(p),T=\"vue-crumb\",h={name:\"Breadcrumbs\",components:{Actions:s.default,ActionRouter:l.default,ActionLink:c.default,Breadcrumb:A.default,IconFolder:m()},props:{rootIcon:{type:String,default:\"icon-home\"}},data:function(){return{hiddenCrumbs:[],hiddenIndices:[],menuBreadcrumbProps:{title:\"\",forceMenu:!0,disableDrop:!0,open:!1}}},beforeMount:function(){d(this.$slots.default,[\"Breadcrumb\"],this)},beforeUpdate:function(){d(this.$slots.default,[\"Breadcrumb\"],this)},created:function(){var n=this;window.addEventListener(\"resize\",o()((function(){n.handleWindowResize()}),100)),(0,u.subscribe)(\"navigation-toggled\",this.delayedResize)},mounted:function(){this.handleWindowResize()},updated:function(){this.delayedResize(),this.delayedHideCrumbs()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize),(0,u.unsubscribe)(\"navigation-toggled\",this.delayedResize)},methods:{delayedHideCrumbs:function(){var n=this;this.$nextTick((function(){var t=n.$slots.default||[];n.hideCrumbs(t)}))},closeActions:function(n){this.$refs.actionsBreadcrumb.$el.contains(n.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},delayedResize:function(){var n=this;this.$nextTick((function(){n.handleWindowResize()}))},handleWindowResize:function(){var n=this.$slots.default||[];if(this.$refs.container){var t=n.length,e=[],i=this.$refs.container.offsetWidth,a=this.getTotalWidth(n);this.$refs.breadcrumb__actions&&(a+=this.$refs.breadcrumb__actions.offsetWidth);var r=a-i;r+=r>0?64:0;for(var o=0,s=Math.floor(t/2);r>0&&o<t-2;){var l=s+(o%2?o+1:o)/2*Math.pow(-1,o+t%2);r-=this.getWidth(n[l].elm),e.push(l),o++}this.arraysEqual(this.hiddenIndices,e.sort((function(n,t){return n-t})))||(this.hiddenCrumbs=e.map((function(t){return n[t]})),this.hiddenIndices=e)}},arraysEqual:function(n,t){if(n.length!==t.length)return!1;if(n===t)return!0;if(null===n||null===t)return!1;for(var e=0;e<n.length;++e)if(n[e]!==t[e])return!1;return!0},getTotalWidth:function(n){var t=this;return n.reduce((function(n,e,i){return n+t.getWidth(e.elm)}),0)},getWidth:function(n){if(!n.classList)return 0;var t=n.classList.contains(\"\".concat(T,\"--hidden\"));n.style.minWidth=\"auto\",n.classList.remove(\"\".concat(T,\"--hidden\"));var e=n.offsetWidth;return t&&n.classList.add(\"\".concat(T,\"--hidden\")),n.style.minWidth=\"\",e},preventDefault:function(n){return n.preventDefault&&n.preventDefault(),!1},dragStart:function(n){return this.preventDefault(n)},dropped:function(n,t,e){return e||this.$emit(\"dropped\",n,t),this.menuBreadcrumbProps.open=!1,document.querySelectorAll(\".\".concat(T)).forEach((function(n){n.classList.remove(\"\".concat(T,\"--hovered\"))})),this.preventDefault(n)},dragOver:function(n){return this.preventDefault(n)},dragEnter:function(n,t){if(!t&&n.target.closest){var e=n.target.closest(\".\".concat(T));e.classList&&e.classList.contains(T)&&(document.querySelectorAll(\".\".concat(T)).forEach((function(n){n.classList.remove(\"\".concat(T,\"--hovered\"))})),e.classList.add(\"\".concat(T,\"--hovered\")))}},dragLeave:function(n,t){if(!t&&!n.target.contains(n.relatedTarget)&&n.target.closest){var e=n.target.closest(\".\".concat(T));if(e.contains(n.relatedTarget))return;e.classList&&e.classList.contains(T)&&e.classList.remove(\"\".concat(T,\"--hovered\"))}},hideCrumbs:function(n){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;n.forEach((function(n,i){var a;null!=n&&null!==(a=n.elm)&&void 0!==a&&a.classList&&(t.hiddenIndices.includes(i+e)?n.elm.classList.add(\"\".concat(T,\"--hidden\")):n.elm.classList.remove(\"\".concat(T,\"--hidden\")))}))}},render:function(n){var t=this,e=this.$slots.default||[];if(0!==e.length){a().set(e[0].componentOptions.propsData,\"icon\",this.rootIcon);var i=[],r=this.hiddenCrumbs.length?e.slice(0,Math.round(e.length/2)):e;i=i.concat(r),this.hideCrumbs(r),this.hiddenCrumbs.length&&i.push(n(\"Breadcrumb\",{class:\"dropdown\",props:this.menuBreadcrumbProps,ref:\"actionsBreadcrumb\",key:\"actions-breadcrumb-1\",nativeOn:{dragstart:this.dragStart,dragenter:function(){t.menuBreadcrumbProps.open=!0},dragleave:this.closeActions},on:{\"update:open\":function(n){t.menuBreadcrumbProps.open=n}}},this.hiddenCrumbs.map((function(e){var i=e.componentOptions.propsData.to,a=e.componentOptions.propsData.href,r=e.componentOptions.propsData.disableDrop,o=\"ActionLink\",s=a;i&&(o=\"ActionRouter\",s=i);var l=n(\"IconFolder\",{props:{size:20},slot:\"icon\"});return n(o,{class:T,props:{to:i,href:a},attrs:{draggable:!1},nativeOn:{dragstart:t.dragStart,drop:function(n){return t.dropped(n,s,r)},dragover:t.dragOver,dragenter:function(n){return t.dragEnter(n,r)},dragleave:function(n){return t.dragLeave(n,r)}}},[e.componentOptions.propsData.title,l])}))));var o=this.hiddenCrumbs.length?e.slice(Math.round(e.length/2)):[];i=i.concat(o),this.hideCrumbs(o,r.length);var s=[];return s.push(n(\"div\",{class:\"breadcrumb__crumbs\"},i)),this.$slots.actions&&s.push(n(\"div\",{class:\"breadcrumb__actions\",ref:\"breadcrumb__actions\"},this.$slots.actions)),n(\"div\",{class:[\"breadcrumb\",{\"breadcrumb--collapsed\":this.hiddenCrumbs.length===e.length-2}],ref:\"container\"},s)}}},g=h,C=e(3379),b=e.n(C),f=e(7795),v=e.n(f),B=e(569),E=e.n(B),D=e(3565),S=e.n(D),y=e(9216),x=e.n(y),N=e(4589),k=e.n(N),R=e(9474),F={};F.styleTagTransform=k(),F.setAttributes=S(),F.insert=E().bind(null,\"head\"),F.domAPI=v(),F.insertStyleElement=x(),b()(R.Z,F),R.Z&&R.Z.locals&&R.Z.locals;var w=e(1900),O=e(2418),_=e.n(O),Z=(0,w.Z)(g,void 0,void 0,!1,null,\"2d7b61fe\",null);\"function\"==typeof _()&&_()(Z);var Y=Z.exports},519:function(n,t,e){\"use strict\";function i(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}e.d(t,{default:function(){return E}});var a={name:\"Button\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(n){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"error\",\"warning\",\"success\"].indexOf(n)},default:\"secondary\"},nativeType:{type:String,validator:function(n){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(n)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},data:function(){return{tabbed:!1,slots:this.$slots}},computed:{hasText:function(){var n,t,e;return void 0!==(null===(n=this.slots)||void 0===n?void 0:n.default)&&(null===(t=this.slots)||void 0===t||null===(e=t.default[0])||void 0===e?void 0:e.text)},hasIcon:function(){return void 0!==this.slots.icon},iconOnly:function(){return this.hasIcon&&!this.hasText},textOnly:function(){return!this.hasIcon&&this.hasText},iconAndText:function(){return this.hasIcon&&this.hasText},text:function(){return this.hasText?this.slots.default[0].text.trim():null},buttonClassObject:function(){var n;return i(n={\"button-vue--icon-only\":this.iconOnly,\"button-vue--text-only\":this.textOnly,\"button-vue--icon-and-text\":this.iconAndText},\"button-vue--vue-\".concat(this.type),this.type),i(n,\"button-vue--wide\",this.wide),i(n,\"button-vue--tabbed\",this.tabbed),n}},beforeUpdate:function(){this.slots=this.$slots},mounted:function(){this.text||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:this.text,ariaLabel:this.ariaLabel},this)},methods:{handleClick:function(){this.tabbed=!1},handleTabUp:function(){this.tabbed=!0},handleBlur:function(){this.tabbed=!1},makeActive:function(){this.tabbed=!1},makeInactive:function(){this.tabbed=!0}}},r=e(3379),o=e.n(r),s=e(7795),l=e.n(s),c=e(569),d=e.n(c),A=e(3565),u=e.n(A),p=e(9216),m=e.n(p),T=e(4589),h=e.n(T),g=e(3352),C={};C.styleTagTransform=h(),C.setAttributes=u(),C.insert=d().bind(null,\"head\"),C.domAPI=l(),C.insertStyleElement=m(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var b=e(1900),f=e(9182),v=e.n(f),B=(0,b.Z)(a,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"button\",n._g(n._b({staticClass:\"button-vue\",class:n.buttonClassObject,attrs:{\"aria-label\":n.ariaLabel,type:n.nativeType,disabled:n.disabled},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:n.makeActive.apply(null,arguments)},keyup:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:n.makeInactive.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.handleTabUp.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?n.handleTabUp.apply(null,arguments):null}],click:n.handleClick,blur:n.handleBlur}},\"button\",n.$attrs,!1),n.$listeners),[e(\"span\",{staticClass:\"button-vue__wrapper\"},[n.hasIcon?e(\"span\",{staticClass:\"button-vue__icon\"},[n._t(\"icon\")],2):n._e(),n._v(\" \"),n.hasText?e(\"span\",{staticClass:\"button-vue__text\"},[n._t(\"default\")],2):n._e()])])}),[],!1,null,\"27e36536\",null);\"function\"==typeof v()&&v()(B);var E=B.exports},2528:function(n,t,e){\"use strict\";e.d(t,{default:function(){return j}});var i=require(\"vue-material-design-icons/CheckboxBlankOutline\"),a=e.n(i),r=require(\"vue-material-design-icons/MinusBox\"),o=e.n(r),s=require(\"vue-material-design-icons/CheckboxMarked\"),l=e.n(s),c=require(\"vue-material-design-icons/RadioboxMarked\"),d=e.n(c),A=require(\"vue-material-design-icons/RadioboxBlank\"),u=e.n(A),p=require(\"vue-material-design-icons/ToggleSwitchOff\"),m=e.n(p),T=require(\"vue-material-design-icons/ToggleSwitch\"),h=e.n(T),g=e(1205),C=e(3648);function b(n){return function(n){if(Array.isArray(n))return f(n)}(n)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(n)||function(n,t){if(n){if(\"string\"==typeof n)return f(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?f(n,t):void 0}}(n)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}var v=\"checkbox\",B=\"radio\",E=\"switch\",D={name:\"CheckboxRadioSwitch\",mixins:[C.Z],props:{id:{type:String,default:function(){return\"checkbox-radio-switch-\"+(0,g.Z)()},validator:function(n){return\"\"!==n.trim()}},name:{type:String,default:null},type:{type:String,default:\"checkbox\",validator:function(n){return n===v||n===B||n===E}},checked:{type:[Boolean,Array,String],default:!1},value:{type:String,default:null},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},wrapperElement:{type:String,default:\"span\"}},computed:{size:function(){return this.type===E?36:24},cssVars:function(){return{\"--icon-size\":this.size+\"px\"}},inputType:function(){return this.type===B?B:v},isChecked:function(){return null!==this.value?Array.isArray(this.checked)?b(this.checked).indexOf(this.value)>-1:this.checked===this.value:!0===this.checked},checkboxRadioIconElement:function(){return this.type===B?this.isChecked?d():u():this.type===E?this.isChecked?h():m():this.indeterminate?o():this.isChecked?l():a()}},mounted:function(){if(this.name&&this.type===v&&!Array.isArray(this.checked))throw new Error(\"When using groups of checkboxes, the updated value will be an array.\");if(this.name&&this.type===E)throw new Error(\"Switches are not made to be used for data sets. Please use checkboxes instead.\");if(\"boolean\"!=typeof this.checked&&this.type===E)throw new Error(\"Switches can only be used with boolean as checked prop.\")},methods:{onToggle:function(){if(!this.disabled)if(this.type!==B)if(this.type!==E)if(\"boolean\"!=typeof this.checked){var n=this.getInputsSet().filter((function(n){return n.checked})).map((function(n){return n.value}));this.$emit(\"update:checked\",n)}else this.$emit(\"update:checked\",!this.isChecked);else this.$emit(\"update:checked\",!this.isChecked);else this.$emit(\"update:checked\",this.value)},getInputsSet:function(){return b(document.getElementsByName(this.name))}}},S=e(3379),y=e.n(S),x=e(7795),N=e.n(x),k=e(569),R=e.n(k),F=e(3565),w=e.n(F),O=e(9216),_=e.n(O),Z=e(4589),Y=e.n(Z),M=e(2778),I={};I.styleTagTransform=Y(),I.setAttributes=w(),I.insert=R().bind(null,\"head\"),I.domAPI=N(),I.insertStyleElement=_(),y()(M.Z,I),M.Z&&M.Z.locals&&M.Z.locals;var G=e(1900),L=e(7160),$=e.n(L),U=(0,G.Z)(D,(function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return i(t.wrapperElement,{tag:\"element\",staticClass:\"checkbox-radio-switch\",class:(n={},n[\"checkbox-radio-switch-\"+t.type]=t.type,n[\"checkbox-radio-switch--checked\"]=t.isChecked,n[\"checkbox-radio-switch--disabled\"]=t.disabled,n[\"checkbox-radio-switch--indeterminate\"]=t.indeterminate,n),style:t.cssVars},[i(\"input\",{staticClass:\"checkbox-radio-switch__input\",attrs:{id:t.id,disabled:t.disabled,indeterminate:t.indeterminate,name:t.name,type:t.inputType},domProps:{checked:t.isChecked,value:t.value},on:{change:t.onToggle}}),t._v(\" \"),i(\"label\",{staticClass:\"checkbox-radio-switch__label\",attrs:{for:t.id}},[t.loading?i(\"div\",{staticClass:\"icon-loading-small checkbox-radio-switch__icon\"}):i(t.checkboxRadioIconElement,{tag:\"icon\",staticClass:\"checkbox-radio-switch__icon\",attrs:{size:t.size,title:\"\",decorative:\"\"}}),t._v(\" \"),t._t(\"default\")],2)])}),[],!1,null,\"036397c2\",null);\"function\"==typeof $()&&$()(U);var j=U.exports},9793:function(n,t,e){\"use strict\";e.d(t,{default:function(){return w}});var i=require(\"vue-material-design-icons/ArrowLeft\"),a=e.n(i),r=require(\"vue-material-design-icons/Check\"),o=e.n(r),s=e(3251),l=e.n(s),c=require(\"vue-color\"),d=e(6609),A=e(3648),u=e(8099),p={name:\"ColorPicker\",components:{ArrowLeft:a(),Check:o(),Chrome:c.Chrome,DotsHorizontal:l(),Popover:u.default},mixins:[A.Z],props:{value:{type:String,required:!0}},data:function(){var n=this;return{currentColor:this.value,advanced:!1,palette:(0,d.Z)(4).map((function(t){return\"#\"+n.rgbToHex(t.r)+n.rgbToHex(t.g)+n.rgbToHex(t.b)}))}},watch:{value:function(n){this.currentColor=n}},methods:{handleConfirm:function(){this.$emit(\"submit\",this.currentColor),this.handleClose(),this.advanced=!1},handleClose:function(){this.$emit(\"close\"),this.$emit(\"update:open\",!1)},handleBack:function(){this.advanced=!1},handleMoreSettings:function(){this.advanced=!0},pickColor:function(n){\"string\"!=typeof n&&(n=this.currentColor.hex),this.currentColor=n,this.$emit(\"update:value\",n),this.$emit(\"input\",n)},rgbToHex:function(n){var t=n.toString(16);return 1===t.length?\"0\"+t:t}}},m=e(3379),T=e.n(m),h=e(7795),g=e.n(h),C=e(569),b=e.n(C),f=e(3565),v=e.n(f),B=e(9216),E=e.n(B),D=e(4589),S=e.n(D),y=e(5682),x={};x.styleTagTransform=S(),x.setAttributes=v(),x.insert=b().bind(null,\"head\"),x.domAPI=g(),x.insertStyleElement=E(),T()(y.Z,x),y.Z&&y.Z.locals&&y.Z.locals;var N=e(1900),k=e(3095),R=e.n(k),F=(0,N.Z)(p,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"Popover\",n._g(n._b({on:{\"apply-hide\":n.handleClose},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[n._t(\"default\")]},proxy:!0}],null,!0)},\"Popover\",n.$attrs,!1),n.$listeners),[n._v(\" \"),e(\"div\",{staticClass:\"color-picker\"},[e(\"transition\",{attrs:{name:\"slide\",mode:\"out-in\"}},[n.advanced?n._e():e(\"div\",{staticClass:\"color-picker__simple\"},n._l(n.palette,(function(t,i){return e(\"button\",{key:i,staticClass:\"color-picker__simple-color-circle\",class:{\"color-picker__simple-color-circle--active\":t===n.currentColor},style:{\"background-color\":t},attrs:{type:\"button\"},on:{click:function(e){return n.pickColor(t)}}},[t===n.currentColor?e(\"Check\",{attrs:{size:20,title:\"\",decorative:\"\"}}):n._e()],1)})),0),n._v(\" \"),n.advanced?e(\"Chrome\",{staticClass:\"color-picker__advanced\",attrs:{\"disable-alpha\":!0,\"disable-fields\":!0},on:{input:n.pickColor},model:{value:n.currentColor,callback:function(t){n.currentColor=t},expression:\"currentColor\"}}):n._e()],1),n._v(\" \"),e(\"div\",{staticClass:\"color-picker__navigation\"},[n.advanced?e(\"button\",{staticClass:\"color-picker__navigation-button back\",attrs:{type:\"button\"},on:{click:n.handleBack}},[e(\"ArrowLeft\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1):n._e(),n._v(\" \"),n.advanced?n._e():e(\"button\",{staticClass:\"color-picker__navigation-button more-settings\",attrs:{type:\"button\"},on:{click:n.handleMoreSettings}},[e(\"DotsHorizontal\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1),n._v(\" \"),n.advanced?e(\"button\",{staticClass:\"color-picker__navigation-button confirm\",attrs:{type:\"button\"},on:{click:n.handleConfirm}},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.t(\"Choose\"))+\"\\n\\t\\t\\t\")]):n._e()])],1)])}),[],!1,null,\"146dc9d9\",null);\"function\"==typeof R()&&R()(F);var w=F.exports},6198:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={props:{appName:{type:String,required:!0}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(6919),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(9908),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"content\",class:\"app-\"+n.appName.toLowerCase(),attrs:{id:\"content-vue\"}},[n._t(\"default\")],2)}),[],!1,null,\"4d37098a\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},1988:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"CounterBubble\",props:{type:{type:String,default:\"\",validator:function(n){return-1!==[\"highlighted\",\"outlined\",\"\"].indexOf(n)}}},computed:{counterClassObject:function(){return{\"counter-bubble__counter--highlighted\":\"highlighted\"===this.type,\"counter-bubble__counter--outlined\":\"outlined\"===this.type}}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(8560),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(5693),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"counter-bubble__counter\",class:n.counterClassObject},[n._t(\"default\")],2)}),[],!1,null,\"0f57a605\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},577:function(n,t,e){\"use strict\";e.d(t,{default:function(){return O}});var i=e(7645),a=require(\"@nextcloud/l10n\"),r=require(\"vue2-datepicker\"),o=e.n(r),s=e(8099),l=e(9460),c=e(3648),d={date:\"YYYY-MM-DD\",datetime:\"YYYY-MM-DD H:mm:ss\",year:\"YYYY\",month:\"YYYY-MM\",time:\"H:mm:ss\",week:\"w\"},A={name:\"DatetimePicker\",components:{DatePicker:o(),Popover:s.default,TimezonePicker:l.default},mixins:[c.Z],inheritAttrs:!1,props:{clearable:{type:Boolean,default:!1},minuteStep:{type:Number,default:10},type:{type:String,default:\"date\"},format:{type:String,default:null},formatter:{type:Object,default:null},value:{default:function(){return new Date}},timezoneId:{type:String,default:\"UTC\"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},computed:{lang:function(){return{formatLocale:{months:(0,a.getMonthNames)(),monthsShort:(0,a.getMonthNamesShort)(),weekdays:(0,a.getDayNames)(),weekdaysShort:(0,a.getDayNamesShort)(),weekdaysMin:(0,a.getDayNamesMin)(),firstDayOfWeek:(0,a.getFirstDay)()},monthFormat:\"MMM\"}},placeholder:function(){return\"time\"===this.type?this.t(\"Pick a time\"):\"month\"===this.type?this.t(\"Pick a month\"):\"year\"===this.type?this.t(\"Pick a year\"):\"week\"===this.type?this.t(\"Pick a week\"):\"date\"===this.type?this.t(\"Pick a date\"):this.t(\"Pick a date and a time\")},formatTypeMap:function(){var n;return null!==(n=d[this.type])&&void 0!==n?n:d.date}},methods:{handleSelectYear:function(n){var t=this.$refs.datepicker.currentValue;if(t)try{var e=new Date(new Date(t).setFullYear(n));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",t,n)}},handleSelectMonth:function(n){var t=this.$refs.datepicker.currentValue;if(t)try{var e=new Date(new Date(t).setMonth(n));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",t,n)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},u=e(3379),p=e.n(u),m=e(7795),T=e.n(m),h=e(569),g=e.n(h),C=e(3565),b=e.n(C),f=e(9216),v=e.n(f),B=e(4589),E=e.n(B),D=e(8004),S={};S.styleTagTransform=E(),S.setAttributes=b(),S.insert=g().bind(null,\"head\"),S.domAPI=T(),S.insertStyleElement=v(),p()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var y=e(1900),x=e(3489),N=e.n(x),k=(0,y.Z)(A,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"DatePicker\",n._g(n._b({ref:\"datepicker\",attrs:{\"append-to-body\":n.appendToBody,clearable:n.clearable,format:n.format?n.format:n.formatTypeMap,formatter:n.formatter,lang:n.lang,\"minute-step\":n.minuteStep,placeholder:n.placeholder,\"popup-class\":{\"show-week-number\":n.showWeekNumber},\"show-week-number\":n.showWeekNumber,type:n.type,value:n.value},on:{\"select-year\":n.handleSelectYear,\"select-month\":n.handleSelectMonth,\"update:value\":function(t){return n.$emit(\"update:value\",n.value)}},scopedSlots:n._u([n.showTimezoneSelect?{key:\"icon-calendar\",fn:function(){return[e(\"Popover\",{attrs:{open:n.showTimezonePopover,\"open-class\":\"timezone-popover-wrapper\"},on:{\"update:open\":function(t){n.showTimezonePopover=t}},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[e(\"button\",{staticClass:\"datetime-picker-inline-icon icon-timezone icon\",class:{\"datetime-picker-inline-icon--highlighted\":n.highlightTimezone},on:{mousedown:function(n){return n.stopPropagation(),n.preventDefault(),function(){}.apply(null,arguments)}}})]},proxy:!0}],null,!1,3706780037)},[n._v(\" \"),e(\"div\",{staticClass:\"timezone-popover-wrapper__title\"},[e(\"strong\",[n._v(\"\\n\\t\\t\\t\\t\\t\"+n._s(n.t(\"Please select a time zone:\"))+\"\\n\\t\\t\\t\\t\")])]),n._v(\" \"),e(\"TimezonePicker\",{staticClass:\"timezone-popover-wrapper__timezone-select\",on:{input:function(t){return n.$emit(\"update:timezone-id\",arguments[0])}},model:{value:n.tzVal,callback:function(t){n.tzVal=t},expression:\"tzVal\"}})],1)]},proxy:!0}:null,n._l(n.$scopedSlots,(function(t,e){return{key:e,fn:function(t){return[n._t(e,null,null,t)]}}}))],null,!0)},\"DatePicker\",n.$attrs,!1),n.$listeners))}),[],!1,null,\"6e184da2\",null);\"function\"==typeof N()&&N()(k);var R=k.exports,F=e(7695),w={};w.styleTagTransform=E(),w.setAttributes=b(),w.insert=g().bind(null,\"head\"),w.domAPI=T(),w.insertStyleElement=v(),p()(F.Z,w),F.Z&&F.Z.locals&&F.Z.locals,(0,i.Z)(R);var O=R},8263:function(n,t,e){\"use strict\";var i=e(5576);t.default=i.Z},7185:function(n,t,e){\"use strict\";e.d(t,{default:function(){return u}});var i=e(1336);function a(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,i)}return e}function r(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?a(Object(e),!0).forEach((function(t){o(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}function o(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var s={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var n=this,t=[];return this.search||0!==this.highlight.length?((t=this.highlight.length>0?this.highlight:(0,i.Z)(this.text,this.search)).forEach((function(n,e){n.end<n.start&&(t[e]={start:n.end,end:n.start})})),(t=t.reduce((function(t,e){return e.start<n.text.length&&e.end>0&&t.push({start:e.start<0?0:e.start,end:e.end>n.text.length?n.text.length:e.end}),t}),[])).sort((function(n,t){return n.start-t.start})),t=t.reduce((function(n,t){if(n.length){var e=n.length-1;n[e].end>=t.start?n[e]={start:n[e].start,end:Math.max(n[e].end,t.end)}:n.push(t)}else n.push(t);return n}),[])):t},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var n=[],t=0,e=0;t<this.text.length;){var i=this.ranges[e];i.start!==t?(n.push({start:t,end:i.start,highlight:!1,text:this.text.slice(t,i.start)}),t=i.start):(n.push(r(r({},i),{},{highlight:!0,text:this.text.slice(i.start,i.end)})),e++,t=i.end,e>=this.ranges.length&&t<this.text.length&&(n.push({start:t,end:this.text.length,highlight:!1,text:this.text.slice(t)}),t=this.text.length))}return n}},render:function(n){return this.ranges.length?n(\"span\",{},this.chunks.map((function(t){return t.highlight?n(\"strong\",{},t.text):t.text}))):n(\"span\",{},this.text)}},l=e(1900),c=e(6200),d=e.n(c),A=(0,l.Z)(s,void 0,void 0,!1,null,null,null);\"function\"==typeof d()&&d()(A);var u=A.exports},8149:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(5860),a=e(1988),r={name:\"ListItem\",components:{Actions:i.default,CounterBubble:a.default},props:{details:{type:String,default:\"\"},title:{type:String,required:!0},exact:{type:Boolean,default:!1},to:{type:[String,Object],default:\"\"},anchorId:{type:String,default:\"\"},bold:{type:Boolean,default:!1},active:{type:Boolean,default:!1},linkAriaLabel:{type:String,default:\"\"},actionsAriaLabel:{type:String,default:\"\"},counterNumber:{type:[Number,String],default:0},counterType:{type:String,default:\"\",validator:function(n){return-1!==[\"highlighted\",\"outlined\",\"\"].indexOf(n)}},forceDisplayActions:{type:Boolean,default:!1}},data:function(){return{hovered:!1,focused:!1,hasActions:!1,hasSubtitle:!1,displayActionsOnHoverFocus:!1,menuOpen:!1}},computed:{hasDetails:function(){return\"\"!==this.details},navElement:function(){return\"\"!==this.to?{is:\"router-link\",tag:\"li\",to:this.to,exact:this.exact}:{is:\"li\"}},showCounter:function(){return!this.displayActionsOnHoverFocus||this.forceDisplayActions},showDetails:function(){return this.hasDetails&&(!this.displayActionsOnHoverFocus||this.forceDisplayActions)}},watch:{menuOpen:function(n){n||this.hovered||(this.displayActionsOnHoverFocus=!1)}},mounted:function(){this.checkSlots()},updated:function(){this.checkSlots()},methods:{onClick:function(n){this.$emit(\"click\",n)},handleMouseover:function(){this.showActions(),this.hovered=!0},showActions:function(){this.hasActions&&(this.displayActionsOnHoverFocus=!0),this.hovered=!1},hideActions:function(){this.displayActionsOnHoverFocus=!1},handleFocus:function(){this.focused=!0,this.showActions()},handleBlur:function(){this.focused=!1},handleMouseleave:function(){this.menuOpen||(this.displayActionsOnHoverFocus=!1),this.hovered=!1},handleTab:function(n){this.focused&&this.hasActions?(n.preventDefault(),this.$refs.actions.$refs.menuButton.focus(),this.focused=!1):(this.displayActionsOnHoverFocus=!1,this.$refs.actions.$refs.menuButton.blur())},handleActionsUpdateOpen:function(n){this.menuOpen=n},checkSlots:function(){this.hasActions!==!!this.$slots.actions&&(this.hasActions=!!this.$slots.actions),this.hasSubtitle!==!!this.$slots.subtitle&&(this.hasSubtitle=!!this.$slots.subtitle)}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(1087),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(2895),B=e.n(v),E=(0,f.Z)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"nav-element\",n._b({staticClass:\"list-item__wrapper\"},\"nav-element\",n.navElement,!1),[e(\"a\",{ref:\"list-item\",staticClass:\"list-item\",class:{\"list-item--active\":n.active},attrs:{id:n.anchorId,href:\"#\",\"aria-label\":n.linkAriaLabel},on:{mouseover:n.handleMouseover,mouseleave:n.handleMouseleave,focus:n.handleFocus,blur:n.handleBlur,keydown:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.handleTab.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:n.hideActions.apply(null,arguments)}],click:n.onClick}},[e(\"div\",{staticClass:\"list-item-content__wrapper\"},[n._t(\"icon\"),n._v(\" \"),e(\"div\",{staticClass:\"list-item-content\"},[e(\"div\",{staticClass:\"list-item-content__main\"},[e(\"div\",{staticClass:\"line-one\",class:{\"line-one--bold\":n.bold}},[e(\"span\",{staticClass:\"line-one__title\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\\t\\t\\t\")]),n._v(\" \"),n.showDetails?e(\"span\",{staticClass:\"line-one__details\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.details)+\"\\n\\t\\t\\t\\t\\t\\t\")]):n._e()]),n._v(\" \"),e(\"div\",{staticClass:\"line-two\",class:{\"line-one--bold\":n.bold}},[n.hasSubtitle?e(\"span\",{staticClass:\"line-two__subtitle\"},[n._t(\"subtitle\")],2):n._e(),n._v(\" \"),n.showCounter?e(\"span\",{staticClass:\"line-two__counter\"},[0!=n.counterNumber?e(\"CounterBubble\",{attrs:{type:n.counterType}},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.counterNumber)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]):n._e()],1):n._e()])]),n._v(\" \"),e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.displayActionsOnHoverFocus&&!n.forceDisplayActions,expression:\"displayActionsOnHoverFocus && !forceDisplayActions\"}],staticClass:\"list-item-content__actions\",on:{click:function(n){n.preventDefault(),n.stopPropagation()}}},[e(\"Actions\",{ref:\"actions\",attrs:{\"menu-align\":\"right\",\"aria-label\":n.actionsAriaLabel},on:{\"update:open\":n.handleActionsUpdateOpen}},[n._t(\"actions\")],2)],1)]),n._v(\" \"),e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.forceDisplayActions,expression:\"forceDisplayActions\"}],staticClass:\"list-item-content__actions\",on:{click:function(n){n.preventDefault(),n.stopPropagation()}}},[e(\"Actions\",{ref:\"actions\",attrs:{\"menu-align\":\"right\",\"aria-label\":n.actionsAriaLabel},on:{\"update:open\":n.handleActionsUpdateOpen}},[n._t(\"actions\")],2)],1)],2),n._v(\" \"),n.$slots.extra?e(\"div\",{staticClass:\"list-item__extra\"},[n._t(\"extra\")],2):n._e()])])}),[],!1,null,\"609d49c7\",null);\"function\"==typeof B()&&B()(E);var D=E.exports},6982:function(n,t,e){\"use strict\";e.d(t,{default:function(){return S}});var i=e(167),a=e(7185),r=e(3351),o={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[r.iQ],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var n,t;return\"\"!==(null===(n=this.subtitle)||void 0===n||null===(t=n.trim)||void 0===t?void 0:t.call(n))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var n=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*n+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},s=e(3379),l=e.n(s),c=e(7795),d=e.n(c),A=e(569),u=e.n(A),p=e(3565),m=e.n(p),T=e(9216),h=e.n(T),g=e(4589),C=e.n(g),b=e(9863),f={};f.styleTagTransform=C(),f.setAttributes=m(),f.insert=u().bind(null,\"head\"),f.domAPI=d(),f.insertStyleElement=h(),l()(b.Z,f),b.Z&&b.Z.locals&&b.Z.locals;var v=e(1900),B=e(7772),E=e.n(B),D=(0,v.Z)(o,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"span\",n._g({staticClass:\"option\",style:n.cssVars,attrs:{id:n.id}},n.$listeners),[e(\"Avatar\",n._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":n.displayName||n.title,\"is-no-user\":n.isNoUser,size:n.avatarSize}},\"Avatar\",n.$attrs,!1)),n._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:n.title,search:n.search}}),n._v(\" \"),n.isValidSubtitle&&n.isSizeBigEnough?e(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:n.subtitle,search:n.search}}):n.hasStatus?e(\"span\",[e(\"span\",[n._v(n._s(n.userStatus.icon))]),n._v(\" \"),e(\"span\",[n._v(n._s(n.userStatus.message))])]):n._e()],1),n._v(\" \"),n._t(\"default\"),n._v(\" \"),n.hasIcon&&!n.hasSlot?e(\"span\",{staticClass:\"icon option__icon\",class:n.icon}):n._e()],2)}),[],!1,null,\"1e7d5981\",null);\"function\"==typeof E()&&E()(D);var S=D.exports},4113:function(n,t,e){\"use strict\";e.d(t,{default:function(){return U}});var i=e(7645),a=e(2640),r=e.n(a),o=require(\"vue-material-design-icons/ChevronLeft\"),s=e.n(o),l=e(9605),c=e.n(l),d=e(5978),A=e.n(d),u=require(\"vue-material-design-icons/Pause\"),p=e.n(u),m=require(\"vue-material-design-icons/Play\"),T=e.n(m),h=e(5860),g=e(4828),C=e(3648),b=e(932),f=e(9040);function v(n,t){var e,i,a,r=t;this.start=function(){a=!0,i=new Date,e=setTimeout(n,r)},this.pause=function(){a=!1,clearTimeout(e),r-=new Date-i},this.clear=function(){a=!1,clearTimeout(e),r=0},this.getTimeLeft=function(){return a&&(this.pause(),this.start()),r},this.getStateRunning=function(){return a},this.start()}var B={name:\"Modal\",components:{ActionButton:g.default,Actions:h.default,ChevronLeft:s(),ChevronRight:c(),Close:A(),Pause:p(),Play:T()},directives:{tooltip:f.default},mixins:[C.Z],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(n){return[\"small\",\"normal\",\"large\",\"full\"].includes(n)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:\"body\"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?(0,b.t)(\"Pause slideshow\"):(0,b.t)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}}},watch:{slideshowPaused:function(n){this.slideshowTimeout&&(n?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var n=this;this.showModal=!0,this.handleMouseMove(),this.mc=new(r())(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(t){n.handleSwipe(t)})),\"body\"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(n){this.hasPrevious&&(n&&this.resetSlideshow(),this.$emit(\"previous\",n))},next:function(n){this.hasNext&&(n&&this.resetSlideshow(),this.$emit(\"next\",n))},close:function(n){var t=this;this.canClose&&(this.showModal=!1,setTimeout((function(){t.$emit(\"close\",n)}),300))},handleKeydown:function(n){switch(n.keyCode){case 37:this.previous(n);break;case 13:case 39:this.next(n);break;case 27:this.close(n)}},handleSwipe:function(n){this.enableSwipe&&(\"swipeleft\"===n.type?this.next(n):\"swiperight\"===n.type&&this.previous(n))},handleMouseMove:function(){var n=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){n.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var n=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new v((function(){n.next(),n.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},E=e(3379),D=e.n(E),S=e(7795),y=e.n(S),x=e(569),N=e.n(x),k=e(3565),R=e.n(k),F=e(9216),w=e.n(F),O=e(4589),_=e.n(O),Z=e(1309),Y={};Y.styleTagTransform=_(),Y.setAttributes=R(),Y.insert=N().bind(null,\"head\"),Y.domAPI=y(),Y.insertStyleElement=w(),D()(Z.Z,Y),Z.Z&&Z.Z.locals&&Z.Z.locals;var M=e(1900),I=e(8575),G=e.n(I),L=(0,M.Z)(B,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"transition\",{attrs:{name:\"fade\"}},[e(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":n.dark},style:n.cssVariables,on:{click:n.handleMouseMove,mousemove:n.handleMouseMove,touchmove:n.handleMouseMove}},[e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:n.clearView}},[\"\"!==n.title.trim()?e(\"div\",{staticClass:\"modal-title\"},[n._v(\"\\n\\t\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\\t\")]):n._e(),n._v(\" \"),e(\"div\",{staticClass:\"icons-menu\"},[n.hasNext&&n.enableSlideshow?e(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":n.slideshowPaused},attrs:{type:\"button\"},on:{click:n.togglePlayPause}},[n.playing?e(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:n.iconSize,title:\"\",decorative:\"\"}}):e(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:n.iconSize,title:\"\",decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),n._v(\" \"),n.playing?e(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[e(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):n._e()],1):n._e(),n._v(\" \"),e(\"Actions\",{staticClass:\"header-actions\"},[n._t(\"actions\")],2),n._v(\" \"),n.canClose?e(\"Actions\",{staticClass:\"header-close\"},[e(\"ActionButton\",{on:{click:n.close},scopedSlots:n._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:n.iconSize,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,1372351874)},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.t(\"Close\"))+\"\\n\\t\\t\\t\\t\\t\\t\")])],1):n._e()],1)])]),n._v(\" \"),e(\"transition\",{attrs:{name:n.modalTransitionName}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\"+n.size,n.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(t){return t.target!==t.currentTarget?null:n.close.apply(null,arguments)}}},[e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.hasPrevious&&!n.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:n.clearView||!n.hasPrevious},attrs:{href:\"#\"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),n.previous.apply(null,arguments)}}},[e(\"span\",{staticClass:\"icon-previous\"},[e(\"ChevronLeft\",{attrs:{size:40,title:\"\",decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.t(\"Previous\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),n._v(\" \"),e(\"div\",{staticClass:\"modal-container\"},[n._t(\"default\")],2),n._v(\" \"),e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.hasNext&&!n.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:n.clearView||!n.hasNext},attrs:{href:\"#\"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),n.next.apply(null,arguments)}}},[e(\"span\",{staticClass:\"icon-next\"},[e(\"ChevronRight\",{attrs:{size:40,title:\"\",decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.t(\"Next\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])])],1)])],1)])}),[],!1,null,\"2da14a6a\",null);\"function\"==typeof G()&&G()(L);var $=L.exports;(0,i.Z)($);var U=$},7316:function(n,t,e){\"use strict\";e.d(t,{default:function(){return M}});var i=e(7645),a=require(\"vue-multiselect\"),r=e.n(a),o=e(7185),s=e(1336),l={name:\"EllipsisedOption\",components:{Highlight:o.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.slice(this.split):\"\"},highlight1:function(){return this.search?(0,s.Z)(this.name,this.search):[]},highlight2:function(){var n=this;return this.highlight1.map((function(t){return{start:t.start-n.split,end:t.end-n.split}}))}}},c=e(3379),d=e.n(c),A=e(7795),u=e.n(A),p=e(569),m=e.n(p),T=e(3565),h=e.n(T),g=e(9216),C=e.n(g),b=e(4589),f=e.n(b),v=e(9814),B={};B.styleTagTransform=f(),B.setAttributes=h(),B.insert=m().bind(null,\"head\"),B.domAPI=u(),B.insertStyleElement=C(),d()(v.Z,B),v.Z&&v.Z.locals&&v.Z.locals;var E=e(1900),D=(0,E.Z)(l,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"name-parts\",attrs:{title:n.name}},[e(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:n.part1,search:n.search,highlight:n.highlight1}}),n._v(\" \"),n.part2?e(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:n.part2,search:n.search,highlight:n.highlight2}}):n._e()],1)}),[],!1,null,\"0f132242\",null).exports,S=e(3648),y=e(6982),x=e(9040);function N(n){return N=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&\"function\"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?\"symbol\":typeof n},N(n)}var k={name:\"Multiselect\",components:{EllipsisedOption:D,ListItemIcon:y.default,VueMultiselect:r()},directives:{tooltip:x.default},mixins:[S.Z],inheritAttrs:!1,props:{value:{default:function(){return[]}},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(n){return n>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var n=Math.floor(this.elWidth/this.tagWidth);return n>0?n:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==N(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(n){this.$emit(\"update:value\",n),this.$emit(\"change\",n)}},willCloseOnSelect:function(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(n){var t;return String(null===(t=this.$refs.VueMultiselect)||void 0===t?void 0:t.getOptionLabel(n))},formatLimitTitle:function(n){var t=this;if(Array.isArray(n)&&n.length>0){var e=n;return\"object\"===N(n[0])&&(e=n.map((function(n){return n[t.label]}))),e.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},R=k,F=e(7827),w=e.n(F),O=(0,E.Z)(R,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"VueMultiselect\",n._g(n._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":n.loading},n.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:n.options,limit:n.maxOptions,\"close-on-select\":n.willCloseOnSelect,multiple:n.multiple,label:n.label,\"track-by\":n.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:n._u([{key:\"option\",fn:function(t){return[n.userSelect&&!n.$scopedSlots.option?e(\"ListItemIcon\",n._b({attrs:{title:t.option[n.label],search:t.search}},\"ListItemIcon\",t.option,!1)):n.$scopedSlots.option?n._t(\"option\",null,null,t):e(\"EllipsisedOption\",{attrs:{name:n.getOptionLabel(t.option),option:t.option,search:t.search,label:n.label}})]}},n.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.formatLimitTitle(n.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[n._v(\"\\n\\t\\t\\t\"+n._s(n.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,n._l(n.$scopedSlots,(function(t,e){return{key:e,fn:function(t){return[n._t(e,null,null,t)]}}})),{key:\"noResult\",fn:function(){return[e(\"span\",[n._v(n._s(n.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:n.localValue,callback:function(t){n.localValue=t},expression:\"localValue\"}},\"VueMultiselect\",n.$attrs,!1),n.$listeners))}),[],!1,null,null,null);\"function\"==typeof w()&&w()(O);var _=O.exports,Z=e(5850),Y={};Y.styleTagTransform=f(),Y.setAttributes=h(),Y.insert=m().bind(null,\"head\"),Y.domAPI=u(),Y.insertStyleElement=C(),d()(Z.Z,Y),Z.Z&&Z.Z.locals&&Z.Z.locals,(0,i.Z)(_);var M=_},7838:function(n,t,e){\"use strict\";e.d(t,{default:function(){return f}});var i=e(3648),a=e(7316),r=e(768),o=e.n(r),s=e(4262);function l(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var c=function n(t){var e={};if(1===t.nodeType){if(t.attributes.length>0){e[\"@attributes\"]={};for(var i=0;i<t.attributes.length;i++){var a=t.attributes.item(i);e[\"@attributes\"][a.nodeName]=a.nodeValue}}}else 3===t.nodeType&&(e=t.nodeValue);if(t.hasChildNodes())for(var r=0;r<t.childNodes.length;r++){var o=t.childNodes.item(r),s=o.nodeName;if(void 0===e[s])e[s]=n(o);else{if(void 0===e[s].push){var l=e[s];e[s]=[],e[s].push(l)}e[s].push(n(o))}}return e},d=function(n){var t=c(function(n){var t=null;try{t=(new DOMParser).parseFromString(n,\"text/xml\")}catch(n){console.error(\"Failed to parse xml document\",n)}return t}(n)),e=t[\"d:multistatus\"][\"d:response\"],i=[];for(var a in e){var r=e[a][\"d:propstat\"];\"HTTP/1.1 200 OK\"===r[\"d:status\"][\"#text\"]&&i.push({id:parseInt(r[\"d:prop\"][\"oc:id\"][\"#text\"]),displayName:r[\"d:prop\"][\"oc:display-name\"][\"#text\"],canAssign:\"true\"===r[\"d:prop\"][\"oc:can-assign\"][\"#text\"],userAssignable:\"true\"===r[\"d:prop\"][\"oc:user-assignable\"][\"#text\"],userVisible:\"true\"===r[\"d:prop\"][\"oc:user-visible\"][\"#text\"]})}return i},A=function(){var n,t=(n=regeneratorRuntime.mark((function n(){var t;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!window.NextcloudVueDocs){n.next=2;break}return n.abrupt(\"return\",Promise.resolve(d(window.NextcloudVueDocs.tags)));case 2:return n.next=4,o()({method:\"PROPFIND\",url:(0,s.generateRemoteUrl)(\"dav\")+\"/systemtags/\",data:'<?xml version=\"1.0\"?>\\n\\t\\t\\t\\t\\t<d:propfind xmlns:d=\"DAV:\" xmlns:oc=\"http://owncloud.org/ns\">\\n\\t\\t\\t\\t\\t <d:prop>\\n\\t\\t\\t\\t\\t\\t<oc:id />\\n\\t\\t\\t\\t\\t\\t<oc:display-name />\\n\\t\\t\\t\\t\\t\\t<oc:user-visible />\\n\\t\\t\\t\\t\\t\\t<oc:user-assignable />\\n\\t\\t\\t\\t\\t\\t<oc:can-assign />\\n\\t\\t\\t\\t\\t </d:prop>\\n\\t\\t\\t\\t\\t</d:propfind>'});case 4:return t=n.sent,n.abrupt(\"return\",d(t.data));case 6:case\"end\":return n.stop()}}),n)})),function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){l(r,i,a,o,s,\"next\",n)}function s(n){l(r,i,a,o,s,\"throw\",n)}o(void 0)}))});return function(){return t.apply(this,arguments)}}(),u=e(932);function p(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var m={name:\"MultiselectTags\",components:{Multiselect:a.default},mixins:[i.Z],props:{label:{type:String,default:(0,u.t)(\"Select a tag\")},value:{type:[Number,Array],required:!0},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!0}},data:function(){return{tags:[]}},computed:{inputValue:function(){return this.getValueObject()}},beforeCreate:function(){var n,t=this;return(n=regeneratorRuntime.mark((function n(){var e;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,A();case 3:e=n.sent,t.tags=e,n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),console.error(\"Loading systemtags failed\",n.t0);case 10:case\"end\":return n.stop()}}),n,null,[[0,7]])})),function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){p(r,i,a,o,s,\"next\",n)}function s(n){p(r,i,a,o,s,\"throw\",n)}o(void 0)}))})()},methods:{getValueObject:function(){var n=this;return 0===this.tags.length?[]:this.multiple?this.value.filter((function(n){return\"\"!==n})).map((function(t){return n.tags.find((function(n){return n.id===t}))})):this.tags.find((function(t){return t.id===n.value}))},update:function(n){this.multiple?this.$emit(\"input\",n.map((function(n){return n.id}))):null===n?this.$emit(\"input\",null):this.$emit(\"input\",n.id)},tagLabel:function(n){var t=n.displayName,e=n.userVisible,i=n.userAssignable;return!1===e?(0,u.t)(\"{tag} (invisible)\",{tag:t}):!1===i?(0,u.t)(\"{tag} (restricted)\",{tag:t}):t}}},T=m,h=e(1900),g=e(590),C=e.n(g),b=(0,h.Z)(T,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"Multiselect\",{attrs:{value:n.inputValue,options:n.tags,\"options-limit\":5,placeholder:n.label,\"track-by\":\"id\",\"custom-label\":n.tagLabel,multiple:n.multiple,\"close-on-select\":n.multiple,\"tag-width\":60,disabled:n.disabled},on:{input:n.update},scopedSlots:n._u([{key:\"noResult\",fn:function(){return[e(\"span\",[n._v(n._s(n.t(\"No results\")))])]},proxy:!0},{key:\"option\",fn:function(t){return[n._v(\"\\n\\t\\t\"+n._s(n.tagLabel(t.option))+\"\\n\\t\")]}}])})}),[],!1,null,null,null);\"function\"==typeof C()&&C()(b);var f=b.exports},8099:function(n,t,e){\"use strict\";var i=e(7020);t.default=i.Z},6996:function(n,t,e){\"use strict\";e.d(t,{default:function(){return N}});var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(n){return!n.input||-1!==[\"text\",\"checkbox\"].indexOf(n.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(n){return!1}}},methods:{action:function(n){this.item.action&&this.item.action(n)}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(1852),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(3530),b={};b.styleTagTransform=T(),b.setAttributes=A(),b.insert=c().bind(null,\"head\"),b.domAPI=s(),b.insertStyleElement=p(),r()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=(0,f.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"popover__menuitem\"},[n.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:n.item.href?n.item.href:\"#\",target:n.item.target?n.item.target:\"\",download:n.item.download,rel:\"nofollow noreferrer noopener\"},on:{click:n.action}},[n.iconIsUrl?e(\"img\",{attrs:{src:n.item.icon}}):e(\"span\",{class:n.item.icon}),n._v(\" \"),n.item.text&&n.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\\t\")])]):n.item.text?e(\"span\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\")]):n.item.longtext?e(\"p\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\")]):n._e()]):n.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:n.item.active}},[\"checkbox\"!==n.item.input?e(\"span\",{class:n.item.icon}):n._e(),n._v(\" \"),\"text\"===n.item.input?e(\"form\",{class:n.item.input,on:{submit:function(t){return t.preventDefault(),n.item.action.apply(null,arguments)}}},[e(\"input\",{attrs:{type:n.item.input,placeholder:n.item.text,required:\"\"},domProps:{value:n.item.value}}),n._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===n.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.item.model,expression:\"item.model\"}],class:n.item.input,attrs:{id:n.key,type:\"checkbox\"},domProps:{checked:Array.isArray(n.item.model)?n._i(n.item.model,null)>-1:n.item.model},on:{change:[function(t){var e=n.item.model,i=t.target,a=!!i.checked;if(Array.isArray(e)){var r=n._i(e,null);i.checked?r<0&&n.$set(n.item,\"model\",e.concat([null])):r>-1&&n.$set(n.item,\"model\",e.slice(0,r).concat(e.slice(r+1)))}else n.$set(n.item,\"model\",a)},n.item.action]}}):\"radio\"===n.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.item.model,expression:\"item.model\"}],class:n.item.input,attrs:{id:n.key,type:\"radio\"},domProps:{checked:n._q(n.item.model,null)},on:{change:[function(t){return n.$set(n.item,\"model\",null)},n.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.item.model,expression:\"item.model\"}],class:n.item.input,attrs:{id:n.key,type:n.item.input},domProps:{value:n.item.model},on:{change:n.item.action,input:function(t){t.target.composing||n.$set(n.item,\"model\",t.target.value)}}}),n._v(\" \"),e(\"label\",{attrs:{for:n.key},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.item.action.apply(null,arguments)}}},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")])]],2):n.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:n.item.active},attrs:{disabled:n.item.disabled,type:\"button\"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.item.action.apply(null,arguments)}}},[e(\"span\",{class:n.item.icon}),n._v(\" \"),n.item.text&&n.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\\t\")])]):n.item.text?e(\"span\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\")]):n.item.longtext?e(\"p\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\")]):n._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:n.item.active}},[e(\"span\",{class:n.item.icon}),n._v(\" \"),n.item.text&&n.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\\t\")])]):n.item.text?e(\"span\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\")]):n.item.longtext?e(\"p\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\")]):n._e()])])}),[],!1,null,\"79bc7480\",null),B={name:\"PopoverMenu\",components:{PopoverMenuItem:v.exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},E=e(7816),D={};D.styleTagTransform=T(),D.setAttributes=A(),D.insert=c().bind(null,\"head\"),D.domAPI=s(),D.insertStyleElement=p(),r()(E.Z,D),E.Z&&E.Z.locals&&E.Z.locals;var S=e(26),y=e.n(S),x=(0,f.Z)(B,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},n._l(n.menu,(function(n,t){return e(\"PopoverMenuItem\",{key:t,attrs:{item:n}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof y()&&y()(x);var N=x.exports},1102:function(n,t,e){\"use strict\";e.d(t,{default:function(){return L}});var i=require(\"tributejs/dist/tribute.esm\"),a=e.n(i),r=e(3465),o=e.n(r),s=require(\"string-length\"),l=e.n(s),c=e(932),d=e(4262),A={name:\"AutoCompleteResult\",props:{label:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},source:{type:String,required:!0},status:{type:[Object,Array],default:function(){return{}}}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus:function(){var n,t;return(null===(n=this.status)||void 0===n?void 0:n.icon)||(null===(t=this.status)||void 0===t?void 0:t.status)}},methods:{getAvatarUrl:function(n,t){return(0,d.generateUrl)(\"/avatar/{user}/{size}\",{user:n,size:t})}}},u=e(3379),p=e.n(u),m=e(7795),T=e.n(m),h=e(569),g=e.n(h),C=e(3565),b=e.n(C),f=e(9216),v=e.n(f),B=e(4589),E=e.n(B),D=e(1142),S={};S.styleTagTransform=E(),S.setAttributes=b(),S.insert=g().bind(null,\"head\"),S.domAPI=T(),S.insertStyleElement=v(),p()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var y=e(1900),x=(0,y.Z)(A,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"autocomplete-result\"},[e(\"div\",{staticClass:\"autocomplete-result__icon\",class:[n.icon,\"autocomplete-result__icon--\"+(n.avatarUrl?\"with-avatar\":\"\")],style:n.avatarUrl?{backgroundImage:\"url(\"+n.avatarUrl+\")\"}:null},[n.haveStatus?e(\"div\",{staticClass:\"autocomplete-result__status\",class:[\"autocomplete-result__status--\"+(n.status&&n.status.icon?\"icon\":n.status.status)]},[n._v(\"\\n\\t\\t\\t\"+n._s(n.status&&n.status.icon||\"\")+\"\\n\\t\\t\")]):n._e()]),n._v(\" \"),e(\"span\",{staticClass:\"autocomplete-result__content\"},[e(\"span\",{staticClass:\"autocomplete-result__title\"},[n._v(\"\\n\\t\\t\\t\"+n._s(n.label)+\"\\n\\t\\t\")]),n._v(\" \"),n.subline?e(\"span\",{staticClass:\"autocomplete-result__subline\"},[n._v(\"\\n\\t\\t\\t\"+n._s(n.subline)+\"\\n\\t\\t\")]):n._e()])])}),[],!1,null,\"c5738294\",null).exports,N=e(1088),k=e(7791);function R(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var F={name:\"RichContenteditable\",mixins:[N.default],props:{value:{type:String,default:\"\",required:!0},placeholder:{type:String,default:(0,c.t)(\"Write message, @ to mention someone, : for emoji autocompletion …\")},autoComplete:{type:Function,required:!0},menuContainer:{type:Element,default:function(){return document.body}},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0}},data:function(){var n=this;return{tribute:null,autocompleteOptions:{fillAttr:\"id\",lookup:function(n){return\"\".concat(n.id,\" \").concat(n.label)},menuContainer:this.menuContainer,menuItemTemplate:function(t){return n.renderComponentHtml(t.original,x)},noMatchTemplate:function(){return'<span class=\"hidden\"></span>'},selectTemplate:function(t){var e;return n.genSelectTemplate(null==t||null===(e=t.original)||void 0===e?void 0:e.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:\":\",lookup:function(n,t){return t},menuContainer:this.menuContainer,menuItemTemplate:function(n){return'<span class=\"tribute-container-emoji__item__emoji\">'.concat(n.original.native,\"</span> :\").concat(n.original.short_name)},noMatchTemplate:function(){return(0,c.t)(\"No emoji found\")},selectTemplate:function(n){return(0,k.addRecent)(n.original),n.original.native},values:function(n,t){return t((0,k.emojiSearch)(n))},containerClass:\"tribute-container-emoji\",itemClass:\"tribute-container-emoji__item\"},localValue:this.value}},computed:{isEmptyValue:function(){return!this.localValue||this.localValue&&\"\"===this.localValue.trim()},isFF:function(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength:function(){return!(this.isEmptyValue||!this.maxlength)&&l()(this.localValue)>this.maxlength},tooltip:function(){return this.isOverMaxlength?{content:(0,c.t)(\"Message limit of {count} characters reached\",{count:this.maxlength}),show:!0,trigger:\"manual\"}:null},canEdit:function(){return this.contenteditable&&!this.disabled}},watch:{value:function(){var n=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(n).trim()&&this.updateContent(this.value)}},mounted:function(){this.autocompleteTribute=new(a())(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new(a())(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy:function(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el)},methods:{onInput:function(n){this.updateValue(n.target.innerHTML)},onPaste:function(n){if(this.canEdit){n.preventDefault();var t=n.clipboardData;if(this.$emit(\"paste\",n),0===t.files.length&&Object.values(t.items).find((function(n){return null==n?void 0:n.type.startsWith(\"text\")}))){var e=t.getData(\"text\"),i=window.getSelection();i.rangeCount||this.updateValue(e);var a=this.parseContent(e),r=i.getRangeAt(0);i.deleteFromDocument(),r.insertNode(document.createTextNode(a));var o=document.createRange();o.setStart(n.target,r.endOffset),o.collapse(!0),i.removeAllRanges(),i.addRange(o),this.updateValue(n.target.innerHTML)}}},updateValue:function(n){var t=this.parseContent(n);this.localValue=t,this.$emit(\"update:value\",t)},updateContent:function(n){var t=this.renderContent(n);this.$refs.contenteditable.innerHTML=t,this.localValue=n},onDelete:function(n){if(this.isFF&&window.getSelection&&this.canEdit){var t=window.getSelection(),e=n.target;if(t.isCollapsed&&t.rangeCount){var i=t.getRangeAt(t.rangeCount-1);if(!(3===i.commonAncestorContainer.nodeType&&i.startOffset>0)){var a=document.createRange();if(t.anchorNode!==e)a.selectNodeContents(e),a.setEndBefore(t.anchorNode);else{if(!(t.anchorOffset>0))return;a.setEnd(e,t.anchorOffset)}a.setStart(e,a.endOffset-1);var r=a.cloneContents().lastChild;r&&\"false\"===r.contentEditable&&(a.deleteContents(),n.preventDefault())}}}},onEnter:function(n){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||(n.preventDefault(),n.stopPropagation(),this.$emit(\"submit\",n))},onCtrlEnter:function(n){this.isOverMaxlength||this.$emit(\"submit\",n)},debouncedAutoComplete:o()(function(){var n,t=(n=regeneratorRuntime.mark((function n(t,e){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:this.autoComplete(t,e);case 1:case\"end\":return n.stop()}}),n,this)})),function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){R(r,i,a,o,s,\"next\",n)}function s(n){R(r,i,a,o,s,\"throw\",n)}o(void 0)}))});return function(n,e){return t.apply(this,arguments)}}(),100)}},w=F,O=e(2305),_={};_.styleTagTransform=E(),_.setAttributes=b(),_.insert=g().bind(null,\"head\"),_.domAPI=T(),_.insertStyleElement=v(),p()(O.Z,_),O.Z&&O.Z.locals&&O.Z.locals;var Z=e(4398),Y={};Y.styleTagTransform=E(),Y.setAttributes=b(),Y.insert=g().bind(null,\"head\"),Y.domAPI=T(),Y.insertStyleElement=v(),p()(Z.Z,Y),Z.Z&&Z.Z.locals&&Z.Z.locals;var M=e(1164),I=e.n(M),G=(0,y.Z)(w,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",n._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:n.tooltip,expression:\"tooltip\"}],ref:\"contenteditable\",staticClass:\"rich-contenteditable__input\",class:{\"rich-contenteditable__input--empty\":n.isEmptyValue,\"rich-contenteditable__input--multiline\":n.multiline,\"rich-contenteditable__input--overflow\":n.isOverMaxlength,\"rich-contenteditable__input--disabled\":n.disabled},attrs:{contenteditable:n.canEdit,placeholder:n.placeholder,\"aria-multiline\":\"true\",role:\"textbox\"},on:{input:n.onInput,keydown:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"delete\",[8,46],t.key,[\"Backspace\",\"Delete\",\"Del\"])?null:n.onDelete.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.onEnter.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:t.ctrlKey?t.shiftKey||t.altKey||t.metaKey?null:(t.stopPropagation(),t.preventDefault(),n.onCtrlEnter.apply(null,arguments)):null}],paste:n.onPaste}},n.$listeners))}),[],!1,null,\"6d5a0150\",null);\"function\"==typeof I()&&I()(G);var L=G.exports},3325:function(n,t,e){\"use strict\";e.d(t,{default:function(){return S}});var i=require(\"vue-material-design-icons/HelpCircle\"),a=e.n(i),r=e(932),o={name:\"SettingsSection\",components:{HelpCircle:a()},props:{title:{type:String,required:!0},description:{type:String,default:\"\"},docUrl:{type:String,default:\"\"}},data:function(){return{docTitleTranslated:(0,r.t)(\"External documentation for {title}\",{title:this.title})}},computed:{hasDescription:function(){return this.description.length>0},hasDocUrl:function(){return this.docUrl.length>0}}},s=e(3379),l=e.n(s),c=e(7795),d=e.n(c),A=e(569),u=e.n(A),p=e(3565),m=e.n(p),T=e(9216),h=e.n(T),g=e(4589),C=e.n(g),b=e(1305),f={};f.styleTagTransform=C(),f.setAttributes=m(),f.insert=u().bind(null,\"head\"),f.domAPI=d(),f.insertStyleElement=h(),l()(b.Z,f),b.Z&&b.Z.locals&&b.Z.locals;var v=e(1900),B=e(7862),E=e.n(B),D=(0,v.Z)(o,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"settings-section\"},[e(\"h2\",{staticClass:\"settings-section__title\"},[n._v(\"\\n\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\"),n.hasDocUrl?e(\"a\",{staticClass:\"settings-section__info\",attrs:{href:n.docUrl,role:\"note\",title:n.docTitleTranslated}},[e(\"HelpCircle\",{attrs:{size:20,decorative:\"\",title:\"\"}})],1):n._e()]),n._v(\" \"),n.hasDescription?e(\"p\",{staticClass:\"settings-section__desc\"},[n._v(\"\\n\\t\\t\"+n._s(n.description)+\"\\n\\t\")]):n._e(),n._v(\" \"),n._t(\"default\")],2)}),[],!1,null,\"548823d7\",null);\"function\"==typeof E()&&E()(D);var S=D.exports},9460:function(n,t,e){\"use strict\";e.d(t,{default:function(){return Z}});var i=e(7316),a=e(932);function r(n,t){var e=\"undefined\"!=typeof Symbol&&n[Symbol.iterator]||n[\"@@iterator\"];if(!e){if(Array.isArray(n)||(e=function(n,t){if(n){if(\"string\"==typeof n)return o(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?o(n,t):void 0}}(n))||t&&n&&\"number\"==typeof n.length){e&&(n=e);var i=0,a=function(){};return{s:a,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},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 r,s=!0,l=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return s=n.done,n},e:function(n){l=!0,r=n},f:function(){try{s||null==e.return||e.return()}finally{if(l)throw r}}}}function o(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}function s(n){return n.split(\"_\").join(\" \").replace(\"St \",\"St. \").split(\"/\").join(\" - \")}var l=require(\"@nextcloud/calendar-js\"),c=JSON.parse('{\"i8\":\"2.2019c\",\"j3\":{\"AUS Central Standard Time\":{\"aliasTo\":\"Australia/Darwin\"},\"AUS Eastern Standard Time\":{\"aliasTo\":\"Australia/Sydney\"},\"Afghanistan Standard Time\":{\"aliasTo\":\"Asia/Kabul\"},\"Africa/Asmera\":{\"aliasTo\":\"Africa/Asmara\"},\"Africa/Timbuktu\":{\"aliasTo\":\"Africa/Bamako\"},\"Alaskan Standard Time\":{\"aliasTo\":\"America/Anchorage\"},\"America/Argentina/ComodRivadavia\":{\"aliasTo\":\"America/Argentina/Catamarca\"},\"America/Buenos_Aires\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"America/Louisville\":{\"aliasTo\":\"America/Kentucky/Louisville\"},\"America/Montreal\":{\"aliasTo\":\"America/Toronto\"},\"America/Santa_Isabel\":{\"aliasTo\":\"America/Tijuana\"},\"Arab Standard Time\":{\"aliasTo\":\"Asia/Riyadh\"},\"Arabian Standard Time\":{\"aliasTo\":\"Asia/Dubai\"},\"Arabic Standard Time\":{\"aliasTo\":\"Asia/Baghdad\"},\"Argentina Standard Time\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"Asia/Calcutta\":{\"aliasTo\":\"Asia/Kolkata\"},\"Asia/Katmandu\":{\"aliasTo\":\"Asia/Kathmandu\"},\"Asia/Rangoon\":{\"aliasTo\":\"Asia/Yangon\"},\"Asia/Saigon\":{\"aliasTo\":\"Asia/Ho_Chi_Minh\"},\"Atlantic Standard Time\":{\"aliasTo\":\"America/Halifax\"},\"Atlantic/Faeroe\":{\"aliasTo\":\"Atlantic/Faroe\"},\"Atlantic/Jan_Mayen\":{\"aliasTo\":\"Europe/Oslo\"},\"Azerbaijan Standard Time\":{\"aliasTo\":\"Asia/Baku\"},\"Azores Standard Time\":{\"aliasTo\":\"Atlantic/Azores\"},\"Bahia Standard Time\":{\"aliasTo\":\"America/Bahia\"},\"Bangladesh Standard Time\":{\"aliasTo\":\"Asia/Dhaka\"},\"Belarus Standard Time\":{\"aliasTo\":\"Europe/Minsk\"},\"Canada Central Standard Time\":{\"aliasTo\":\"America/Regina\"},\"Cape Verde Standard Time\":{\"aliasTo\":\"Atlantic/Cape_Verde\"},\"Caucasus Standard Time\":{\"aliasTo\":\"Asia/Yerevan\"},\"Cen. Australia Standard Time\":{\"aliasTo\":\"Australia/Adelaide\"},\"Central America Standard Time\":{\"aliasTo\":\"America/Guatemala\"},\"Central Asia Standard Time\":{\"aliasTo\":\"Asia/Almaty\"},\"Central Brazilian Standard Time\":{\"aliasTo\":\"America/Cuiaba\"},\"Central Europe Standard Time\":{\"aliasTo\":\"Europe/Budapest\"},\"Central European Standard Time\":{\"aliasTo\":\"Europe/Warsaw\"},\"Central Pacific Standard Time\":{\"aliasTo\":\"Pacific/Guadalcanal\"},\"Central Standard Time\":{\"aliasTo\":\"America/Chicago\"},\"Central Standard Time (Mexico)\":{\"aliasTo\":\"America/Mexico_City\"},\"China Standard Time\":{\"aliasTo\":\"Asia/Shanghai\"},\"E. Africa Standard Time\":{\"aliasTo\":\"Africa/Nairobi\"},\"E. Australia Standard Time\":{\"aliasTo\":\"Australia/Brisbane\"},\"E. South America Standard Time\":{\"aliasTo\":\"America/Sao_Paulo\"},\"Eastern Standard Time\":{\"aliasTo\":\"America/New_York\"},\"Egypt Standard Time\":{\"aliasTo\":\"Africa/Cairo\"},\"Ekaterinburg Standard Time\":{\"aliasTo\":\"Asia/Yekaterinburg\"},\"Etc/GMT\":{\"aliasTo\":\"UTC\"},\"Etc/GMT+0\":{\"aliasTo\":\"UTC\"},\"Etc/UCT\":{\"aliasTo\":\"UTC\"},\"Etc/UTC\":{\"aliasTo\":\"UTC\"},\"Etc/Unversal\":{\"aliasTo\":\"UTC\"},\"Etc/Zulu\":{\"aliasTo\":\"UTC\"},\"Europe/Belfast\":{\"aliasTo\":\"Europe/London\"},\"FLE Standard Time\":{\"aliasTo\":\"Europe/Kiev\"},\"Fiji Standard Time\":{\"aliasTo\":\"Pacific/Fiji\"},\"GMT\":{\"aliasTo\":\"UTC\"},\"GMT Standard Time\":{\"aliasTo\":\"Europe/London\"},\"GMT+0\":{\"aliasTo\":\"UTC\"},\"GMT0\":{\"aliasTo\":\"UTC\"},\"GTB Standard Time\":{\"aliasTo\":\"Europe/Bucharest\"},\"Georgian Standard Time\":{\"aliasTo\":\"Asia/Tbilisi\"},\"Greenland Standard Time\":{\"aliasTo\":\"America/Godthab\"},\"Greenwich\":{\"aliasTo\":\"UTC\"},\"Greenwich Standard Time\":{\"aliasTo\":\"Atlantic/Reykjavik\"},\"Hawaiian Standard Time\":{\"aliasTo\":\"Pacific/Honolulu\"},\"India Standard Time\":{\"aliasTo\":\"Asia/Calcutta\"},\"Iran Standard Time\":{\"aliasTo\":\"Asia/Tehran\"},\"Israel Standard Time\":{\"aliasTo\":\"Asia/Jerusalem\"},\"Jordan Standard Time\":{\"aliasTo\":\"Asia/Amman\"},\"Kaliningrad Standard Time\":{\"aliasTo\":\"Europe/Kaliningrad\"},\"Korea Standard Time\":{\"aliasTo\":\"Asia/Seoul\"},\"Libya Standard Time\":{\"aliasTo\":\"Africa/Tripoli\"},\"Line Islands Standard Time\":{\"aliasTo\":\"Pacific/Kiritimati\"},\"Magadan Standard Time\":{\"aliasTo\":\"Asia/Magadan\"},\"Mauritius Standard Time\":{\"aliasTo\":\"Indian/Mauritius\"},\"Middle East Standard Time\":{\"aliasTo\":\"Asia/Beirut\"},\"Montevideo Standard Time\":{\"aliasTo\":\"America/Montevideo\"},\"Morocco Standard Time\":{\"aliasTo\":\"Africa/Casablanca\"},\"Mountain Standard Time\":{\"aliasTo\":\"America/Denver\"},\"Mountain Standard Time (Mexico)\":{\"aliasTo\":\"America/Chihuahua\"},\"Myanmar Standard Time\":{\"aliasTo\":\"Asia/Rangoon\"},\"N. Central Asia Standard Time\":{\"aliasTo\":\"Asia/Novosibirsk\"},\"Namibia Standard Time\":{\"aliasTo\":\"Africa/Windhoek\"},\"Nepal Standard Time\":{\"aliasTo\":\"Asia/Katmandu\"},\"New Zealand Standard Time\":{\"aliasTo\":\"Pacific/Auckland\"},\"Newfoundland Standard Time\":{\"aliasTo\":\"America/St_Johns\"},\"North Asia East Standard Time\":{\"aliasTo\":\"Asia/Irkutsk\"},\"North Asia Standard Time\":{\"aliasTo\":\"Asia/Krasnoyarsk\"},\"Pacific SA Standard Time\":{\"aliasTo\":\"America/Santiago\"},\"Pacific Standard Time\":{\"aliasTo\":\"America/Los_Angeles\"},\"Pacific Standard Time (Mexico)\":{\"aliasTo\":\"America/Santa_Isabel\"},\"Pacific/Johnston\":{\"aliasTo\":\"Pacific/Honolulu\"},\"Pakistan Standard Time\":{\"aliasTo\":\"Asia/Karachi\"},\"Paraguay Standard Time\":{\"aliasTo\":\"America/Asuncion\"},\"Romance Standard Time\":{\"aliasTo\":\"Europe/Paris\"},\"Russia Time Zone 10\":{\"aliasTo\":\"Asia/Srednekolymsk\"},\"Russia Time Zone 11\":{\"aliasTo\":\"Asia/Kamchatka\"},\"Russia Time Zone 3\":{\"aliasTo\":\"Europe/Samara\"},\"Russian Standard Time\":{\"aliasTo\":\"Europe/Moscow\"},\"SA Eastern Standard Time\":{\"aliasTo\":\"America/Cayenne\"},\"SA Pacific Standard Time\":{\"aliasTo\":\"America/Bogota\"},\"SA Western Standard Time\":{\"aliasTo\":\"America/La_Paz\"},\"SE Asia Standard Time\":{\"aliasTo\":\"Asia/Bangkok\"},\"Samoa Standard Time\":{\"aliasTo\":\"Pacific/Apia\"},\"Singapore Standard Time\":{\"aliasTo\":\"Asia/Singapore\"},\"South Africa Standard Time\":{\"aliasTo\":\"Africa/Johannesburg\"},\"Sri Lanka Standard Time\":{\"aliasTo\":\"Asia/Colombo\"},\"Syria Standard Time\":{\"aliasTo\":\"Asia/Damascus\"},\"Taipei Standard Time\":{\"aliasTo\":\"Asia/Taipei\"},\"Tasmania Standard Time\":{\"aliasTo\":\"Australia/Hobart\"},\"Tokyo Standard Time\":{\"aliasTo\":\"Asia/Tokyo\"},\"Tonga Standard Time\":{\"aliasTo\":\"Pacific/Tongatapu\"},\"Turkey Standard Time\":{\"aliasTo\":\"Europe/Istanbul\"},\"UCT\":{\"aliasTo\":\"UTC\"},\"US Eastern Standard Time\":{\"aliasTo\":\"America/Indiana/Indianapolis\"},\"US Mountain Standard Time\":{\"aliasTo\":\"America/Phoenix\"},\"US/Central\":{\"aliasTo\":\"America/Chicago\"},\"US/Eastern\":{\"aliasTo\":\"America/New_York\"},\"US/Mountain\":{\"aliasTo\":\"America/Denver\"},\"US/Pacific\":{\"aliasTo\":\"America/Los_Angeles\"},\"US/Pacific-New\":{\"aliasTo\":\"America/Los_Angeles\"},\"Ulaanbaatar Standard Time\":{\"aliasTo\":\"Asia/Ulaanbaatar\"},\"Universal\":{\"aliasTo\":\"UTC\"},\"Venezuela Standard Time\":{\"aliasTo\":\"America/Caracas\"},\"Vladivostok Standard Time\":{\"aliasTo\":\"Asia/Vladivostok\"},\"W. Australia Standard Time\":{\"aliasTo\":\"Australia/Perth\"},\"W. Central Africa Standard Time\":{\"aliasTo\":\"Africa/Lagos\"},\"W. Europe Standard Time\":{\"aliasTo\":\"Europe/Berlin\"},\"West Asia Standard Time\":{\"aliasTo\":\"Asia/Tashkent\"},\"West Pacific Standard Time\":{\"aliasTo\":\"Pacific/Port_Moresby\"},\"Yakutsk Standard Time\":{\"aliasTo\":\"Asia/Yakutsk\"},\"Z\":{\"aliasTo\":\"UTC\"},\"Zulu\":{\"aliasTo\":\"UTC\"},\"utc\":{\"aliasTo\":\"UTC\"}},\"Ao\":{\"Africa/Abidjan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"-0040200\"},\"Africa/Accra\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0053300\",\"longitude\":\"+0001300\"},\"Africa/Addis_Ababa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090200\",\"longitude\":\"+0384200\"},\"Africa/Algiers\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364700\",\"longitude\":\"+0030300\"},\"Africa/Asmara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0152000\",\"longitude\":\"+0385300\"},\"Africa/Bamako\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123900\",\"longitude\":\"-0080000\"},\"Africa/Bangui\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0042200\",\"longitude\":\"+0183500\"},\"Africa/Banjul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"-0163900\"},\"Africa/Bissau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0115100\",\"longitude\":\"-0153500\"},\"Africa/Blantyre\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0154700\",\"longitude\":\"+0350000\"},\"Africa/Brazzaville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041600\",\"longitude\":\"+0151700\"},\"Africa/Bujumbura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0032300\",\"longitude\":\"+0292200\"},\"Africa/Cairo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0300300\",\"longitude\":\"+0311500\"},\"Africa/Casablanca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333900\",\"longitude\":\"-0073500\"},\"Africa/Ceuta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355300\",\"longitude\":\"-0051900\"},\"Africa/Conakry\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0093100\",\"longitude\":\"-0134300\"},\"Africa/Dakar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0144000\",\"longitude\":\"-0172600\"},\"Africa/Dar_es_Salaam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064800\",\"longitude\":\"+0391700\"},\"Africa/Djibouti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113600\",\"longitude\":\"+0430900\"},\"Africa/Douala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0040300\",\"longitude\":\"+0094200\"},\"Africa/El_Aaiun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0270900\",\"longitude\":\"-0131200\"},\"Africa/Freetown\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0083000\",\"longitude\":\"-0131500\"},\"Africa/Gaborone\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0243900\",\"longitude\":\"+0255500\"},\"Africa/Harare\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0175000\",\"longitude\":\"+0310300\"},\"Africa/Johannesburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261500\",\"longitude\":\"+0280000\"},\"Africa/Juba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045100\",\"longitude\":\"+0313700\"},\"Africa/Kampala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0001900\",\"longitude\":\"+0322500\"},\"Africa/Khartoum\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0153600\",\"longitude\":\"+0323200\"},\"Africa/Kigali\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0015700\",\"longitude\":\"+0300400\"},\"Africa/Kinshasa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041800\",\"longitude\":\"+0151800\"},\"Africa/Lagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062700\",\"longitude\":\"+0032400\"},\"Africa/Libreville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002300\",\"longitude\":\"+0092700\"},\"Africa/Lome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0060800\",\"longitude\":\"+0011300\"},\"Africa/Luanda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084800\",\"longitude\":\"+0131400\"},\"Africa/Lubumbashi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114000\",\"longitude\":\"+0272800\"},\"Africa/Lusaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0152500\",\"longitude\":\"+0281700\"},\"Africa/Malabo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0034500\",\"longitude\":\"+0084700\"},\"Africa/Maputo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0255800\",\"longitude\":\"+0323500\"},\"Africa/Maseru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292800\",\"longitude\":\"+0273000\"},\"Africa/Mbabane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261800\",\"longitude\":\"+0310600\"},\"Africa/Mogadishu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0020400\",\"longitude\":\"+0452200\"},\"Africa/Monrovia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0061800\",\"longitude\":\"-0104700\"},\"Africa/Nairobi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0011700\",\"longitude\":\"+0364900\"},\"Africa/Ndjamena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120700\",\"longitude\":\"+0150300\"},\"Africa/Niamey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0133100\",\"longitude\":\"+0020700\"},\"Africa/Nouakchott\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180600\",\"longitude\":\"-0155700\"},\"Africa/Ouagadougou\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0122200\",\"longitude\":\"-0013100\"},\"Africa/Porto-Novo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062900\",\"longitude\":\"+0023700\"},\"Africa/Sao_Tome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:20180101T010000\\\\r\\\\nRDATE:20180101T010000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:20190101T020000\\\\r\\\\nRDATE:20190101T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002000\",\"longitude\":\"+0064400\"},\"Africa/Tripoli\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0325400\",\"longitude\":\"+0131100\"},\"Africa/Tunis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364800\",\"longitude\":\"+0101100\"},\"Africa/Windhoek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0223400\",\"longitude\":\"+0170600\"},\"America/Adak\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:HDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0515248\",\"longitude\":\"-1763929\"},\"America/Anchorage\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0611305\",\"longitude\":\"-1495401\"},\"America/Anguilla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0181200\",\"longitude\":\"-0630400\"},\"America/Antigua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0170300\",\"longitude\":\"-0614800\"},\"America/Araguaina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0071200\",\"longitude\":\"-0481200\"},\"America/Argentina/Buenos_Aires\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0343600\",\"longitude\":\"-0582700\"},\"America/Argentina/Catamarca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0282800\",\"longitude\":\"-0654700\"},\"America/Argentina/Cordoba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0312400\",\"longitude\":\"-0641100\"},\"America/Argentina/Jujuy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0241100\",\"longitude\":\"-0651800\"},\"America/Argentina/La_Rioja\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292600\",\"longitude\":\"-0665100\"},\"America/Argentina/Mendoza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0325300\",\"longitude\":\"-0684900\"},\"America/Argentina/Rio_Gallegos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0513800\",\"longitude\":\"-0691300\"},\"America/Argentina/Salta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0244700\",\"longitude\":\"-0652500\"},\"America/Argentina/San_Juan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0313200\",\"longitude\":\"-0683100\"},\"America/Argentina/San_Luis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0331900\",\"longitude\":\"-0662100\"},\"America/Argentina/Tucuman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0264900\",\"longitude\":\"-0651300\"},\"America/Argentina/Ushuaia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0544800\",\"longitude\":\"-0681800\"},\"America/Aruba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123000\",\"longitude\":\"-0695800\"},\"America/Asuncion\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701004T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700322T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0251600\",\"longitude\":\"-0574000\"},\"America/Atikokan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484531\",\"longitude\":\"-0913718\"},\"America/Bahia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0125900\",\"longitude\":\"-0383100\"},\"America/Bahia_Banderas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0204800\",\"longitude\":\"-1051500\"},\"America/Barbados\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130600\",\"longitude\":\"-0593700\"},\"America/Belem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0012700\",\"longitude\":\"-0482900\"},\"America/Belize\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0173000\",\"longitude\":\"-0881200\"},\"America/Blanc-Sablon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0512500\",\"longitude\":\"-0570700\"},\"America/Boa_Vista\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0024900\",\"longitude\":\"-0604000\"},\"America/Bogota\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0043600\",\"longitude\":\"-0740500\"},\"America/Boise\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433649\",\"longitude\":\"-1161209\"},\"America/Cambridge_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0690650\",\"longitude\":\"-1050310\"},\"America/Campo_Grande\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0202700\",\"longitude\":\"-0543700\"},\"America/Cancun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0210500\",\"longitude\":\"-0864600\"},\"America/Caracas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103000\",\"longitude\":\"-0665600\"},\"America/Cayenne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"-0522000\"},\"America/Cayman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191800\",\"longitude\":\"-0812300\"},\"America/Chicago\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415100\",\"longitude\":\"-0873900\"},\"America/Chihuahua\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0283800\",\"longitude\":\"-1060500\"},\"America/Costa_Rica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0095600\",\"longitude\":\"-0840500\"},\"America/Creston\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490600\",\"longitude\":\"-1163100\"},\"America/Cuiaba\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0153500\",\"longitude\":\"-0560500\"},\"America/Curacao\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0121100\",\"longitude\":\"-0690000\"},\"America/Danmarkshavn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0764600\",\"longitude\":\"-0184000\"},\"America/Dawson\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640400\",\"longitude\":\"-1392500\"},\"America/Dawson_Creek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0594600\",\"longitude\":\"-1201400\"},\"America/Denver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394421\",\"longitude\":\"-1045903\"},\"America/Detroit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0421953\",\"longitude\":\"-0830245\"},\"America/Dominica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151800\",\"longitude\":\"-0612400\"},\"America/Edmonton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0533300\",\"longitude\":\"-1132800\"},\"America/Eirunepe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064000\",\"longitude\":\"-0695200\"},\"America/El_Salvador\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134200\",\"longitude\":\"-0891200\"},\"America/Fort_Nelson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0584800\",\"longitude\":\"-1224200\"},\"America/Fortaleza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0034300\",\"longitude\":\"-0383000\"},\"America/Glace_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0461200\",\"longitude\":\"-0595700\"},\"America/Godthab\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700328T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701024T230000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0641100\",\"longitude\":\"-0514400\"},\"America/Goose_Bay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0602500\"},\"America/Grand_Turk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20190310T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20180311T020000\\\\r\\\\nRDATE:20180311T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0212800\",\"longitude\":\"-0710800\"},\"America/Grenada\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120300\",\"longitude\":\"-0614500\"},\"America/Guadeloupe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0161400\",\"longitude\":\"-0613200\"},\"America/Guatemala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143800\",\"longitude\":\"-0903100\"},\"America/Guayaquil\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0021000\",\"longitude\":\"-0795000\"},\"America/Guyana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0064800\",\"longitude\":\"-0581000\"},\"America/Halifax\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443900\",\"longitude\":\"-0633600\"},\"America/Havana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0230800\",\"longitude\":\"-0822200\"},\"America/Hermosillo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0290400\",\"longitude\":\"-1105800\"},\"America/Indiana/Indianapolis\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394606\",\"longitude\":\"-0860929\"},\"America/Indiana/Knox\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0411745\",\"longitude\":\"-0863730\"},\"America/Indiana/Marengo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382232\",\"longitude\":\"-0862041\"},\"America/Indiana/Petersburg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382931\",\"longitude\":\"-0871643\"},\"America/Indiana/Tell_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375711\",\"longitude\":\"-0864541\"},\"America/Indiana/Vevay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384452\",\"longitude\":\"-0850402\"},\"America/Indiana/Vincennes\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384038\",\"longitude\":\"-0873143\"},\"America/Indiana/Winamac\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0410305\",\"longitude\":\"-0863611\"},\"America/Inuvik\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0682059\",\"longitude\":\"-1334300\"},\"America/Iqaluit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0634400\",\"longitude\":\"-0682800\"},\"America/Jamaica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175805\",\"longitude\":\"-0764736\"},\"America/Juneau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0581807\",\"longitude\":\"-1342511\"},\"America/Kentucky/Louisville\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0381515\",\"longitude\":\"-0854534\"},\"America/Kentucky/Monticello\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364947\",\"longitude\":\"-0845057\"},\"America/Kralendijk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120903\",\"longitude\":\"-0681636\"},\"America/La_Paz\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0163000\",\"longitude\":\"-0680900\"},\"America/Lima\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0120300\",\"longitude\":\"-0770300\"},\"America/Los_Angeles\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0340308\",\"longitude\":\"-1181434\"},\"America/Lower_Princes\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180305\",\"longitude\":\"-0630250\"},\"America/Maceio\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0094000\",\"longitude\":\"-0354300\"},\"America/Managua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120900\",\"longitude\":\"-0861700\"},\"America/Manaus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-0600100\"},\"America/Marigot\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180400\",\"longitude\":\"-0630500\"},\"America/Martinique\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143600\",\"longitude\":\"-0610500\"},\"America/Matamoros\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0255000\",\"longitude\":\"-0973000\"},\"America/Mazatlan\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0231300\",\"longitude\":\"-1062500\"},\"America/Menominee\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0450628\",\"longitude\":\"-0873651\"},\"America/Merida\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0205800\",\"longitude\":\"-0893700\"},\"America/Metlakatla\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20191103T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20190120T020000\\\\r\\\\nRDATE:20190120T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550737\",\"longitude\":\"-1313435\"},\"America/Mexico_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0192400\",\"longitude\":\"-0990900\"},\"America/Miquelon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470300\",\"longitude\":\"-0562000\"},\"America/Moncton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460600\",\"longitude\":\"-0644700\"},\"America/Monterrey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0254000\",\"longitude\":\"-1001900\"},\"America/Montevideo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0345433\",\"longitude\":\"-0561245\"},\"America/Montserrat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164300\",\"longitude\":\"-0621300\"},\"America/Nassau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250500\",\"longitude\":\"-0772100\"},\"America/New_York\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0404251\",\"longitude\":\"-0740023\"},\"America/Nipigon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490100\",\"longitude\":\"-0881600\"},\"America/Nome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643004\",\"longitude\":\"-1652423\"},\"America/Noronha\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0035100\",\"longitude\":\"-0322500\"},\"America/North_Dakota/Beulah\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0471551\",\"longitude\":\"-1014640\"},\"America/North_Dakota/Center\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470659\",\"longitude\":\"-1011757\"},\"America/North_Dakota/New_Salem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465042\",\"longitude\":\"-1012439\"},\"America/Ojinaga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0293400\",\"longitude\":\"-1042500\"},\"America/Panama\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0085800\",\"longitude\":\"-0793200\"},\"America/Pangnirtung\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0660800\",\"longitude\":\"-0654400\"},\"America/Paramaribo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0055000\",\"longitude\":\"-0551000\"},\"America/Phoenix\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332654\",\"longitude\":\"-1120424\"},\"America/Port-au-Prince\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0183200\",\"longitude\":\"-0722000\"},\"America/Port_of_Spain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103900\",\"longitude\":\"-0613100\"},\"America/Porto_Velho\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084600\",\"longitude\":\"-0635400\"},\"America/Puerto_Rico\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182806\",\"longitude\":\"-0660622\"},\"America/Punta_Arenas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0530900\",\"longitude\":\"-0705500\"},\"America/Rainy_River\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484300\",\"longitude\":\"-0943400\"},\"America/Rankin_Inlet\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0624900\",\"longitude\":\"-0920459\"},\"America/Recife\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0080300\",\"longitude\":\"-0345400\"},\"America/Regina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502400\",\"longitude\":\"-1043900\"},\"America/Resolute\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0744144\",\"longitude\":\"-0944945\"},\"America/Rio_Branco\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0095800\",\"longitude\":\"-0674800\"},\"America/Santarem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0022600\",\"longitude\":\"-0545200\"},\"America/Santiago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20190407T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20190908T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180812T000000\\\\r\\\\nRDATE:20180812T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180513T000000\\\\r\\\\nRDATE:20180513T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0332700\",\"longitude\":\"-0704000\"},\"America/Santo_Domingo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182800\",\"longitude\":\"-0695400\"},\"America/Sao_Paulo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0233200\",\"longitude\":\"-0463700\"},\"America/Scoresbysund\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0702900\",\"longitude\":\"-0215800\"},\"America/Sitka\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0571035\",\"longitude\":\"-1351807\"},\"America/St_Barthelemy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175300\",\"longitude\":\"-0625100\"},\"America/St_Johns\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0230\\\\r\\\\nTZOFFSETTO:-0330\\\\r\\\\nTZNAME:NST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0330\\\\r\\\\nTZOFFSETTO:-0230\\\\r\\\\nTZNAME:NDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0473400\",\"longitude\":\"-0524300\"},\"America/St_Kitts\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0171800\",\"longitude\":\"-0624300\"},\"America/St_Lucia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140100\",\"longitude\":\"-0610000\"},\"America/St_Thomas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182100\",\"longitude\":\"-0645600\"},\"America/St_Vincent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130900\",\"longitude\":\"-0611400\"},\"America/Swift_Current\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"-1075000\"},\"America/Tegucigalpa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140600\",\"longitude\":\"-0871300\"},\"America/Thule\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0763400\",\"longitude\":\"-0684700\"},\"America/Thunder_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0482300\",\"longitude\":\"-0891500\"},\"America/Tijuana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323200\",\"longitude\":\"-1170100\"},\"America/Toronto\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433900\",\"longitude\":\"-0792300\"},\"America/Tortola\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182700\",\"longitude\":\"-0643700\"},\"America/Vancouver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491600\",\"longitude\":\"-1230700\"},\"America/Whitehorse\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0604300\",\"longitude\":\"-1350300\"},\"America/Winnipeg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0495300\",\"longitude\":\"-0970900\"},\"America/Yakutat\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593249\",\"longitude\":\"-1394338\"},\"America/Yellowknife\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0622700\",\"longitude\":\"-1142100\"},\"Antarctica/Casey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:20180311T040000\\\\r\\\\nRDATE:20180311T040000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0661700\",\"longitude\":\"+1103100\"},\"Antarctica/Davis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0683500\",\"longitude\":\"+0775800\"},\"Antarctica/DumontDUrville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0664000\",\"longitude\":\"+1400100\"},\"Antarctica/Macquarie\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0543000\",\"longitude\":\"+1585700\"},\"Antarctica/Mawson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673600\",\"longitude\":\"+0625300\"},\"Antarctica/McMurdo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0775000\",\"longitude\":\"+1663600\"},\"Antarctica/Palmer\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0644800\",\"longitude\":\"-0640600\"},\"Antarctica/Rothera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673400\",\"longitude\":\"-0680800\"},\"Antarctica/Syowa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0690022\",\"longitude\":\"+0393524\"},\"Antarctica/Troll\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:+02\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0720041\",\"longitude\":\"+0023206\"},\"Antarctica/Vostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0782400\",\"longitude\":\"+1065400\"},\"Arctic/Longyearbyen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0780000\",\"longitude\":\"+0160000\"},\"Asia/Aden\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0124500\",\"longitude\":\"+0451200\"},\"Asia/Almaty\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431500\",\"longitude\":\"+0765700\"},\"Asia/Amman\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700326T235959\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0315700\",\"longitude\":\"+0355600\"},\"Asia/Anadyr\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0644500\",\"longitude\":\"+1772900\"},\"Asia/Aqtau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443100\",\"longitude\":\"+0501600\"},\"Asia/Aqtobe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"+0571000\"},\"Asia/Ashgabat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375700\",\"longitude\":\"+0582300\"},\"Asia/Atyrau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470700\",\"longitude\":\"+0515600\"},\"Asia/Baghdad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332100\",\"longitude\":\"+0442500\"},\"Asia/Bahrain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0262300\",\"longitude\":\"+0503500\"},\"Asia/Baku\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402300\",\"longitude\":\"+0495100\"},\"Asia/Bangkok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134500\",\"longitude\":\"+1003100\"},\"Asia/Barnaul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0532200\",\"longitude\":\"+0834500\"},\"Asia/Beirut\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0335300\",\"longitude\":\"+0353000\"},\"Asia/Bishkek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0425400\",\"longitude\":\"+0743600\"},\"Asia/Brunei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"+1145500\"},\"Asia/Chita\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0520300\",\"longitude\":\"+1132800\"},\"Asia/Choibalsan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480400\",\"longitude\":\"+1143000\"},\"Asia/Colombo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:+0530\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065600\",\"longitude\":\"+0795100\"},\"Asia/Damascus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700327T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333000\",\"longitude\":\"+0361800\"},\"Asia/Dhaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0234300\",\"longitude\":\"+0902500\"},\"Asia/Dili\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083300\",\"longitude\":\"+1253500\"},\"Asia/Dubai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251800\",\"longitude\":\"+0551800\"},\"Asia/Dushanbe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0383500\",\"longitude\":\"+0684800\"},\"Asia/Famagusta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180325T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0350700\",\"longitude\":\"+0335700\"},\"Asia/Gaza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313000\",\"longitude\":\"+0342800\"},\"Asia/Hebron\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313200\",\"longitude\":\"+0350542\"},\"Asia/Ho_Chi_Minh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0104500\",\"longitude\":\"+1064000\"},\"Asia/Hong_Kong\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:HKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221700\",\"longitude\":\"+1140900\"},\"Asia/Hovd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480100\",\"longitude\":\"+0913900\"},\"Asia/Irkutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521600\",\"longitude\":\"+1042000\"},\"Asia/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Asia/Jakarta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061000\",\"longitude\":\"+1064800\"},\"Asia/Jayapura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:WIT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0023200\",\"longitude\":\"+1404200\"},\"Asia/Jerusalem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:IDT\\\\r\\\\nDTSTART:19700327T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0314650\",\"longitude\":\"+0351326\"},\"Asia/Kabul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0343100\",\"longitude\":\"+0691200\"},\"Asia/Kamchatka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0530100\",\"longitude\":\"+1583900\"},\"Asia/Karachi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:PKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0245200\",\"longitude\":\"+0670300\"},\"Asia/Kathmandu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0545\\\\r\\\\nTZOFFSETTO:+0545\\\\r\\\\nTZNAME:+0545\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0274300\",\"longitude\":\"+0851900\"},\"Asia/Khandyga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0623923\",\"longitude\":\"+1353314\"},\"Asia/Kolkata\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0223200\",\"longitude\":\"+0882200\"},\"Asia/Krasnoyarsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0560100\",\"longitude\":\"+0925000\"},\"Asia/Kuala_Lumpur\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0031000\",\"longitude\":\"+1014200\"},\"Asia/Kuching\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0013300\",\"longitude\":\"+1102000\"},\"Asia/Kuwait\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0292000\",\"longitude\":\"+0475900\"},\"Asia/Macau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221150\",\"longitude\":\"+1133230\"},\"Asia/Magadan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593400\",\"longitude\":\"+1504800\"},\"Asia/Makassar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:WITA\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0050700\",\"longitude\":\"+1192400\"},\"Asia/Manila\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143500\",\"longitude\":\"+1210000\"},\"Asia/Muscat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0233600\",\"longitude\":\"+0583500\"},\"Asia/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Asia/Novokuznetsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0534500\",\"longitude\":\"+0870700\"},\"Asia/Novosibirsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550200\",\"longitude\":\"+0825500\"},\"Asia/Omsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550000\",\"longitude\":\"+0732400\"},\"Asia/Oral\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0511300\",\"longitude\":\"+0512100\"},\"Asia/Phnom_Penh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113300\",\"longitude\":\"+1045500\"},\"Asia/Pontianak\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0000200\",\"longitude\":\"+1092000\"},\"Asia/Pyongyang\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0830\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0830\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:20180504T233000\\\\r\\\\nRDATE:20180504T233000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0390100\",\"longitude\":\"+1254500\"},\"Asia/Qatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251700\",\"longitude\":\"+0513200\"},\"Asia/Qostanay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0633700\"},\"Asia/Qyzylorda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:20181221T000000\\\\r\\\\nRDATE:20181221T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0444800\",\"longitude\":\"+0652800\"},\"Asia/Riyadh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0243800\",\"longitude\":\"+0464300\"},\"Asia/Sakhalin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465800\",\"longitude\":\"+1424200\"},\"Asia/Samarkand\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394000\",\"longitude\":\"+0664800\"},\"Asia/Seoul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0373300\",\"longitude\":\"+1265800\"},\"Asia/Shanghai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0311400\",\"longitude\":\"+1212800\"},\"Asia/Singapore\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0011700\",\"longitude\":\"+1035100\"},\"Asia/Srednekolymsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0672800\",\"longitude\":\"+1534300\"},\"Asia/Taipei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250300\",\"longitude\":\"+1213000\"},\"Asia/Tashkent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0691800\"},\"Asia/Tbilisi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0414300\",\"longitude\":\"+0444900\"},\"Asia/Tehran\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0330\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:20180321T235959\\\\r\\\\nRDATE:20180321T235959\\\\r\\\\nRDATE:20190321T235959\\\\r\\\\nRDATE:20200320T235959\\\\r\\\\nRDATE:20210321T235959\\\\r\\\\nRDATE:20220321T235959\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:20180921T235959\\\\r\\\\nRDATE:20180921T235959\\\\r\\\\nRDATE:20190921T235959\\\\r\\\\nRDATE:20200920T235959\\\\r\\\\nRDATE:20210921T235959\\\\r\\\\nRDATE:20220921T235959\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0354000\",\"longitude\":\"+0512600\"},\"Asia/Thimphu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0272800\",\"longitude\":\"+0893900\"},\"Asia/Tokyo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:JST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0353916\",\"longitude\":\"+1394441\"},\"Asia/Tomsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0563000\",\"longitude\":\"+0845800\"},\"Asia/Ulaanbaatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475500\",\"longitude\":\"+1065300\"},\"Asia/Urumqi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434800\",\"longitude\":\"+0873500\"},\"Asia/Ust-Nera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643337\",\"longitude\":\"+1431336\"},\"Asia/Vientiane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175800\",\"longitude\":\"+1023600\"},\"Asia/Vladivostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431000\",\"longitude\":\"+1315600\"},\"Asia/Yakutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620000\",\"longitude\":\"+1294000\"},\"Asia/Yangon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164700\",\"longitude\":\"+0961000\"},\"Asia/Yekaterinburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565100\",\"longitude\":\"+0603600\"},\"Asia/Yerevan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0401100\",\"longitude\":\"+0443000\"},\"Atlantic/Azores\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0374400\",\"longitude\":\"-0254000\"},\"Atlantic/Bermuda\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0321700\",\"longitude\":\"-0644600\"},\"Atlantic/Canary\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0280600\",\"longitude\":\"-0152400\"},\"Atlantic/Cape_Verde\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0145500\",\"longitude\":\"-0233100\"},\"Atlantic/Faroe\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620100\",\"longitude\":\"-0064600\"},\"Atlantic/Madeira\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323800\",\"longitude\":\"-0165400\"},\"Atlantic/Reykjavik\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640900\",\"longitude\":\"-0215100\"},\"Atlantic/South_Georgia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0541600\",\"longitude\":\"-0363200\"},\"Atlantic/St_Helena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0155500\",\"longitude\":\"-0054200\"},\"Atlantic/Stanley\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0514200\",\"longitude\":\"-0575100\"},\"Australia/Adelaide\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0345500\",\"longitude\":\"+1383500\"},\"Australia/Brisbane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0272800\",\"longitude\":\"+1530200\"},\"Australia/Broken_Hill\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0315700\",\"longitude\":\"+1412700\"},\"Australia/Currie\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0395600\",\"longitude\":\"+1435200\"},\"Australia/Darwin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0122800\",\"longitude\":\"+1305000\"},\"Australia/Eucla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0845\\\\r\\\\nTZOFFSETTO:+0845\\\\r\\\\nTZNAME:+0845\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0314300\",\"longitude\":\"+1285200\"},\"Australia/Hobart\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0425300\",\"longitude\":\"+1471900\"},\"Australia/Lindeman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201600\",\"longitude\":\"+1490000\"},\"Australia/Lord_Howe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:+1030\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0313300\",\"longitude\":\"+1590500\"},\"Australia/Melbourne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0374900\",\"longitude\":\"+1445800\"},\"Australia/Perth\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:AWST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0315700\",\"longitude\":\"+1155100\"},\"Australia/Sydney\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0335200\",\"longitude\":\"+1511300\"},\"Europe/Amsterdam\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0522200\",\"longitude\":\"+0045400\"},\"Europe/Andorra\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0423000\",\"longitude\":\"+0013100\"},\"Europe/Astrakhan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0462100\",\"longitude\":\"+0480300\"},\"Europe/Athens\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375800\",\"longitude\":\"+0234300\"},\"Europe/Belgrade\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445000\",\"longitude\":\"+0203000\"},\"Europe/Berlin\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0523000\",\"longitude\":\"+0132200\"},\"Europe/Bratislava\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480900\",\"longitude\":\"+0170700\"},\"Europe/Brussels\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0505000\",\"longitude\":\"+0042000\"},\"Europe/Bucharest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0442600\",\"longitude\":\"+0260600\"},\"Europe/Budapest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0473000\",\"longitude\":\"+0190500\"},\"Europe/Busingen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0474200\",\"longitude\":\"+0084100\"},\"Europe/Chisinau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470000\",\"longitude\":\"+0285000\"},\"Europe/Copenhagen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554000\",\"longitude\":\"+0123500\"},\"Europe/Dublin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0061500\"},\"Europe/Gibraltar\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0360800\",\"longitude\":\"-0052100\"},\"Europe/Guernsey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0492717\",\"longitude\":\"-0023210\"},\"Europe/Helsinki\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0601000\",\"longitude\":\"+0245800\"},\"Europe/Isle_of_Man\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0540900\",\"longitude\":\"-0042800\"},\"Europe/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Europe/Jersey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491101\",\"longitude\":\"-0020624\"},\"Europe/Kaliningrad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544300\",\"longitude\":\"+0203000\"},\"Europe/Kiev\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502600\",\"longitude\":\"+0303100\"},\"Europe/Kirov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0583600\",\"longitude\":\"+0493900\"},\"Europe/Lisbon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0384300\",\"longitude\":\"-0090800\"},\"Europe/Ljubljana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460300\",\"longitude\":\"+0143100\"},\"Europe/London\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513030\",\"longitude\":\"+0000731\"},\"Europe/Luxembourg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0493600\",\"longitude\":\"+0060900\"},\"Europe/Madrid\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402400\",\"longitude\":\"-0034100\"},\"Europe/Malta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355400\",\"longitude\":\"+0143100\"},\"Europe/Mariehamn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0600600\",\"longitude\":\"+0195700\"},\"Europe/Minsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0535400\",\"longitude\":\"+0273400\"},\"Europe/Monaco\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434200\",\"longitude\":\"+0072300\"},\"Europe/Moscow\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554521\",\"longitude\":\"+0373704\"},\"Europe/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Europe/Oslo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0595500\",\"longitude\":\"+0104500\"},\"Europe/Paris\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0485200\",\"longitude\":\"+0022000\"},\"Europe/Podgorica\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0422600\",\"longitude\":\"+0191600\"},\"Europe/Prague\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0500500\",\"longitude\":\"+0142600\"},\"Europe/Riga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565700\",\"longitude\":\"+0240600\"},\"Europe/Rome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415400\",\"longitude\":\"+0122900\"},\"Europe/Samara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0500900\"},\"Europe/San_Marino\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435500\",\"longitude\":\"+0122800\"},\"Europe/Sarajevo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435200\",\"longitude\":\"+0182500\"},\"Europe/Saratov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513400\",\"longitude\":\"+0460200\"},\"Europe/Simferopol\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445700\",\"longitude\":\"+0340600\"},\"Europe/Skopje\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415900\",\"longitude\":\"+0212600\"},\"Europe/Sofia\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0424100\",\"longitude\":\"+0231900\"},\"Europe/Stockholm\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592000\",\"longitude\":\"+0180300\"},\"Europe/Tallinn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592500\",\"longitude\":\"+0244500\"},\"Europe/Tirane\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0195000\"},\"Europe/Ulyanovsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0542000\",\"longitude\":\"+0482400\"},\"Europe/Uzhgorod\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0483700\",\"longitude\":\"+0221800\"},\"Europe/Vaduz\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470900\",\"longitude\":\"+0093100\"},\"Europe/Vatican\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415408\",\"longitude\":\"+0122711\"},\"Europe/Vienna\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0481300\",\"longitude\":\"+0162000\"},\"Europe/Vilnius\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544100\",\"longitude\":\"+0251900\"},\"Europe/Volgograd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:20181028T020000\\\\r\\\\nRDATE:20181028T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484400\",\"longitude\":\"+0442500\"},\"Europe/Warsaw\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521500\",\"longitude\":\"+0210000\"},\"Europe/Zagreb\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0454800\",\"longitude\":\"+0155800\"},\"Europe/Zaporozhye\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475000\",\"longitude\":\"+0351000\"},\"Europe/Zurich\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0472300\",\"longitude\":\"+0083200\"},\"Indian/Antananarivo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0185500\",\"longitude\":\"+0473100\"},\"Indian/Chagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0072000\",\"longitude\":\"+0722500\"},\"Indian/Christmas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0102500\",\"longitude\":\"+1054300\"},\"Indian/Cocos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0121000\",\"longitude\":\"+0965500\"},\"Indian/Comoro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114100\",\"longitude\":\"+0431600\"},\"Indian/Kerguelen\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0492110\",\"longitude\":\"+0701303\"},\"Indian/Mahe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0044000\",\"longitude\":\"+0552800\"},\"Indian/Maldives\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0041000\",\"longitude\":\"+0733000\"},\"Indian/Mauritius\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201000\",\"longitude\":\"+0573000\"},\"Indian/Mayotte\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0124700\",\"longitude\":\"+0451400\"},\"Indian/Reunion\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0205200\",\"longitude\":\"+0552800\"},\"Pacific/Apia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700405T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700927T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0135000\",\"longitude\":\"-1714400\"},\"Pacific/Auckland\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0365200\",\"longitude\":\"+1744600\"},\"Pacific/Bougainville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061300\",\"longitude\":\"+1553400\"},\"Pacific/Chatham\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1245\\\\r\\\\nTZOFFSETTO:+1345\\\\r\\\\nTZNAME:+1345\\\\r\\\\nDTSTART:19700927T024500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1345\\\\r\\\\nTZOFFSETTO:+1245\\\\r\\\\nTZNAME:+1245\\\\r\\\\nDTSTART:19700405T034500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0435700\",\"longitude\":\"-1763300\"},\"Pacific/Chuuk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072500\",\"longitude\":\"+1514700\"},\"Pacific/Easter\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20190406T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20190907T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20180811T220000\\\\r\\\\nRDATE:20180811T220000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20180512T220000\\\\r\\\\nRDATE:20180512T220000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0270900\",\"longitude\":\"-1092600\"},\"Pacific/Efate\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0174000\",\"longitude\":\"+1682500\"},\"Pacific/Enderbury\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-1710500\"},\"Pacific/Fakaofo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0092200\",\"longitude\":\"-1711400\"},\"Pacific/Fiji\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700118T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20191110T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0180800\",\"longitude\":\"+1782500\"},\"Pacific/Funafuti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083100\",\"longitude\":\"+1791300\"},\"Pacific/Galapagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0005400\",\"longitude\":\"-0893600\"},\"Pacific/Gambier\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:-09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0230800\",\"longitude\":\"-1345700\"},\"Pacific/Guadalcanal\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093200\",\"longitude\":\"+1601200\"},\"Pacific/Guam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"+1444500\"},\"Pacific/Honolulu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0211825\",\"longitude\":\"-1575130\"},\"Pacific/Kiritimati\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0015200\",\"longitude\":\"-1572000\"},\"Pacific/Kosrae\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"+1625900\"},\"Pacific/Kwajalein\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090500\",\"longitude\":\"+1672000\"},\"Pacific/Majuro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0070900\",\"longitude\":\"+1711200\"},\"Pacific/Marquesas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0930\\\\r\\\\nTZOFFSETTO:-0930\\\\r\\\\nTZNAME:-0930\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0090000\",\"longitude\":\"-1393000\"},\"Pacific/Midway\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0281300\",\"longitude\":\"-1772200\"},\"Pacific/Nauru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0003100\",\"longitude\":\"+1665500\"},\"Pacific/Niue\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:-11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0190100\",\"longitude\":\"-1695500\"},\"Pacific/Norfolk\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:20191006T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20200405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1130\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20190701T000000\\\\r\\\\nRDATE:20190701T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0290300\",\"longitude\":\"+1675800\"},\"Pacific/Noumea\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0221600\",\"longitude\":\"+1662700\"},\"Pacific/Pago_Pago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0141600\",\"longitude\":\"-1704200\"},\"Pacific/Palau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072000\",\"longitude\":\"+1342900\"},\"Pacific/Pitcairn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:-08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0250400\",\"longitude\":\"-1300500\"},\"Pacific/Pohnpei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065800\",\"longitude\":\"+1581300\"},\"Pacific/Port_Moresby\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093000\",\"longitude\":\"+1471000\"},\"Pacific/Rarotonga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211400\",\"longitude\":\"-1594600\"},\"Pacific/Saipan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151200\",\"longitude\":\"+1454500\"},\"Pacific/Tahiti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0173200\",\"longitude\":\"-1493400\"},\"Pacific/Tarawa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0012500\",\"longitude\":\"+1730000\"},\"Pacific/Tongatapu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211000\",\"longitude\":\"-1751000\"},\"Pacific/Wake\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191700\",\"longitude\":\"+1663700\"},\"Pacific/Wallis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0131800\",\"longitude\":\"-1761000\"}}}'),d=(0,require(\"@nextcloud/logger\").getLoggerBuilder)().detectUser().setApp(\"@nextcloud/vue\").build();function A(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}var u=(0,l.getTimezoneManager)(),p=!1;function m(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}var T={name:\"TimezonePicker\",components:{Multiselect:i.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:\"floating\"}},computed:{placeholder:function(){return(0,a.t)(\"Type to search time zone\")},selectedTimezone:function(){var n,t=function(n,t){var e=\"undefined\"!=typeof Symbol&&n[Symbol.iterator]||n[\"@@iterator\"];if(!e){if(Array.isArray(n)||(e=function(n,t){if(n){if(\"string\"==typeof n)return m(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?m(n,t):void 0}}(n))||t&&n&&\"number\"==typeof n.length){e&&(n=e);var i=0,a=function(){};return{s:a,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},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 r,o=!0,s=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return o=n.done,n},e:function(n){s=!0,r=n},f:function(){try{o||null==e.return||e.return()}finally{if(s)throw r}}}}(this.additionalTimezones);try{for(t.s();!(n=t.n()).done;){var e=n.value;if(e.timezoneId===this.value)return e}}catch(n){t.e(n)}finally{t.f()}return{label:s(this.value),timezoneId:this.value}},options:function(){return function(){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e={},i=[],o=r(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(o.s();!(n=o.n()).done;){var l=n.value,c=l.split(\"/\"),d=[c.shift(),c.join(\"/\")],A=d[0],u=d[1];u||(u=A,A=(0,a.t)(\"Global\")),e[A]=e[A]||{continent:A,regions:[]},e[A].regions.push({label:s(u),cities:[],timezoneId:l})}}catch(n){o.e(n)}finally{o.f()}var p,m=r(t);try{for(m.s();!(p=m.n()).done;){var T=p.value,h=T.continent,g=T.label,C=T.timezoneId;e[h]=e[h]||{continent:h,regions:[]},e[h].regions.push({label:g,cities:[],timezoneId:C})}}catch(n){m.e(n)}finally{m.f()}for(var b in e)Object.prototype.hasOwnProperty.call(e,b)&&(e[b].regions.sort((function(n,t){return n.label<t.label?-1:1})),i.push(e[b]));return i.sort((function(n,t){return n.continent<t.continent?-1:1})),i}((p||function(){for(var n in d.debug(\"Using version \".concat(c.i8,\" of the timezone database\")),c.Ao)if(Object.prototype.hasOwnProperty.call(c.Ao,[n])){var t=[\"BEGIN:VTIMEZONE\",\"TZID:\"+n].concat((e=c.Ao[n].ics,function(n){if(Array.isArray(n))return A(n)}(e)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(e)||function(n,t){if(n){if(\"string\"==typeof n)return A(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?A(n,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),[\"END:VTIMEZONE\"]).join(\"\\r\\n\");u.registerTimezoneFromICS(n,t)}var e;for(var i in c.j3)Object.prototype.hasOwnProperty.call(c.j3,[i])&&u.registerAlias(i,c.j3[i].aliasTo);p=!0}(),u).listAllTimezones(),this.additionalTimezones)}},methods:{change:function(n){n&&this.$emit(\"input\",n.timezoneId)}}},h=T,g=e(3379),C=e.n(g),b=e(7795),f=e.n(b),v=e(569),B=e.n(v),E=e(3565),D=e.n(E),S=e(9216),y=e.n(S),x=e(4589),N=e.n(x),k=e(3317),R={};R.styleTagTransform=N(),R.setAttributes=D(),R.insert=B().bind(null,\"head\"),R.domAPI=f(),R.insertStyleElement=y(),C()(k.Z,R),k.Z&&k.Z.locals&&k.Z.locals;var F=e(1900),w=e(9200),O=e.n(w),_=(0,F.Z)(h,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"Multiselect\",{attrs:{value:n.selectedTimezone,options:n.options,multiple:!1,\"group-select\":!1,placeholder:n.placeholder,\"group-values\":\"regions\",\"group-label\":\"continent\",\"track-by\":\"timezoneId\",label:\"label\",\"open-direction\":\"above\"},on:{input:n.change}})}),[],!1,null,\"4c50db00\",null);\"function\"==typeof O()&&O()(_);var Z=_.exports},4565:function(n,t,e){\"use strict\";e.d(t,{default:function(){return S}});var i=e(8099),a=e(1900),r=(0,a.Z)({name:\"UserBubbleDiv\"},(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",[n._t(\"trigger\")],2)}),[],!1,null,null,null).exports,o=e(167),s={name:\"UserBubble\",components:{Popover:i.default,Avatar:o.default,UserBubbleDiv:r},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,required:!0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:function(n){try{return!!(n=new URL(n))}catch(n){return!1}}},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},computed:{isPopoverComponent:function(){return this.popoverEmpty?\"UserBubbleDiv\":\"Popover\"},isAvatarUrl:function(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch(n){return!1}},isCustomAvatar:function(){return!!this.avatarImage},isLinkComponent:function(){return this.url&&\"\"!==this.url.trim()?{is:\"a\",href:this.url}:{is:\"div\"}},popoverEmpty:function(){return!(\"default\"in this.$slots)},styles:function(){return{content:{height:this.size+\"px\",lineHeight:this.size+\"px\",borderRadius:this.size/2+\"px\"},avatar:{marginLeft:this.margin+\"px\"}}}},methods:{onOpenChange:function(n){this.$emit(\"update:open\",n)},onClick:function(n){this.$emit(\"click\",n)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(4705),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(2527),E=e.n(B),D=(0,a.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(n.isPopoverComponent,{tag:\"Popover\",staticClass:\"user-bubble__wrapper\",attrs:{trigger:\"hover focus\",open:n.open},on:{\"update:open\":n.onOpenChange},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[e(\"div\",n._b({staticClass:\"user-bubble__content\",class:n.primary?\"user-bubble__content--primary\":\"\",style:n.styles.content,on:{click:n.onClick}},\"div\",n.isLinkComponent,!1),[e(\"Avatar\",n._b({staticClass:\"user-bubble__avatar\",style:n.styles.avatar,attrs:{url:n.isCustomAvatar&&n.isAvatarUrl?n.avatarImage:void 0,\"icon-class\":n.isCustomAvatar&&!n.isAvatarUrl?n.avatarImage:void 0,user:n.user,\"display-name\":n.displayName,size:n.size-2*n.margin,\"disable-tooltip\":!0,\"disable-menu\":!0}},\"Avatar\",n.$props,!1)),n._v(\" \"),e(\"span\",{staticClass:\"user-bubble__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.displayName||n.user)+\"\\n\\t\\t\\t\")]),n._v(\" \"),n.$slots.title?e(\"span\",{staticClass:\"user-bubble__secondary\"},[n._t(\"title\")],2):n._e()],1)]},proxy:!0}],null,!0)},[n._v(\" \"),n._t(\"default\")],2)}),[],!1,null,\"864988e2\",null);\"function\"==typeof E()&&E()(D);var S=D.exports},8167:function(n,t,e){\"use strict\";t.default={inserted:function(n){n.focus()}}},5675:function(n,t,e){\"use strict\";var i=e(1390);t.default=function(n,t){var e;!0===(null===(e=t.value)||void 0===e?void 0:e.linkify)&&(n.innerHTML=(0,i.Z)(t.value.text))}},9040:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i=e(2965),a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(6051),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals,i.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"17fd6e1\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1,i.VTooltip.options.defaultDelay={show:500,hide:200};var C=i.VTooltip},7791:function(n,t,e){\"use strict\";e.d(t,{addRecent:function(){return s},emojiSearch:function(){return o}});var i=require(\"emoji-mart-vue-fast/data/all.json\"),a=e.n(i),r=require(\"emoji-mart-vue-fast\"),o=function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,e=new r.EmojiIndex(a());return n?e.search(n,t)||[]:r.frequently.get(t).map((function(n){return e.emoji(n)}))||[]},s=function(n){r.frequently.add(n)}},7993:function(n,t,e){\"use strict\";e.d(t,{default:function(){return o}});var i=require(\"md5\"),a=e.n(i),r=e(6609),o=function(n){var t=n.toLowerCase();return null===t.match(/^([0-9a-f]{4}-?){8}$/)&&(t=a()(t)),t=t.replace(/[^0-9a-f]/g,\"\"),(0,r.Z)(6)[function(n,t){for(var e=0,i=[],a=0;a<n.length;a++)i.push(parseInt(n.charAt(a),16)%16);for(var r in i)e+=i[r];return parseInt(parseInt(e,10)%18,10)}(t)]}},932:function(n,t,e){\"use strict\";e.d(t,{n:function(){return r},t:function(){return o}});var i=(0,e(6036).getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",Choose:\"إختيار\",Close:\"أغلق\",\"Close navigation\":\"إغلاق المتصفح\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",\"Open navigation\":\"فتح المتصفح\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Close navigation\":\"Tancar la navegació\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Open navigation\":\"Obrir la navegació\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfer canvis\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escriu un missatge, @ per esmentar algú, : per a la compleció automàtica d'emojis...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Close navigation\":\"Zavřít navigaci\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Open navigation\":\"Otevřít navigaci\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … \"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",\"Write message, @ to mention someone …\":\"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",Choose:\"Elegir\",Close:\"Cerrar\",\"Close navigation\":\"Cerrar navegación\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegación\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",Choose:\"Aukeratu\",Close:\"Itxi\",\"Close navigation\":\"Itxi nabigazioa\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",\"Open navigation\":\"Ireki nabigazioa\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Aukeratu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Idatzi mezua, @ norbait aipatzeko, : emojia automatikoki idazteko\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",Choose:\"Choisir\",Close:\"Fermer\",\"Close navigation\":\"Fermer la navigation\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Open navigation\":\"Ouvrir la navigation\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Ecrire un message, @ pour mentionner quelqu'un, : pour l'auto-complétion des émoticônes\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Cancel changes\":\"Változtatások elvetése\",Choose:\"Válassszon\",Close:\"Bezárás\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Close navigation\":\"Chiudi la navigazione\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Open navigation\":\"Apri la navigazione\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Scrivi un messaggio, @ per menzionare qualcuno, : per il completamento automatico delle emoji ...\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを記入 @をつけるとその人に通知が行きます\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",Choose:\"Velg\",Close:\"Lukk\",\"Close navigation\":\"Lukk navigasjon\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Open navigation\":\"Åpne navigasjon\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjons instillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Skriv for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",\"Write message, @ to mention someone …\":\"Bruk @ for å nevne noen i en melding\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Close navigation\":\"Zamknij nawigację\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Open navigation\":\"Otwórz nawigację\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Close navigation\":\"Fechar navegação\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegação\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Cancel changes\":\"Prekliči spremembe\",Choose:\"Izbor\",Close:\"Zapri\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Close navigation\":\"Stäng navigering\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Open navigation\":\"Öppna navigering\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Open navigation\":\"Gezinmeyi aç\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"选择\",Close:\"关闭\",\"Close navigation\":\"关闭导航\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"External documentation for {title}\":\"{title}的外部文档\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Open navigation\":\"开启导航\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"写信息,@ 提到某人,: 用于表情符号自动完成 ...\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName}的頭像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"選擇\",Close:\"關閉\",\"Close navigation\":\"關閉導航\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Open navigation\":\"開啟導航\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(n){var t={};for(var e in n.translations)n.translations[e].pluralId?t[e]={msgid:e,msgid_plural:n.translations[e].pluralId,msgstr:n.translations[e].msgstr}:t[e]={msgid:e,msgstr:[n.translations[e]]};i.addTranslation(n.locale,{translations:{\"\":t}})}));var a=i.build(),r=a.ngettext.bind(a),o=a.gettext.bind(a)},723:function(n,t,e){\"use strict\";var i=e(2734),a=e.n(i);t.Z={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(a().util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},9156:function(n,t,e){\"use strict\";var i=e(723),a=e(6021);t.Z={mixins:[i.Z],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(n){return!1}}},methods:{onClick:function(n){if(this.$emit(\"click\",n),this.closeAfterClick){var t=(0,a.Z)(this,\"Actions\");t&&t.closeMenu&&t.closeMenu()}}}}},9150:function(n,t){\"use strict\";function e(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}t.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(n){var t=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===t.length||!this.hasNodeOrAnyParentClass(n.target,t)},hasNodeOrAnyParentClass:function(n,t){var i,a=function(n,t){var i=\"undefined\"!=typeof Symbol&&n[Symbol.iterator]||n[\"@@iterator\"];if(!i){if(Array.isArray(n)||(i=function(n,t){if(n){if(\"string\"==typeof n)return e(n,t);var i=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===i&&n.constructor&&(i=n.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(n):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?e(n,t):void 0}}(n))||t&&n&&\"number\"==typeof n.length){i&&(n=i);var a=0,r=function(){};return{s:r,n:function(){return a>=n.length?{done:!0}:{done:!1,value:n[a++]}},e:function(n){throw n},f:r}}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 o,s=!0,l=!1;return{s:function(){i=i.call(n)},n:function(){var n=i.next();return s=n.done,n},e:function(n){l=!0,o=n},f:function(){try{s||null==i.return||i.return()}finally{if(l)throw o}}}}(t);try{for(a.s();!(i=a.n()).done;){var r,o=i.value;if(null!=n&&null!==(r=n.classList)&&void 0!==r&&r.contains(o))return!0}}catch(n){a.e(n)}finally{a.f()}return!!n.parentElement&&this.hasNodeOrAnyParentClass(n.parentElement,t)}}}},3351:function(n,t,e){\"use strict\";e.d(t,{yd:function(){return i.default},rm:function(){return a.default},tq:function(){return r.default},bf:function(){return o.default},iQ:function(){return p}});var i=e(9150),a=e(8136),r=e(334),o=e(1088),s=e(768),l=e.n(s),c=e(4262),d=require(\"@nextcloud/capabilities\"),A=e(3607);function u(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(n){var t,e=this;return(t=regeneratorRuntime.mark((function t(){var i,a,r,o,s,u,p,m,T;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n){t.next=2;break}return t.abrupt(\"return\");case 2:if(i=(0,d.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){t.next=5;break}return t.abrupt(\"return\");case 5:if((0,A.getCurrentUser)()){t.next=7;break}return t.abrupt(\"return\");case 7:return t.prev=7,t.next=10,l().get((0,c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:n}));case 10:a=t.sent,r=a.data,o=r.ocs.data,s=o.status,u=o.message,p=o.icon,e.userStatus.status=s,e.userStatus.message=u||\"\",e.userStatus.icon=p||\"\",e.hasStatus=!0,t.next=24;break;case 19:if(t.prev=19,t.t0=t.catch(7),404!==t.t0.response.status||0!==(null===(m=t.t0.response.data.ocs)||void 0===m||null===(T=m.data)||void 0===T?void 0:T.length)){t.next=23;break}return t.abrupt(\"return\");case 23:console.error(t.t0);case 24:case\"end\":return t.stop()}}),t,null,[[7,19]])})),function(){var n=this,e=arguments;return new Promise((function(i,a){var r=t.apply(n,e);function o(n){u(r,i,a,o,s,\"next\",n)}function s(n){u(r,i,a,o,s,\"throw\",n)}o(void 0)}))})()}}}},8136:function(n,t){\"use strict\";t.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},334:function(n,t,e){\"use strict\";e.d(t,{default:function(){return r}});var i=e(2734),a=new(e.n(i)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(n){this.$emit(\"changed\",n)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}}),r={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(n){this.isMobile=n}}}},3648:function(n,t,e){\"use strict\";var i=e(932);t.Z={methods:{n:i.n,t:i.t}}},1088:function(n,t,e){\"use strict\";e.d(t,{default:function(){return F}});var i=require(\"escape-html\"),a=e.n(i),r=e(1390),o=require(\"striptags\"),s=e.n(o),l=e(2734),c=e.n(l),d=e(4262),A={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(n,t){return(0,d.generateUrl)(\"/avatar/{user}/{size}\",{user:n,size:t})}}},u=e(3379),p=e.n(u),m=e(7795),T=e.n(m),h=e(569),g=e.n(h),C=e(3565),b=e.n(C),f=e(9216),v=e.n(f),B=e(4589),E=e.n(B),D=e(4388),S={};S.styleTagTransform=E(),S.setAttributes=b(),S.insert=g().bind(null,\"head\"),S.domAPI=T(),S.insertStyleElement=v(),p()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var y=(0,e(1900).Z)(A,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":n.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[n.icon,\"mention-bubble__icon--\"+(n.avatarUrl?\"with-avatar\":\"\")],style:n.avatarUrl?{backgroundImage:\"url(\"+n.avatarUrl+\")\"}:null}),n._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:n.label}})]),n._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[n._v(n._s(n.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,x=\"(?:^|\\\\s)\",N=\"(?:[^a-z]|$)\",k=new RegExp(\"\".concat(x,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(N,\")\"),\"gi\"),R=new RegExp(\"\".concat(x,\"(@"[a-zA-Z0-9 _.@\\\\-']+")(\").concat(N,\")\"),\"gi\"),F={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(n){var t=this;return a()(n).split(k).map((function(n){return n.split(R)})).flat().map((function(n){if(!n.startsWith(\"@\"))return(0,r.Z)(n);var e=n.replace(/@|"/gi,\"\");return\" \"+t.genSelectTemplate(e)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&/gim,\"&\")},parseContent:function(n){var t=n.replace(/<br>/gim,\"\\n\");return t=(t=(t=t.replace(/ /gim,\" \")).replace(/&/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),t=s()(t,\"<div>\"),s()(t)},genSelectTemplate:function(n){var t=this.userData[n];return t?this.renderComponentHtml(t,y).replace(/[\\n\\t]/gim,\"\"):-1===n.indexOf(\" \")?\"@\".concat(n):'@\"'.concat(n,'\"')},renderComponentHtml:function(n,t){var e=new(c().extend(t))({propsData:n}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),e.$mount(a);var r=i.innerHTML;return e.$destroy(),i.remove(),r}}}},1336:function(n,t){\"use strict\";t.Z=function(n,t){for(var e=[],i=0,a=n.toLowerCase().indexOf(t.toLowerCase(),i),r=0;a>-1&&r<n.length;)i=a+t.length,e.push({start:a,end:i}),a=n.toLowerCase().indexOf(t.toLowerCase(),i),r++;return e}},6609:function(n,t){\"use strict\";function e(n,t,e){this.r=n,this.g=t,this.b=e}function i(n,t,i){var a=[];a.push(t);for(var r=function(n,t){var e=new Array(3);return e[0]=(t[1].r-t[0].r)/n,e[1]=(t[1].g-t[0].g)/n,e[2]=(t[1].b-t[0].b)/n,e}(n,[t,i]),o=1;o<n;o++){var s=parseInt(t.r+r[0]*o,10),l=parseInt(t.g+r[1]*o,10),c=parseInt(t.b+r[2]*o,10);a.push(new e(s,l,c))}return a}t.Z=function(n){n||(n=6);var t=new e(182,70,157),a=new e(221,203,85),r=new e(0,130,201),o=i(n,t,a),s=i(n,a,r),l=i(n,r,t);return o.concat(s).concat(l)}},1205:function(n,t){\"use strict\";t.Z=function(n){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,n||5)}},6021:function(n,t){\"use strict\";t.Z=function(n,t){for(var e=n.$parent;e;){if(e.$options.name===t)return e;e=e.$parent}}},1390:function(n,t,e){\"use strict\";e.d(t,{Z:function(){return r}});var i=require(\"linkify-string\"),a=e.n(i),r=function(n){return a()(n,{defaultProtocol:\"https\",target:\"_blank\",className:\"external linkified\",attributes:{rel:\"nofollow noopener noreferrer\"}})}},7645:function(n,t){\"use strict\";t.Z=function(n){n.mounted?Array.isArray(n.mounted)||(n.mounted=[n.mounted]):n.mounted=[],n.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"17fd6e1\"),\"\")}))}},7695:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r),s=e(1667),l=e.n(s),c=e(1626),d=e(6953),A=e(9616),u=e(2943),p=e(6951),m=e(5104),T=e(9635),h=e(6816),g=o()(a()),C=l()(c.Z),b=l()(d.Z),f=l()(A.Z),v=l()(u.Z),B=l()(p.Z),E=l()(m.Z),D=l()(T.Z),S=l()(h.Z);g.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-icon-left:before,.mx-icon-right:before,.mx-icon-double-left:before,.mx-icon-double-right:before,.mx-icon-double-left:after,.mx-icon-double-right:after{content:'';position:relative;top:-1px;display:inline-block;width:10px;height:10px;vertical-align:middle;border-style:solid;border-color:currentColor;border-width:2px 0 0 2px;border-radius:1px;box-sizing:border-box;transform-origin:center;transform:rotate(-45deg) scale(0.7)}.mx-icon-double-left:after{left:-4px}.mx-icon-double-right:before{left:4px}.mx-icon-right:before,.mx-icon-double-right:before,.mx-icon-double-right:after{transform:rotate(135deg) scale(0.7)}.mx-btn{box-sizing:border-box;line-height:1;font-size:14px;font-weight:500;padding:7px 15px;margin:0;cursor:pointer;background-color:transparent;outline:none;border:1px solid rgba(0,0,0,0.1);border-radius:4px;color:#73879c;white-space:nowrap}.mx-btn:hover{border-color:#1284e7;color:#1284e7}.mx-btn-text{border:0;padding:0 4px;text-align:left;line-height:inherit}.mx-scrollbar{height:100%}.mx-scrollbar:hover .mx-scrollbar-track{opacity:1}.mx-scrollbar-wrap{height:100%;overflow-x:hidden;overflow-y:auto}.mx-scrollbar-track{position:absolute;top:2px;right:2px;bottom:2px;width:6px;z-index:1;border-radius:4px;opacity:0;transition:opacity 0.24s ease-out}.mx-scrollbar-track .mx-scrollbar-thumb{position:absolute;width:100%;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,0.3);transition:background-color 0.3s}.mx-zoom-in-down-enter-active,.mx-zoom-in-down-leave-active{opacity:1;transform:scaleY(1);transition:transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);transform-origin:center top}.mx-zoom-in-down-enter,.mx-zoom-in-down-enter-from,.mx-zoom-in-down-leave-to{opacity:0;transform:scaleY(0)}.mx-datepicker{position:relative;display:inline-block;width:210px}.mx-datepicker svg{width:1em;height:1em;vertical-align:-0.15em;fill:currentColor;overflow:hidden}.mx-datepicker-range{width:320px}.mx-datepicker-inline{width:auto}.mx-input-wrapper{position:relative}.mx-input-wrapper .mx-icon-clear{display:none}.mx-input-wrapper:hover .mx-icon-clear{display:block}.mx-input-wrapper:hover .mx-icon-clear+.mx-icon-calendar{display:none}.mx-input{display:inline-block;box-sizing:border-box;width:100%;height:34px;padding:6px 30px;padding-left:10px;font-size:14px;line-height:1.4;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.mx-input:hover,.mx-input:focus{border-color:#409aff}.mx-input:disabled,.mx-input.disabled{color:#ccc;background-color:#f3f3f3;border-color:#ccc;cursor:not-allowed}.mx-input:focus{outline:none}.mx-input::-ms-clear{display:none}.mx-icon-calendar,.mx-icon-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:16px;line-height:1;color:rgba(0,0,0,0.5);vertical-align:middle}.mx-icon-clear{cursor:pointer}.mx-icon-clear:hover{color:rgba(0,0,0,0.8)}.mx-datepicker-main{font:14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;color:#73879c;background-color:#fff;border:1px solid #e8e8e8}.mx-datepicker-popup{position:absolute;margin-top:1px;margin-bottom:1px;box-shadow:0 6px 12px rgba(0,0,0,0.175);z-index:2001}.mx-datepicker-sidebar{float:left;box-sizing:border-box;width:100px;padding:6px;overflow:auto}.mx-datepicker-sidebar+.mx-datepicker-content{margin-left:100px;border-left:1px solid #e8e8e8}.mx-datepicker-body{position:relative;user-select:none}.mx-btn-shortcut{display:block;padding:0 6px;line-height:24px}.mx-range-wrapper{display:flex}@media (max-width: 750px){.mx-range-wrapper{flex-direction:column}}.mx-datepicker-header{padding:6px 8px;border-bottom:1px solid #e8e8e8}.mx-datepicker-footer{padding:6px 8px;text-align:right;border-top:1px solid #e8e8e8}.mx-calendar{box-sizing:border-box;width:248px;padding:6px 12px}.mx-calendar+.mx-calendar{border-left:1px solid #e8e8e8}.mx-calendar-header,.mx-time-header{box-sizing:border-box;height:34px;line-height:34px;text-align:center;overflow:hidden}.mx-btn-icon-left,.mx-btn-icon-double-left{float:left}.mx-btn-icon-right,.mx-btn-icon-double-right{float:right}.mx-calendar-header-label{font-size:14px}.mx-calendar-decade-separator{margin:0 2px}.mx-calendar-decade-separator:after{content:'~'}.mx-calendar-content{position:relative;height:224px;box-sizing:border-box}.mx-calendar-content .cell{cursor:pointer}.mx-calendar-content .cell:hover{color:#73879c;background-color:#f3f9fe}.mx-calendar-content .cell.active{color:#fff;background-color:#1284e7}.mx-calendar-content .cell.in-range,.mx-calendar-content .cell.hover-in-range{color:#73879c;background-color:#dbedfb}.mx-calendar-content .cell.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-calendar-week-mode .mx-date-row{cursor:pointer}.mx-calendar-week-mode .mx-date-row:hover{background-color:#f3f9fe}.mx-calendar-week-mode .mx-date-row.mx-active-week{background-color:#dbedfb}.mx-calendar-week-mode .mx-date-row .cell:hover{color:inherit;background-color:transparent}.mx-calendar-week-mode .mx-date-row .cell.active{color:inherit;background-color:transparent}.mx-week-number{opacity:0.5}.mx-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;height:100%;box-sizing:border-box;text-align:center}.mx-table th{padding:0;font-weight:500;vertical-align:middle}.mx-table td{padding:0;vertical-align:middle}.mx-table-date td,.mx-table-date th{height:32px;font-size:12px}.mx-table-date .today{color:#2a90e9}.mx-table-date .cell.not-current-month{color:#ccc;background:none}.mx-time{flex:1;width:224px;background:#fff}.mx-time+.mx-time{border-left:1px solid #e8e8e8}.mx-calendar-time{position:absolute;top:0;left:0;width:100%;height:100%}.mx-time-header{border-bottom:1px solid #e8e8e8}.mx-time-content{height:224px;box-sizing:border-box;overflow:hidden}.mx-time-columns{display:flex;width:100%;height:100%;overflow:hidden}.mx-time-column{flex:1;position:relative;border-left:1px solid #e8e8e8;text-align:center}.mx-time-column:first-child{border-left:0}.mx-time-column .mx-time-list{margin:0;padding:0;list-style:none}.mx-time-column .mx-time-list::after{content:'';display:block;height:192px}.mx-time-column .mx-time-item{cursor:pointer;font-size:12px;height:32px;line-height:32px}.mx-time-column .mx-time-item:hover{color:#73879c;background-color:#f3f9fe}.mx-time-column .mx-time-item.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-column .mx-time-item.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-time-option{cursor:pointer;padding:8px 10px;font-size:14px;line-height:20px}.mx-time-option:hover{color:#73879c;background-color:#f3f9fe}.mx-time-option.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-option.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-datepicker[data-v-17fd6e1]{user-select:none;color:var(--color-main-text)}.mx-datepicker[data-v-17fd6e1] svg{fill:var(--color-main-text)}.mx-datepicker[data-v-17fd6e1] .mx-input-wrapper .mx-input{width:100%;border:1px solid var(--color-border);background-color:var(--color-main-background);background-clip:content-box}.mx-datepicker[data-v-17fd6e1] .mx-input-wrapper:disabled,.mx-datepicker[data-v-17fd6e1] .mx-input-wrapper.disabled{cursor:not-allowed;opacity:.7}.mx-datepicker[data-v-17fd6e1] .mx-input-wrapper .mx-icon-calendar,.mx-datepicker[data-v-17fd6e1] .mx-input-wrapper .mx-icon-clear{color:var(--color-text-lighter)}.mx-datepicker-main{color:var(--color-main-text);border:1px solid var(--color-border);background-color:var(--color-main-background);font-family:var(--font-face) !important;line-height:1.5}.mx-datepicker-main svg{fill:var(--color-main-text)}.mx-datepicker-main.mx-datepicker-popup{z-index:2000;box-shadow:none}.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar+.mx-datepicker-content{border-left:1px solid var(--color-border)}.mx-datepicker-main.show-week-number .mx-calendar{width:266px}.mx-datepicker-main .mx-datepicker-header{border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-footer{border-top:1px solid var(--color-border)}.mx-datepicker-main .mx-calendar{width:234px;padding:5px}.mx-datepicker-main .mx-calendar.mx-calendar-week-mode{width:266px}.mx-datepicker-main .mx-time+.mx-time,.mx-datepicker-main .mx-calendar+.mx-calendar{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-range-wrapper{display:flex;overflow:hidden}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active{border-radius:var(--border-radius) 0 0 var(--border-radius)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range+.cell.active{border-radius:0 var(--border-radius) var(--border-radius) 0}.mx-datepicker-main .mx-table{text-align:center}.mx-datepicker-main .mx-table thead>tr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:transparent}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 auto;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+C+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+b+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+f+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+v+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+B+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+E+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+D+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+S+\")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:transparent}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./node_modules/vue2-datepicker/scss/index.scss\",\"webpack://./src/components/DatetimePicker/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-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(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-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, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-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 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-enter-from,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-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: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-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 th {\\n padding: 0;\\n font-weight: 500;\\n vertical-align: middle;\\n }\\n td {\\n padding: 0;\\n vertical-align: middle;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n$cell_height: 32px;\\n\\n@import '~vue2-datepicker/scss/index';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px; // 7 days + padding\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 auto; // center also single element\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-size: 16px;\\n\\t\\t\\t\\tbackground-position: center;\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\tbackground-image: url('./chevron-double-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\tbackground-image: url('./chevron-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\tbackground-image: url('./chevron-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\tbackground-image: url('./chevron-double-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=g},5850:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-17fd6e1]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-17fd6e1]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-17fd6e1].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-17fd6e1].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-17fd6e1].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-17fd6e1].multiselect--disabled,.multiselect[data-v-17fd6e1].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-17fd6e1].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-17fd6e1] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__single,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__single,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__single *,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__strong,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-17fd6e1] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li,.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-17fd6e1].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-17fd6e1].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-17fd6e1].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-17fd6e1].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-17fd6e1].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-17fd6e1]:hover .multiselect__placeholder,.multiselect[data-v-17fd6e1] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Multiselect/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6051:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-17fd6e1]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-17fd6e1][x-placement^='top'] .tooltip-arrow{bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='bottom'] .tooltip-arrow{top:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='right'] .tooltip-arrow{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='left'] .tooltip-arrow{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-17fd6e1][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-17fd6e1] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:transparent;border-width:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAoBE,QAAS,CACT,qBAAsB,CACtB,6CAA8C,CAtBhD,mEA2BE,KAAM,CACN,kBAAmB,CACnB,gDAAiD,CA7BnD,kEAkCE,UAAW,CACX,mBAAoB,CACpB,+CAAgD,CApClD,iEAyCE,SAAU,CACV,oBAAqB,CACrB,8CAA+C,CA3CjD,iDAgDE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CAlDZ,kDAqDE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CAvDZ,4CA4DE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAjEhD,4CAsEE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,wBAAyB,CACzB,iBA/EgB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] .tooltip-arrow {\\n\\t\\tbottom: 0;\\n\\t\\tborder-bottom-width: 0;\\n\\t\\tborder-top-color: var(--color-main-background);\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] .tooltip-arrow {\\n\\t\\ttop: 0;\\n\\t\\tborder-top-width: 0;\\n\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] .tooltip-arrow {\\n\\t\\tright: 100%;\\n\\t\\tborder-left-width: 0;\\n\\t\\tborder-right-color: var(--color-main-background);\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] .tooltip-arrow {\\n\\t\\tleft: 100%;\\n\\t\\tborder-right-width: 0;\\n\\t\\tborder-left-color: var(--color-main-background);\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},7087:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-ef50c406]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ef50c406]{background-color:var(--color-background-hover)}.action--disabled[data-v-ef50c406]{pointer-events:none;opacity:.5}.action--disabled[data-v-ef50c406]:hover,.action--disabled[data-v-ef50c406]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ef50c406]{opacity:1 !important}.action-button[data-v-ef50c406]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-ef50c406]:hover,.action-button[data-v-ef50c406]:focus{opacity:1}.action-button>span[data-v-ef50c406]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-ef50c406]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-ef50c406] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-ef50c406] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-ef50c406]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-ef50c406]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-ef50c406]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6429:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2fd4f3eb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-2fd4f3eb]{color:var(--color-text-maxcontrast);line-height:44px;white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-left:12px;padding-right:14px;height:44px;display:flex;align-items:center}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ActionCaption/ActionCaption.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8CxB,yCACC,mCAAoC,CACpC,gBC/BoB,CDgCpB,kBAAmB,CACnB,sBAAuB,CACvB,0BAA2B,CAC3B,gBAAiB,CACjB,mBAAoB,CACpB,gBAAiB,CACjB,kBAAmB,CACnB,WCvCoB,CDwCpB,YAAa,CACb,kBAAmB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-caption {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tline-height: $clickable-area;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tbox-shadow: none !important;\\n\\tuser-select: none;\\n\\tpointer-events: none;\\n\\tmargin-left: 12px;\\n\\tpadding-right: 14px;\\n\\theight: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4105:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-cae5b47a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-cae5b47a]{background-color:var(--color-background-hover)}.action--disabled[data-v-cae5b47a]{pointer-events:none;opacity:.5}.action--disabled[data-v-cae5b47a]:hover,.action--disabled[data-v-cae5b47a]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-cae5b47a]{opacity:1 !important}.action-checkbox[data-v-cae5b47a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-cae5b47a]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__checkbox:focus+.action-checkbox__label[data-v-cae5b47a]{opacity:1}.action-checkbox__label[data-v-cae5b47a]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-checkbox__label[data-v-cae5b47a]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-cae5b47a],.action-checkbox--disabled .action-checkbox__label[data-v-cae5b47a]{cursor:pointer}.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-cae5b47a],.action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-cae5b47a]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/ActionCheckbox/ActionCheckbox.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEsHxB,kCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDxJoB,CC2JpB,4CACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,0EAUC,SDlJa,CCmJb,yCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD/JiB,CCuJjB,iDAYC,0BAA2B,CAC3B,gHAMA,cAAe,CAvDlB,gMA8DG,SDhLa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},3949:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-3a716b2a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-3a716b2a]:not(.button-vue),input[data-v-3a716b2a]:not([type='range']),textarea[data-v-3a716b2a]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-3a716b2a]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-3a716b2a]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-3a716b2a],input[data-v-3a716b2a]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-3a716b2a]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-3a716b2a],textarea[data-v-3a716b2a]:not(:disabled):not(.primary):hover,textarea[data-v-3a716b2a]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-3a716b2a]{border-color:var(--color-primary-element);outline:none}button[data-v-3a716b2a]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-3a716b2a]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-3a716b2a]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-3a716b2a]:not(.button-vue):disabled,input[data-v-3a716b2a]:not([type='range']):disabled,textarea[data-v-3a716b2a]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-3a716b2a]:not(.button-vue):required,input[data-v-3a716b2a]:not([type='range']):required,textarea[data-v-3a716b2a]:required{box-shadow:none}button[data-v-3a716b2a]:not(.button-vue):invalid,input[data-v-3a716b2a]:not([type='range']):invalid,textarea[data-v-3a716b2a]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-3a716b2a],input:not([type='range']).primary[data-v-3a716b2a],textarea.primary[data-v-3a716b2a]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):hover,button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):focus,button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):active,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):hover,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):focus,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):active,textarea.primary[data-v-3a716b2a]:not(:disabled):hover,textarea.primary[data-v-3a716b2a]:not(:disabled):focus,textarea.primary[data-v-3a716b2a]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):active,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):active,textarea.primary[data-v-3a716b2a]:not(:disabled):active{color:var(--color-primary-text-dark)}button:not(.button-vue).primary[data-v-3a716b2a]:disabled,input:not([type='range']).primary[data-v-3a716b2a]:disabled,textarea.primary[data-v-3a716b2a]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-3a716b2a]{background-color:var(--color-background-hover)}.action--disabled[data-v-3a716b2a]{pointer-events:none;opacity:.5}.action--disabled[data-v-3a716b2a]:hover,.action--disabled[data-v-3a716b2a]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-3a716b2a]{opacity:1 !important}.action-input[data-v-3a716b2a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal}.action-input[data-v-3a716b2a] .material-design-icon{width:44px;height:44px;opacity:1}.action-input[data-v-3a716b2a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input[data-v-3a716b2a]:not(.action-input--picker){opacity:.7}.action-input[data-v-3a716b2a]:not(.action-input--picker):hover,.action-input[data-v-3a716b2a]:not(.action-input--picker):focus{opacity:1}.action-input--picker .action-input__icon[data-v-3a716b2a]{opacity:.7}.action-input--picker:hover .action-input__icon[data-v-3a716b2a],.action-input--picker:focus .action-input__icon[data-v-3a716b2a]{opacity:1}.action-input>span[data-v-3a716b2a]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-3a716b2a]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-3a716b2a]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__submit[data-v-3a716b2a]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__label[data-v-3a716b2a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-sizing:border-box;margin:0 0 0 -8px;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-left-color:transparent;border-radius:0 var(--border-radius) var(--border-radius) 0;background-color:var(--color-main-background);background-clip:padding-box}.action-input__label[data-v-3a716b2a],.action-input__label *[data-v-3a716b2a]{cursor:pointer}.action-input__input[data-v-3a716b2a]{flex:1 1 auto;min-width:132px;min-height:36px;max-height:36px;margin:0}.action-input__input[data-v-3a716b2a]:disabled{cursor:default}.action-input__input:not(:active):not(:hover):not(:focus):invalid+.action-input__label[data-v-3a716b2a]{border-color:var(--color-error);border-left-color:transparent}.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-3a716b2a]:active,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-3a716b2a]:hover,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-3a716b2a]:focus{border-color:var(--color-primary-element);border-radius:var(--border-radius)}.action-input__input:active:not(:disabled)+.action-input__label[data-v-3a716b2a],.action-input__input:hover:not(:disabled)+.action-input__label[data-v-3a716b2a],.action-input__input:focus:not(:disabled)+.action-input__label[data-v-3a716b2a]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}.action-input__picker[data-v-3a716b2a] .mx-input{margin:0}.action-input__multi[data-v-3a716b2a]{width:100%}li:last-child>.action-input[data-v-3a716b2a]{padding-bottom:10px}li:first-child>.action-input[data-v-3a716b2a]{padding-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/inputs.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/assets/action.scss\",\"webpack://./src/components/ActionInput/ActionInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,8GCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,woBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,0NA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,yIAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,yIAwCE,eAAgB,CAxClB,sIA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,sIAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,klBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,wMA+DI,oCAAqC,CA/DzC,iKAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CCiOxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CAlBpB,qDAqBE,UFrQmB,CEsQnB,WFtQmB,CEuQnB,SFpPc,CE6NhB,gFA0BG,qBAAsB,CA1BzB,0DAgCE,UF9PiB,CE8NnB,gIAmCG,SFhQa,CEiQb,2DAMA,UFxQgB,CEsQjB,kIAMC,SF3Qa,CE6NhB,oCAmDE,cAAe,CACf,kBAAmB,CACnB,qCAGA,WAAY,CACZ,YAAa,CAGb,wBF5SmB,CE8SnB,+BAA2C,CAC3C,oBF3Sc,CE4Sd,qCAIA,YAAa,CACb,kBAAmB,CACnB,aAAc,CAEd,YAAuB,CACvB,kBFjT8C,CEkT9C,uCAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,sCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAEvB,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,iBAAkB,CAClB,eAAgB,CAEhB,SF7Tc,CE8Td,+BAAgC,CAChC,yCAA0C,CAC1C,6BAA8B,CAC9B,2DAA4D,CAE5D,6CAA8C,CAC9C,2BAA4B,CAlB5B,8EAqBC,cAAe,CACf,sCAKD,aAAc,CAEd,eAA8B,CAC9B,eAAY,CACZ,eAAY,CACZ,QAAS,CANT,+CAUC,cAAe,CAVhB,wGAiBG,+BAAgC,CAChC,6BAA8B,CAlBjC,gWAyBG,yCAA0C,CAC1C,kCAAmC,CA1BtC,iPAmCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,iDAMD,QAAS,CACT,sCAID,UAAW,CACX,6CAOD,mBAA4C,CAC5C,8CAIA,gBAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton:not(.button-vue),\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker::v-deep {\\n\\t\\t.mx-input {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tpadding-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tpadding-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},4975:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-c8248868]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-c8248868]{background-color:var(--color-background-hover)}.action-link[data-v-c8248868]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link[data-v-c8248868]:hover,.action-link[data-v-c8248868]:focus{opacity:1}.action-link>span[data-v-c8248868]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-c8248868]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-c8248868] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-c8248868] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-c8248868]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-c8248868]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-c8248868]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},8631:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-9e294d1a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-9e294d1a]{background-color:var(--color-background-hover)}.action--disabled[data-v-9e294d1a]{pointer-events:none;opacity:.5}.action--disabled[data-v-9e294d1a]:hover,.action--disabled[data-v-9e294d1a]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-9e294d1a]{opacity:1 !important}.action-radio[data-v-9e294d1a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-9e294d1a]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__radio:focus+.action-radio__label[data-v-9e294d1a]{opacity:1}.action-radio__label[data-v-9e294d1a]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-radio__label[data-v-9e294d1a]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-9e294d1a],.action-radio--disabled .action-radio__label[data-v-9e294d1a]{cursor:pointer}.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-9e294d1a],.action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-9e294d1a]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/ActionRadio/ActionRadio.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEmHxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDrJoB,CCwJpB,sCACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,iEAUC,SD/Ia,CCgJb,sCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD5JiB,CCoJjB,8CAYC,0BAA2B,CAC3B,uGAMA,cAAe,CAvDlB,8KA8DG,SD7Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},8477:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0dbcc9ff]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-0dbcc9ff]{background-color:var(--color-background-hover)}.action-router[data-v-0dbcc9ff]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-router[data-v-0dbcc9ff]:hover,.action-router[data-v-0dbcc9ff]:focus{opacity:1}.action-router>span[data-v-0dbcc9ff]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-0dbcc9ff]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-0dbcc9ff] .material-design-icon{width:44px;height:44px;opacity:1}.action-router[data-v-0dbcc9ff] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router p[data-v-0dbcc9ff]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-0dbcc9ff]{cursor:pointer;white-space:pre-wrap}.action-router__title[data-v-0dbcc9ff]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-0dbcc9ff]{pointer-events:none;opacity:.5}.action--disabled[data-v-0dbcc9ff]:hover,.action--disabled[data-v-0dbcc9ff]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-0dbcc9ff]{opacity:1 !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,gCAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},2103:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-5339ba06]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-separator[data-v-5339ba06]{height:0;margin:5px 10px 5px 15px;border-bottom:1px solid var(--color-border-dark);cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ActionSeparator/ActionSeparator.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6BxB,mCACC,QAAS,CACT,wBAAyB,CACzB,gDAAiD,CACjD,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-separator {\\n\\theight: 0;\\n\\tmargin: 5px 10px 5px 15px;\\n\\tborder-bottom: 1px solid var(--color-border-dark);\\n\\tcursor: default;\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},7727:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-304eec30]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-304eec30]{background-color:var(--color-background-hover)}.action-text[data-v-304eec30]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text[data-v-304eec30]:hover,.action-text[data-v-304eec30]:focus{opacity:1}.action-text>span[data-v-304eec30]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-304eec30]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-304eec30] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-304eec30] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-304eec30]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-304eec30]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-304eec30]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-304eec30]{pointer-events:none;opacity:.5}.action--disabled[data-v-304eec30]:hover,.action--disabled[data-v-304eec30]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-304eec30]{opacity:1 !important}.action-text[data-v-304eec30],.action-text span[data-v-304eec30]{cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/ActionText/ActionText.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEwCxB,iEAGE,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},2476:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-b3a35a96]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-b3a35a96]:not(.button-vue),input[data-v-b3a35a96]:not([type='range']),textarea[data-v-b3a35a96]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-b3a35a96]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-b3a35a96]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-b3a35a96],input[data-v-b3a35a96]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-b3a35a96]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-b3a35a96],textarea[data-v-b3a35a96]:not(:disabled):not(.primary):hover,textarea[data-v-b3a35a96]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-b3a35a96]{border-color:var(--color-primary-element);outline:none}button[data-v-b3a35a96]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-b3a35a96]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-b3a35a96]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-b3a35a96]:not(.button-vue):disabled,input[data-v-b3a35a96]:not([type='range']):disabled,textarea[data-v-b3a35a96]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-b3a35a96]:not(.button-vue):required,input[data-v-b3a35a96]:not([type='range']):required,textarea[data-v-b3a35a96]:required{box-shadow:none}button[data-v-b3a35a96]:not(.button-vue):invalid,input[data-v-b3a35a96]:not([type='range']):invalid,textarea[data-v-b3a35a96]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-b3a35a96],input:not([type='range']).primary[data-v-b3a35a96],textarea.primary[data-v-b3a35a96]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):hover,button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):focus,button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):active,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):hover,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):focus,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):active,textarea.primary[data-v-b3a35a96]:not(:disabled):hover,textarea.primary[data-v-b3a35a96]:not(:disabled):focus,textarea.primary[data-v-b3a35a96]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):active,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):active,textarea.primary[data-v-b3a35a96]:not(:disabled):active{color:var(--color-primary-text-dark)}button:not(.button-vue).primary[data-v-b3a35a96]:disabled,input:not([type='range']).primary[data-v-b3a35a96]:disabled,textarea.primary[data-v-b3a35a96]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-b3a35a96]{background-color:var(--color-background-hover)}.action--disabled[data-v-b3a35a96]{pointer-events:none;opacity:.5}.action--disabled[data-v-b3a35a96]:hover,.action--disabled[data-v-b3a35a96]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-b3a35a96]{opacity:1 !important}.action-text-editable[data-v-b3a35a96]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable[data-v-b3a35a96]:hover,.action-text-editable[data-v-b3a35a96]:focus{opacity:1}.action-text-editable>span[data-v-b3a35a96]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-b3a35a96]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable__form[data-v-b3a35a96]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-b3a35a96]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-b3a35a96]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-b3a35a96],.action-text-editable__label *[data-v-b3a35a96]{cursor:pointer}.action-text-editable__textarea[data-v-b3a35a96]{flex:1 1 auto;min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-b3a35a96]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-b3a35a96]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-b3a35a96]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-b3a35a96]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-b3a35a96]:focus{background-color:var(--color-primary-element);color:var(--color-primary-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-b3a35a96],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-b3a35a96],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-b3a35a96]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}li:last-child>.action-text-editable[data-v-b3a35a96]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-b3a35a96]{margin-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/inputs.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/assets/action.scss\",\"webpack://./src/components/ActionTextEditable/ActionTextEditable.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,8GCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,woBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,0NA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,yIAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,yIAwCE,eAAgB,CAxClB,sIA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,sIAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,klBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,wMA+DI,oCAAqC,CA/DzC,iKAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CC8HxB,uCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,UFvIkB,CEwIlB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBFjKoB,CE6IrB,0FAwBE,SFlJc,CE0HhB,4CA4BE,cAAe,CACf,kBAAmB,CACnB,6CAGA,WAAY,CACZ,YAAa,CAGb,wBFlLmB,CEoLnB,+BAA2C,CAC3C,oBFjLc,CEkLd,6CAIA,YAAa,CACb,aAAc,CACd,qBAAsB,CAEtB,iBAAkB,CAClB,YAAuB,CACvB,kBFxL8C,CEyL9C,+CAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,8CAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,iBAAkB,CAClB,UAAuB,CACvB,UAAW,CACX,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,QAAS,CACT,eAAgB,CAEhB,SFxMc,CEyMd,+BAAgC,CAChC,QAAS,CACT,iBAAkB,CAElB,6CAA8C,CAC9C,2BAA4B,CArB5B,8FAwBC,cAAe,CACf,iDAKD,aAAc,CAEd,eAAY,CACZ,gBAAY,CAEZ,eAA8B,CAC9B,qBAAsB,CACtB,QAAS,CART,0DAYC,cAAe,CAZhB,2HAmBG,mCAAoC,CAnBvC,yZA0BG,6CAA8C,CAC9C,+BAAgC,CA3BnC,0SAoCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,qDASH,kBAA2C,CAC3C,sDAIA,eAAwC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton:not(.button-vue),\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},9224:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2a98ba3b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-2a98ba3b]{position:relative;display:inline-block}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active,.action-item__menutoggle[data-v-2a98ba3b]:hover,.action-item__menutoggle[data-v-2a98ba3b]:focus,.action-item__menutoggle[data-v-2a98ba3b]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-2a98ba3b]:disabled,.action-item--single[data-v-2a98ba3b]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-2a98ba3b]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-2a98ba3b],.action-item__menutoggle[data-v-2a98ba3b]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-2a98ba3b],.action-item__menutoggle--with-title[data-v-2a98ba3b]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-2a98ba3b] span,.action-item__menutoggle--with-title[data-v-2a98ba3b] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-2a98ba3b] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-2a98ba3b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-2a98ba3b]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-2a98ba3b]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-2a98ba3b],.action-item__menutoggle--primary[data-v-2a98ba3b]:hover,.action-item__menutoggle--primary[data-v-2a98ba3b]:focus,.action-item__menutoggle--primary[data-v-2a98ba3b]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-2a98ba3b]{opacity:.7}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active{opacity:1}.action-item--single>[hidden][data-v-2a98ba3b]{display:none}.ie .action-item__menu[data-v-2a98ba3b],.ie .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b],.edge .action-item__menu[data-v-2a98ba3b],.edge .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Actions/Actions.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCopBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SC5nBc,CD8nBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCxoBc,CDyoBd,uCCroBgD,CDsoBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cCpqBmB,CDqqBnB,WCrqBmB,CDsqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cCvqB6C,CDwqB7C,iBChrBkB,CDirBlB,kBAAmB,CACnB,SC/pBa,CDgqBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,oHAeC,UAAW,CACX,WAAY,CACZ,gBC1rBY,CD2rBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UCvsBmB,CDwsBnB,WCxsBmB,CDysBnB,SCtrBc,CDgnBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCpsBiB,CDqsBjB,gBAAiB,CACjB,gBCptBc,CDstBd,mDACC,SCxsBa,CDysBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCxtBiB,CDutBjB,qIAKC,SC3tBa,CDstBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t::v-deep span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4247:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-61c97b1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-61c97b1e]{position:relative;z-index:1000;flex-basis:100vw;min-width:0;min-height:100%;margin:0 !important;background-color:var(--color-main-background)}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-61c97b1e] .app-content-list{display:block}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-61c97b1e] .app-content-details{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-61c97b1e] .app-content-list{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-61c97b1e] .app-content-details{display:block}[data-v-61c97b1e] .splitpanes.default-theme .app-content-list{max-width:none}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-list{min-width:200px;position:sticky;top:var(--header-height)}@media only screen and (max-width: 1024px){[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:scroll}@media only screen and (max-width: 1024px){[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__splitter{width:9px;margin-left:-5px;background-color:transparent;border-left:none}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__splitter:after{display:none}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppContent/AppContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCuTxB,8BACC,iBAAkB,CAClB,YAAa,CACb,gBAAiB,CACjB,WAAY,CACZ,eAAgB,CAEhB,mBAAoB,CACpB,6CAA8C,CAC9C,gGAME,aAAc,CAHjB,mGAMG,YAAa,CANhB,mGAWG,YAAa,CAXhB,sGAcG,aAAc,CACd,8DAMD,cAAe,CAFjB,8DAME,4BAA6B,CAC7B,eAAgB,CAPlB,mEAUG,eAAgB,CAChB,eAAgB,CAChB,wBAAyB,CAEzB,2CAdH,mEAeI,YAAa,CAEd,CAjBH,sEAoBG,iBAAkB,CAElB,2CAtBH,sEAuBI,cAAe,CAEhB,CAzBH,kEA6BE,SAAU,CACV,gBAAiB,CACjB,4BAA6B,CAC7B,gBAAiB,CAhCnB,iJAoCG,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-content {\\n\\tposition: relative;\\n\\tz-index: 1000;\\n\\tflex-basis: 100vw;\\n\\tmin-width: 0;\\n\\tmin-height: 100%;\\n\\t// Overriding server styles TODO: cleanup!\\n\\tmargin: 0 !important;\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n// Mobile list/details handling\\n.app-content-wrapper--mobile {\\n\\t&.app-content-wrapper--show-list ::v-deep {\\n\\t\\t.app-content-list {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t\\t.app-content-details {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\t&.app-content-wrapper--show-details ::v-deep {\\n\\t\\t.app-content-list {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t.app-content-details {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\\n::v-deep .splitpanes.default-theme {\\n\\t.app-content-list {\\n\\t\\tmax-width: none;\\n\\t}\\n\\n\\t.splitpanes__pane {\\n\\t\\tbackground-color: transparent;\\n\\t\\ttransition: none;\\n\\n\\t\\t&-list {\\n\\t\\t\\tmin-width: 200px;\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: var(--header-height);\\n\\n\\t\\t\\t@media only screen and (max-width: $breakpoint-mobile) {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-details {\\n\\t\\t\\toverflow-y: scroll;\\n\\n\\t\\t\\t@media only screen and (max-width: $breakpoint-mobile) {\\n\\t\\t\\t\\tmin-width: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.splitpanes__splitter {\\n\\t\\twidth: 9px;\\n\\t\\tmargin-left: -5px;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder-left: none;\\n\\n\\t\\t&:before,\\n\\t\\t&:after {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},4707:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-24f4ece3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-24f4ece3]{position:fixed;width:44px;height:44px;padding:14px;cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000}.app-details-toggle[data-v-24f4ece3]:active,.app-details-toggle[data-v-24f4ece3]:hover,.app-details-toggle[data-v-24f4ece3]:focus{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppContent/AppDetailsToggle.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCyDxB,qCACC,cAAe,CACf,UC1CoB,CD2CpB,WC3CoB,CD4CpB,YCpC+C,CDqC/C,cAAe,CACf,UAAW,CACX,wBAAyB,CACzB,6CAA8C,CAC9C,YAAa,CATd,kIAcE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-details-toggle {\\n\\tposition: fixed;\\n\\twidth: $clickable-area;\\n\\theight: $clickable-area;\\n\\tpadding: $icon-margin;\\n\\tcursor: pointer;\\n\\topacity: .6;\\n\\ttransform: rotate(180deg);\\n\\tbackground-color: var(--color-main-background);\\n\\tz-index: 2000;\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},2400:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-146e0c06]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-146e0c06]{will-change:transform;transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;position:sticky;position:-webkit-sticky;top:50px;left:0;z-index:1800;height:calc(100vh - 50px);box-sizing:border-box;background-color:var(--color-main-background);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0}.app-navigation--close[data-v-146e0c06]{margin-left:-300px;transform:translateX(-100%)}.app-navigation ul[data-v-146e0c06],.app-navigation__list[data-v-146e0c06]{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column}@media only screen and (max-width: 1024px){.app-navigation[data-v-146e0c06]:not(.app-navigation--close){margin-left:-300px}}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigation/AppNavigation.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCoIxB,iCACC,qBAAsB,CACtB,yEAA2E,CAC3E,WC1FuB,CD2FvB,eAAgB,CAChB,uBAAwB,CACxB,QC9FmB,CD+FnB,MAAO,CAEP,YAAa,CACb,yBAAuC,CACvC,qBAAsB,CACtB,6CAA8C,CAC9C,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,0CAA2C,CAC3C,YAAa,CACb,qBAAsB,CACtB,WAAY,CACZ,aAAc,CAEd,wCACC,kBC/GsB,CDgHtB,2BAA4B,CAzB9B,2EA+BE,iBAAkB,CAClB,WAAY,CACZ,UAAW,CACX,iBAAkB,CAClB,eAAgB,CAChB,qBAAsB,CACtB,YAAa,CACb,qBAAsB,CACtB,2CAKD,6DACC,kBCpIsB,CDqItB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation {\\n\\twill-change: transform;\\n\\ttransition: transform var(--animation-quick), margin var(--animation-quick);\\n\\twidth: $navigation-width;\\n\\tposition: sticky;\\n\\tposition: -webkit-sticky;\\n\\ttop: $header-height;\\n\\tleft: 0;\\n\\t// Above appcontent\\n\\tz-index: 1800;\\n\\theight: calc(100vh - #{$header-height});\\n\\tbox-sizing: border-box;\\n\\tbackground-color: var(--color-main-background);\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n\\tborder-right: 1px solid var(--color-border);\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\n\\t&--close {\\n\\t\\tmargin-left: - $navigation-width;\\n\\t\\ttransform: translateX(-100%);\\n\\t}\\n\\n\\t//list of navigation items\\n\\tul,\\n\\t&__list {\\n\\t\\tposition: relative;\\n\\t\\theight: 100%;\\n\\t\\twidth: 100%;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n}\\n\\n// When on mobile, we make the navigation slide over the appcontent\\n@media only screen and (max-width: $breakpoint-mobile) {\\n\\t.app-navigation:not(.app-navigation--close) {\\n\\t\\tmargin-left: - $navigation-width;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4609:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-45d39094]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-45d39094]{display:flex;justify-content:space-between;padding:0 8px 0 22px}.app-navigation-caption__title[data-v-45d39094]{font-weight:bold;color:var(--color-primary-element);line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;box-shadow:none !important;flex-shrink:0}.app-navigation-caption__actions[data-v-45d39094]{flex:0 0 44px}.app-navigation-caption[data-v-45d39094]:not(:first-child){margin-top:22px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationCaption/AppNavigationCaption.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCiDxB,yCACC,YAAa,CACb,6BAA8B,CAC9B,oBAAoC,CAEpC,gDACC,gBAAiB,CACjB,kCAAmC,CACnC,gBCxCmB,CDyCnB,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,UC1BiB,CD2BjB,0BAA2B,CAC3B,aAAc,CACd,kDAGA,aClDmB,CDmDnB,2DAKD,eAA+B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-caption {\\n\\tdisplay: flex;\\n\\tjustify-content: space-between;\\n\\tpadding: 0 8px 0 $clickable-area / 2;\\n\\n\\t&__title {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\tline-height: $clickable-area;\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tbox-shadow: none !important;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n}\\n\\n// extra top space if it's not the first item on the list\\n.app-navigation-caption:not(:first-child) {\\n\\tmargin-top: $clickable-area / 2;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},9325:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-3e9952b7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__counter[data-v-3e9952b7]{font-size:calc(var(--default-font-size) * .8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 8px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker)}.app-navigation-entry__counter--highlighted[data-v-3e9952b7]{padding:4px 6px;color:var(--color-primary-text);background-color:var(--color-primary)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationCounter/AppNavigationCounter.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0DxB,gDACC,6CAA8C,CAC9C,eAAgB,CAChB,iBAAkB,CAClB,cC7CoB,CD8CpB,iBAAkB,CAClB,sBAAuB,CACvB,eAAgB,CAChB,eAAgB,CAChB,uCAAwC,CACxC,+CAAgD,CAEhD,6DACC,eAAgB,CAChB,+BAAgC,CAChC,qCAAsC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 8px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-background-darker);\\n\\n\\t&--highlighted {\\n\\t\\tpadding: 4px 6px;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},533:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-71402848]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__icon-bullet[data-v-71402848]{display:block;padding:15px}.app-navigation-entry__icon-bullet div[data-v-71402848]{width:14px;height:14px;cursor:pointer;transition:background 100ms ease-in-out;border:none;border-radius:50%}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+ExB,oDACC,aAAc,CAEd,YAA2B,CAH5B,wDAKE,UAAuB,CACvB,WAAwB,CACxB,cAAe,CACf,uCAAwC,CACxC,WAAY,CACZ,iBAAkB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry__icon-bullet {\\n\\tdisplay: block;\\n\\t// there is 2 margins\\n\\tpadding: $icon-margin + 1px;\\n\\tdiv {\\n\\t\\twidth: $icon-size - 2px;\\n\\t\\theight: $icon-size - 2px;\\n\\t\\tcursor: pointer;\\n\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: 50%;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},6456:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4b0d387e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-collapse[data-v-4b0d387e]{position:absolute;z-index:105;width:44px;height:44px;margin:0;padding:0;transition:opacity var(--animation-quick) ease-in-out;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);color:var(--color-main-text);border:none;border-radius:0;outline:none !important;background-color:transparent;box-shadow:none}.icon-collapse[data-v-4b0d387e]:hover{color:var(--color-primary)}.icon-collapse--rotated[data-v-4b0d387e]{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);color:var(--color-main-text)}.icon-collapse--rotated[data-v-4b0d387e]:hover{color:var(--color-primary)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmDxB,gCACC,iBAAkB,CAClB,WAAY,CACZ,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,qDAAsD,CACtD,gCAAiC,CACjC,4BAA6B,CAC7B,wBAAyB,CACzB,4BAA6B,CAC7B,WAAY,CACZ,eAAgB,CAChB,uBAAwB,CACxB,4BAA6B,CAC7B,eAAgB,CAhBjB,sCAmBE,0BAA2B,CAC3B,yCAEA,8BAA+B,CAC/B,0BAA2B,CAC3B,sBAAuB,CACvB,4BAA6B,CAJ7B,+CAMC,0BAA2B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.icon-collapse {\\n\\tposition: absolute;\\n\\tz-index: 105; // above a, under button\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\ttransition: opacity var(--animation-quick) ease-in-out;\\n\\t-webkit-transform: rotate(-90deg);\\n\\t-ms-transform: rotate(-90deg);\\n\\ttransform: rotate(-90deg);\\n\\tcolor: var(--color-main-text);\\n\\tborder: none;\\n\\tborder-radius: 0;\\n\\toutline: none !important;\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\t&:hover{\\n\\t\\tcolor: var(--color-primary);\\n\\t}\\n\\t&--rotated {\\n\\t\\t-webkit-transform: rotate(0deg);\\n\\t\\t-ms-transform: rotate(0deg);\\n\\t\\ttransform: rotate(0deg);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\t&:hover{\\n\\t\\t\\tcolor: var(--color-primary);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},183:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:44px;padding-right:8px}.app-navigation-entry.active{background-color:var(--color-primary-light) !important}.app-navigation-entry:focus-within,.app-navigation-entry:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children,.app-navigation-entry:focus-within .app-navigation-entry__children,.app-navigation-entry:hover .app-navigation-entry__children{background-color:var(--color-main-background)}.app-navigation-entry.app-navigation-entry--deleted>ul,.app-navigation-entry.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link,.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-div{padding-right:14px}.app-navigation-entry .app-navigation-entry-link,.app-navigation-entry .app-navigation-entry-div{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:44px;padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:14px center;background-size:16px 16px;line-height:44px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry-icon{display:flex;align-items:center;flex:0 0 44px;justify-content:center;width:44px;height:44px;background-size:16px 16px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__title,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer,.app-navigation-entry .app-navigation-entry-div .editingContainer{width:calc(100% - 44px);margin:auto}.app-navigation-entry .app-navigation-entry__children{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%}.app-navigation-entry .app-navigation-entry__children .app-navigation-entry{display:inline-flex;flex-wrap:wrap;padding-left:16px;padding-right:0}.app-navigation-entry__deleted{display:inline-flex;flex:1 1 0;padding-left:30px !important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:44px}.app-navigation-entry--collapsible .icon-collapse{visibility:hidden}.app-navigation-entry--collapsible.app-navigation-entry--no-icon a .app-navigation-entry-icon,.app-navigation-entry--collapsible:hover a .app-navigation-entry-icon,.app-navigation-entry--collapsible:focus a .app-navigation-entry-icon{visibility:hidden}.app-navigation-entry--collapsible.app-navigation-entry--no-icon .icon-collapse,.app-navigation-entry--collapsible:hover .icon-collapse,.app-navigation-entry--collapsible:focus .icon-collapse{visibility:visible}.app-navigation-entry--collapsible.app-navigation-entry--no-icon .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child,.app-navigation-entry--collapsible:hover .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child,.app-navigation-entry--collapsible:focus .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child{visibility:visible}.app-navigation-entry__utils{display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__counter-wrapper{margin-right:2px;display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry--editing .app-navigation-entry-edit{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted{z-index:250;transform:translateX(0)}.app-navigation-entry--pinned{order:2;margin-top:auto}.app-navigation-entry--pinned ~ .app-navigation-entry--pinned{margin-top:0}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationItem/AppNavigationItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgexB,sBACC,iBAAkB,CAClB,YAAa,CACb,aAAc,CACd,cAAe,CACf,qBAAsB,CACtB,UAAW,CACX,eCtdoB,CDudpB,iBAAkB,CARnB,6BAaE,sDAAuD,CAbzD,+DAiBE,8CAA+C,CAjBjD,4LAuBG,6CAA8C,CAvBjD,qJAgCG,YAAa,CAhChB,yKAsCG,kBC7e6C,CDuchD,iGA4CE,WAAY,CACZ,YAAa,CACb,eAAgB,CAChB,UAAW,CACX,qBAAsB,CACtB,eChgBmB,CDigBnB,SAAU,CACV,kBAAmB,CACnB,4BAA6B,CAC7B,2BAA4B,CAC5B,+BAAwC,CACxC,yBClgBc,CDmgBd,gBCvgBmB,CD+crB,uJA2DG,YAAa,CACb,kBAAmB,CACnB,aC5gBkB,CD6gBlB,sBAAuB,CACvB,UC9gBkB,CD+gBlB,WC/gBkB,CDghBlB,yBC5gBa,CD2chB,2JAqEG,eAAgB,CAChB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CAxE1B,qIA4EG,uBAAsC,CACtC,WAAY,CA7Ef,sDAmFE,iBAAkB,CAClB,YAAa,CACb,aAAc,CACd,qBAAsB,CACtB,UAAW,CAvFb,4EA0FG,mBAAoB,CACpB,cAAe,CACf,iBCviBa,CDwiBb,eAAgB,CAChB,+BAMF,mBAAoB,CACpB,UAAW,CACX,4BAAuD,CAHxD,0EAKE,iBAAkB,CAClB,eAAgB,CAChB,UAAW,CACX,kBAAmB,CACnB,sBAAuB,CACvB,gBC5jBmB,CD6jBnB,kDAQA,iBAAkB,CAHpB,0OASG,iBAAkB,CATrB,gMAaG,kBAAmB,CAbtB,iaAkBG,kBAAmB,CACnB,6BAMF,YAAa,CACb,kBAAmB,CACnB,aAAc,CACd,uCAKA,gBAAiB,CACjB,YAAa,CACb,kBAAmB,CACnB,aAAc,CACd,0DAMC,WAAY,CACZ,SAAU,CACV,6DAMA,WAAY,CACZ,uBAAwB,CACxB,8BAKD,OAAQ,CACR,eAAgB,CAFjB,8DAKE,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tflex-wrap: wrap;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\tmin-height: $clickable-area;\\n\\tpadding-right: 8px;\\n\\n\\t// When .active class is applied, change color background of link and utils. The\\n\\t// !important prevents the focus state to override the active state.\\n\\t&.active {\\n\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t}\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&.active,\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\t.app-navigation-entry__children {\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* hide deletion/collapse of subitems */\\n\\t&.app-navigation-entry--deleted,\\n\\t&.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) {\\n\\t\\t> ul {\\n\\t\\t\\t// NO ANIMATE because if not really hidden, we can still tab through it\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.app-navigation-entry--editing) {\\n\\t\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\t\\tpadding-right: $icon-margin;\\n\\t\\t}\\n\\t}\\n\\n\\t// Main entry link\\n\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\tz-index: 100; /* above the bullet to allow click*/\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tpadding: 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: $icon-margin center;\\n\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t.app-navigation-entry-icon {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\t}\\n\\n\\t\\t.app-navigation-entry__title {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t.editingContainer {\\n\\t\\t\\twidth: calc(100% - #{$clickable-area});\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Second level nesting for lists */\\n\\t.app-navigation-entry__children {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 0 1 auto;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\n\\t\\t.app-navigation-entry {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tpadding-left: $icon-size;\\n\\t\\t\\tpadding-right: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted {\\n\\tdisplay: inline-flex;\\n\\tflex: 1 1 0;\\n\\tpadding-left: $clickable-area - $icon-margin !important;\\n\\t.app-navigation-entry__deleted-description {\\n\\t\\tposition: relative;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: $clickable-area;\\n\\t}\\n}\\n\\n/* Makes the icon of the collapsible element disappear\\n* When hovering on the root element */\\n.app-navigation-entry--collapsible {\\n\\t//shows the triangle button\\n\\t.icon-collapse {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\t&.app-navigation-entry--no-icon,\\n\\t&:hover, &:focus {\\n\\t\\ta .app-navigation-entry-icon {\\n\\t\\t\\t// hides the icon\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t\\t.icon-collapse {\\n\\t\\t\\t//shows the triangle button\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t\\t// prevent the icon of children elements from being hidden\\n\\t\\t// by the previous rule\\n\\t\\t.app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n/* counter */\\n.app-navigation-entry__counter-wrapper {\\n\\t// Add slightly more space to the right of the counter\\n\\tmargin-right: 2px;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n// STATES\\n/* editing state */\\n.app-navigation-entry--editing {\\n\\t.app-navigation-entry-edit {\\n\\t\\tz-index: 250;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted {\\n\\t.app-navigation-entry-deleted {\\n\\t\\tz-index: 250;\\n\\t\\ttransform: translateX(0);\\n\\t}\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned {\\n\\torder: 2;\\n\\tmargin-top: auto;\\n\\t// only put a marginTop auto to the first one!\\n\\t~ .app-navigation-entry--pinned {\\n\\t\\tmargin-top: 0;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},484:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm{flex:1 0 100%;width:100%}.app-navigation-input-confirm form{display:flex}.app-navigation-input-confirm__input{height:34px;flex:1 1 100%;font-size:14px;margin:3px;margin-left:0;padding:7px}.app-navigation-input-confirm__input:active,.app-navigation-input-confirm__input:focus,.app-navigation-input-confirm__input:hover{outline:none;background-color:var(--color-main-background);color:var(--color-text-light);border-color:var(--color-primary-element)}.app-navigation-input-confirm__input:active+.app-navigation-input-confirm__confirm,.app-navigation-input-confirm__input:focus+.app-navigation-input-confirm__confirm,.app-navigation-input-confirm__input:hover+.app-navigation-input-confirm__confirm{border-color:var(--color-primary-element);border-left-color:transparent !important;border-radius:0 var(--border-radius) var(--border-radius) 0 !important}.app-navigation-input-confirm button{display:flex;align-items:center;justify-content:center;width:44px !important;color:var(--color-main-text);border-radius:0}.app-navigation-input-confirm button span{opacity:.7}.app-navigation-input-confirm button:hover span,.app-navigation-input-confirm button:focus span{opacity:1}.app-navigation-input-confirm__confirm{margin-left:-8px;border-left-color:transparent !important;border-radius:0 var(--border-radius) var(--border-radius) 0 !important;background-clip:padding-box;background-color:var(--color-main-background);opacity:1;height:34px;width:34px;padding:7px;cursor:pointer;margin-right:0}.app-navigation-input-confirm__confirm:focus,.app-navigation-input-confirm__confirm:hover{border-radius:var(--border-radius) !important;border-color:var(--color-primary-element) !important}.app-navigation-input-confirm__close{margin:0;border:none;background-color:transparent}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationItem/InputConfirmCancel.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6GxB,8BACC,aAAc,CACd,UAAW,CAFZ,mCAKE,YAAa,CACb,qCAGA,WAbiB,CAcjB,aAAc,CACd,cAAe,CACf,UAdgB,CAehB,aAAc,CACd,WAjBiB,CAWjB,kIAWC,YAAa,CACb,6CAA8C,CAC9C,6BAA8B,CAC9B,yCAA0C,CAd3C,uPAiBE,yCAA0C,CAC1C,wCAAyC,CACzC,sEAAuE,CA3B3E,qCAkCE,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,qBAAiC,CACjC,4BAA6B,CAC7B,eAAgB,CAvClB,0CA2CG,UCrHgB,CD0EnB,gGAgDI,SCzHY,CD0HZ,uCAKF,gBAAiB,CACjB,wCAAyC,CACzC,sEAAuE,CACvE,2BAA4B,CAC5B,6CAA8C,CAC9C,SAAU,CACV,WAhEiB,CAiEjB,UAjEiB,CAkEjB,WAjEiB,CAkEjB,cAAe,CACf,cAAe,CAXf,0FAeC,6CAA8C,CAC9C,oDAAqD,CACrD,qCAID,QAAS,CACT,WAAY,CACZ,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$input-height: 34px;\\n$input-padding: 7px;\\n$input-margin: 3px;\\n\\n.app-navigation-input-confirm {\\n\\tflex: 1 0 100%;\\n\\twidth: 100%;\\n\\n\\tform {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__input {\\n\\t\\theight: $input-height;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tfont-size: 14px;\\n\\t\\tmargin: $input-margin;\\n\\t\\tmargin-left: 0;\\n\\t\\tpadding: $input-padding;\\n\\n\\t\\t&:active,\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\n\\t\\t\\t+ .app-navigation-input-confirm__confirm {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0 !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// submit and cancel buttons\\n\\tbutton {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: $clickable-area !important;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t// icon hover/focus feedback\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__confirm {\\n\\t\\tmargin-left: -8px;\\n\\t\\tborder-left-color: transparent !important;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0 !important;\\n\\t\\tbackground-clip: padding-box;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\topacity: 1;\\n\\t\\theight: $input-height;\\n\\t\\twidth: $input-height;\\n\\t\\tpadding: $input-padding;\\n\\t\\tcursor: pointer;\\n\\t\\tmargin-right: 0;\\n\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\tborder-radius: var(--border-radius) !important;\\n\\t\\t\\tborder-color: var(--color-primary-element) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__close {\\n\\t\\tmargin: 0;\\n\\t\\tborder: none;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},7004:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-7286e935]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new[data-v-7286e935]{display:block;padding:10px}.app-navigation-new button[data-v-7286e935]{display:inline-block;width:100%;padding:10px;padding-left:34px;background-position:10px center;text-align:left;margin:0}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationNew/AppNavigationNew.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCuDxB,qCACC,aAAc,CACd,YAAa,CAFd,4CAIE,oBAAqB,CACrB,UAAW,CACX,YAAa,CACb,iBAAkB,CAClB,+BAAgC,CAChC,eAAgB,CAChB,QAAS\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* 'New' button */\\n.app-navigation-new {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbutton {\\n\\t\\tdisplay: inline-block;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 10px;\\n\\t\\tpadding-left: 34px;\\n\\t\\tbackground-position: 10px center;\\n\\t\\ttext-align: left;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8704:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new-item__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;padding-left:7px;font-size:14px}.newItemContainer{width:calc(100% - 44px);margin:auto}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationNewItem/AppNavigationNewItem.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+IxB,gCACC,eAAgB,CAChB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,gBAAiB,CACjB,cAAe,CACf,kBAGA,uBAAsC,CACtC,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-new-item__title {\\n\\toverflow: hidden;\\n\\tmax-width: 100%;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tpadding-left: 7px;\\n\\tfont-size: 14px;\\n}\\n\\n.newItemContainer {\\n\\twidth: calc(100% - #{$clickable-area});\\n\\tmargin: auto;\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8323:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-20bf47dc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-20bf47dc]{margin-top:auto}#app-settings__header[data-v-20bf47dc]{box-sizing:border-box;background-color:var(--color-main-background)}#app-settings__header .settings-button[data-v-20bf47dc]{display:flex;flex:1 1 0;height:44px;width:100%;padding:0;margin:0;background-color:var(--color-main-background);box-shadow:none;border:0;border-radius:0;text-align:left;font-weight:normal;font-size:100%;color:var(--color-main-text);padding-right:14px;line-height:44px}#app-settings__header .settings-button[data-v-20bf47dc]:hover,#app-settings__header .settings-button[data-v-20bf47dc]:focus{background-color:var(--color-background-hover)}#app-settings__header .settings-button__icon[data-v-20bf47dc]{width:44px;height:44px;min-width:44px}#app-settings__header .settings-button__label[data-v-20bf47dc]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-20bf47dc]{display:block;padding:10px;background-color:var(--color-main-background);max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-20bf47dc],.slide-up-enter-active[data-v-20bf47dc]{transition-duration:var(--animation-slow);transition-property:max-height, padding;overflow-y:hidden !important}.slide-up-enter[data-v-20bf47dc],.slide-up-leave-to[data-v-20bf47dc]{max-height:0 !important;padding:0 10px !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationSettings/AppNavigationSettings.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+ExB,+BACC,eAAgB,CAEhB,uCACC,qBAAsB,CACtB,6CAA8C,CAF9C,wDAKC,YAAa,CACb,UAAW,CACX,WCxEkB,CDyElB,UAAW,CACX,SAAU,CACV,QAAS,CACT,6CAA8C,CAC9C,eAAgB,CAChB,QAAS,CACT,eAAgB,CAChB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,4BAA6B,CAC7B,kBAAmB,CACnB,gBCrFkB,CDiEnB,4HAwBE,8CAA+C,CAxBjD,8DA4BE,UC7FiB,CD8FjB,WC9FiB,CD+FjB,cC/FiB,CDiEnB,+DAiCE,eAAgB,CAChB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,wCAKF,aAAc,CACd,YAAa,CACb,6CAA8C,CAE9C,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,gFAKD,yCAA0C,CAC1C,uCAAwC,CACxC,4BAA6B,CAC7B,qEAIA,uBAAwB,CACxB,yBAA0B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n#app-settings {\\n\\tmargin-top: auto;\\n\\n\\t&__header {\\n\\t\\tbox-sizing: border-box;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.settings-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 0;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t\\ttext-align: left;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 100%;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tpadding-right: 14px;\\n\\t\\t\\tline-height: $clickable-area;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&__icon {\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t&__label {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 10px;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t/* restrict height of settings and make scrollable */\\n\\t\\tmax-height: 300px;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.slide-up-leave-active,\\n.slide-up-enter-active {\\n\\ttransition-duration: var(--animation-slow);\\n\\ttransition-property: max-height, padding;\\n\\toverflow-y: hidden !important;\\n}\\n\\n.slide-up-enter,\\n.slide-up-leave-to {\\n\\tmax-height: 0 !important;\\n\\tpadding: 0 10px !important;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},805:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-31c70ec3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button.app-navigation-toggle[data-v-31c70ec3]{position:absolute;top:0;right:0;margin-right:-44px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationToggle/AppNavigationToggle.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqExB,8CACC,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,kBCxDoB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nbutton.app-navigation-toggle {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tmargin-right: - $clickable-area;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6527:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-268855c9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-268855c9] .modal-wrapper .modal-container{display:flex}.app-settings[data-v-268855c9]{display:flex;width:100%}.app-settings__navigation[data-v-268855c9]{min-width:200px;margin-right:20px}.app-settings__content[data-v-268855c9]{max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:24px;width:100%}.navigation-list[data-v-268855c9]{height:100%;box-sizing:border-box;overflow-y:auto;padding:12px}.navigation-list__link[data-v-268855c9]{display:block;font-size:16px;height:44px;margin:4px 0;line-height:44px;border-radius:var(--border-radius-pill);font-weight:bold;padding:0 20px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:transparent;border:none}.navigation-list__link[data-v-268855c9]:hover,.navigation-list__link[data-v-268855c9]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-268855c9]{background-color:var(--color-primary-light) !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSettingsDialog/AppSettingsDialog.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC2RxB,kDACC,YAAa,CACb,+BAGA,YAAa,CACb,UAAW,CACX,2CACC,eAAgB,CAChB,iBAAkB,CAClB,wCAEA,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,YAAa,CACb,UAAW,CACX,kCAID,WAAY,CACZ,qBAAsB,CACtB,eAAgB,CAChB,YAAa,CACb,wCACC,aAAc,CACd,cAAe,CACf,WCtSmB,CDuSnB,YAAa,CACb,gBCxSmB,CDySnB,uCAAwC,CACxC,gBAAiB,CACjB,cAAe,CACf,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CAChB,4BAA6B,CAC7B,WAAY,CAdZ,4FAiBC,8CAA+C,CAC/C,gDAEA,sDAAuD\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .modal-wrapper .modal-container {\\n\\tdisplay: flex;\\n}\\n\\n.app-settings {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\t&__navigation {\\n\\t\\tmin-width: 200px;\\n\\t\\tmargin-right: 20px;\\n\\t}\\n\\t&__content {\\n\\t\\tmax-width: 100vw;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: hidden;\\n\\t\\tpadding: 24px;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.navigation-list {\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\toverflow-y: auto;\\n\\tpadding: 12px;\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-size: 16px;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 4px 0;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: 0 20px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t&--active {\\n\\t\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},8736:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0e33da14]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-0e33da14]{margin-bottom:80px}.app-settings-section__title[data-v-0e33da14]{font-size:20px;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSettingsSection/AppSettingsSection.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8CxB,uCACC,kBAAmB,CACnB,8CACC,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-settings-section {\\n\\tmargin-bottom: 80px;\\n\\t&__title {\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8711:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-68d5c99c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar[data-v-68d5c99c]{position:-webkit-sticky;position:sticky;z-index:1500;top:var(--header-height);right:0;display:flex;overflow-x:hidden;overflow-y:auto;flex-direction:column;flex-shrink:0;width:27vw;min-width:300px;max-width:500px;height:calc(100vh - var(--header-height));border-left:1px solid var(--color-border);background:var(--color-main-background)}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]{position:absolute;z-index:100;top:6px;right:6px;width:44px;height:44px;opacity:.7;border-radius:22px}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]:hover,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]:active,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]:focus{opacity:1;background-color:rgba(127,127,127,0.25)}.app-sidebar .app-sidebar-header>.app-sidebar__close .app-sidebar__close-icon[data-v-68d5c99c]{width:44px;height:44px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-68d5c99c]{flex-direction:row}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-68d5c99c]{z-index:2;width:70px;height:70px;margin:9px;border-radius:3px;flex:0 0 auto}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-68d5c99c]{padding-left:0;flex:1 1 auto;min-width:0;padding-right:94px}.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-68d5c99c]{padding-right:50px}.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-68d5c99c]{z-index:3;position:absolute;top:9px;left:-44px}.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-68d5c99c]{top:6px;right:50px;background-color:transparent;position:absolute}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-68d5c99c]{position:absolute;top:6px;right:50px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-68d5c99c]{padding-right:94px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-68d5c99c]{padding-right:50px}.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-68d5c99c]{display:flex;flex-direction:column}.app-sidebar .app-sidebar-header__figure[data-v-68d5c99c]{width:100%;height:250px;max-height:250px;background-repeat:no-repeat;background-position:center;background-size:contain}.app-sidebar .app-sidebar-header__figure--with-action[data-v-68d5c99c]{cursor:pointer}.app-sidebar .app-sidebar-header__desc[data-v-68d5c99c]{position:relative;display:flex;flex-direction:row;justify-content:center;padding:18px 6px 18px 9px}.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-68d5c99c]{padding-left:0}.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__maintitle-form[data-v-68d5c99c],.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__maintitle-form[data-v-68d5c99c]{margin-top:-2px;margin-bottom:-2px}.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-68d5c99c]{margin-top:-2px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-68d5c99c]{display:flex;height:44px;width:44px;justify-content:center;flex:0 0 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container[data-v-68d5c99c]{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-width:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container[data-v-68d5c99c]{display:flex;align-items:center}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-68d5c99c]{padding:0;min-height:30px;font-size:20px;line-height:30px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-68d5c99c] .linkified{cursor:pointer;text-decoration:underline;margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form[data-v-68d5c99c]{display:flex;flex:1 1 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form .icon-confirm[data-v-68d5c99c]{margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form input.app-sidebar-header__maintitle-input[data-v-68d5c99c]{flex:1 1 auto;margin:0;padding:7px;font-size:20px;font-weight:bold}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__menu[data-v-68d5c99c]{height:44px;width:44px;border-radius:22px;background-color:rgba(127,127,127,0.25);margin-left:5px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-68d5c99c],.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-68d5c99c]{overflow:hidden;width:100%;margin:0;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-68d5c99c]{padding:0;opacity:.7;font-size:var(--default-font-size)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star[data-v-68d5c99c]{display:block;width:44px;height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .icon-loading-small[data-v-68d5c99c]{display:block;width:44px;height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star[data-v-68d5c99c]{width:44px;height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--star[data-v-68d5c99c]{color:#000;opacity:.5}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--star[data-v-68d5c99c]:hover{color:#FC0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--starred[data-v-68d5c99c]{color:#FC0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--starred[data-v-68d5c99c]:hover{color:#000;opacity:.5}.app-sidebar .app-sidebar-header__description[data-v-68d5c99c]{display:flex;align-items:center;margin:0 10px}.slide-right-leave-active[data-v-68d5c99c],.slide-right-enter-active[data-v-68d5c99c]{transition-duration:var(--animation-quick);transition-property:max-width, min-width}.slide-right-enter-to[data-v-68d5c99c],.slide-right-leave[data-v-68d5c99c]{min-width:300px;max-width:500px}.slide-right-enter[data-v-68d5c99c],.slide-right-leave-to[data-v-68d5c99c]{min-width:0 !important;max-width:0 !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebar/AppSidebar.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n\\n$desc-vertical-padding: 18px;\\n$desc-input-padding: 7px;\\n\\n// title and subtitle\\n$desc-title-height: 30px;\\n$desc-subtitle-height: 22px;\\n$desc-height: $desc-title-height + $desc-subtitle-height;\\n\\n$top-buttons-spacing: 6px;\\n\\n/*\\n\\tSidebar: to be used within #content\\n\\tapp-content will be shrinked properly\\n*/\\n.app-sidebar {\\n\\tposition: -webkit-sticky; // Safari support\\n\\tposition: sticky;\\n\\tz-index: 1500;\\n\\ttop: var(--header-height);\\n\\tright: 0;\\n\\tdisplay: flex;\\n\\toverflow-x: hidden;\\n\\toverflow-y: auto;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\twidth: 27vw;\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n\\theight: calc(100vh - var(--header-height));\\n\\tborder-left: 1px solid var(--color-border);\\n\\tbackground: var(--color-main-background);\\n\\t.app-sidebar-header {\\n\\t\\t> .app-sidebar__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 100;\\n\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\tright: $top-buttons-spacing;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.app-sidebar__close-icon {\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Compact mode only affects a sidebar with a figure\\n\\t\\t&--compact.app-sidebar-header--with-figure {\\n\\t\\t\\t.app-sidebar-header__info {\\n\\t\\t\\t\\tflex-direction: row;\\n\\n\\t\\t\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\t\\t\\tz-index: 2;\\n\\t\\t\\t\\t\\twidth: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\theight: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\tmargin: $desc-vertical-padding / 2;\\n\\t\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\t\\tpadding-right: 2 * $clickable-area + $top-buttons-spacing;\\n\\n\\t\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\t\\t\\tz-index: 3; // above star\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t\\ttop: $desc-vertical-padding / 2;\\n\\t\\t\\t\\t\\t\\tleft: -1 * $clickable-area;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\t\\t\\tright: $clickable-area + $top-buttons-spacing; // left of the close button\\n\\t\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar without figure\\n\\t\\t&:not(.app-sidebar-header--with-figure) {\\n\\t\\t\\t// align the menu with the close button\\n\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\tright: $top-buttons-spacing + $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t// increase the padding to not overlap the menu\\n\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\tpadding-right: #{$clickable-area * 2 + $top-buttons-spacing};\\n\\n\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// the container with the figure and the description\\n\\t\\t.app-sidebar-header__info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t// header background\\n\\t\\t&__figure {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 250px;\\n\\t\\t\\tmax-height: 250px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t&--with-action {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// description\\n\\t\\t&__desc {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tpadding: #{$desc-vertical-padding} #{$top-buttons-spacing} #{$desc-vertical-padding} #{$desc-vertical-padding / 2};\\n\\n\\t\\t\\t// custom overrides\\n\\t\\t\\t&--with-tertiary-action {\\n\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--editable .app-sidebar-header__maintitle-form,\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t\\tmargin-bottom: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__subtitle {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// titles\\n\\t\\t\\t.app-sidebar-header__title-container {\\n\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t.app-sidebar-header__maintitle-container {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t\\t// main title\\n\\t\\t\\t\\t\\t.app-sidebar-header__maintitle {\\n\\t\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\t\\tmin-height: 30px;\\n\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\tline-height: $desc-title-height;\\n\\n\\t\\t\\t\\t\\t\\t// Needs 'deep' as the link is generated by the linkify directive\\n\\t\\t\\t\\t\\t\\t&::v-deep .linkified {\\n\\t\\t\\t\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\t\\t\\t\\t& .icon-confirm {\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tinput.app-sidebar-header__maintitle-input {\\n\\t\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t\\tpadding: $desc-input-padding;\\n\\t\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// main menu\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// shared between main and subtitle\\n\\t\\t\\t\\t.app-sidebar-header__maintitle,\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// subtitle\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// favourite\\n\\t\\t\\t.app-sidebar-header__star {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\n\\t\\t\\t\\t.icon-loading-small {\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.star {\\n\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t\\t&--star {\\n\\t\\t\\t\\t\\t\\tcolor: #000;\\n\\t\\t\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\t\\t\\tcolor: #FC0;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t&--starred {\\n\\t\\t\\t\\t\\t\\tcolor: #FC0;\\n\\t\\t\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\t\\t\\tcolor: #000;\\n\\t\\t\\t\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar description slot\\n\\t\\t&__description {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin: 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide-right-leave-active,\\n.slide-right-enter-active {\\n\\ttransition-duration: var(--animation-quick);\\n\\ttransition-property: max-width, min-width;\\n}\\n\\n.slide-right-enter-to,\\n.slide-right-leave {\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n}\\n\\n.slide-right-enter,\\n.slide-right-leave-to {\\n\\tmin-width: 0 !important;\\n\\tmax-width: 0 !important;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},7464:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-header__description button,.app-sidebar-header__description .button,.app-sidebar-header__description input[type='button'],.app-sidebar-header__description input[type='submit'],.app-sidebar-header__description input[type='reset']{padding:6px 22px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebar/AppSidebar.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+1BxB,kPAKE,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n// ! slots specific designs, cannot be scoped\\n// if any button inside the description slot, increase visual padding\\n.app-sidebar-header__description {\\n\\tbutton, .button,\\n\\tinput[type='button'],\\n\\tinput[type='submit'],\\n\\tinput[type='reset'] {\\n\\t\\tpadding: 6px 22px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},1128:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-15932673]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-tabs[data-v-15932673]{display:flex;flex-direction:column;min-height:0;flex:1 1 100%}.app-sidebar-tabs__nav[data-v-15932673]{margin-top:10px}.app-sidebar-tabs__nav ul[data-v-15932673]{display:flex;justify-content:stretch}.app-sidebar-tabs__tab[data-v-15932673]{display:block;flex:1 1;min-width:0;text-align:center}.app-sidebar-tabs__tab a[data-v-15932673]{position:relative;display:block;overflow:hidden;padding:25px 5px 5px 5px;transition:color var(--animation-quick),opacity var(--animation-quick),border-color var(--animation-quick);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.7;color:var(--color-main-text);border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__tab a[data-v-15932673]:hover,.app-sidebar-tabs__tab a[data-v-15932673]:focus,.app-sidebar-tabs__tab a[data-v-15932673]:active,.app-sidebar-tabs__tab a.active[data-v-15932673]{opacity:1}.app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-15932673],.app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-15932673],.app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-15932673],.app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-15932673]{opacity:1}.app-sidebar-tabs__tab a[data-v-15932673]:not(.active):hover,.app-sidebar-tabs__tab a[data-v-15932673]:not(.active):focus{border-bottom-color:var(--color-background-darker);box-shadow:inset 0 -1px 0 var(--color-background-darker)}.app-sidebar-tabs__tab a.active[data-v-15932673]{color:var(--color-text-light);border-bottom-color:var(--color-text-light);box-shadow:inset 0 -1px 0 var(--color-text-light);font-weight:bold}.app-sidebar-tabs__tab a[data-v-15932673]:focus{border-bottom-color:var(--color-primary-element);box-shadow:inset 0 -1px 0 var(--color-primary-element)}.app-sidebar-tabs__tab-icon[data-v-15932673]{position:absolute;top:0;left:0;width:100%;height:25px;transition:opacity var(--animation-quick);opacity:.7}.app-sidebar-tabs__tab-icon>span[data-v-15932673]{display:flex;align-items:center;justify-content:center;background-size:16px}.app-sidebar-tabs__content[data-v-15932673]{position:relative;min-height:0;height:100%}.app-sidebar-tabs__content--multiple[data-v-15932673]>:not(section){display:none}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebar/AppSidebarTabs.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+QxB,mCACC,YAAa,CACb,qBAAsB,CACtB,YAAa,CACb,aAAc,CAEd,wCACC,eAAgB,CADhB,2CAGC,YAAa,CACb,uBAAwB,CACxB,wCAGD,aAAc,CACd,QAAS,CACT,WAAY,CACZ,iBAAkB,CAJlB,0CAMC,iBAAkB,CAClB,aAAc,CACd,eAAgB,CAChB,wBAAyB,CACzB,0GAA6G,CAC7G,iBAAkB,CAClB,kBAAmB,CACnB,sBAAuB,CACvB,UCvQgB,CDwQhB,4BAA6B,CAC7B,2CAA4C,CAhB7C,kMAsBE,SC9QY,CDwPd,kTAwBG,SChRW,CDwPd,0HA6BE,kDAAmD,CACnD,wDAAyD,CA9B3D,iDAiCE,6BAA8B,CAC9B,2CAA4C,CAC5C,iDAAkD,CAClD,gBAAiB,CApCnB,gDA0CE,gDAAiD,CACjD,sDAAuD,CACvD,6CAKF,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,UAAW,CACX,WAAY,CACZ,yCAA0C,CAC1C,UChTiB,CDySjB,kDAUC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,oBAAqB,CACrB,4CAID,iBAAkB,CAElB,YAAa,CACb,WAAY,CAGZ,oEACC,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar-tabs {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmin-height: 0;\\n\\tflex: 1 1 100%;\\n\\n\\t&__nav {\\n\\t\\tmargin-top: 10px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: stretch;\\n\\t\\t}\\n\\t}\\n\\t&__tab {\\n\\t\\tdisplay: block;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tpadding: 25px 5px 5px 5px;\\n\\t\\t\\ttransition: color var(--animation-quick), opacity var(--animation-quick), border-color var(--animation-quick);\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t.app-sidebar-tabs__tab-icon {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(.active):hover,\\n\\t\\t\\t&:not(.active):focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-background-darker);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\t\\tborder-bottom-color: var(--color-text-light);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-text-light);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t// differentiate the two for accessibility purpose\\n\\t\\t\\t// make sure the user knows she's focusing the navigation\\n\\t\\t\\t// and can use arrows/home/pageup...\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-primary-element);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__tab-icon {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\twidth: 100%;\\n\\t\\theight: 25px;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t& > span {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tposition: relative;\\n\\t\\t// take full available height\\n\\t\\tmin-height: 0;\\n\\t\\theight: 100%;\\n\\t\\t// force the use of the tab component if more than one tab\\n\\t\\t// you can just put raw content if you don't use tabs\\n\\t\\t&--multiple > :not(section) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},3126:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-28609fd2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar__tab[data-v-28609fd2]{display:none;padding:10px;min-height:100%;max-height:100%;height:100%;overflow:auto}.app-sidebar__tab[data-v-28609fd2]:focus{border-color:var(--color-primary);box-shadow:0 0 0.2em var(--color-primary);outline:0}.app-sidebar__tab--active[data-v-28609fd2]{display:block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebarTab/AppSidebarTab.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+ExB,mCACC,YAAa,CACb,YAAa,CACb,eAAgB,CAChB,eAAgB,CAChB,WAAY,CACZ,aAAc,CANf,yCASE,iCAAkC,CAClC,yCAA0C,CAC1C,SAAU,CACV,2CAGA,aAAc\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar__tab {\\n\\tdisplay: none;\\n\\tpadding: 10px;\\n\\tmin-height: 100%; // fill available height\\n\\tmax-height: 100%; // scroll inside\\n\\theight: 100%;\\n\\toverflow: auto;\\n\\n\\t&:focus {\\n\\t\\tborder-color: var(--color-primary);\\n\\t\\tbox-shadow: 0 0 0.2em var(--color-primary);\\n\\t\\toutline: 0;\\n\\t}\\n\\n\\t&--active {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},6016:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r),s=e(1667),l=e.n(s),c=e(8887),d=e(4831),A=e(2842),u=o()(a()),p=l()(c.Z),m=l()(d.Z),T=l()(A.Z);u.push([n.id,\".material-design-icon[data-v-41fc3610]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-41fc3610]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-41fc3610]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-41fc3610]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-41fc3610]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-41fc3610]{cursor:pointer}.avatardiv--with-menu[data-v-41fc3610] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-41fc3610],.avatardiv--with-menu .icon-loading[data-v-41fc3610]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-41fc3610]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-41fc3610],.avatardiv--with-menu:hover .icon-more[data-v-41fc3610]{opacity:1}.avatardiv--with-menu:focus img[data-v-41fc3610],.avatardiv--with-menu:hover img[data-v-41fc3610]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-41fc3610],.avatardiv--with-menu img[data-v-41fc3610]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-41fc3610]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-41fc3610]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-41fc3610]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-41fc3610]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-41fc3610]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-41fc3610]{background-image:url(\"+p+\")}.avatardiv .avatardiv__user-status--dnd[data-v-41fc3610]{background-image:url(\"+m+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-41fc3610]{background-image:url(\"+T+\")}.avatardiv .avatardiv__user-status--icon[data-v-41fc3610]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-41fc3610]{position:relative;display:inline-block}.avatar-class-icon[data-v-41fc3610]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Avatar/Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCylBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,cAAe,CACf,UAAW,CACX,SAAU,CACV,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CAjG/C,4DAqGG,wDAAyE,CArG5E,yDAwGG,wDAAsE,CACtE,wBAAyB,CAzG5B,0DA4GG,wDAAuE,CA5G1E,0DA+GG,WAAY,CACZ,4BAA6B,CAhHhC,iDAqHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tmax-height: 18px;\\n\\t\\tmax-width: 18px;\\n\\t\\theight: 40%;\\n\\t\\twidth: 40%;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=u},430:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-771b8b5f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-771b8b5f]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-771b8b5f]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child>a[data-v-771b8b5f],.vue-crumb:last-child>a[data-v-771b8b5f] *{cursor:default}.vue-crumb:last-child .vue-crumb__separator[data-v-771b8b5f]{display:none}.vue-crumb:not(:last-child)>a[data-v-771b8b5f]:hover,.vue-crumb:not(:last-child)>a[data-v-771b8b5f]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-771b8b5f]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-771b8b5f]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-771b8b5f]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-771b8b5f]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex}.vue-crumb>a>span[data-v-771b8b5f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-771b8b5f] .action-item{max-width:100%}.vue-crumb[data-v-771b8b5f] .action-item .trigger{max-width:100%}.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;background-color:unset;border:none;padding-right:44px;padding-left:14px}.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title:hover,.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title:focus,.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title:active,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title:hover,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title:focus,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title:active{background-color:var(--color-background-dark) !important;color:var(--color-main-text)}.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title>span.material-design-icon,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title>span.material-design-icon{right:0;left:unset}.vue-crumb[data-v-771b8b5f] .action-item.action-item--open .action-item__menutoggle--with-title{background-color:var(--color-background-dark);color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Breadcrumb/Breadcrumb.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCsOxB,4BACC,qBAAsB,CACtB,mBAAoB,CACpB,WCxNoB,CDyNpB,SAAU,CAJX,uCAOE,eAAgB,CAChB,gBAAiB,CARnB,oFAYG,cAAe,CAZlB,6DAiBG,YAAa,CAjBhB,0GAyBG,6CAA8C,CAC9C,4BAA6B,CAC7B,oCAID,YAAa,CA/Bf,iDAmCE,6CAA8C,CAC9C,4BAA6B,CAC7B,uCAGA,SAAU,CACV,mCAAoC,CAzCtC,8BA6CE,eAAgB,CAChB,mCAAoC,CACpC,YAAa,CACb,cAAe,CACf,uCAAwC,CACxC,kBAAmB,CACnB,mBAAoB,CAnDtB,mCAsDG,eAAgB,CAChB,sBAAuB,CACvB,kBAAmB,CAxDtB,yCAgEE,cAAe,CAhEjB,kDAkEG,cAAe,CAlElB,8HAwEG,cAAe,CACf,eAAgB,CAChB,sBAAuB,CACvB,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,sBAAuB,CACvB,WAAY,CAUZ,kBAAmB,CACnB,iBAAkB,CA3FrB,gaAqFI,wDAAyD,CACzD,4BAA6B,CAtFjC,kLA6FI,OAAQ,CACR,UAAW,CA9Ff,gGAmGG,6CAA8C,CAC9C,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.vue-crumb {\\n\\tbackground-image: none;\\n\\tdisplay: inline-flex;\\n\\theight: $clickable-area;\\n\\tpadding: 0;\\n\\n\\t&:last-child {\\n\\t\\tmax-width: 210px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t> a,\\n\\t\\t> a::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t// Don't show breadcrumb separator for last crumb\\n\\t\\t.vue-crumb__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Hover and focus effect for crumbs, but not the last one\\n\\t&:not(:last-child) > a {\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n\\n\\t&--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&#{&}--hovered > a {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__separator {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t> a {\\n\\t\\toverflow: hidden;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding: 12px;\\n\\t\\tmax-width: 100%;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\talign-items: center;\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t> span {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t// Adjust action item appearance for crumbs with actions\\n\\t// to match other crumbs\\n\\t&::v-deep .action-item {\\n\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\tmax-width: 100%;\\n\\t\\t.trigger {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\n\\t\\t&__menutoggle--with-title,\\n\\t\\t&--single--with-title {\\n\\t\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\n\\t\\t\\tbackground-color: unset;\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Show the icon on the right\\n\\t\\t\\tpadding-right: 44px;\\n\\t\\t\\tpadding-left: 14px;\\n\\t\\t\\t& > span.material-design-icon {\\n\\t\\t\\t\\tright: 0;\\n\\t\\t\\t\\tleft: unset;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Adjust the background of the last crumb when the action is open\\n\\t\\t&.action-item--open .action-item__menutoggle--with-title {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},9474:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2d7b61fe]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-2d7b61fe]{width:100%;flex-grow:1;display:inline-flex}.breadcrumb--collapsed .vue-crumb[data-v-2d7b61fe]:last-child{min-width:100px;flex-shrink:1}.breadcrumb .breadcrumb__crumbs[data-v-2d7b61fe]{flex-shrink:1;max-width:100%;min-width:228px}.breadcrumb .breadcrumb__crumbs[data-v-2d7b61fe],.breadcrumb .breadcrumb__actions[data-v-2d7b61fe]{display:inline-flex}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Breadcrumbs/Breadcrumbs.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+jBxB,6BACC,UAAW,CACX,WAAY,CACZ,mBAAoB,CAEpB,8DACC,eAAgB,CAChB,aAAc,CAPhB,iDAWE,aAAc,CACd,cAAe,CAKf,eAAgB,CAjBlB,mGAsBE,mBAAoB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.breadcrumb {\\n\\twidth: 100%;\\n\\tflex-grow: 1;\\n\\tdisplay: inline-flex;\\n\\n\\t&--collapsed .vue-crumb:last-child {\\n\\t\\tmin-width: 100px;\\n\\t\\tflex-shrink: 1;\\n\\t}\\n\\n\\t& #{&}__crumbs {\\n\\t\\tflex-shrink: 1;\\n\\t\\tmax-width: 100%;\\n\\t\\t/**\\n\\t\\t * This value is given by the min-width of the last crumb (100px) plus\\n\\t\\t * two times the width of a crumb with an icon (first crumb and hidden crumbs actions).\\n\\t\\t */\\n\\t\\tmin-width: 228px;\\n\\t}\\n\\n\\t& #{&}__crumbs,\\n\\t& #{&}__actions {\\n\\t\\tdisplay: inline-flex;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},3352:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-27e36536]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-27e36536]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition:background-color 0.1s linear !important;transition:border 0.1s linear;background-color:var(--color-primary-element-lighter);color:var(--color-primary-light-text)}.button-vue *[data-v-27e36536]{cursor:pointer}.button-vue[data-v-27e36536]:focus{outline:none}.button-vue[data-v-27e36536]:disabled{cursor:default;opacity:.5;filter:saturate(.7)}.button-vue:disabled *[data-v-27e36536]{cursor:default}.button-vue[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-primary-light-hover)}.button-vue[data-v-27e36536]:active{background-color:var(--color-primary-element-lighter)}.button-vue__wrapper[data-v-27e36536]{display:inline-flex;align-items:center;justify-content:space-around}.button-vue__icon[data-v-27e36536]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-27e36536]{font-weight:bold;margin-bottom:1px;padding:2px 0}.button-vue--icon-only[data-v-27e36536]{width:44px !important}.button-vue--text-only[data-v-27e36536]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-27e36536]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-27e36536]{padding:0 16px 0 4px}.button-vue--wide[data-v-27e36536]{width:100%}.button-vue--tabbed[data-v-27e36536],.button-vue[data-v-27e36536]:focus-visible{box-shadow:0 0 0 2px var(--color-main-text);background-color:var(--color-primary-light-hover)}.button-vue--tabbed.button-vue--vue-primary[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-primary[data-v-27e36536]{background-color:var(--color-primary-hover)}.button-vue--tabbed.button-vue--vue-secondary[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-secondary[data-v-27e36536]{box-shadow:0 0 0 2px var(--color-main-text)}.button-vue--tabbed.button-vue--vue-tertiary-no-background[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-tertiary-no-background[data-v-27e36536]{opacity:1}.button-vue--tabbed.button-vue--vue-success[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-success[data-v-27e36536]{background-color:var(--color-success-hover)}.button-vue--tabbed.button-vue--vue-warning[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-warning[data-v-27e36536]{background-color:var(--color-warning-hover)}.button-vue--tabbed.button-vue--vue-error[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-error[data-v-27e36536]{background-color:var(--color-error-hover)}.button-vue--vue-primary[data-v-27e36536]{background-color:var(--color-primary-element);color:var(--color-primary-text)}.button-vue--vue-primary[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-27e36536]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-27e36536]{color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-border-dark)}.button-vue--vue-secondary[data-v-27e36536]:hover:not(:disabled){color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-primary-element)}.button-vue--vue-tertiary[data-v-27e36536]{color:var(--color-main-text);background-color:transparent}.button-vue--vue-tertiary[data-v-27e36536]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-27e36536]{color:var(--color-main-text);background-color:transparent;opacity:.7}.button-vue--vue-tertiary-no-background[data-v-27e36536]:hover:not(:disabled){background-color:transparent;opacity:1}.button-vue--vue-success[data-v-27e36536]{background-color:var(--color-success);color:white}.button-vue--vue-success[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-27e36536]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-27e36536]{background-color:var(--color-warning);color:white}.button-vue--vue-warning[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-27e36536]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-27e36536]{background-color:var(--color-error);color:white}.button-vue--vue-error[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-27e36536]:active{background-color:var(--color-error)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Button/Button.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0YxB,6BACC,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,QAAS,CACT,SAAU,CACV,kCAAmC,CACnC,gBAAiB,CACjB,eCjYoB,CDkYpB,cClYoB,CDmYpB,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,cAAe,CAIf,kBAAkC,CAClC,kDAAmD,CACnD,6BAA8B,CAkB9B,qDAAsD,CACtD,qCAAsC,CAxCvC,+BAiBE,cAAe,CAjBjB,mCAyBE,YAAa,CAzBf,sCA6BE,cAAe,CAIf,UCzYmB,CD2YnB,mBAAiC,CAnCnC,wCA+BG,cAAe,CA/BlB,kDA0CE,iDAAkD,CA1CpD,oCAgDE,qDAAsD,CACtD,sCAGA,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,mCAGA,WCnbmB,CDobnB,UCpbmB,CDqbnB,eCrbmB,CDsbnB,cCtbmB,CDubnB,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,mCAGA,gBAAiB,CACjB,iBAAkB,CAClB,aAAc,CACd,wCAIA,qBAAiC,CACjC,wCAIA,cAAe,CADf,0DAGC,eAAgB,CAChB,gBAAiB,CACjB,4CAKD,oBAAqB,CACrB,mCAIA,UAAW,CACX,gFAMA,2CAA4C,CAC5C,iDAAkD,CAFlD,gIAIC,2CAA4C,CAJ7C,oIAOC,2CAA4C,CAP7C,8JAUC,SAAU,CAVX,gIAaC,2CAA4C,CAb7C,gIAgBC,2CAA4C,CAhB7C,4HAmBC,yCAA0C,CAC1C,0CAOD,6CAA8C,CAC9C,+BAAgC,CAFhC,+DAIC,mDAAoD,CAJrD,iDASC,6CAA8C,CAC9C,4CAKD,4BAA6B,CAC7B,6CAA8C,CAC9C,6CAA8C,CAH9C,iEAKC,4BAA6B,CAC7B,6CAA8C,CAC9C,iDAAkD,CAClD,2CAKD,4BAA6B,CAC7B,4BAA6B,CAF7B,gEAIC,6BAA8B,CAC9B,8CAA+C,CAC/C,yDAKD,4BAA6B,CAC7B,4BAA6B,CAC7B,UAAW,CAHX,8EAKC,4BAA6B,CAC7B,SAAU,CACV,0CAKD,qCAAsC,CACtC,WAAY,CAFZ,+DAIC,2CAA4C,CAJ7C,iDASC,qCAAsC,CACtC,0CAKD,qCAAsC,CACtC,WAAY,CAFZ,+DAIC,2CAA4C,CAJ7C,iDASC,qCAAsC,CACtC,wCAKD,mCAAoC,CACpC,WAAY,CAFZ,6DAIC,yCAA0C,CAJ3C,+CASC,mCAAoC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: $clickable-area / 2;\\n\\ttransition: background-color 0.1s linear !important;\\n\\ttransition: border 0.1s linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tbackground-color: var(--color-primary-element-lighter);\\n\\tcolor: var(--color-primary-light-text);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-lighter);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-around;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t// We use box-shadow around our buttons instead of an outline, so that the added \\\"border\\\"\\n\\t// coincides with the border of the element. It's not possible to add a border-radius to\\n\\t// the outline\\n\\t&--tabbed, &:focus-visible {\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t\\t&.button-vue--vue-primary {\\n\\t\\t\\tbackground-color: var(--color-primary-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-secondary {\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-tertiary-no-background {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t\\t&.button-vue--vue-success {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-warning {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-error {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-border-dark);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: .7;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},2778:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-036397c2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-036397c2]{display:flex}.checkbox-radio-switch__input[data-v-036397c2]{position:fixed;z-index:-1;top:-5000px;left:-5000px;opacity:0}.checkbox-radio-switch__label[data-v-036397c2]{display:flex;align-items:center;user-select:none;height:44px;border-radius:44px;padding:0 14px;margin:0 -14px}.checkbox-radio-switch__label[data-v-036397c2],.checkbox-radio-switch__label *[data-v-036397c2]{cursor:pointer}.checkbox-radio-switch__icon[data-v-036397c2]{margin-right:4px;margin-left:-2px;color:var(--color-primary-element);width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch--disabled .checkbox-radio-switch__label[data-v-036397c2]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__label .checkbox-radio-switch__icon[data-v-036397c2]{color:var(--color-text-light)}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__input:hover+.checkbox-radio-switch__label[data-v-036397c2],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__input:focus+.checkbox-radio-switch__label[data-v-036397c2]{background-color:var(--color-primary-light)}.checkbox-radio-switch-switch:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon[data-v-036397c2]{color:var(--color-text-lighter)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked .checkbox-radio-switch__icon[data-v-036397c2]{color:var(--color-primary-element-light)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/CheckboxRadioSwitch/CheckboxRadioSwitch.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmZxB,wCACC,YAAa,CAEb,+CACC,cAAe,CACf,UAAW,CACX,WAAY,CACZ,YAAa,CACb,SAAU,CACV,+CAGA,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,WCjZmB,CDkZnB,kBClZmB,CDmZnB,cC3Y8C,CD4Y9C,cAA0B,CAP1B,gGAUC,cAAe,CACf,8CAID,gBA5BW,CA8BX,gBAAiB,CACjB,kCAAmC,CACnC,sBAAuB,CACvB,uBAAwB,CACxB,gFAGA,UCpZmB,CDmZnB,6GAGC,6BAA8B,CArCjC,gSA2CE,2CAA4C,CAC5C,iHAIA,+BAAgC,CAChC,2IAIA,wCAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$spacing: 4px;\\n\\n.checkbox-radio-switch {\\n\\tdisplay: flex;\\n\\n\\t&__input {\\n\\t\\tposition: fixed;\\n\\t\\tz-index: -1;\\n\\t\\ttop: -5000px;\\n\\t\\tleft: -5000px;\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tuser-select: none;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tpadding: 0 $icon-margin;\\n\\t\\tmargin: 0 #{-$icon-margin};\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmargin-right: $spacing;\\n\\t\\t// Remove the left margin of material design icons to align text\\n\\t\\tmargin-left: -2px;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\twidth: var(--icon-size);\\n\\t\\theight: var(--icon-size);\\n\\t}\\n\\n\\t&--disabled &__label {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\tcolor: var(--color-text-light)\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(&--disabled) &__input:hover + &__label,\\n\\t&:not(&--disabled) &__input:focus + &__label {\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n\\n\\t// Switch specific rules\\n\\t&-switch:not(&--checked) &__icon {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n\\n\\t// If switch is checked AND disabled, use the fade primary colour\\n\\t&-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked &__icon {\\n\\t\\tcolor: var(--color-primary-element-light);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},5682:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-146dc9d9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.color-picker[data-v-146dc9d9]{display:flex;overflow:hidden;align-content:flex-end;flex-direction:column;justify-content:space-between;box-sizing:content-box !important;width:176px;padding:4px;border-radius:3px;height:196px}.color-picker__simple[data-v-146dc9d9]{display:grid;grid-template-columns:repeat(4, 44px);grid-auto-rows:44px}.color-picker__simple-color-circle[data-v-146dc9d9]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;margin:auto;padding:0;color:white;border:none;border-radius:17px;font-size:16px}.color-picker__simple-color-circle[data-v-146dc9d9]:hover{opacity:.6}.color-picker__simple-color-circle--active[data-v-146dc9d9]{opacity:1 !important}.color-picker__advanced[data-v-146dc9d9]{box-shadow:none !important}.color-picker__navigation[data-v-146dc9d9]{display:flex;flex-direction:row;justify-content:space-between;margin-top:10px}.color-picker__navigation-button[data-v-146dc9d9]{display:flex;align-content:center;justify-content:center;min-width:44px;height:44px;padding:0;margin:0;border:none;border-radius:22px;background:none;justify-self:flex-end;opacity:.7}.color-picker__navigation-button[data-v-146dc9d9]:focus,.color-picker__navigation-button[data-v-146dc9d9]:hover{background-color:rgba(127,127,127,0.25);opacity:1}.color-picker__navigation-button.confirm[data-v-146dc9d9]{display:flex;align-items:center;justify-content:center;padding:4px 8px;color:white !important;background-color:var(--color-primary)}.color-picker__navigation-button.confirm[data-v-146dc9d9]:hover{background-color:var(--color-primary-element-light)}.color-picker__navigation-button.more-settings[data-v-146dc9d9]{margin-left:auto}[data-v-146dc9d9] .vc-chrome{width:176px;height:13}[data-v-146dc9d9] .vc-chrome-color-wrap{width:30px;height:30px}[data-v-146dc9d9] .vc-chrome-active-color{width:34px;height:34px;border-radius:17px}[data-v-146dc9d9] .vc-chrome-body{padding:14px 0 0 0}[data-v-146dc9d9] .vc-chrome-saturation-wrap{border-radius:3px}[data-v-146dc9d9] .vc-chrome-saturation-circle{width:20px;height:20px}.slide-enter[data-v-146dc9d9]{transform:translateX(-50%);opacity:0}.slide-enter-to[data-v-146dc9d9]{transform:translateX(0);opacity:1}.slide-leave[data-v-146dc9d9]{transform:translateX(0);opacity:1}.slide-leave-to[data-v-146dc9d9]{transform:translateX(-50%);opacity:0}.slide-enter-active[data-v-146dc9d9],.slide-leave-active[data-v-146dc9d9]{transition:all 50ms ease-in-out}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ColorPicker/ColorPicker.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC4QxB,+BACC,YAAa,CACb,eAAgB,CAChB,sBAAuB,CACvB,qBAAsB,CACtB,6BAA8B,CAC9B,iCAAkC,CAClC,WAAY,CACZ,WAAY,CACZ,iBAAkB,CAClB,YAAa,CAEb,uCACC,YAAa,CACb,qCAAiD,CACjD,mBC1QmB,CD4QnB,oDACC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,WAAY,CACZ,SAAU,CACV,WAAY,CACZ,WAAY,CACZ,kBAAmB,CACnB,cAAe,CAZf,0DAcC,UAAW,CACX,4DAEA,oBAAqB,CACrB,yCAKF,0BAA2B,CAC3B,2CAGA,YAAa,CACb,kBAAmB,CACnB,6BAA8B,CAC9B,eAAgB,CAChB,kDACC,YAAa,CACb,oBAAqB,CACrB,sBAAuB,CACvB,cC/SkB,CDgTlB,WChTkB,CDiTlB,SAAU,CACV,QAAS,CACT,WAAY,CACZ,kBAAkC,CAClC,eAAgB,CAChB,qBAAsB,CACtB,UCrSgB,CDyRhB,gHAgBC,uCChToC,CDiTpC,SCzSY,CDwRb,0DAqBC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CAChB,sBAAuB,CACvB,qCAAsC,CA1BvC,gEA4BE,mDAAoD,CA5BtD,gEAgCC,gBAAiB,CACjB,6BAOF,WAAY,CACZ,SAAU,CAHZ,wCAKG,UAAW,CACX,WAAY,CANf,0CAUG,UAAW,CACX,WAAY,CACZ,kBAAmB,CAZtB,kCAgBG,kBAAmB,CAhBtB,6CAqBI,iBAAkB,CArBtB,+CAyBI,UAAW,CACX,WAAY,CACZ,8BAOF,0BAA2B,CAC3B,SAAU,CACV,iCAEA,uBAAwB,CACxB,SAAU,CACV,8BAEA,uBAAwB,CACxB,SAAU,CACV,iCAEA,0BAA2B,CAC3B,SAAU,CACV,0EAGA,+BAAgC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.color-picker {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-content: flex-end;\\n\\tflex-direction: column;\\n\\tjustify-content: space-between;\\n\\tbox-sizing: content-box !important;\\n\\twidth: 176px;\\n\\tpadding: 4px;\\n\\tborder-radius: 3px;\\n\\theight: 196px;\\n\\n\\t&__simple {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: repeat(4, $clickable-area);\\n\\t\\tgrid-auto-rows: $clickable-area;\\n\\n\\t\\t&-color-circle {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tmin-height: 34px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: white;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\topacity: .6;\\n\\t\\t\\t}\\n\\t\\t\\t&--active {\\n\\t\\t\\t\\topacity: 1 !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t&__navigation {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tjustify-content: space-between;\\n\\t\\tmargin-top: 10px;\\n\\t\\t&-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-content: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\topacity: $opacity_normal;\\n\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.confirm {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tpadding: 4px 8px;\\n\\t\\t\\t\\tcolor: white !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.more-settings {\\n\\t\\t\\t\\tmargin-left: auto;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n::v-deep .vc {\\n\\t&-chrome {\\n\\t\\twidth: 176px;\\n\\t\\theight: 13;\\n\\t\\t&-color-wrap {\\n\\t\\t\\twidth: 30px;\\n\\t\\t\\theight: 30px;\\n\\t\\t}\\n\\n\\t\\t&-active-color {\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t}\\n\\n\\t\\t&-body {\\n\\t\\t\\tpadding: 14px 0 0 0;\\n\\t\\t}\\n\\n\\t\\t&-saturation {\\n\\t\\t\\t&-wrap {\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-circle {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide {\\n\\t&-enter {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-to {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave-to {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-active,\\n\\t&-leave-active {\\n\\t\\ttransition: all 50ms ease-in-out;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6919:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4d37098a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.content[data-v-4d37098a]{box-sizing:border-box;position:relative;display:flex;padding-top:50px;min-height:100%}.content[data-v-4d37098a] *{box-sizing:border-box}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Content/Content.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0ExB,0BACC,qBAAsB,CACtB,iBAAkB,CAClB,YAAa,CACb,gBAAiB,CACjB,eAAgB,CALjB,6BAOE,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.content {\\n\\tbox-sizing: border-box;\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tpadding-top: 50px;\\n\\tmin-height: 100%;\\n\\t::v-deep * {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8560:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0f57a605]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.counter-bubble__counter[data-v-0f57a605]{font-size:calc(var(--default-font-size) * .8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 6px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker);font-weight:bold}.counter-bubble__counter--highlighted[data-v-0f57a605]{color:var(--color-primary-text);background-color:var(--color-primary)}.counter-bubble__counter--outlined[data-v-0f57a605]{color:var(--color-primary);background:transparent;box-shadow:inset 0 0 0 2px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/CounterBubble/CounterBubble.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCwExB,0CACC,6CAA8C,CAC9C,eAAgB,CAChB,iBAAkB,CAClB,cC3DoB,CD4DpB,iBAAkB,CAClB,sBAAuB,CACvB,eAAgB,CAChB,eAAgB,CAChB,uCAAwC,CACxC,+CAAgD,CAChD,gBAAiB,CAEjB,uDACC,+BAAgC,CAChC,qCAAsC,CACtC,oDAGA,0BAA2B,CAC3B,sBAAuB,CACvB,0BAA2B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.counter-bubble__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 6px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-background-darker);\\n\\tfont-weight: bold;\\n\\n\\t&--highlighted {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t&--outlined {\\n\\t\\tcolor: var(--color-primary);\\n\\t\\tbackground: transparent;\\n\\t\\tbox-shadow: inset 0 0 0 2px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},8004:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-6e184da2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.datetime-picker-inline-icon[data-v-6e184da2]{opacity:.3;border:none;background-color:transparent;border-radius:0;padding:6px !important}.datetime-picker-inline-icon--highlighted[data-v-6e184da2]{opacity:.7}.datetime-picker-inline-icon[data-v-6e184da2]:focus,.datetime-picker-inline-icon[data-v-6e184da2]:hover{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/DatetimePicker/DatetimePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0VxB,8CACC,UAAW,CACX,WAAY,CACZ,4BAA6B,CAC7B,eAAgB,CAChB,sBAAuB,CAEvB,2DACC,UAAW,CARb,wGAaE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.datetime-picker-inline-icon {\\n\\topacity: .3;\\n\\tborder: none;\\n\\tbackground-color: transparent;\\n\\tborder-radius: 0;\\n\\tpadding: 6px !important;\\n\\n\\t&--highlighted {\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t&:focus,\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},1271:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-c0b73214]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-c0b73214]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.empty-content__icon[data-v-c0b73214]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-c0b73214] svg{width:64px;height:64px}.empty-content__title[data-v-c0b73214]{margin-bottom:10px;text-align:center}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/EmptyContent/EmptyContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmFxB,gCACC,YAAa,CACb,kBAAmB,CACnB,qBAAsB,CACtB,eAAgB,CAEhB,sCACC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,WAAY,CACZ,kBAAmB,CACnB,UAAW,CACX,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAAqB,CAVrB,2CAaC,UAAW,CACX,WAAY,CACZ,uCAID,kBAAmB,CACnB,iBAAkB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\t::v-deep svg {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t\\ttext-align: center;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},1087:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-609d49c7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-609d49c7]{position:relative;width:100%}.list-item[data-v-609d49c7]{display:block;position:relative;flex:0 0 auto;justify-content:flex-start;padding:8px;border-radius:16px;margin:2px 0;width:100%;cursor:pointer;transition:background-color 200ms ease-in-out;list-style:none}.list-item[data-v-609d49c7]:hover,.list-item[data-v-609d49c7]:focus{background-color:var(--color-background-hover)}.list-item--active[data-v-609d49c7],.list-item[data-v-609d49c7]:active,.list-item:active ~ .app-navigation-entry__utils[data-v-609d49c7]{background-color:var(--color-primary-light)}.list-item-content__wrapper[data-v-609d49c7]{display:flex;align-items:center}.list-item-content[data-v-609d49c7]{display:flex;flex:1 1 auto;justify-content:space-between;padding-left:8px}.list-item-content__main[data-v-609d49c7]{flex:1 1 auto;flex-direction:column;width:0;margin:auto 0}.list-item-content__actions[data-v-609d49c7]{flex:0 0 auto;align-self:center;justify-content:center}.list-item__extra[data-v-609d49c7]{margin-top:4px}.line-one[data-v-609d49c7]{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:0 auto}.line-one--bold[data-v-609d49c7]{font-weight:bold}.line-one__title[data-v-609d49c7]{overflow:hidden;flex-grow:1;cursor:pointer;text-overflow:ellipsis;color:var(--color-main-text)}.line-one__details[data-v-609d49c7]{color:var(--color-text-lighter);margin:0 8px;font-weight:normal}.line-two[data-v-609d49c7]{display:flex;align-items:flex-start;justify-content:space-between;white-space:nowrap}.line-two--bold[data-v-609d49c7]{font-weight:bold}.line-two__subtitle[data-v-609d49c7]{overflow:hidden;flex-grow:1;padding-right:4px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-lighter)}.line-two__counter[data-v-609d49c7]{margin:2px 4px 0 0}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ListItem/ListItem.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgdxB,qCACC,iBAAkB,CAClB,UAAW,CACX,4BAIA,aAAc,CACd,iBAAkB,CAClB,aAAc,CACd,0BAA2B,CAC3B,WAAY,CACZ,kBAAmB,CACnB,YAAa,CACb,UAAW,CACX,cAAe,CACf,6CAA8C,CAC9C,eAAgB,CAXjB,oEAcE,8CAA+C,CAC/C,yIAIA,2CAA4C,CAC5C,6CAGA,YAAa,CACb,kBAAmB,CACnB,oCAGA,YAAa,CACb,aAAc,CACd,6BAA8B,CAC9B,gBAAiB,CAEjB,0CACC,aAAc,CACd,qBAAsB,CACtB,OAAQ,CACR,aAAc,CACd,6CAGA,aAAc,CACd,iBAAkB,CAClB,sBAAuB,CAEvB,mCAID,cAAe,CACf,2BAID,YAAa,CACb,kBAAmB,CACnB,6BAA8B,CAC9B,kBAAmB,CACnB,aAAc,CACd,iCACC,gBAAiB,CACjB,kCAGA,eAAgB,CAChB,WAAY,CACZ,cAAe,CACf,sBAAuB,CACvB,4BAA6B,CAC7B,oCAGA,+BAAgC,CAChC,YAAa,CACb,kBAAmB,CACnB,2BAID,YAAa,CACb,sBAAuB,CACvB,6BAA8B,CAC9B,kBAAmB,CACnB,iCACC,gBAAiB,CACjB,qCAGA,eAAgB,CAChB,WAAY,CACZ,iBAAkB,CAClB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,+BAAgC,CAChC,oCAGA,kBAAmB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.list-item__wrapper{\\n\\tposition: relative;\\n\\twidth: 100%;\\n}\\n\\n// listItem\\n.list-item {\\n\\tdisplay: block;\\n\\tposition: relative;\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\tpadding: 8px;\\n\\tborder-radius: 16px;\\n\\tmargin: 2px 0;\\n\\twidth: 100%;\\n\\tcursor: pointer;\\n\\ttransition: background-color 200ms ease-in-out;\\n\\tlist-style: none;\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&--active,\\n\\t&:active,\\n\\t&:active ~ .app-navigation-entry__utils {\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n\\n\\t&-content__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding-left: 8px;\\n\\n\\t\\t&__main {\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\tmargin: auto 0;\\n\\t\\t}\\n\\n\\t\\t&__actions {\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\talign-self: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__extra {\\n\\t\\tmargin-top: 4px;\\n\\t}\\n}\\n\\n.line-one {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n\\twhite-space: nowrap;\\n\\tmargin: 0 auto;\\n\\t&--bold {\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-grow: 1;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tmargin: 0 8px;\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\n.line-two {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tjustify-content: space-between;\\n\\twhite-space: nowrap;\\n\\t&--bold {\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-grow: 1;\\n\\t\\tpadding-right: 4px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n\\n\\t&__counter {\\n\\t\\tmargin: 2px 4px 0 0;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},9863:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-1e7d5981]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-1e7d5981]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-1e7d5981]{margin-right:var(--margin)}.option__details[data-v-1e7d5981]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-1e7d5981]{color:var(--color-text-light)}.option__linetwo[data-v-1e7d5981]{opacity:.7}.option__lineone[data-v-1e7d5981],.option__linetwo[data-v-1e7d5981]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-1e7d5981],.option__linetwo strong[data-v-1e7d5981]{font-weight:bold}.option__icon[data-v-1e7d5981]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ListItemIcon/ListItemIcon.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6NxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UChNiB,CDiNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aChPmB,CDiPnB,UCjPmB,CDkPnB,WClPmB,CDmPnB,UClOmB,CDmOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},1309:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2da14a6a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-2da14a6a]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-2da14a6a]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-2da14a6a]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-2da14a6a],.modal-header.invisible[style*='display: none'][data-v-2da14a6a]{visibility:hidden}.modal-header .modal-title[data-v-2da14a6a]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-2da14a6a]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-2da14a6a]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-2da14a6a]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-2da14a6a]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-2da14a6a]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons__pause[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-2da14a6a]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-2da14a6a] button{color:#fff}.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle span,.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-2da14a6a]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-2da14a6a],.modal-wrapper .next[data-v-2da14a6a]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-2da14a6a],.modal-wrapper .prev.invisible[style*='display: none'][data-v-2da14a6a],.modal-wrapper .next.invisible[style*='display:none'][data-v-2da14a6a],.modal-wrapper .next.invisible[style*='display: none'][data-v-2da14a6a]{visibility:hidden}.modal-wrapper .prev[data-v-2da14a6a]{left:0}.modal-wrapper .next[data-v-2da14a6a]{right:0}.modal-wrapper .icon-next[data-v-2da14a6a],.modal-wrapper .icon-previous[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-2da14a6a]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-2da14a6a]{width:390px;max-width:95%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-2da14a6a]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-2da14a6a]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-2da14a6a]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-2da14a6a]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-2da14a6a],.fade-leave-active[data-v-2da14a6a]{transition:opacity 250ms}.fade-enter[data-v-2da14a6a],.fade-leave-to[data-v-2da14a6a]{opacity:0}.fade-visibility-enter[data-v-2da14a6a],.fade-visibility-leave-to[data-v-2da14a6a]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-2da14a6a],.modal-in-leave-active[data-v-2da14a6a],.modal-out-enter-active[data-v-2da14a6a],.modal-out-leave-active[data-v-2da14a6a]{transition:opacity 250ms}.modal-in-enter[data-v-2da14a6a],.modal-in-leave-to[data-v-2da14a6a],.modal-out-enter[data-v-2da14a6a],.modal-out-leave-to[data-v-2da14a6a]{opacity:0}.modal-in-enter .modal-container[data-v-2da14a6a],.modal-in-leave-to .modal-container[data-v-2da14a6a]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-2da14a6a],.modal-out-leave-to .modal-container[data-v-2da14a6a]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-2da14a6a]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-2da14a6a]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-2da14a6a linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-2da14a6a]{animation:breath-data-v-2da14a6a 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-2da14a6a]{animation-play-state:paused !important}@keyframes progressring-data-v-2da14a6a{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-2da14a6a{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Modal/Modal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile / 2) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t.action-item--single {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 22px;\\n\\t\\t}\\n\\n\\t\\t::v-deep button {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&::v-deep .action-item__menutoggle {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 8%;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 0;\\n\\t}\\n\\t.next {\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t// buttons/icons\\n\\t.icon-next,\\n\\t.icon-previous {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: white;\\n\\t\\tbackground-image: none;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 390px;\\n\\t\\t\\tmax-width: 95%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: $breakpoint-mobile / 2) {\\n\\t\\t&:not(&--small) .modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},9814:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0f132242]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-0f132242]{display:flex;max-width:100%}.name-parts__first[data-v-0f132242]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-0f132242],.name-parts__last[data-v-0f132242]{white-space:pre}.name-parts__first strong[data-v-0f132242],.name-parts__last strong[data-v-0f132242]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Multiselect/EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},5878:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:transparent;border-width:10px}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-left-width:0;border-right-color:var(--color-main-background)}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-right-width:0;border-left-color:var(--color-main-background)}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Popover/Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCyGxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,wBAAyB,CACzB,iBAvBgB,CAElB,6BAyBE,kBA3BgB,CAElB,6CA4BG,YA9Be,CA+Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,qBAAsB,CACtB,6CAA8C,CAjCjD,gCAsCE,eAxCgB,CAElB,gDAyCG,SA3Ce,CA4Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,kBAAmB,CACnB,gDAAiD,CA9CpD,+BAmDE,gBArDgB,CAElB,+CAsDG,4BAA6B,CAC7B,UAzDe,CA0Df,cAAe,CACf,aAAc,CACd,mBAAoB,CACpB,+CAAgD,CA3DnD,8BAgEE,iBAlEgB,CAElB,8CAmEG,4BAA6B,CAC7B,WAtEe,CAuEf,cAAe,CACf,aAAc,CACd,oBAAqB,CACrB,8CAA+C,CAxElD,6BA6EE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CA/EZ,8BAmFE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},7816:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/PopoverMenu/PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},3530:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-79bc7480]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-79bc7480]{display:flex;flex:0 0 auto}li.hidden[data-v-79bc7480]{display:none}li>button[data-v-79bc7480],li>a[data-v-79bc7480],li>.menuitem[data-v-79bc7480]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-79bc7480],li>button span[class*=' icon-'][data-v-79bc7480],li>button[class^='icon-'][data-v-79bc7480],li>button[class*=' icon-'][data-v-79bc7480],li>a span[class^='icon-'][data-v-79bc7480],li>a span[class*=' icon-'][data-v-79bc7480],li>a[class^='icon-'][data-v-79bc7480],li>a[class*=' icon-'][data-v-79bc7480],li>.menuitem span[class^='icon-'][data-v-79bc7480],li>.menuitem span[class*=' icon-'][data-v-79bc7480],li>.menuitem[class^='icon-'][data-v-79bc7480],li>.menuitem[class*=' icon-'][data-v-79bc7480]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-79bc7480],li>button span[class*=' icon-'][data-v-79bc7480],li>a span[class^='icon-'][data-v-79bc7480],li>a span[class*=' icon-'][data-v-79bc7480],li>.menuitem span[class^='icon-'][data-v-79bc7480],li>.menuitem span[class*=' icon-'][data-v-79bc7480]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-79bc7480],li>button[class*=' icon-'][data-v-79bc7480],li>a[class^='icon-'][data-v-79bc7480],li>a[class*=' icon-'][data-v-79bc7480],li>.menuitem[class^='icon-'][data-v-79bc7480],li>.menuitem[class*=' icon-'][data-v-79bc7480]{padding:0 14px 0 44px}li>button[data-v-79bc7480]:not(:disabled):hover,li>button[data-v-79bc7480]:not(:disabled):focus,li>button:not(:disabled).active[data-v-79bc7480],li>a[data-v-79bc7480]:not(:disabled):hover,li>a[data-v-79bc7480]:not(:disabled):focus,li>a:not(:disabled).active[data-v-79bc7480],li>.menuitem[data-v-79bc7480]:not(:disabled):hover,li>.menuitem[data-v-79bc7480]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-79bc7480]{opacity:1 !important}li>button.action[data-v-79bc7480],li>a.action[data-v-79bc7480],li>.menuitem.action[data-v-79bc7480]{padding:inherit !important}li>button>span[data-v-79bc7480],li>a>span[data-v-79bc7480],li>.menuitem>span[data-v-79bc7480]{cursor:pointer;white-space:nowrap}li>button>p[data-v-79bc7480],li>a>p[data-v-79bc7480],li>.menuitem>p[data-v-79bc7480]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-79bc7480],li>a>select[data-v-79bc7480],li>.menuitem>select[data-v-79bc7480]{margin:0;margin-left:6px}li>button[data-v-79bc7480]:not(:empty),li>a[data-v-79bc7480]:not(:empty),li>.menuitem[data-v-79bc7480]:not(:empty){padding-right:14px !important}li>button>img[data-v-79bc7480],li>a>img[data-v-79bc7480],li>.menuitem>img[data-v-79bc7480]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-79bc7480],li>button>input.checkbox+label[data-v-79bc7480],li>a>input.radio+label[data-v-79bc7480],li>a>input.checkbox+label[data-v-79bc7480],li>.menuitem>input.radio+label[data-v-79bc7480],li>.menuitem>input.checkbox+label[data-v-79bc7480]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-79bc7480]::before,li>a>input.checkbox+label[data-v-79bc7480]::before,li>.menuitem>input.checkbox+label[data-v-79bc7480]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-79bc7480]::before,li>a>input.radio+label[data-v-79bc7480]::before,li>.menuitem>input.radio+label[data-v-79bc7480]::before{margin:-2px 12px 0}li>button>input[data-v-79bc7480]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-79bc7480]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-79bc7480]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-79bc7480],li>a form[data-v-79bc7480],li>.menuitem form[data-v-79bc7480]{display:flex;flex:1 1 auto}li>button form[data-v-79bc7480]:not(:first-child),li>a form[data-v-79bc7480]:not(:first-child),li>.menuitem form[data-v-79bc7480]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-79bc7480],li>button>span[style*='display:none']+form[data-v-79bc7480],li>a>span.hidden+form[data-v-79bc7480],li>a>span[style*='display:none']+form[data-v-79bc7480],li>.menuitem>span.hidden+form[data-v-79bc7480],li>.menuitem>span[style*='display:none']+form[data-v-79bc7480]{margin-left:0}li>button input[data-v-79bc7480],li>a input[data-v-79bc7480],li>.menuitem input[data-v-79bc7480]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-79bc7480]:not(:first-child),li>a input[data-v-79bc7480]:not(:first-child),li>.menuitem input[data-v-79bc7480]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-79bc7480]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-79bc7480]{margin-bottom:12px}li>button[data-v-79bc7480]{padding:0}li>button span[data-v-79bc7480]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,WCzRa,CD0Rb,WCtR6C,CD4KhD,mRAgHG,oBAAqB,CACrB,UAAW,CAjHd,sKAoHG,kBAAmB,CApHtB,6JAuHG,kBAAmB,CAvHtB,4QA0HG,WAAY,CA1Hf,8FA+HG,YAAa,CACb,aAAc,CAhIjB,oJAoII,eAAgB,CApIpB,oTA0IG,aAAc,CA1IjB,iGA8IG,cClUkB,CDmUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAjJjB,uJAoJI,eAAgB,CApJpB,+gBA+JK,eAA8B,CA/JnC,ygBAsKK,kBAAiC,CAtKtC,2BA4KE,SAAU,CA5KZ,gCA8KG,SC/Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},1142:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r),s=e(1667),l=e.n(s),c=e(8887),d=e(4831),A=e(2842),u=o()(a()),p=l()(c.Z),m=l()(d.Z),T=l()(A.Z);u.push([n.id,\".material-design-icon[data-v-c5738294]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-c5738294]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-c5738294]{color:var(--color-main-text);background:var(--color-primary-light)}.highlight .autocomplete-result[data-v-c5738294],.highlight .autocomplete-result *[data-v-c5738294]{cursor:pointer}.autocomplete-result__icon[data-v-c5738294]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-c5738294]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-c5738294]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-c5738294]{background-image:url(\"+p+\")}.autocomplete-result__status--dnd[data-v-c5738294]{background-image:url(\"+m+\");background-color:#ffffff}.autocomplete-result__status--away[data-v-c5738294]{background-image:url(\"+T+\")}.autocomplete-result__status--icon[data-v-c5738294]{border:none;background-color:transparent}.autocomplete-result__content[data-v-c5738294]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-c5738294],.autocomplete-result__subline[data-v-c5738294]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-c5738294]{color:var(--color-text-lighter)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/AutoCompleteResult.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgGxB,sCACC,YAAa,CACb,WCjFoB,CDkFpB,YAL0B,CAO1B,iDACC,4BAA6B,CAC7B,qCAAsC,CAFvC,oGAIE,cAAe,CACf,4CAID,iBAAkB,CAClB,aC9FmB,CD+FnB,UC/FmB,CDgGnB,cChGmB,CDiGnB,WCjGmB,CDkGnB,kBClGmB,CDmGnB,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA4D,CAC5D,yDACC,aAAc,CACd,qBAAsB,CACtB,8CAID,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,UAAW,CACX,WAAY,CACZ,6CAA8C,CAC9C,iBAAkB,CAClB,6CAA8C,CAC9C,kCAAmC,CACnC,gBAAiB,CACjB,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAE3B,sDACC,wDAAyE,CACzE,mDAEA,wDAAsE,CACtE,wBAAyB,CACzB,oDAEA,wDAAuE,CACvE,oDAEA,WAAY,CACZ,4BAA6B,CAC7B,+CAID,YAAa,CACb,aAAc,CACd,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,iBAtEyB,CAuEzB,4FAIA,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,+CAGA,+BAAgC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=u},4388:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},2305:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-6d5a0150]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-6d5a0150]{overflow-y:auto;width:auto;margin:0;padding:6px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-6d5a0150]:before{content:attr(placeholder);color:var(--color-text-maxcontrast)}.rich-contenteditable__input[contenteditable='false'][data-v-6d5a0150]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:transparent;color:var(--color-main-text);border-color:transparent;opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-6d5a0150]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-6d5a0150]{opacity:.5;color:var(--color-text-lighter);border:1px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/RichContenteditable.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8hBxB,8CACC,eAAgB,CAChB,UAAW,CACX,QAAS,CACT,WAAY,CACZ,WAAY,CACZ,oBAAqB,CACrB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAC9C,4BAA6B,CAC7B,iBAAkB,CAClB,eC5hBoB,CD6hBpB,gBAAiC,CAGjC,4DACC,yBAA0B,CAC1B,mCAAoC,CArBtC,mHAyBE,cAAe,CACf,4BAA6B,CAC7B,4BAA6B,CAC7B,wBAAyB,CACzB,SAAU,CACV,eAAgB,CAChB,yDAGA,gBAA+B,CAE/B,eAAgB,CAChB,wDAGA,UCpiBmB,CDqiBnB,+BAAgC,CAChC,+CAAgD,CAChD,kCAAmC,CACnC,6CAA8C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 6px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&[contenteditable='false']:not(&--disabled) {\\n\\t\\tcursor: default;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-color: transparent;\\n\\t\\topacity: 1;\\n\\t\\tborder-radius: 0;\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4398:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji{min-width:200px;max-width:200px;padding:4px;max-height:187.25px}.tribute-container-emoji__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:0.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji{padding-right:8px}.tribute-container-emoji .highlight{opacity:1;color:var(--color-main-text);background:var(--color-primary-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *{cursor:pointer}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/RichContenteditable.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCilBxB,4CACC,YAAa,CACb,aAAc,CACd,eAAgB,CAChB,eAAgB,CAGhB,gBAA0C,CAE1C,YAAa,CACb,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,4CAA6C,CAC7C,yBAGA,eAAgB,CAChB,eAAgB,CAChB,WAAY,CAEZ,mBAAmC,CAEnC,+BACC,iBAAkB,CAClB,eAAgB,CAChB,iBAAkB,CAClB,WAAY,CACZ,cAAe,CAGf,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CAVvB,0CAaC,eAAgB,CAChB,sCAGA,iBAAkB,CAxBrB,oCA6BE,SAAU,CACV,4BAA6B,CAC7B,qCAAsC,CA/BxC,0EAiCG,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.tribute-container, .tribute-container-emoji {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n.tribute-container-emoji {\\n\\tmin-width: 200px;\\n\\tmax-width: 200px;\\n\\tpadding: 4px;\\n\\t// Show maximum 5 entries and a half to show scroll\\n\\tmax-height: 34.5px * 5 + 29.5px / 2;\\n\\n\\t&__item {\\n\\t\\tborder-radius: 8px;\\n\\t\\tpadding: 4px 8px;\\n\\t\\tmargin-bottom: 4px;\\n\\t\\topacity: 0.8;\\n\\t\\tcursor: pointer;\\n\\n\\t\\t// Take care of long names\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__emoji {\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.highlight {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},1305:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-548823d7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-548823d7]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-548823d7]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section__title[data-v-548823d7]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:bold}.settings-section__info[data-v-548823d7]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-14px;margin-left:0;opacity:.7}.settings-section__info[data-v-548823d7]:hover,.settings-section__info[data-v-548823d7]:focus,.settings-section__info[data-v-548823d7]:active{opacity:1}.settings-section__desc[data-v-548823d7]{margin-top:-.2em;margin-bottom:1em;opacity:.7}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/SettingsSection/SettingsSection.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCuGxB,mCACC,aAAc,CACd,kBAAmB,CACnB,YAAa,CAHd,oDAME,2CAA4C,CAC5C,0CAGA,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,cAAe,CACf,gBAAiB,CACjB,yCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UC3GmB,CD4GnB,WC5GmB,CD8GnB,YCtG8C,CDuG9C,aAAc,CACd,UC9FiB,CDqFjB,8IAYC,SChGa,CDiGb,yCAID,gBAAiB,CACjB,iBAAkB,CAClB,UCxGiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.settings-section {\\n\\tdisplay: block;\\n\\tmargin-bottom: auto;\\n\\tpadding: 30px;\\n\\n\\t&:not(:last-child) {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__title {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__info {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\t// make sure to properly align the icon with the text\\n\\t\\tmargin: -$icon-margin;\\n\\t\\tmargin-left: 0;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t&:hover, &:focus, &:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__desc {\\n\\t\\tmargin-top: -.2em;\\n\\t\\tmargin-bottom: 1em;\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},3317:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4c50db00]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-4c50db00] .multiselect__tags{border:none !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/TimezonePicker/TimezonePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCoHxB,qCACC,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .multiselect__tags {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},4705:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-864988e2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-864988e2]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-864988e2]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-864988e2]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-864988e2]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-864988e2]{align-self:center}.user-bubble__title[data-v-864988e2]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__title[data-v-864988e2],.user-bubble__secondary[data-v-864988e2]{padding:0;padding-left:4px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/UserBubble/UserBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqRvB,uCAEC,oBAAqB,CACrB,qBAAsB,CAEtB,WAAY,CACZ,cAAe,CACf,uCAGA,mBAAoB,CACpB,cAAe,CACf,6CAA8C,CAE9C,gDACC,+BAAgC,CAChC,6CAA8C,CAP/C,mDAYC,iBAAkB,CAClB,sCAID,iBAAkB,CAClB,qCAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,8EAKA,SAAU,CACV,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.user-bubble {\\n\\t&__wrapper {\\n\\t\\t// align inline with text\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\t// shrink and allow grow to fit\\n\\t\\tmin-width: 0;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\n\\t\\t&--primary {\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t> :last-child {\\n\\t\\t\\t// border radius left padding\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\talign-self: center;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__title,\\n\\t&__secondary {\\n\\t\\t// proper spacing between avatar, title & slot\\n\\t\\tpadding: 0;\\n\\t\\tpadding-left: 4px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},6381:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\"\\n.app-navigation-spacer[data-v-42195cc8] {\\n\\tflex-shrink: 0;\\n\\torder: 1;\\n\\theight: 22px;\\n}\\n\\n\",\"\",{version:3,sources:[\"webpack://./src/components/AppNavigationSpacer/AppNavigationSpacer.vue\"],names:[],mappings:\";AAgCA;CACA,cAAA;CACA,QAAA;CACA,YAAA;AACA\",sourcesContent:[\"\\x3c!--\\n - @copyright Copyright (c) 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\\n -\\n - @author Christoph Wurst <christoph@winzerhof-wurst.at>\\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 <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n<template>\\n\\t<li class=\\\"app-navigation-spacer\\\" />\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'AppNavigationSpacer',\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\t.app-navigation-spacer {\\n\\t\\tflex-shrink: 0;\\n\\t\\torder: 1;\\n\\t\\theight: 22px;\\n\\t}\\n\\n</style>\\n\"],sourceRoot:\"\"}]),t.Z=o},1852:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\"\\nbutton.menuitem[data-v-79bc7480] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-79bc7480] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-79bc7480]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-79bc7480] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-79bc7480] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"nofollow noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),t.Z=o},3645:function(n){\"use strict\";n.exports=function(n){var t=[];return t.toString=function(){return this.map((function(t){var e=n(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(e,\"}\"):e})).join(\"\")},t.i=function(n,e,i){\"string\"==typeof n&&(n=[[null,n,\"\"]]);var a={};if(i)for(var r=0;r<this.length;r++){var o=this[r][0];null!=o&&(a[o]=!0)}for(var s=0;s<n.length;s++){var l=[].concat(n[s]);i&&a[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),t.push(l))}},t}},4015:function(n){\"use strict\";function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e<t;e++)i[e]=n[e];return i}n.exports=function(n){var e,i,a=(i=4,function(n){if(Array.isArray(n))return n}(e=n)||function(n,t){var e=n&&(\"undefined\"!=typeof Symbol&&n[Symbol.iterator]||n[\"@@iterator\"]);if(null!=e){var i,a,r=[],o=!0,s=!1;try{for(e=e.call(n);!(o=(i=e.next()).done)&&(r.push(i.value),!t||r.length!==t);o=!0);}catch(n){s=!0,a=n}finally{try{o||null==e.return||e.return()}finally{if(s)throw a}}return r}}(e,i)||function(n,e){if(n){if(\"string\"==typeof n)return t(n,e);var i=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===i&&n.constructor&&(i=n.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(n):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(n,e):void 0}}(e,i)||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.\")}()),r=a[1],o=a[3];if(!o)return r;if(\"function\"==typeof btoa){var s=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),l=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(s),c=\"/*# \".concat(l,\" */\"),d=o.sources.map((function(n){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(n,\" */\")}));return[r].concat(d).concat([c]).join(\"\\n\")}return[r].join(\"\\n\")}},1667:function(n){\"use strict\";n.exports=function(n,t){return t||(t={}),\"string\"!=typeof(n=n&&n.__esModule?n.default:n)?n:(/^['\"].*['\"]$/.test(n)&&(n=n.slice(1,-1)),t.hash&&(n+=t.hash),/[\"'() \\t\\n]/.test(n)||t.needQuotes?'\"'.concat(n.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):n)}},1756:function(n,t,e){\"use strict\";var i=e(3379),a=e.n(i),r=e(7795),o=e.n(r),s=e(569),l=e.n(s),c=e(3565),d=e.n(c),A=e(9216),u=e.n(A),p=e(4589),m=e.n(p),T=e(7087),h={};h.styleTagTransform=m(),h.setAttributes=d(),h.insert=l().bind(null,\"head\"),h.domAPI=o(),h.insertStyleElement=u(),a()(T.Z,h),T.Z&&T.Z.locals&&T.Z.locals},2694:function(n,t,e){\"use strict\";var i=e(3379),a=e.n(i),r=e(7795),o=e.n(r),s=e(569),l=e.n(s),c=e(3565),d=e.n(c),A=e(9216),u=e.n(A),p=e(4589),m=e.n(p),T=e(9224),h={};h.styleTagTransform=m(),h.setAttributes=d(),h.insert=l().bind(null,\"head\"),h.domAPI=o(),h.insertStyleElement=u(),a()(T.Z,h),T.Z&&T.Z.locals&&T.Z.locals},3379:function(n){\"use strict\";var t=[];function e(n){for(var e=-1,i=0;i<t.length;i++)if(t[i].identifier===n){e=i;break}return e}function i(n,i){for(var r={},o=[],s=0;s<n.length;s++){var l=n[s],c=i.base?l[0]+i.base:l[0],d=r[c]||0,A=\"\".concat(c,\" \").concat(d);r[c]=d+1;var u=e(A),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(p);else{var m=a(p,i);i.byIndex=s,t.splice(s,0,{identifier:A,updater:m,references:1})}o.push(A)}return o}function a(n,t){var e=t.domAPI(t);return e.update(n),function(t){if(t){if(t.css===n.css&&t.media===n.media&&t.sourceMap===n.sourceMap&&t.supports===n.supports&&t.layer===n.layer)return;e.update(n=t)}else e.remove()}}n.exports=function(n,a){var r=i(n=n||[],a=a||{});return function(n){n=n||[];for(var o=0;o<r.length;o++){var s=e(r[o]);t[s].references--}for(var l=i(n,a),c=0;c<r.length;c++){var d=e(r[c]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}r=l}}},569:function(n){\"use strict\";var t={};n.exports=function(n,e){var i=function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}t[n]=e}return t[n]}(n);if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(e)}},9216:function(n){\"use strict\";n.exports=function(n){var t=document.createElement(\"style\");return n.setAttributes(t,n.attributes),n.insert(t,n.options),t}},3565:function(n,t,e){\"use strict\";n.exports=function(n){var t=e.nc;t&&n.setAttribute(\"nonce\",t)}},7795:function(n){\"use strict\";n.exports=function(n){var t=n.insertStyleElement(n);return{update:function(e){!function(n,t,e){var i=\"\";e.supports&&(i+=\"@supports (\".concat(e.supports,\") {\")),e.media&&(i+=\"@media \".concat(e.media,\" {\"));var a=void 0!==e.layer;a&&(i+=\"@layer\".concat(e.layer.length>0?\" \".concat(e.layer):\"\",\" {\")),i+=e.css,a&&(i+=\"}\"),e.media&&(i+=\"}\"),e.supports&&(i+=\"}\");var r=e.sourceMap;r&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleTagTransform(i,n,t.options)}(t,n,e)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(t)}}}},4589:function(n){\"use strict\";n.exports=function(n,t){if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}},2842:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},4831:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},8887:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},6953:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},1626:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},6816:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},9635:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},2943:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},9616:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},5104:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},6951:function(n,t){\"use strict\";t.Z=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},491:function(n,t,e){\"use strict\";var i=e(8940),a=e(4403),r=(e(7911),e(1900)),o=e(3184),s=e.n(o),l=(0,r.Z)(a.Z,i.s,i.x,!1,null,\"ef50c406\",null);\"function\"==typeof s()&&s()(l),t.Z=l.exports},3083:function(n,t,e){\"use strict\";var i=e(9125),a=e(613),r=(e(3822),e(1900)),o=e(2192),s=e.n(o),l=(0,r.Z)(a.Z,i.s,i.x,!1,null,\"2a98ba3b\",null);\"function\"==typeof s()&&s()(l),t.Z=l.exports},2569:function(n,t,e){\"use strict\";e.d(t,{Z:function(){return x}});var i=e(932),a=e(2533),r=e.n(a),o=e(5978),s=e.n(o),l={name:\"InputConfirmCancel\",components:{ArrowRight:r(),Close:s()},props:{placeholder:{default:\"\",type:String},value:{default:\"\",type:String}},data:function(){return{labelConfirm:(0,i.t)(\"Confirm changes\"),labelCancel:(0,i.t)(\"Cancel changes\")}},computed:{valueModel:{get:function(){return this.value},set:function(n){this.$emit(\"input\",n)}}},methods:{confirm:function(){this.$emit(\"confirm\")},cancel:function(){this.$emit(\"cancel\")},focusInput:function(){this.$refs.input.focus()}}},c=e(3379),d=e.n(c),A=e(7795),u=e.n(A),p=e(569),m=e.n(p),T=e(3565),h=e.n(T),g=e(9216),C=e.n(g),b=e(4589),f=e.n(b),v=e(484),B={};B.styleTagTransform=f(),B.setAttributes=h(),B.insert=m().bind(null,\"head\"),B.domAPI=u(),B.insertStyleElement=C(),d()(v.Z,B),v.Z&&v.Z.locals&&v.Z.locals;var E=e(1900),D=e(869),S=e.n(D),y=(0,E.Z)(l,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation-input-confirm\"},[e(\"form\",{on:{submit:function(t){return t.preventDefault(),n.confirm.apply(null,arguments)},keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.cancel.apply(null,arguments))},click:function(n){n.stopPropagation(),n.preventDefault()}}},[e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.valueModel,expression:\"valueModel\"}],ref:\"input\",staticClass:\"app-navigation-input-confirm__input\",attrs:{type:\"text\",placeholder:n.placeholder},domProps:{value:n.valueModel},on:{input:function(t){t.target.composing||(n.valueModel=t.target.value)}}}),n._v(\" \"),e(\"button\",{staticClass:\"app-navigation-input-confirm__confirm\",attrs:{type:\"submit\",\"aria-label\":n.labelConfirm},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.confirm.apply(null,arguments)}}},[e(\"ArrowRight\",{attrs:{size:20,decorative:\"\",title:\"\"}})],1),n._v(\" \"),e(\"button\",{staticClass:\"app-navigation-input-confirm__close\",attrs:{type:\"reset\",\"aria-label\":n.labelCancel},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.cancel.apply(null,arguments)}}},[e(\"Close\",{attrs:{size:20,decorative:\"\",title:\"\"}})],1)])])}),[],!1,null,null,null);\"function\"==typeof S()&&S()(y);var x=y.exports},5576:function(n,t,e){\"use strict\";e.d(t,{Z:function(){return B}});var i={name:\"EmptyContent\",props:{icon:{type:String,default:\"\"}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(1271),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(8002),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"empty-content\",attrs:{role:\"note\"}},[e(\"div\",{staticClass:\"empty-content__icon\",class:n.icon,attrs:{role:\"img\"}},[n._t(\"icon\")],2),n._v(\" \"),e(\"h2\",{staticClass:\"empty-content__title\"},[n._t(\"default\")],2),n._v(\" \"),e(\"p\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.$slots.desc,expression:\"$slots.desc\"}]},[n._t(\"desc\")],2)])}),[],!1,null,\"c0b73214\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},7020:function(n,t,e){\"use strict\";e.d(t,{Z:function(){return B}});var i={name:\"Popover\",components:{VPopover:e(2965).VPopover},mounted:function(){var n=this;this.$watch((function(){return n.$refs.popover.isOpen}),(function(t){t?n.$emit(\"after-show\"):n.$emit(\"after-hide\")}))}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(5878),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(8733),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"VPopover\",n._g(n._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:n._u([{key:\"popover\",fn:function(){return[n._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",n.$attrs,!1),n.$listeners),[n._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof f()&&f()(v);var B=v.exports},8104:function(n,t,e){\"use strict\";var i=e(5494),a=(0,e(1900).Z)(i.Z,void 0,void 0,!1,null,null,null);t.Z=a.exports},4403:function(n,t,e){\"use strict\";var i=e(5938);t.Z=i.Z},613:function(n,t,e){\"use strict\";var i=e(858);t.Z=i.Z},5494:function(n,t,e){\"use strict\";var i=e(5041);t.Z=i.Z},7911:function(n,t,e){\"use strict\";e(1756)},3822:function(n,t,e){\"use strict\";e(2694)},3184:function(){},5933:function(){},9012:function(){},2329:function(){},1967:function(){},4444:function(){},6616:function(){},2192:function(){},1871:function(){},8347:function(){},4795:function(){},7808:function(){},2930:function(){},7091:function(){},869:function(){},4773:function(){},2458:function(){},9976:function(){},995:function(){},9352:function(){},2418:function(){},9182:function(){},7160:function(){},3095:function(){},9908:function(){},5693:function(){},3489:function(){},8002:function(){},6200:function(){},2895:function(){},7772:function(){},8575:function(){},7827:function(){},590:function(){},8733:function(){},26:function(){},1164:function(){},7862:function(){},9200:function(){},2527:function(){},8940:function(n,t,e){\"use strict\";e.d(t,{s:function(){return i},x:function(){return a}});var i=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:n.isFocusable},attrs:{\"aria-label\":n.ariaLabel,type:\"button\"},on:{click:n.onClick}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-button__icon\",class:[n.isIconUrl?\"action-button__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])},a=[]},9125:function(n,t,e){\"use strict\";e.d(t,{s:function(){return i},x:function(){return a}});var i=function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return t.isValidSingleAction&&!t.forceMenu?i(\"element\",t._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(n={},n[t.firstAction.icon]=t.firstAction.icon,n[t.firstActionClass]=t.firstActionClass,n[\"action-item--single--with-title\"]=t.singleActionTitle,n),attrs:{rel:\"nofollow noreferrer noopener\",disabled:t.isDisabled},on:t._d({focus:t.onFocus,blur:t.onBlur},[t.firstActionEventBinding,t.execFirstAction])},\"element\",t.firstActionBinding,!1),[i(\"VNodes\",{attrs:{vnodes:t.firstActionIconSlot}}),t._v(\"\\n\\n\\t\"+t._s(t.singleActionTitle)+\"\\n\\n\\t\"),t._v(\" \"),i(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[t._t(\"default\")],2)],1):i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasMultipleActions||t.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":t.opened}},[i(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:t.opened,placement:t.placement,\"boundaries-element\":t.boundariesElement,container:t.container},on:{\"update:open\":function(n){t.opened=n},show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu},scopedSlots:t._u([{key:\"trigger\",fn:function(){var n;return[i(\"button\",{ref:\"menuButton\",staticClass:\"icon vue-button action-item__menutoggle\",class:(n={},n[t.defaultIcon]=!t.iconSlotIsPopulated,n[\"action-item__menutoggle--with-title\"]=t.menuTitle,n[\"action-item__menutoggle--with-icon-slot\"]=t.iconSlotIsPopulated,n[\"action-item__menutoggle--default-icon\"]=!t.iconSlotIsPopulated&&\"\"===t.defaultIcon,n[\"action-item__menutoggle--primary\"]=t.primary,n),attrs:{disabled:t.disabled,\"aria-haspopup\":\"true\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.randomId,\"aria-expanded\":t.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:t.onFocus,blur:t.onBlur}},[t.iconSlotIsPopulated?t._t(\"icon\"):\"\"===t.defaultIcon?i(\"DotsHorizontal\",{attrs:{size:20,decorative:\"\"}}):t._e(),t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[t._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.opened,expression:\"opened\"}],ref:\"menu\",class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"up\",38,n.key,[\"Up\",\"ArrowUp\"])||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:t.focusPreviousAction.apply(null,arguments)},function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"down\",40,n.key,[\"Down\",\"ArrowDown\"])||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:t.focusNextAction.apply(null,arguments)},function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"tab\",9,n.key,\"Tab\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:t.focusNextAction.apply(null,arguments)},function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"tab\",9,n.key,\"Tab\")?null:n.shiftKey?n.ctrlKey||n.altKey||n.metaKey?null:t.focusPreviousAction.apply(null,arguments):null},function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"page-up\",void 0,n.key,void 0)||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:t.focusFirstAction.apply(null,arguments)},function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"page-down\",void 0,n.key,void 0)||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:t.focusLastAction.apply(null,arguments)},function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"esc\",27,n.key,[\"Esc\",\"Escape\"])||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.closeMenu.apply(null,arguments))}],mousemove:t.onMouseFocusAction}},[i(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\"}},[t.opened?[t._t(\"default\")]:t._e()],2)])])],1)},a=[]},1900:function(n,t,e){\"use strict\";function i(n,t,e,i,a,r,o,s){var l,c=\"function\"==typeof n?n.options:n;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),i&&(c.functional=!0),r&&(c._scopeId=\"data-v-\"+r),o?(l=function(n){(n=n||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(n=__VUE_SSR_CONTEXT__),a&&a.call(this,n),n&&n._registeredComponents&&n._registeredComponents.add(o)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(n,t){return l.call(t),d(n,t)}}else{var A=c.beforeCreate;c.beforeCreate=A?[].concat(A,l):[l]}return{exports:n,options:c}}e.d(t,{Z:function(){return i}})},3607:function(n){\"use strict\";n.exports=require(\"@nextcloud/auth\")},768:function(n){\"use strict\";n.exports=require(\"@nextcloud/axios\")},7672:function(n){\"use strict\";n.exports=require(\"@nextcloud/browser-storage\")},542:function(n){\"use strict\";n.exports=require(\"@nextcloud/event-bus\")},6036:function(n){\"use strict\";n.exports=require(\"@nextcloud/l10n/dist/gettext\")},4262:function(n){\"use strict\";n.exports=require(\"@nextcloud/router\")},3465:function(n){\"use strict\";n.exports=require(\"debounce\")},2640:function(n){\"use strict\";n.exports=require(\"hammerjs\")},453:function(n){\"use strict\";n.exports=require(\"v-click-outside\")},2965:function(n){\"use strict\";n.exports=require(\"v-tooltip\")},2734:function(n){\"use strict\";n.exports=require(\"vue\")},2533:function(n){\"use strict\";n.exports=require(\"vue-material-design-icons/ArrowRight\")},9605:function(n){\"use strict\";n.exports=require(\"vue-material-design-icons/ChevronRight\")},5978:function(n){\"use strict\";n.exports=require(\"vue-material-design-icons/Close\")},3251:function(n){\"use strict\";n.exports=require(\"vue-material-design-icons/DotsHorizontal\")}},t={};function e(i){var a=t[i];if(void 0!==a)return a.exports;var r=t[i]={id:i,exports:{}};return n[i](r,r.exports,e),r.exports}e.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(t,{a:t}),t},e.d=function(n,t){for(var i in t)e.o(t,i)&&!e.o(n,i)&&Object.defineProperty(n,i,{enumerable:!0,get:t[i]})},e.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},e.r=function(n){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(n,\"__esModule\",{value:!0})};var i={};return function(){\"use strict\";e.r(i),e.d(i,{ActionButton:function(){return t.default},ActionCaption:function(){return a.default},ActionCheckbox:function(){return r.default},ActionInput:function(){return o.default},ActionLink:function(){return s.default},ActionRadio:function(){return l.default},ActionRouter:function(){return c.default},ActionSeparator:function(){return A.default},ActionText:function(){return u.default},ActionTextEditable:function(){return p.default},Actions:function(){return d.default},AppContent:function(){return m.default},AppContentDetails:function(){return T.default},AppContentList:function(){return h.default},AppNavigation:function(){return g.default},AppNavigationCaption:function(){return C.default},AppNavigationCounter:function(){return b.default},AppNavigationIconBullet:function(){return f.default},AppNavigationItem:function(){return v.default},AppNavigationNew:function(){return B.default},AppNavigationNewItem:function(){return E.default},AppNavigationSettings:function(){return D.default},AppNavigationSpacer:function(){return S.default},AppSettingsDialog:function(){return y.default},AppSettingsSection:function(){return x.default},AppSidebar:function(){return N.default},AppSidebarTab:function(){return k.default},Avatar:function(){return R.default},Breadcrumb:function(){return F.default},Breadcrumbs:function(){return w.default},Button:function(){return q.default},CheckboxRadioSwitch:function(){return O.default},ColorPicker:function(){return _.default},Content:function(){return Z.default},CounterBubble:function(){return Y.default},DatetimePicker:function(){return M.default},EmptyContent:function(){return I.default},Focus:function(){return K.default},Linkify:function(){return V.default},ListItem:function(){return G.default},ListItemIcon:function(){return L.default},Modal:function(){return $.default},Multiselect:function(){return U.default},MultiselectTags:function(){return j.default},Popover:function(){return P.default},PopoverMenu:function(){return z.default},RichContenteditable:function(){return H.default},SettingsSection:function(){return W.default},Tooltip:function(){return J.default},UserBubble:function(){return Q.default},default:function(){return an},excludeClickOutsideClasses:function(){return X.yd},isFullscreen:function(){return X.rm},isMobile:function(){return X.tq},richEditor:function(){return X.bf},userStatus:function(){return X.iQ}});var n={};e.r(n),e.d(n,{ActionButton:function(){return t.default},ActionCaption:function(){return a.default},ActionCheckbox:function(){return r.default},ActionInput:function(){return o.default},ActionLink:function(){return s.default},ActionRadio:function(){return l.default},ActionRouter:function(){return c.default},ActionSeparator:function(){return A.default},ActionText:function(){return u.default},ActionTextEditable:function(){return p.default},Actions:function(){return d.default},AppContent:function(){return m.default},AppContentDetails:function(){return T.default},AppContentList:function(){return h.default},AppNavigation:function(){return g.default},AppNavigationCaption:function(){return C.default},AppNavigationCounter:function(){return b.default},AppNavigationIconBullet:function(){return f.default},AppNavigationItem:function(){return v.default},AppNavigationNew:function(){return B.default},AppNavigationNewItem:function(){return E.default},AppNavigationSettings:function(){return D.default},AppNavigationSpacer:function(){return S.default},AppSettingsDialog:function(){return y.default},AppSettingsSection:function(){return x.default},AppSidebar:function(){return N.default},AppSidebarTab:function(){return k.default},Avatar:function(){return R.default},Breadcrumb:function(){return F.default},Breadcrumbs:function(){return w.default},Button:function(){return q.default},CheckboxRadioSwitch:function(){return O.default},ColorPicker:function(){return _.default},Content:function(){return Z.default},CounterBubble:function(){return Y.default},DatetimePicker:function(){return M.default},EmptyContent:function(){return I.default},ListItem:function(){return G.default},ListItemIcon:function(){return L.default},Modal:function(){return $.default},Multiselect:function(){return U.default},MultiselectTags:function(){return j.default},Popover:function(){return P.default},PopoverMenu:function(){return z.default},RichContenteditable:function(){return H.default},SettingsSection:function(){return W.default},UserBubble:function(){return Q.default}});var t=e(4828),a=e(198),r=e(3056),o=e(538),s=e(1460),l=e(5668),c=e(3434),d=e(5860),A=e(2768),u=e(1262),p=e(9975),m=e(1582),T=e(7864),h=e(637),g=e(8916),C=e(5485),b=e(1599),f=e(1466),v=e(3097),B=e(9273),E=e(5240),D=e(8906),S=e(6005),y=e(3257),x=e(2656),N=e(2523),k=e(1060),R=e(167),F=e(3792),w=e(6669),O=e(2528),_=e(9793),Z=e(6198),Y=e(1988),M=e(577),I=e(8263),G=e(8149),L=e(6982),$=e(4113),U=e(7316),j=e(7838),P=e(8099),z=e(6996),H=e(1102),W=e(3325),Q=e(4565),q=e(519),K=e(8167),V=e(5675),J=e(9040),X=e(3351);function nn(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,i)}return e}function tn(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function en(t){Object.values(n).forEach((function(n){t.component(n.name,n)}))}\"undefined\"!=typeof window&&window.Vue&&en(window.Vue);var an=function(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?nn(Object(e),!0).forEach((function(t){tn(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):nn(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}({install:en},n)}(),i}()}));\n//# sourceMappingURL=ncvuecomponents.js.map","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.EmojiMart=t():e.EmojiMart=t()}(\"undefined\"!=typeof self?self:this,(function(){return function(){var e={661:function(){\"undefined\"!=typeof window&&function(){for(var e=0,t=[\"ms\",\"moz\",\"webkit\",\"o\"],i=0;i<t.length&&!window.requestAnimationFrame;++i)window.requestAnimationFrame=window[t[i]+\"RequestAnimationFrame\"],window.cancelAnimationFrame=window[t[i]+\"CancelAnimationFrame\"]||window[t[i]+\"CancelRequestAnimationFrame\"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t,i){var n=(new Date).getTime(),r=Math.max(0,16-(n-e)),o=window.setTimeout((function(){t(n+r)}),r);return e=n+r,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}()}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var n={};return function(){\"use strict\";i.r(n),i.d(n,{Anchors:function(){return k},Category:function(){return J},Emoji:function(){return W},EmojiData:function(){return $},EmojiIndex:function(){return q},EmojiView:function(){return R},Picker:function(){return oe},Preview:function(){return Z},Search:function(){return K},Skins:function(){return X},frequently:function(){return w},sanitize:function(){return N},store:function(){return c},uncompress:function(){return v}});var e,t,r=\"emoji-mart\",o=JSON,s=\"undefined\"!=typeof window&&\"localStorage\"in window;function a(e,i){if(t)t(e,i);else{if(!s)return;try{window.localStorage[\"\".concat(r,\".\").concat(e)]=o.stringify(i)}catch(e){}}}var c={update:function(e){for(var t in e)a(t,e[t])},set:a,get:function(t){if(e)return e(t);if(s){try{var i=window.localStorage[\"\".concat(r,\".\").concat(t)]}catch(e){return}return i?JSON.parse(i):void 0}},setNamespace:function(e){r=e},setHandlers:function(i){i||(i={}),e=i.getter,t=i.setter}};function u(e){return u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u(e)}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}var h={name:\"a\",unified:\"b\",non_qualified:\"c\",has_img_apple:\"d\",has_img_google:\"e\",has_img_twitter:\"f\",has_img_facebook:\"h\",keywords:\"j\",sheet:\"k\",emoticons:\"l\",text:\"m\",short_names:\"n\",added_in:\"o\"},m=function(e){var t=[],i=function(e,i){e&&(Array.isArray(e)?e:[e]).forEach((function(e){(i?e.split(/[-|_|\\s]+/):[e]).forEach((function(e){e=e.toLowerCase(),-1==t.indexOf(e)&&t.push(e)}))}))};return i(e.short_names,!0),i(e.name,!0),i(e.keywords,!1),i(e.emoticons,!1),t.join(\",\")};function d(e){var t,i=function(e,t){var i=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if(\"string\"==typeof e)return l(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===i&&e.constructor&&(i=e.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(e):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?l(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 o,s=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}(Object.getOwnPropertyNames(e));try{for(i.s();!(t=i.n()).done;){var n=t.value,r=e[n];e[n]=r&&\"object\"===u(r)?d(r):r}}catch(e){i.e(e)}finally{i.f()}return Object.freeze(e)}var f,p,v=function(e){if(!e.compressed)return e;for(var t in e.compressed=!1,e.emojis){var i=e.emojis[t];for(var n in h)i[n]=i[h[n]],delete i[h[n]];i.short_names||(i.short_names=[]),i.short_names.unshift(t),i.sheet_x=i.sheet[0],i.sheet_y=i.sheet[1],delete i.sheet,i.text||(i.text=\"\"),i.added_in||(i.added_in=6),i.added_in=i.added_in.toFixed(1),i.search=m(i)}return d(e)},j=[\"+1\",\"grinning\",\"kissing_heart\",\"heart_eyes\",\"laughing\",\"stuck_out_tongue_winking_eye\",\"sweat_smile\",\"joy\",\"scream\",\"disappointed\",\"unamused\",\"weary\",\"sob\",\"sunglasses\",\"heart\",\"hankey\"],y={};function g(){p=!0,f=c.get(\"frequently\")}var w={add:function(e){p||g();var t=e.id;f||(f=y),f[t]||(f[t]=0),f[t]+=1,c.set(\"last\",t),c.set(\"frequently\",f)},get:function(e){if(p||g(),!f){y={};for(var t=[],i=Math.min(e,j.length),n=0;n<i;n++)y[j[n]]=parseInt((i-n)/4,10)+1,t.push(j[n]);return t}var r=e,o=[];for(var s in f)f.hasOwnProperty(s)&&o.push(s);var a=o.sort((function(e,t){return f[e]-f[t]})).reverse().slice(0,r),u=c.get(\"last\");return u&&-1==a.indexOf(u)&&(a.pop(),a.push(u)),a}},_={activity:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113\"/></svg>',custom:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><g transform=\"translate(2.000000, 1.000000)\"><rect id=\"Rectangle\" x=\"8\" y=\"0\" width=\"3\" height=\"21\" rx=\"1.5\"></rect><rect id=\"Rectangle\" transform=\"translate(9.843, 10.549) rotate(60) translate(-9.843, -10.549) \" x=\"8.343\" y=\"0.049\" width=\"3\" height=\"21\" rx=\"1.5\"></rect><rect id=\"Rectangle\" transform=\"translate(9.843, 10.549) rotate(-60) translate(-9.843, -10.549) \" x=\"8.343\" y=\"0.049\" width=\"3\" height=\"21\" rx=\"1.5\"></rect></g></svg>',flags:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z\"/></svg>',foods:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9\"/></svg>',nature:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8\"/><path d=\"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235\"/></svg>',objects:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z\"/><path d=\"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789\"/></svg>',smileys:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"/><path d=\"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0\"/></svg>',people:'<svg xmlns:svg=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\"> <path id=\"path3814\" d=\"m 3.3591089,21.17726 c 0.172036,0.09385 4.265994,2.29837 8.8144451,2.29837 4.927767,0 8.670894,-2.211883 8.82782,-2.306019 0.113079,-0.06785 0.182268,-0.190051 0.182267,-0.321923 0,-3.03119 -0.929494,-5.804936 -2.617196,-7.810712 -1.180603,-1.403134 -2.661918,-2.359516 -4.295699,-2.799791 4.699118,-2.236258 3.102306,-9.28617162 -2.097191,-9.28617162 -5.1994978,0 -6.7963103,7.04991362 -2.097192,9.28617162 -1.6337821,0.440275 -3.1150971,1.396798 -4.2956991,2.799791 -1.687703,2.005776 -2.617196,4.779522 -2.617196,7.810712 1.2e-6,0.137378 0.075039,0.263785 0.195641,0.329572 z M 8.0439319,5.8308783 C 8.0439309,2.151521 12.492107,0.30955811 15.093491,2.9109411 17.694874,5.5123241 15.852911,9.9605006 12.173554,9.9605 9.8938991,9.9579135 8.0465186,8.1105332 8.0439319,5.8308783 Z m -1.688782,7.6894977 c 1.524535,-1.811449 3.5906601,-2.809035 5.8184041,-2.809035 2.227744,0 4.293869,0.997586 5.818404,2.809035 1.533639,1.822571 2.395932,4.339858 2.439152,7.108301 -0.803352,0.434877 -4.141636,2.096112 -8.257556,2.096112 -3.8062921,0 -7.3910861,-1.671043 -8.2573681,-2.104981 0.04505,-2.765017 0.906968,-5.278785 2.438964,-7.099432 z\" /> <path id=\"path3816\" d=\"M 12.173828 0.38867188 C 9.3198513 0.38867187 7.3770988 2.3672285 6.8652344 4.6308594 C 6.4218608 6.5916015 7.1153562 8.7676117 8.9648438 10.126953 C 7.6141249 10.677376 6.3550511 11.480944 5.3496094 12.675781 C 3.5629317 14.799185 2.6015625 17.701475 2.6015625 20.847656 C 2.6015654 21.189861 2.7894276 21.508002 3.0898438 21.671875 C 3.3044068 21.788925 7.4436239 24.039062 12.173828 24.039062 C 17.269918 24.039062 21.083568 21.776786 21.291016 21.652344 C 21.57281 21.483266 21.746097 21.176282 21.746094 20.847656 C 21.746094 17.701475 20.78277 14.799185 18.996094 12.675781 C 17.990455 11.480591 16.733818 10.675362 15.382812 10.125 C 17.231132 8.7655552 17.925675 6.5910701 17.482422 4.6308594 C 16.970557 2.3672285 15.027805 0.38867188 12.173828 0.38867188 z M 12.792969 2.3007812 C 13.466253 2.4161792 14.125113 2.7383941 14.695312 3.3085938 C 15.835712 4.4489931 15.985604 5.9473549 15.46875 7.1953125 C 14.951896 8.4432701 13.786828 9.3984378 12.173828 9.3984375 C 10.197719 9.3961954 8.607711 7.806187 8.6054688 5.8300781 C 8.6054683 4.2170785 9.5606362 3.0520102 10.808594 2.5351562 C 11.432573 2.2767293 12.119685 2.1853833 12.792969 2.3007812 z M 12.173828 11.273438 C 14.233647 11.273438 16.133674 12.185084 17.5625 13.882812 C 18.93069 15.508765 19.698347 17.776969 19.808594 20.283203 C 18.807395 20.800235 15.886157 22.162109 12.173828 22.162109 C 8.7614632 22.162109 5.6245754 20.787069 4.5390625 20.265625 C 4.6525896 17.766717 5.4203315 15.504791 6.7851562 13.882812 C 8.2139827 12.185084 10.11401 11.273438 12.173828 11.273438 z \" /> </svg>',places:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5\"/><path d=\"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z\"/></svg>',recent:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z\"/><path d=\"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"/></svg>',symbols:'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path d=\"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76\"/></svg>'};function C(e,t,i,n,r,o,s,a){var c,u=\"function\"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=i,u._compiled=!0),n&&(u.functional=!0),o&&(u._scopeId=\"data-v-\"+o),s?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=c):r&&(c=a?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(e,t){return c.call(t),l(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:u}}var b=C({props:{i18n:{type:Object,required:!0},color:{type:String},categories:{type:Array,required:!0},activeCategory:{type:Object,default:function(){return{}}}},created:function(){this.svgs=_}},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"emoji-mart-anchors\",attrs:{role:\"tablist\"}},e._l(e.categories,(function(t){return i(\"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\",\"aria-label\":t.name,\"aria-selected\":t.id==e.activeCategory.id,\"data-title\":e.i18n.categories[t.id]},on:{click:function(i){return e.$emit(\"click\",t)}}},[i(\"div\",{attrs:{\"aria-hidden\":\"true\"},domProps:{innerHTML:e._s(e.svgs[t.id])}}),e._v(\" \"),i(\"span\",{staticClass:\"emoji-mart-anchor-bar\",style:{backgroundColor:e.color},attrs:{\"aria-hidden\":\"true\"}})])})),0)}),[],!1,null,null,null),k=b.exports;function E(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function S(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function x(e,t,i){return t&&S(e.prototype,t),i&&S(e,i),e}var O=String.fromCodePoint||function(){var e,t,i=16384,n=[],r=-1,o=arguments.length;if(!o)return\"\";for(var s=\"\";++r<o;){var a=Number(arguments[r]);if(!isFinite(a)||a<0||a>1114111||Math.floor(a)!=a)throw RangeError(\"Invalid code point: \"+a);a<=65535?n.push(a):(e=55296+((a-=65536)>>10),t=a%1024+56320,n.push(e,t)),(r+1===o||n.length>i)&&(s+=String.fromCharCode.apply(null,n),n.length=0)}return s};function P(e){var t=e.split(\"-\").map((function(e){return\"0x\".concat(e)}));return O.apply(null,t)}function A(e){return e.reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[])}function M(e,t){var i=A(e),n=A(t);return i.filter((function(e){return n.indexOf(e)>=0}))}function I(e,t){var i={};for(var n in e){var r=e[n],o=r;t.hasOwnProperty(n)&&(o=t[n]),\"object\"===u(o)&&(o=I(r,o)),i[n]=o}return i}function F(e,t){var i=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if(\"string\"==typeof e)return z(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===i&&e.constructor&&(i=e.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(e):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?z(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 o,s=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}var L=/^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/,T=[\"1F3FA\",\"1F3FB\",\"1F3FC\",\"1F3FD\",\"1F3FE\",\"1F3FF\"],q=function(){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i.emojisToShowFilter,r=i.include,o=i.exclude,s=i.custom,a=i.recent,c=i.recentLength,u=void 0===c?20:c;E(this,e),this._data=v(t),this._emojisFilter=n||null,this._include=r||null,this._exclude=o||null,this._custom=s||[],this._recent=a||w.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 x(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,i){var n=e._include.indexOf(t.id),r=e._include.indexOf(i.id);return n<r?-1:n>r?1:0}))),t.forEach((function(t){if(e.isCategoryNeeded(t.id)){var i={id:t.id,name:t.name,emojis:[]};t.emojis.forEach((function(t){var n=e.addEmoji(t);n&&i.emojis.push(n)})),i.emojis.length&&e._categories.push(i)}})),this.isCategoryNeeded(\"custom\")){if(this._custom.length>0){var i,n=F(this._custom);try{for(n.s();!(i=n.n()).done;){var r=i.value;this.addCustomEmoji(r)}}catch(e){n.e(e)}finally{n.f()}}this._customCategory.emojis.length&&this._categories.push(this._customCategory)}this.isCategoryNeeded(\"recent\")&&(this._recent.length&&this._recent.map((function(t){var i,n=F(e._customCategory.emojis);try{for(n.s();!(i=n.n()).done;){var r=i.value;if(r.id===t)return void e._recentCategory.emojis.push(r)}}catch(e){n.e(e)}finally{n.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 i=e.match(L);if(i&&(e=i[1],i[2]&&(t=parseInt(i[2],10))),this._data.aliases.hasOwnProperty(e)&&(e=this._data.aliases[e]),this._emojis.hasOwnProperty(e)){var n=this._emojis[e];return t?n.getSkin(t):n}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 i=this;if(t||(t=75),!e.length)return null;if(\"-\"==e||\"-1\"==e)return[this.emoji(\"-1\")];var n,r=e.toLowerCase().split(/[\\s|,|\\-|_]+/);r.length>2&&(r=[r[0],r[1]]),n=r.map((function(e){for(var t=i._emojis,n=i._searchIndex,r=0,o=0;o<e.length;o++){var s=e[o];r++,n[s]||(n[s]={}),(n=n[s]).results||function(){var i={};for(var o in n.results=[],n.emojis={},t){var s=t[o],a=s._data.search,c=e.substr(0,r),u=a.indexOf(c);if(-1!=u){var l=u+1;c==o&&(l=0),n.results.push(s),n.emojis[o]=s,i[o]=l}}n.results.sort((function(e,t){return i[e.id]-i[t.id]}))}(),t=n.emojis}return n.results})).filter((function(e){return e}));var o=null;return(o=n.length>1?M.apply(null,n):n.length?n[0]:[])&&o.length>t&&(o=o.slice(0,t)),o}},{key:\"addCustomEmoji\",value:function(e){var t=Object.assign({},e,{id:e.short_names[0],custom:!0});t.search||(t.search=m(t));var i=new $(t);return this._emojis[i.id]=i,this._customCategory.emojis.push(i),i}},{key:\"addEmoji\",value:function(e){var t=this,i=this._data.emojis[e];if(!this.isEmojiNeeded(i))return!1;var n=new $(i);if(this._emojis[e]=n,n.native&&(this._nativeEmojis[n.native]=n),n._skins)for(var r in n._skins){var o=n._skins[r];o.native&&(this._nativeEmojis[o.native]=o)}return n.emoticons&&n.emoticons.forEach((function(i){t._emoticons[i]||(t._emoticons[i]=e)})),n}},{key:\"isCategoryNeeded\",value:function(e){var t=!this._include||!this._include.length||this._include.indexOf(e)>-1,i=!(!this._exclude||!this._exclude.length)&&this._exclude.indexOf(e)>-1;return!(!t||i)}},{key:\"isEmojiNeeded\",value:function(e){return!this._emojisFilter||this._emojisFilter(e)}}]),e}(),$=function(){function e(t){if(E(this,e),this._data=Object.assign({},t),this._skins=null,this._data.skin_variations)for(var i in this._skins=[],T){var n=T[i],r=this._data.skin_variations[n],o=Object.assign({},t);for(var s in r)o[s]=r[s];delete o.skin_variations,o.skin_tone=parseInt(i)+1,this._skins.push(new e(o))}for(var a in this._sanitized=N(this._data),this._sanitized)this[a]=this._sanitized[a];this.short_names=this._data.short_names,this.short_name=this._data.short_names[0],Object.freeze(this)}return x(e,[{key:\"getSkin\",value:function(e){return e&&\"native\"!=e&&this._skins?this._skins[e-1]:this}},{key:\"getPosition\",value:function(){var e=100/57,t=Math.round(e*this._data.sheet_x*100)/100,i=Math.round(e*this._data.sheet_y*100)/100;return\"\".concat(t,\"% \").concat(i,\"%\")}},{key:\"ariaLabel\",value:function(){return[this.native].concat(this.short_names).filter(Boolean).join(\", \")}}]),e}(),R=function(){function e(t,i,n,r,o,s,a){E(this,e),this._emoji=t,this._native=r,this._skin=i,this._set=n,this._fallback=o,this.canRender=this._canRender(),this.cssClass=this._cssClass(),this.cssStyle=this._cssStyle(a),this.content=this._content(),this.title=!0===s?t.short_name:null,this.ariaLabel=t.ariaLabel(),Object.freeze(this)}return x(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 N(e){var t=e.name,i=e.short_names,n=e.skin_tone,r=e.skin_variations,o=e.emoticons,s=e.unified,a=e.custom,c=e.imageUrl,u=e.id||i[0],l=\":\".concat(u,\":\");return a?{id:u,name:t,colons:l,emoticons:o,custom:a,imageUrl:c}:(n&&(l+=\":skin-tone-\".concat(n,\":\")),{id:u,name:t,colons:l,emoticons:o,unified:s.toLowerCase(),skin:n||(r?1:null),native:P(s)})}function D(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var B={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\"}},H={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 U(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function V(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?U(Object(i),!0).forEach((function(t){D(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):U(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var W=C({props:V(V({},B),{},{data:{type:Object,required:!0}}),computed:{view:function(){return new R(this.emojiObject,this.skin,this.set,this.native,this.fallback,this.tooltip,this.size)},sanitizedData:function(){return this.emojiObject._sanitized},title:function(){return this.tooltip?this.emojiObject.short_name:null},emojiObject:function(){return\"string\"==typeof this.emoji?this.data.findEmoji(this.emoji):this.emoji}},created:function(){},methods:{onClick:function(){this.$emit(\"click\",this.emojiObject)},onMouseEnter:function(){this.$emit(\"mouseenter\",this.emojiObject)},onMouseLeave:function(){this.$emit(\"mouseleave\",this.emojiObject)}}},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.view.canRender?i(e.tag,{tag:\"component\",staticClass:\"emoji-mart-emoji\",attrs:{title:e.view.title,\"aria-label\":e.view.ariaLabel,\"data-title\":e.title},on:{mouseenter:e.onMouseEnter,mouseleave:e.onMouseLeave,click:e.onClick}},[i(\"span\",{class:e.view.cssClass,style:e.view.cssStyle},[e._v(e._s(e.view.content))])]):e._e()}),[],!1,null,null,null).exports,J=C({props:{data:{type:Object,required:!0},i18n:{type:Object,required:!0},id:{type:String,required:!0},name:{type:String,required:!0},emojis:{type:Array},emojiProps:{type:Object,required:!0}},methods:{activeClass:function(e){return this.emojiProps.selectedEmoji&&this.emojiProps.selectedEmojiCategory&&this.emojiProps.selectedEmoji.id==e.id&&this.emojiProps.selectedEmojiCategory.id==this.id?\"emoji-mart-emoji-selected\":\"\"}},computed:{isVisible:function(){return!!this.emojis},isSearch:function(){return\"Search\"==this.name},hasResults:function(){return this.emojis.length>0},emojiObjects:function(){var e=this;return this.emojis.map((function(t){return{emojiObject:t,emojiView:new R(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,i=e._self._c||t;return e.isVisible&&(e.isSearch||e.hasResults)?i(\"section\",{class:{\"emoji-mart-category\":!0,\"emoji-mart-no-results\":!e.hasResults},attrs:{\"aria-label\":e.i18n.categories[e.id]}},[i(\"div\",{staticClass:\"emoji-mart-category-label\"},[i(\"h3\",{staticClass:\"emoji-mart-category-label\"},[e._v(e._s(e.i18n.categories[e.id]))])]),e._v(\" \"),e._l(e.emojiObjects,(function(t){var n=t.emojiObject,r=t.emojiView;return[r.canRender?i(\"button\",{key:n.id,staticClass:\"emoji-mart-emoji\",class:e.activeClass(n),attrs:{\"aria-label\":r.ariaLabel,role:\"option\",\"aria-selected\":\"false\",\"aria-posinset\":\"1\",\"aria-setsize\":\"1812\",type:\"button\",\"data-title\":n.short_name,title:r.title},on:{mouseenter:function(t){e.emojiProps.onEnter(r.getEmoji())},mouseleave:function(t){e.emojiProps.onLeave(r.getEmoji())},click:function(t){e.emojiProps.onClick(r.getEmoji())}}},[i(\"span\",{class:r.cssClass,style:r.cssStyle},[e._v(e._s(r.content))])]):e._e()]})),e._v(\" \"),e.hasResults?e._e():i(\"div\",[i(\"emoji\",{attrs:{data:e.data,emoji:\"sleuth_or_spy\",native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}}),e._v(\" \"),i(\"div\",{staticClass:\"emoji-mart-no-results-label\"},[e._v(e._s(e.i18n.notfound))])],1)],2):e._e()}),[],!1,null,null,null).exports,X=C({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,i=e._self._c||t;return i(\"div\",{class:{\"emoji-mart-skin-swatches\":!0,\"emoji-mart-skin-swatches-opened\":e.opened}},e._l(6,(function(t){return i(\"span\",{key:t,class:{\"emoji-mart-skin-swatch\":!0,\"emoji-mart-skin-swatch-selected\":e.skin==t}},[i(\"span\",{class:\"emoji-mart-skin emoji-mart-skin-tone-\"+t,on:{click:function(i){return e.onClick(t)}}})])})),0)}),[],!1,null,null,null).exports,Z=C({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:X}},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"emoji-mart-preview\"},[e.emoji?[i(\"div\",{staticClass:\"emoji-mart-preview-emoji\"},[i(\"emoji\",{attrs:{data:e.data,emoji:e.emoji,native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}})],1),e._v(\" \"),i(\"div\",{staticClass:\"emoji-mart-preview-data\"},[i(\"div\",{staticClass:\"emoji-mart-preview-name\"},[e._v(e._s(e.emoji.name))]),e._v(\" \"),i(\"div\",{staticClass:\"emoji-mart-preview-shortnames\"},e._l(e.emojiShortNames,(function(t){return i(\"span\",{key:t,staticClass:\"emoji-mart-preview-shortname\"},[e._v(\":\"+e._s(t)+\":\")])})),0),e._v(\" \"),i(\"div\",{staticClass:\"emoji-mart-preview-emoticons\"},e._l(e.emojiEmoticons,(function(t){return i(\"span\",{key:t,staticClass:\"emoji-mart-preview-emoticon\"},[e._v(e._s(t))])})),0)])]:[i(\"div\",{staticClass:\"emoji-mart-preview-emoji\"},[i(\"emoji\",{attrs:{data:e.data,emoji:e.idleEmoji,native:e.emojiProps.native,skin:e.emojiProps.skin,set:e.emojiProps.set}})],1),e._v(\" \"),i(\"div\",{staticClass:\"emoji-mart-preview-data\"},[i(\"span\",{staticClass:\"emoji-mart-title-label\"},[e._v(e._s(e.title))])]),e._v(\" \"),e.showSkinTones?i(\"div\",{staticClass:\"emoji-mart-preview-skins\"},[i(\"skins\",{attrs:{skin:e.skinProps.skin},on:{change:function(t){return e.onSkinChange(t)}}})],1):e._e()]],2)}),[],!1,null,null,null).exports,G=C({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,i=e._self._c||t;return i(\"div\",{staticClass:\"emoji-mart-search\"},[i(\"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(\" \"),i(\"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),K=G.exports;function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}i(661);var Y=function(){function e(t){var i,n;E(this,e),this._vm=t,this._data=t.data,this._perLine=t.perLine,this._categories=[],(i=this._categories).push.apply(i,function(e){if(Array.isArray(e))return Q(e)}(n=this._data.categories())||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(n)||function(e,t){if(e){if(\"string\"==typeof e)return Q(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===i&&e.constructor&&(i=e.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(e):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Q(e,t):void 0}}(n)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),this._categories=this._categories.filter((function(e){return e.emojis.length>0})),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 x(e,[{key:\"onScroll\",value:function(){for(var e=this._vm.$refs.scroll.scrollTop,t=this.filteredCategories[0],i=0,n=this.filteredCategories.length;i<n;i++){var r=this.filteredCategories[i],o=this._vm.getCategoryComponent(i);if(o&&o.$el.offsetTop-50>e)break;t=r}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 i=this.filteredCategories.indexOf(e),n=this._vm.getCategoryComponent(i);this._vm.infiniteScroll?function(){if(n){var i=n.$el.offsetTop;e.first&&(i=0),t._vm.$refs.scroll.scrollTop=i}}():this.activeCategory=this.filteredCategories[i]}}},{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.emojisLength(this.previewEmojiCategoryIdx)-1?this.previewEmojiIdx+=1:(this.previewEmojiCategoryIdx+=1,this.previewEmojiCategoryIdx>=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 i=0;i<t;i++)this.onArrowRight();this.updatePreviewEmoji()}},{key:\"onArrowUp\",value:function(){var e=this._perLine;this.previewEmojiIdx-e<0&&(e=this.previewEmojiCategoryIdx>0?this.filteredCategories[this.previewEmojiCategoryIdx-1].emojis.length%this._perLine:0);for(var t=0;t<e;t++)this.onArrowLeft();this.updatePreviewEmoji()}},{key:\"updatePreviewEmoji\",value:function(){var e=this;this.previewEmoji=this.filteredCategories[this.previewEmojiCategoryIdx].emojis[this.previewEmojiIdx],this._vm.$nextTick((function(){var t=e._vm.$refs.scroll,i=t.querySelector(\".emoji-mart-emoji-selected\"),n=t.offsetTop-t.offsetHeight;i&&i.offsetTop+i.offsetHeight>n+t.scrollTop&&(t.scrollTop+=i.offsetHeight),i&&i.offsetTop<t.scrollTop&&(t.scrollTop-=i.offsetHeight)}))}},{key:\"emojisLength\",value:function(e){return-1==e?0:this.filteredCategories[e].emojis.length}}]),e}();function ee(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function te(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(i),!0).forEach((function(t){D(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):ee(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var ie={search:\"Search\",notfound:\"No Emoji Found\",categories:{search:\"Search Results\",recent:\"Frequently Used\",smileys:\"Smileys & Emotion\",people:\"People & Body\",nature:\"Animals & Nature\",foods:\"Food & Drink\",activity:\"Activity\",places:\"Travel & Places\",objects:\"Objects\",symbols:\"Symbols\",flags:\"Flags\",custom:\"Custom\"}},ne={props:te(te({},H),{},{data:{type:Object,required:!0}}),data:function(){return{activeSkin:this.skin||c.get(\"skin\")||this.defaultSkin,view:new Y(this)}},computed:{customStyles:function(){return te({width:this.calculateWidth+\"px\"},this.pickerStyles)},emojiProps:function(){return{native:this.native,skin:this.activeSkin,set:this.set,emojiTooltip:this.emojiTooltip,emojiSize:this.emojiSize,selectedEmoji:this.view.previewEmoji,selectedEmojiCategory:this.view.previewEmojiCategory,onEnter:this.onEmojiEnter.bind(this),onLeave:this.onEmojiLeave.bind(this),onClick:this.onEmojiClick.bind(this)}},skinProps:function(){return{skin:this.activeSkin}},calculateWidth:function(){return this.perLine*(this.emojiSize+12)+12+2+function(){if(\"undefined\"==typeof document)return 0;var e=document.createElement(\"div\");e.style.width=\"100px\",e.style.height=\"100px\",e.style.overflow=\"scroll\",e.style.position=\"absolute\",e.style.top=\"-9999px\",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}()},filteredCategories:function(){return this.view.filteredCategories},mergedI18n:function(){return Object.freeze(I(ie,this.i18n))},idleEmoji:function(){try{return this.data.emoji(this.emoji)}catch(e){return console.error(\"Default preview emoji `\"+this.emoji+\"` is not available, check the Picker `emoji` property\"),console.error(e),this.data.firstEmoji()}}},methods:{onScroll:function(){this.infiniteScroll&&!this.waitingForPaint&&(this.waitingForPaint=!0,window.requestAnimationFrame(this.onScrollPaint.bind(this)))},onScrollPaint:function(){this.waitingForPaint=!1,this.view.onScroll()},onAnchorClick:function(e){this.view.onAnchorClick(e)},onSearch:function(e){this.view.onSearch(e)},onEmojiEnter:function(e){this.view.onEmojiEnter(e)},onEmojiLeave:function(e){this.view.onEmojiLeave(e)},onArrowLeft:function(e){var t=this.view.previewEmojiIdx;this.view.onArrowLeft(),e&&this.view.previewEmojiIdx!==t&&e.preventDefault()},onArrowRight:function(){this.view.onArrowRight()},onArrowDown:function(){this.view.onArrowDown()},onArrowUp:function(e){this.view.onArrowUp(),e.preventDefault()},onEnter:function(e){this.$emit(\"select\",this.view.previewEmoji),w.add(this.view.previewEmoji)},onEmojiClick:function(e){this.$emit(\"select\",e),w.add(e)},onSkinChange:function(e){this.activeSkin=e,c.update({skin:e}),this.$emit(\"skin-change\",e)},getCategoryComponent:function(e){var t=this.$refs[\"categories_\"+e];return t&&\"0\"in t?t[0]:t}},components:{Anchors:k,Category:J,Preview:Z,Search:K}},re=C(ne,(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"section\",{staticClass:\"emoji-mart emoji-mart-static\",style:e.customStyles},[e.showCategories?i(\"div\",{staticClass:\"emoji-mart-bar emoji-mart-bar-anchors\"},[i(\"anchors\",{attrs:{data:e.data,i18n:e.mergedI18n,color:e.color,categories:e.view.allCategories,\"active-category\":e.view.activeCategory},on:{click:e.onAnchorClick}})],1):e._e(),e._v(\" \"),e._t(\"searchTemplate\",(function(){return[e.showSearch?i(\"search\",{ref:\"search\",attrs:{data:e.data,i18n:e.mergedI18n,\"auto-focus\":e.autoFocus,\"on-search\":e.onSearch},on:{search:e.onSearch,arrowLeft:e.onArrowLeft,arrowRight:e.onArrowRight,arrowDown:e.onArrowDown,arrowUp:e.onArrowUp,enter:e.onEnter}}):e._e()]}),{data:e.data,i18n:e.i18n,autoFocus:e.autoFocus,onSearch:e.onSearch}),e._v(\" \"),i(\"div\",{ref:\"scroll\",staticClass:\"emoji-mart-scroll\",attrs:{role:\"tabpanel\"},on:{scroll:e.onScroll}},[i(\"div\",{ref:\"scrollContent\",attrs:{id:\"emoji-mart-list\",role:\"listbox\",\"aria-expanded\":\"true\"}},e._l(e.view.filteredCategories,(function(t,n){return i(\"category\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.infiniteScroll||t==e.view.activeCategory,expression:\"infiniteScroll || category == view.activeCategory\"}],key:t.id,ref:\"categories_\"+n,refInFor:!0,attrs:{data:e.data,i18n:e.mergedI18n,id:t.id,name:t.name,emojis:t.emojis,\"emoji-props\":e.emojiProps}})})),1)]),e._v(\" \"),e._t(\"previewTemplate\",(function(){return[e.showPreview?i(\"div\",{staticClass:\"emoji-mart-bar emoji-mart-bar-preview\"},[i(\"preview\",{attrs:{data:e.data,title:e.title,emoji:e.view.previewEmoji,\"idle-emoji\":e.idleEmoji,\"show-skin-tones\":e.showSkinTones,\"emoji-props\":e.emojiProps,\"skin-props\":e.skinProps,\"on-skin-change\":e.onSkinChange}})],1):e._e()]}),{data:e.data,title:e.title,emoji:e.view.previewEmoji,idleEmoji:e.idleEmoji,showSkinTones:e.showSkinTones,emojiProps:e.emojiProps,skinProps:e.skinProps,onSkinChange:e.onSkinChange})],2)}),[],!1,null,null,null),oe=re.exports}(),n}()}));","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2021 */\n\n/* jshint ignore:start */\nvar ICAL;\n(function() {\n /* istanbul ignore next */\n if (typeof module === 'object') {\n // CommonJS, where exports may be different each time.\n ICAL = module.exports;\n } else if (typeof HTMLScriptElement !== 'undefined' && 'noModule' in HTMLScriptElement.prototype) {\n // Until we use ES6 exports, using <script type=\"module\"> we define ICAL on the window global.\n window.ICAL = ICAL = {};\n } else if (typeof ICAL !== 'object') {\n ICAL = {};\n }\n})();\n/* jshint ignore:end */\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n/**\n * The number of characters before iCalendar line folding should occur\n * @type {Number}\n * @default 75\n */\nICAL.foldLength = 75;\n\n\n/**\n * The character(s) to be used for a newline. The default value is provided by\n * rfc5545.\n * @type {String}\n * @default \"\\r\\n\"\n */\nICAL.newLineChar = '\\r\\n';\n\n\n/**\n * Helper functions used in various places within ical.js\n * @namespace\n */\nICAL.helpers = {\n /**\n * Compiles a list of all referenced TZIDs in all subcomponents and\n * removes any extra VTIMEZONE subcomponents. In addition, if any TZIDs\n * are referenced by a component, but a VTIMEZONE does not exist,\n * an attempt will be made to generate a VTIMEZONE using ICAL.TimezoneService.\n *\n * @param {ICAL.Component} vcal The top-level VCALENDAR component.\n * @return {ICAL.Component} The ICAL.Component that was passed in.\n */\n updateTimezones: function(vcal) {\n var allsubs, properties, vtimezones, reqTzid, i, tzid;\n\n if (!vcal || vcal.name !== \"vcalendar\") {\n //not a top-level vcalendar component\n return vcal;\n }\n\n //Store vtimezone subcomponents in an object reference by tzid.\n //Store properties from everything else in another array\n allsubs = vcal.getAllSubcomponents();\n properties = [];\n vtimezones = {};\n for (i = 0; i < allsubs.length; i++) {\n if (allsubs[i].name === \"vtimezone\") {\n tzid = allsubs[i].getFirstProperty(\"tzid\").getFirstValue();\n vtimezones[tzid] = allsubs[i];\n } else {\n properties = properties.concat(allsubs[i].getAllProperties());\n }\n }\n\n //create an object with one entry for each required tz\n reqTzid = {};\n for (i = 0; i < properties.length; i++) {\n if ((tzid = properties[i].getParameter(\"tzid\"))) {\n reqTzid[tzid] = true;\n }\n }\n\n //delete any vtimezones that are not on the reqTzid list.\n for (i in vtimezones) {\n if (vtimezones.hasOwnProperty(i) && !reqTzid[i]) {\n vcal.removeSubcomponent(vtimezones[i]);\n }\n }\n\n //create any missing, but registered timezones\n for (i in reqTzid) {\n if (\n reqTzid.hasOwnProperty(i) &&\n !vtimezones[i] &&\n ICAL.TimezoneService.has(i)\n ) {\n vcal.addSubcomponent(ICAL.TimezoneService.get(i).component);\n }\n }\n\n return vcal;\n },\n\n /**\n * Checks if the given type is of the number type and also NaN.\n *\n * @param {Number} number The number to check\n * @return {Boolean} True, if the number is strictly NaN\n */\n isStrictlyNaN: function(number) {\n return typeof(number) === 'number' && isNaN(number);\n },\n\n /**\n * Parses a string value that is expected to be an integer, when the valid is\n * not an integer throws a decoration error.\n *\n * @param {String} string Raw string input\n * @return {Number} Parsed integer\n */\n strictParseInt: function(string) {\n var result = parseInt(string, 10);\n\n if (ICAL.helpers.isStrictlyNaN(result)) {\n throw new Error(\n 'Could not extract integer from \"' + string + '\"'\n );\n }\n\n return result;\n },\n\n /**\n * Creates or returns a class instance of a given type with the initialization\n * data if the data is not already an instance of the given type.\n *\n * @example\n * var time = new ICAL.Time(...);\n * var result = ICAL.helpers.formatClassType(time, ICAL.Time);\n *\n * (result instanceof ICAL.Time)\n * // => true\n *\n * result = ICAL.helpers.formatClassType({}, ICAL.Time);\n * (result isntanceof ICAL.Time)\n * // => true\n *\n *\n * @param {Object} data object initialization data\n * @param {Object} type object type (like ICAL.Time)\n * @return {?} An instance of the found type.\n */\n formatClassType: function formatClassType(data, type) {\n if (typeof(data) === 'undefined') {\n return undefined;\n }\n\n if (data instanceof type) {\n return data;\n }\n return new type(data);\n },\n\n /**\n * Identical to indexOf but will only match values when they are not preceded\n * by a backslash character.\n *\n * @param {String} buffer String to search\n * @param {String} search Value to look for\n * @param {Number} pos Start position\n * @return {Number} The position, or -1 if not found\n */\n unescapedIndexOf: function(buffer, search, pos) {\n while ((pos = buffer.indexOf(search, pos)) !== -1) {\n if (pos > 0 && buffer[pos - 1] === '\\\\') {\n pos += 1;\n } else {\n return pos;\n }\n }\n return -1;\n },\n\n /**\n * Find the index for insertion using binary search.\n *\n * @param {Array} list The list to search\n * @param {?} seekVal The value to insert\n * @param {function(?,?)} cmpfunc The comparison func, that can\n * compare two seekVals\n * @return {Number} The insert position\n */\n binsearchInsert: function(list, seekVal, cmpfunc) {\n if (!list.length)\n return 0;\n\n var low = 0, high = list.length - 1,\n mid, cmpval;\n\n while (low <= high) {\n mid = low + Math.floor((high - low) / 2);\n cmpval = cmpfunc(seekVal, list[mid]);\n\n if (cmpval < 0)\n high = mid - 1;\n else if (cmpval > 0)\n low = mid + 1;\n else\n break;\n }\n\n if (cmpval < 0)\n return mid; // insertion is displacing, so use mid outright.\n else if (cmpval > 0)\n return mid + 1;\n else\n return mid;\n },\n\n /**\n * Convenience function for debug output\n * @private\n */\n dumpn: /* istanbul ignore next */ function() {\n if (!ICAL.debug) {\n return;\n }\n\n if (typeof (console) !== 'undefined' && 'log' in console) {\n ICAL.helpers.dumpn = function consoleDumpn(input) {\n console.log(input);\n };\n } else {\n ICAL.helpers.dumpn = function geckoDumpn(input) {\n dump(input + '\\n');\n };\n }\n\n ICAL.helpers.dumpn(arguments[0]);\n },\n\n /**\n * Clone the passed object or primitive. By default a shallow clone will be\n * executed.\n *\n * @param {*} aSrc The thing to clone\n * @param {Boolean=} aDeep If true, a deep clone will be performed\n * @return {*} The copy of the thing\n */\n clone: function(aSrc, aDeep) {\n if (!aSrc || typeof aSrc != \"object\") {\n return aSrc;\n } else if (aSrc instanceof Date) {\n return new Date(aSrc.getTime());\n } else if (\"clone\" in aSrc) {\n return aSrc.clone();\n } else if (Array.isArray(aSrc)) {\n var arr = [];\n for (var i = 0; i < aSrc.length; i++) {\n arr.push(aDeep ? ICAL.helpers.clone(aSrc[i], true) : aSrc[i]);\n }\n return arr;\n } else {\n var obj = {};\n for (var name in aSrc) {\n // uses prototype method to allow use of Object.create(null);\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aSrc, name)) {\n if (aDeep) {\n obj[name] = ICAL.helpers.clone(aSrc[name], true);\n } else {\n obj[name] = aSrc[name];\n }\n }\n }\n return obj;\n }\n },\n\n /**\n * Performs iCalendar line folding. A line ending character is inserted and\n * the next line begins with a whitespace.\n *\n * @example\n * SUMMARY:This line will be fold\n * ed right in the middle of a word.\n *\n * @param {String} aLine The line to fold\n * @return {String} The folded line\n */\n foldline: function foldline(aLine) {\n var result = \"\";\n var line = aLine || \"\", pos = 0, line_length = 0;\n //pos counts position in line for the UTF-16 presentation\n //line_length counts the bytes for the UTF-8 presentation\n while (line.length) {\n var cp = line.codePointAt(pos);\n if (cp < 128) ++line_length;\n else if (cp < 2048) line_length += 2;//needs 2 UTF-8 bytes\n else if (cp < 65536) line_length += 3;\n else line_length += 4; //cp is less than 1114112\n if (line_length < ICAL.foldLength + 1)\n pos += cp > 65535 ? 2 : 1;\n else {\n result += ICAL.newLineChar + \" \" + line.substring(0, pos);\n line = line.substring(pos);\n pos = line_length = 0;\n }\n }\n return result.substr(ICAL.newLineChar.length + 1);\n },\n\n /**\n * Pads the given string or number with zeros so it will have at least two\n * characters.\n *\n * @param {String|Number} data The string or number to pad\n * @return {String} The number padded as a string\n */\n pad2: function pad(data) {\n if (typeof(data) !== 'string') {\n // handle fractions.\n if (typeof(data) === 'number') {\n data = parseInt(data);\n }\n data = String(data);\n }\n\n var len = data.length;\n\n switch (len) {\n case 0:\n return '00';\n case 1:\n return '0' + data;\n default:\n return data;\n }\n },\n\n /**\n * Truncates the given number, correctly handling negative numbers.\n *\n * @param {Number} number The number to truncate\n * @return {Number} The truncated number\n */\n trunc: function trunc(number) {\n return (number < 0 ? Math.ceil(number) : Math.floor(number));\n },\n\n /**\n * Poor-man's cross-browser inheritance for JavaScript. Doesn't support all\n * the features, but enough for our usage.\n *\n * @param {Function} base The base class constructor function.\n * @param {Function} child The child class constructor function.\n * @param {Object} extra Extends the prototype with extra properties\n * and methods\n */\n inherits: function(base, child, extra) {\n function F() {}\n F.prototype = base.prototype;\n child.prototype = new F();\n\n if (extra) {\n ICAL.helpers.extend(extra, child.prototype);\n }\n },\n\n /**\n * Poor-man's cross-browser object extension. Doesn't support all the\n * features, but enough for our usage. Note that the target's properties are\n * not overwritten with the source properties.\n *\n * @example\n * var child = ICAL.helpers.extend(parent, {\n * \"bar\": 123\n * });\n *\n * @param {Object} source The object to extend\n * @param {Object} target The object to extend with\n * @return {Object} Returns the target.\n */\n extend: function(source, target) {\n for (var key in source) {\n var descr = Object.getOwnPropertyDescriptor(source, key);\n if (descr && !Object.getOwnPropertyDescriptor(target, key)) {\n Object.defineProperty(target, key, descr);\n }\n }\n return target;\n }\n};\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n/** @namespace ICAL */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.design = (function() {\n 'use strict';\n\n var FROM_ICAL_NEWLINE = /\\\\\\\\|\\\\;|\\\\,|\\\\[Nn]/g;\n var TO_ICAL_NEWLINE = /\\\\|;|,|\\n/g;\n var FROM_VCARD_NEWLINE = /\\\\\\\\|\\\\,|\\\\[Nn]/g;\n var TO_VCARD_NEWLINE = /\\\\|,|\\n/g;\n\n function createTextType(fromNewline, toNewline) {\n var result = {\n matches: /.*/,\n\n fromICAL: function(aValue, structuredEscape) {\n return replaceNewline(aValue, fromNewline, structuredEscape);\n },\n\n toICAL: function(aValue, structuredEscape) {\n var regEx = toNewline;\n if (structuredEscape)\n regEx = new RegExp(regEx.source + '|' + structuredEscape);\n return aValue.replace(regEx, function(str) {\n switch (str) {\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \";\":\n return \"\\\\;\";\n case \",\":\n return \"\\\\,\";\n case \"\\n\":\n return \"\\\\n\";\n /* istanbul ignore next */\n default:\n return str;\n }\n });\n }\n };\n return result;\n }\n\n // default types used multiple times\n var DEFAULT_TYPE_TEXT = { defaultType: \"text\" };\n var DEFAULT_TYPE_TEXT_MULTI = { defaultType: \"text\", multiValue: \",\" };\n var DEFAULT_TYPE_TEXT_STRUCTURED = { defaultType: \"text\", structuredValue: \";\" };\n var DEFAULT_TYPE_INTEGER = { defaultType: \"integer\" };\n var DEFAULT_TYPE_DATETIME_DATE = { defaultType: \"date-time\", allowedTypes: [\"date-time\", \"date\"] };\n var DEFAULT_TYPE_DATETIME = { defaultType: \"date-time\" };\n var DEFAULT_TYPE_URI = { defaultType: \"uri\" };\n var DEFAULT_TYPE_UTCOFFSET = { defaultType: \"utc-offset\" };\n var DEFAULT_TYPE_RECUR = { defaultType: \"recur\" };\n var DEFAULT_TYPE_DATE_ANDOR_TIME = { defaultType: \"date-and-or-time\", allowedTypes: [\"date-time\", \"date\", \"text\"] };\n\n function replaceNewlineReplace(string) {\n switch (string) {\n case \"\\\\\\\\\":\n return \"\\\\\";\n case \"\\\\;\":\n return \";\";\n case \"\\\\,\":\n return \",\";\n case \"\\\\n\":\n case \"\\\\N\":\n return \"\\n\";\n /* istanbul ignore next */\n default:\n return string;\n }\n }\n\n function replaceNewline(value, newline, structuredEscape) {\n // avoid regex when possible.\n if (value.indexOf('\\\\') === -1) {\n return value;\n }\n if (structuredEscape)\n newline = new RegExp(newline.source + '|\\\\\\\\' + structuredEscape);\n return value.replace(newline, replaceNewlineReplace);\n }\n\n var commonProperties = {\n \"categories\": DEFAULT_TYPE_TEXT_MULTI,\n \"url\": DEFAULT_TYPE_URI,\n \"version\": DEFAULT_TYPE_TEXT,\n \"uid\": DEFAULT_TYPE_TEXT\n };\n\n var commonValues = {\n \"boolean\": {\n values: [\"TRUE\", \"FALSE\"],\n\n fromICAL: function(aValue) {\n switch (aValue) {\n case 'TRUE':\n return true;\n case 'FALSE':\n return false;\n default:\n //TODO: parser warning\n return false;\n }\n },\n\n toICAL: function(aValue) {\n if (aValue) {\n return 'TRUE';\n }\n return 'FALSE';\n }\n\n },\n float: {\n matches: /^[+-]?\\d+\\.\\d+$/,\n\n fromICAL: function(aValue) {\n var parsed = parseFloat(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n // TODO: parser warning\n return 0.0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n integer: {\n fromICAL: function(aValue) {\n var parsed = parseInt(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n return 0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n \"utc-offset\": {\n toICAL: function(aValue) {\n if (aValue.length < 7) {\n // no seconds\n // -0500\n return aValue.substr(0, 3) +\n aValue.substr(4, 2);\n } else {\n // seconds\n // -050000\n return aValue.substr(0, 3) +\n aValue.substr(4, 2) +\n aValue.substr(7, 2);\n }\n },\n\n fromICAL: function(aValue) {\n if (aValue.length < 6) {\n // no seconds\n // -05:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2);\n } else {\n // seconds\n // -05:00:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2) + ':' +\n aValue.substr(5, 2);\n }\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n };\n\n var icalParams = {\n // Although the syntax is DQUOTE uri DQUOTE, I don't think we should\n // enfoce anything aside from it being a valid content line.\n //\n // At least some params require - if multi values are used - DQUOTEs\n // for each of its values - e.g. delegated-from=\"uri1\",\"uri2\"\n // To indicate this, I introduced the new k/v pair\n // multiValueSeparateDQuote: true\n //\n // \"ALTREP\": { ... },\n\n // CN just wants a param-value\n // \"CN\": { ... }\n\n \"cutype\": {\n values: [\"INDIVIDUAL\", \"GROUP\", \"RESOURCE\", \"ROOM\", \"UNKNOWN\"],\n allowXName: true,\n allowIanaToken: true\n },\n\n \"delegated-from\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"delegated-to\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n // \"DIR\": { ... }, // See ALTREP\n \"encoding\": {\n values: [\"8BIT\", \"BASE64\"]\n },\n // \"FMTTYPE\": { ... }, // See ALTREP\n \"fbtype\": {\n values: [\"FREE\", \"BUSY\", \"BUSY-UNAVAILABLE\", \"BUSY-TENTATIVE\"],\n allowXName: true,\n allowIanaToken: true\n },\n // \"LANGUAGE\": { ... }, // See ALTREP\n \"member\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"partstat\": {\n // TODO These values are actually different per-component\n values: [\"NEEDS-ACTION\", \"ACCEPTED\", \"DECLINED\", \"TENTATIVE\",\n \"DELEGATED\", \"COMPLETED\", \"IN-PROCESS\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"range\": {\n values: [\"THISANDFUTURE\"]\n },\n \"related\": {\n values: [\"START\", \"END\"]\n },\n \"reltype\": {\n values: [\"PARENT\", \"CHILD\", \"SIBLING\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"role\": {\n values: [\"REQ-PARTICIPANT\", \"CHAIR\",\n \"OPT-PARTICIPANT\", \"NON-PARTICIPANT\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"rsvp\": {\n values: [\"TRUE\", \"FALSE\"]\n },\n \"sent-by\": {\n valueType: \"cal-address\"\n },\n \"tzid\": {\n matches: /^\\//\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"binary\", \"boolean\", \"cal-address\", \"date\", \"date-time\",\n \"duration\", \"float\", \"integer\", \"period\", \"recur\", \"text\",\n \"time\", \"uri\", \"utc-offset\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n // When adding a value here, be sure to add it to the parameter types!\n var icalValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_ICAL_NEWLINE, TO_ICAL_NEWLINE),\n\n uri: {\n // TODO\n /* ... */\n },\n\n \"binary\": {\n decorate: function(aString) {\n return ICAL.Binary.fromString(aString);\n },\n\n undecorate: function(aBinary) {\n return aBinary.toString();\n }\n },\n \"cal-address\": {\n // needs to be an uri\n },\n \"date\": {\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n /**\n * undecorates a time object.\n */\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n // from: 20120901\n // to: 2012-09-01\n if (!design.strict && aValue.length >= 15) {\n // This is probably a date-time, e.g. 20120901T130000Z\n return icalValues[\"date-time\"].fromICAL(aValue);\n } else {\n return aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2);\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01\n // to: 20120901\n var len = aValue.length;\n\n if (len == 10) {\n return aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n aValue.substr(8, 2);\n } else if (len >= 19) {\n return icalValues[\"date-time\"].toICAL(aValue);\n } else {\n //TODO: serialize warning?\n return aValue;\n }\n\n }\n },\n \"date-time\": {\n fromICAL: function(aValue) {\n // from: 20120901T130000\n // to: 2012-09-01T13:00:00\n if (!design.strict && aValue.length == 8) {\n // This is probably a date, e.g. 20120901\n return icalValues.date.fromICAL(aValue);\n } else {\n var result = aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2) + 'T' +\n aValue.substr(9, 2) + ':' +\n aValue.substr(11, 2) + ':' +\n aValue.substr(13, 2);\n\n if (aValue[15] && aValue[15] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01T13:00:00\n // to: 20120901T130000\n var len = aValue.length;\n\n if (len == 10 && !design.strict) {\n return icalValues.date.toICAL(aValue);\n } else if (len >= 19) {\n var result = aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n // grab the (DDTHH) segment\n aValue.substr(8, 5) +\n // MM\n aValue.substr(14, 2) +\n // SS\n aValue.substr(17, 2);\n\n if (aValue[19] && aValue[19] === 'Z') {\n result += 'Z';\n }\n return result;\n } else {\n // TODO: error\n return aValue;\n }\n },\n\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n duration: {\n decorate: function(aValue) {\n return ICAL.Duration.fromString(aValue);\n },\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n period: {\n\n fromICAL: function(string) {\n var parts = string.split('/');\n parts[0] = icalValues['date-time'].fromICAL(parts[0]);\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n parts[1] = icalValues['date-time'].fromICAL(parts[1]);\n }\n\n return parts;\n },\n\n toICAL: function(parts) {\n if (!design.strict && parts[0].length == 10) {\n parts[0] = icalValues.date.toICAL(parts[0]);\n } else {\n parts[0] = icalValues['date-time'].toICAL(parts[0]);\n }\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n if (!design.strict && parts[1].length == 10) {\n parts[1] = icalValues.date.toICAL(parts[1]);\n } else {\n parts[1] = icalValues['date-time'].toICAL(parts[1]);\n }\n }\n\n return parts.join(\"/\");\n },\n\n decorate: function(aValue, aProp) {\n return ICAL.Period.fromJSON(aValue, aProp, !design.strict);\n },\n\n undecorate: function(aValue) {\n return aValue.toJSON();\n }\n },\n recur: {\n fromICAL: function(string) {\n return ICAL.Recur._stringToData(string, true);\n },\n\n toICAL: function(data) {\n var str = \"\";\n for (var k in data) {\n /* istanbul ignore if */\n if (!Object.prototype.hasOwnProperty.call(data, k)) {\n continue;\n }\n var val = data[k];\n if (k == \"until\") {\n if (val.length > 10) {\n val = icalValues['date-time'].toICAL(val);\n } else {\n val = icalValues.date.toICAL(val);\n }\n } else if (k == \"wkst\") {\n if (typeof val === 'number') {\n val = ICAL.Recur.numericDayToIcalDay(val);\n }\n } else if (Array.isArray(val)) {\n val = val.join(\",\");\n }\n str += k.toUpperCase() + \"=\" + val + \";\";\n }\n return str.substr(0, str.length - 1);\n },\n\n decorate: function decorate(aValue) {\n return ICAL.Recur.fromData(aValue);\n },\n\n undecorate: function(aRecur) {\n return aRecur.toJSON();\n }\n },\n\n time: {\n fromICAL: function(aValue) {\n // from: MMHHSS(Z)?\n // to: HH:MM:SS(Z)?\n if (aValue.length < 6) {\n // TODO: parser exception?\n return aValue;\n }\n\n // HH::MM::SSZ?\n var result = aValue.substr(0, 2) + ':' +\n aValue.substr(2, 2) + ':' +\n aValue.substr(4, 2);\n\n if (aValue[6] === 'Z') {\n result += 'Z';\n }\n\n return result;\n },\n\n toICAL: function(aValue) {\n // from: HH:MM:SS(Z)?\n // to: MMHHSS(Z)?\n if (aValue.length < 8) {\n //TODO: error\n return aValue;\n }\n\n var result = aValue.substr(0, 2) +\n aValue.substr(3, 2) +\n aValue.substr(6, 2);\n\n if (aValue[8] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n }\n });\n\n var icalProperties = ICAL.helpers.extend(commonProperties, {\n\n \"action\": DEFAULT_TYPE_TEXT,\n \"attach\": { defaultType: \"uri\" },\n \"attendee\": { defaultType: \"cal-address\" },\n \"calscale\": DEFAULT_TYPE_TEXT,\n \"class\": DEFAULT_TYPE_TEXT,\n \"comment\": DEFAULT_TYPE_TEXT,\n \"completed\": DEFAULT_TYPE_DATETIME,\n \"contact\": DEFAULT_TYPE_TEXT,\n \"created\": DEFAULT_TYPE_DATETIME,\n \"description\": DEFAULT_TYPE_TEXT,\n \"dtend\": DEFAULT_TYPE_DATETIME_DATE,\n \"dtstamp\": DEFAULT_TYPE_DATETIME,\n \"dtstart\": DEFAULT_TYPE_DATETIME_DATE,\n \"due\": DEFAULT_TYPE_DATETIME_DATE,\n \"duration\": { defaultType: \"duration\" },\n \"exdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n multiValue: ','\n },\n \"exrule\": DEFAULT_TYPE_RECUR,\n \"freebusy\": { defaultType: \"period\", multiValue: \",\" },\n \"geo\": { defaultType: \"float\", structuredValue: \";\" },\n \"last-modified\": DEFAULT_TYPE_DATETIME,\n \"location\": DEFAULT_TYPE_TEXT,\n \"method\": DEFAULT_TYPE_TEXT,\n \"organizer\": { defaultType: \"cal-address\" },\n \"percent-complete\": DEFAULT_TYPE_INTEGER,\n \"priority\": DEFAULT_TYPE_INTEGER,\n \"prodid\": DEFAULT_TYPE_TEXT,\n \"related-to\": DEFAULT_TYPE_TEXT,\n \"repeat\": DEFAULT_TYPE_INTEGER,\n \"rdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\", \"period\"],\n multiValue: ',',\n detectType: function(string) {\n if (string.indexOf('/') !== -1) {\n return 'period';\n }\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"recurrence-id\": DEFAULT_TYPE_DATETIME_DATE,\n \"resources\": DEFAULT_TYPE_TEXT_MULTI,\n \"request-status\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"rrule\": DEFAULT_TYPE_RECUR,\n \"sequence\": DEFAULT_TYPE_INTEGER,\n \"status\": DEFAULT_TYPE_TEXT,\n \"summary\": DEFAULT_TYPE_TEXT,\n \"transp\": DEFAULT_TYPE_TEXT,\n \"trigger\": { defaultType: \"duration\", allowedTypes: [\"duration\", \"date-time\"] },\n \"tzoffsetfrom\": DEFAULT_TYPE_UTCOFFSET,\n \"tzoffsetto\": DEFAULT_TYPE_UTCOFFSET,\n \"tzurl\": DEFAULT_TYPE_URI,\n \"tzid\": DEFAULT_TYPE_TEXT,\n \"tzname\": DEFAULT_TYPE_TEXT\n });\n\n // When adding a value here, be sure to add it to the parameter types!\n var vcardValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n uri: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n\n date: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n if (aValue.length == 8) {\n return icalValues.date.fromICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 6) {\n return aValue.substr(0, 4) + '-' + aValue.substr(4);\n } else {\n return aValue;\n }\n },\n toICAL: function(aValue) {\n if (aValue.length == 10) {\n return icalValues.date.toICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 7) {\n return aValue.substr(0, 4) + aValue.substr(5);\n } else {\n return aValue;\n }\n }\n },\n\n time: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(\"T\" + aValue, \"time\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue, true);\n var zone = splitzone[0], value = splitzone[1];\n\n //console.log(\"SPLIT: \",splitzone);\n\n if (value.length == 6) {\n value = value.substr(0, 2) + ':' +\n value.substr(2, 2) + ':' +\n value.substr(4, 2);\n } else if (value.length == 4 && value[0] != '-') {\n value = value.substr(0, 2) + ':' + value.substr(2, 2);\n } else if (value.length == 5) {\n value = value.substr(0, 3) + ':' + value.substr(3, 2);\n }\n\n if (zone.length == 5 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + ':' + zone.substr(3);\n }\n\n return value + zone;\n },\n\n toICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue);\n var zone = splitzone[0], value = splitzone[1];\n\n if (value.length == 8) {\n value = value.substr(0, 2) +\n value.substr(3, 2) +\n value.substr(6, 2);\n } else if (value.length == 5 && value[0] != '-') {\n value = value.substr(0, 2) + value.substr(3, 2);\n } else if (value.length == 6) {\n value = value.substr(0, 3) + value.substr(4, 2);\n }\n\n if (zone.length == 6 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + zone.substr(4);\n }\n\n return value + zone;\n },\n\n _splitZone: function(aValue, isFromIcal) {\n var lastChar = aValue.length - 1;\n var signChar = aValue.length - (isFromIcal ? 5 : 6);\n var sign = aValue[signChar];\n var zone, value;\n\n if (aValue[lastChar] == 'Z') {\n zone = aValue[lastChar];\n value = aValue.substr(0, lastChar);\n } else if (aValue.length > 6 && (sign == '-' || sign == '+')) {\n zone = aValue.substr(signChar);\n value = aValue.substr(0, signChar);\n } else {\n zone = \"\";\n value = aValue;\n }\n\n return [zone, value];\n }\n },\n\n \"date-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n return vcardValues['date-and-or-time'].fromICAL(aValue);\n },\n\n toICAL: function(aValue) {\n return vcardValues['date-and-or-time'].toICAL(aValue);\n }\n },\n\n \"date-and-or-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-and-or-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n var parts = aValue.split('T');\n return (parts[0] ? vcardValues.date.fromICAL(parts[0]) : '') +\n (parts[1] ? 'T' + vcardValues.time.fromICAL(parts[1]) : '');\n },\n\n toICAL: function(aValue) {\n var parts = aValue.split('T');\n return vcardValues.date.toICAL(parts[0]) +\n (parts[1] ? 'T' + vcardValues.time.toICAL(parts[1]) : '');\n\n }\n },\n timestamp: icalValues['date-time'],\n \"language-tag\": {\n matches: /^[a-zA-Z0-9-]+$/ // Could go with a more strict regex here\n }\n });\n\n var vcardParams = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"time\", \"date-time\", \"date-and-or-time\",\n \"timestamp\", \"boolean\", \"integer\", \"float\", \"utc-offset\",\n \"language-tag\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcardProperties = ICAL.helpers.extend(commonProperties, {\n \"adr\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"anniversary\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"bday\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"caladruri\": DEFAULT_TYPE_URI,\n \"caluri\": DEFAULT_TYPE_URI,\n \"clientpidmap\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"email\": DEFAULT_TYPE_TEXT,\n \"fburl\": DEFAULT_TYPE_URI,\n \"fn\": DEFAULT_TYPE_TEXT,\n \"gender\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"geo\": DEFAULT_TYPE_URI,\n \"impp\": DEFAULT_TYPE_URI,\n \"key\": DEFAULT_TYPE_URI,\n \"kind\": DEFAULT_TYPE_TEXT,\n \"lang\": { defaultType: \"language-tag\" },\n \"logo\": DEFAULT_TYPE_URI,\n \"member\": DEFAULT_TYPE_URI,\n \"n\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"nickname\": DEFAULT_TYPE_TEXT_MULTI,\n \"note\": DEFAULT_TYPE_TEXT,\n \"org\": { defaultType: \"text\", structuredValue: \";\" },\n \"photo\": DEFAULT_TYPE_URI,\n \"related\": DEFAULT_TYPE_URI,\n \"rev\": { defaultType: \"timestamp\" },\n \"role\": DEFAULT_TYPE_TEXT,\n \"sound\": DEFAULT_TYPE_URI,\n \"source\": DEFAULT_TYPE_URI,\n \"tel\": { defaultType: \"uri\", allowedTypes: [\"uri\", \"text\"] },\n \"title\": DEFAULT_TYPE_TEXT,\n \"tz\": { defaultType: \"text\", allowedTypes: [\"text\", \"utc-offset\", \"uri\"] },\n \"xml\": DEFAULT_TYPE_TEXT\n });\n\n var vcard3Values = ICAL.helpers.extend(commonValues, {\n binary: icalValues.binary,\n date: vcardValues.date,\n \"date-time\": vcardValues[\"date-time\"],\n \"phone-number\": {\n // TODO\n /* ... */\n },\n uri: icalValues.uri,\n text: icalValues.text,\n time: icalValues.time,\n vcard: icalValues.text,\n \"utc-offset\": {\n toICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n fromICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n });\n\n var vcard3Params = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"date-time\", \"phone-number\", \"time\",\n \"boolean\", \"integer\", \"float\", \"utc-offset\", \"vcard\", \"binary\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcard3Properties = ICAL.helpers.extend(commonProperties, {\n fn: DEFAULT_TYPE_TEXT,\n n: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n nickname: DEFAULT_TYPE_TEXT_MULTI,\n photo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n bday: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n\n adr: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n label: DEFAULT_TYPE_TEXT,\n\n tel: { defaultType: \"phone-number\" },\n email: DEFAULT_TYPE_TEXT,\n mailer: DEFAULT_TYPE_TEXT,\n\n tz: { defaultType: \"utc-offset\", allowedTypes: [\"utc-offset\", \"text\"] },\n geo: { defaultType: \"float\", structuredValue: \";\" },\n\n title: DEFAULT_TYPE_TEXT,\n role: DEFAULT_TYPE_TEXT,\n logo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n agent: { defaultType: \"vcard\", allowedTypes: [\"vcard\", \"text\", \"uri\"] },\n org: DEFAULT_TYPE_TEXT_STRUCTURED,\n\n note: DEFAULT_TYPE_TEXT_MULTI,\n prodid: DEFAULT_TYPE_TEXT,\n rev: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"sort-string\": DEFAULT_TYPE_TEXT,\n sound: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n\n class: DEFAULT_TYPE_TEXT,\n key: { defaultType: \"binary\", allowedTypes: [\"binary\", \"text\"] }\n });\n\n /**\n * iCalendar design set\n * @type {ICAL.design.designSet}\n */\n var icalSet = {\n value: icalValues,\n param: icalParams,\n property: icalProperties\n };\n\n /**\n * vCard 4.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcardSet = {\n value: vcardValues,\n param: vcardParams,\n property: vcardProperties\n };\n\n /**\n * vCard 3.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcard3Set = {\n value: vcard3Values,\n param: vcard3Params,\n property: vcard3Properties\n };\n\n /**\n * The design data, used by the parser to determine types for properties and\n * other metadata needed to produce correct jCard/jCal data.\n *\n * @alias ICAL.design\n * @namespace\n */\n var design = {\n /**\n * A designSet describes value, parameter and property data. It is used by\n * ther parser and stringifier in components and properties to determine they\n * should be represented.\n *\n * @typedef {Object} designSet\n * @memberOf ICAL.design\n * @property {Object} value Definitions for value types, keys are type names\n * @property {Object} param Definitions for params, keys are param names\n * @property {Object} property Defintions for properties, keys are property names\n */\n\n /**\n * Can be set to false to make the parser more lenient.\n */\n strict: true,\n\n /**\n * The default set for new properties and components if none is specified.\n * @type {ICAL.design.designSet}\n */\n defaultSet: icalSet,\n\n /**\n * The default type for unknown properties\n * @type {String}\n */\n defaultType: 'unknown',\n\n /**\n * Holds the design set for known top-level components\n *\n * @type {Object}\n * @property {ICAL.design.designSet} vcard vCard VCARD\n * @property {ICAL.design.designSet} vevent iCalendar VEVENT\n * @property {ICAL.design.designSet} vtodo iCalendar VTODO\n * @property {ICAL.design.designSet} vjournal iCalendar VJOURNAL\n * @property {ICAL.design.designSet} valarm iCalendar VALARM\n * @property {ICAL.design.designSet} vtimezone iCalendar VTIMEZONE\n * @property {ICAL.design.designSet} daylight iCalendar DAYLIGHT\n * @property {ICAL.design.designSet} standard iCalendar STANDARD\n *\n * @example\n * var propertyName = 'fn';\n * var componentDesign = ICAL.design.components.vcard;\n * var propertyDetails = componentDesign.property[propertyName];\n * if (propertyDetails.defaultType == 'text') {\n * // Yep, sure is...\n * }\n */\n components: {\n vcard: vcardSet,\n vcard3: vcard3Set,\n vevent: icalSet,\n vtodo: icalSet,\n vjournal: icalSet,\n valarm: icalSet,\n vtimezone: icalSet,\n daylight: icalSet,\n standard: icalSet\n },\n\n\n /**\n * The design set for iCalendar (rfc5545/rfc7265) components.\n * @type {ICAL.design.designSet}\n */\n icalendar: icalSet,\n\n /**\n * The design set for vCard (rfc6350/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard: vcardSet,\n\n /**\n * The design set for vCard (rfc2425/rfc2426/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard3: vcard3Set,\n\n /**\n * Gets the design set for the given component name.\n *\n * @param {String} componentName The name of the component\n * @return {ICAL.design.designSet} The design set for the component\n */\n getDesignSet: function(componentName) {\n var isInDesign = componentName && componentName in design.components;\n return isInDesign ? design.components[componentName] : design.defaultSet;\n }\n };\n\n return design;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to convert jCal and jCard data back into\n * iCalendar and vCard.\n * @namespace\n */\nICAL.stringify = (function() {\n 'use strict';\n\n var LINE_ENDING = '\\r\\n';\n var DEFAULT_VALUE_TYPE = 'unknown';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * Convert a full jCal/jCard array into a iCalendar/vCard string.\n *\n * @function ICAL.stringify\n * @variation function\n * @param {Array} jCal The jCal/jCard document\n * @return {String} The stringified iCalendar/vCard document\n */\n function stringify(jCal) {\n if (typeof jCal[0] == \"string\") {\n // This is a single component\n jCal = [jCal];\n }\n\n var i = 0;\n var len = jCal.length;\n var result = '';\n\n for (; i < len; i++) {\n result += stringify.component(jCal[i]) + LINE_ENDING;\n }\n\n return result;\n }\n\n /**\n * Converts an jCal component array into a ICAL string.\n * Recursive will resolve sub-components.\n *\n * Exact component/property order is not saved all\n * properties will come before subcomponents.\n *\n * @function ICAL.stringify.component\n * @param {Array} component\n * jCal/jCard fragment of a component\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this component\n * @return {String} The iCalendar/vCard string\n */\n stringify.component = function(component, designSet) {\n var name = component[0].toUpperCase();\n var result = 'BEGIN:' + name + LINE_ENDING;\n\n var props = component[1];\n var propIdx = 0;\n var propLen = props.length;\n\n var designSetName = component[0];\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (designSetName === 'vcard' && component[1].length > 0 &&\n !(component[1][0][0] === \"version\" && component[1][0][3] === \"4.0\")) {\n designSetName = \"vcard3\";\n }\n designSet = designSet || design.getDesignSet(designSetName);\n\n for (; propIdx < propLen; propIdx++) {\n result += stringify.property(props[propIdx], designSet) + LINE_ENDING;\n }\n\n // Ignore subcomponents if none exist, e.g. in vCard.\n var comps = component[2] || [];\n var compIdx = 0;\n var compLen = comps.length;\n\n for (; compIdx < compLen; compIdx++) {\n result += stringify.component(comps[compIdx], designSet) + LINE_ENDING;\n }\n\n result += 'END:' + name;\n return result;\n };\n\n /**\n * Converts a single jCal/jCard property to a iCalendar/vCard string.\n *\n * @function ICAL.stringify.property\n * @param {Array} property\n * jCal/jCard property array\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n * @param {Boolean} noFold\n * If true, the line is not folded\n * @return {String} The iCalendar/vCard string\n */\n stringify.property = function(property, designSet, noFold) {\n var name = property[0].toUpperCase();\n var jsName = property[0];\n var params = property[1];\n\n var line = name;\n\n var paramName;\n for (paramName in params) {\n var value = params[paramName];\n\n /* istanbul ignore else */\n if (params.hasOwnProperty(paramName)) {\n var multiValue = (paramName in designSet.param) && designSet.param[paramName].multiValue;\n if (multiValue && Array.isArray(value)) {\n if (designSet.param[paramName].multiValueSeparateDQuote) {\n multiValue = '\"' + multiValue + '\"';\n }\n value = value.map(stringify._rfc6868Unescape);\n value = stringify.multiValue(value, multiValue, \"unknown\", null, designSet);\n } else {\n value = stringify._rfc6868Unescape(value);\n }\n\n\n line += ';' + paramName.toUpperCase();\n line += '=' + stringify.propertyValue(value);\n }\n }\n\n if (property.length === 3) {\n // If there are no values, we must assume a blank value\n return line + ':';\n }\n\n var valueType = property[2];\n\n if (!designSet) {\n designSet = design.defaultSet;\n }\n\n var propDetails;\n var multiValue = false;\n var structuredValue = false;\n var isDefault = false;\n\n if (jsName in designSet.property) {\n propDetails = designSet.property[jsName];\n\n if ('multiValue' in propDetails) {\n multiValue = propDetails.multiValue;\n }\n\n if (('structuredValue' in propDetails) && Array.isArray(property[3])) {\n structuredValue = propDetails.structuredValue;\n }\n\n if ('defaultType' in propDetails) {\n if (valueType === propDetails.defaultType) {\n isDefault = true;\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n\n // push the VALUE property if type is not the default\n // for the current property.\n if (!isDefault) {\n // value will never contain ;/:/, so we don't escape it here.\n line += ';VALUE=' + valueType.toUpperCase();\n }\n\n line += ':';\n\n if (multiValue && structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, multiValue, designSet, structuredValue\n );\n } else if (multiValue) {\n line += stringify.multiValue(\n property.slice(3), multiValue, valueType, null, designSet, false\n );\n } else if (structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, null, designSet, structuredValue\n );\n } else {\n line += stringify.value(property[3], valueType, designSet, false);\n }\n\n return noFold ? line : ICAL.helpers.foldline(line);\n };\n\n /**\n * Handles escaping of property values that may contain:\n *\n * COLON (:), SEMICOLON (;), or COMMA (,)\n *\n * If any of the above are present the result is wrapped\n * in double quotes.\n *\n * @function ICAL.stringify.propertyValue\n * @param {String} value Raw property value\n * @return {String} Given or escaped value when needed\n */\n stringify.propertyValue = function(value) {\n\n if ((helpers.unescapedIndexOf(value, ',') === -1) &&\n (helpers.unescapedIndexOf(value, ':') === -1) &&\n (helpers.unescapedIndexOf(value, ';') === -1)) {\n\n return value;\n }\n\n return '\"' + value + '\"';\n };\n\n /**\n * Converts an array of ical values into a single\n * string based on a type and a delimiter value (like \",\").\n *\n * @function ICAL.stringify.multiValue\n * @param {Array} values List of values to convert\n * @param {String} delim Used to join the values (\",\", \";\", \":\")\n * @param {String} type Lowecase ical value type\n * (like boolean, date-time, etc..)\n * @param {?String} innerMulti If set, each value will again be processed\n * Used for structured values\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n *\n * @return {String} iCalendar/vCard string for value\n */\n stringify.multiValue = function(values, delim, type, innerMulti, designSet, structuredValue) {\n var result = '';\n var len = values.length;\n var i = 0;\n\n for (; i < len; i++) {\n if (innerMulti && Array.isArray(values[i])) {\n result += stringify.multiValue(values[i], innerMulti, type, null, designSet, structuredValue);\n } else {\n result += stringify.value(values[i], type, designSet, structuredValue);\n }\n\n if (i !== (len - 1)) {\n result += delim;\n }\n }\n\n return result;\n };\n\n /**\n * Processes a single ical value runs the associated \"toICAL\" method from the\n * design value type if available to convert the value.\n *\n * @function ICAL.stringify.value\n * @param {String|Number} value A formatted value\n * @param {String} type Lowercase iCalendar/vCard value type\n * (like boolean, date-time, etc..)\n * @return {String} iCalendar/vCard value for single value\n */\n stringify.value = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'toICAL' in designSet.value[type]) {\n return designSet.value[type].toICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.stringify so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @param {String} val The value to unescape\n * @return {String} The escaped value\n */\n stringify._rfc6868Unescape = function(val) {\n return val.replace(/[\\n^\"]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { '\"': \"^'\", \"\\n\": \"^n\", \"^\": \"^^\" };\n\n return stringify;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to parse iCalendar and vCard data.\n * @namespace\n */\nICAL.parse = (function() {\n 'use strict';\n\n var CHAR = /[^ \\t]/;\n var MULTIVALUE_DELIMITER = ',';\n var VALUE_DELIMITER = ':';\n var PARAM_DELIMITER = ';';\n var PARAM_NAME_DELIMITER = '=';\n var DEFAULT_VALUE_TYPE = 'unknown';\n var DEFAULT_PARAM_TYPE = 'text';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * An error that occurred during parsing.\n *\n * @param {String} message The error message\n * @memberof ICAL.parse\n * @extends {Error}\n * @class\n */\n function ParserError(message) {\n this.message = message;\n this.name = 'ParserError';\n\n try {\n throw new Error();\n } catch (e) {\n if (e.stack) {\n var split = e.stack.split('\\n');\n split.shift();\n this.stack = split.join('\\n');\n }\n }\n }\n\n ParserError.prototype = Error.prototype;\n\n /**\n * Parses iCalendar or vCard data into a raw jCal object. Consult\n * documentation on the {@tutorial layers|layers of parsing} for more\n * details.\n *\n * @function ICAL.parse\n * @variation function\n * @todo Fix the API to be more clear on the return type\n * @param {String} input The string data to parse\n * @return {Object|Object[]} A single jCal object, or an array thereof\n */\n function parser(input) {\n var state = {};\n var root = state.component = [];\n\n state.stack = [root];\n\n parser._eachLine(input, function(err, line) {\n parser._handleContentLine(line, state);\n });\n\n\n // when there are still items on the stack\n // throw a fatal error, a component was not closed\n // correctly in that case.\n if (state.stack.length > 1) {\n throw new ParserError(\n 'invalid ical body. component began but did not end'\n );\n }\n\n state = null;\n\n return (root.length == 1 ? root[0] : root);\n }\n\n /**\n * Parse an iCalendar property value into the jCal for a single property\n *\n * @function ICAL.parse.property\n * @param {String} str\n * The iCalendar property string to parse\n * @param {ICAL.design.designSet=} designSet\n * The design data to use for this property\n * @return {Object}\n * The jCal Object containing the property\n */\n parser.property = function(str, designSet) {\n var state = {\n component: [[], []],\n designSet: designSet || design.defaultSet\n };\n parser._handleContentLine(str, state);\n return state.component[1][0];\n };\n\n /**\n * Convenience method to parse a component. You can use ICAL.parse() directly\n * instead.\n *\n * @function ICAL.parse.component\n * @see ICAL.parse(function)\n * @param {String} str The iCalendar component string to parse\n * @return {Object} The jCal Object containing the component\n */\n parser.component = function(str) {\n return parser(str);\n };\n\n // classes & constants\n parser.ParserError = ParserError;\n\n /**\n * The state for parsing content lines from an iCalendar/vCard string.\n *\n * @private\n * @memberof ICAL.parse\n * @typedef {Object} parserState\n * @property {ICAL.design.designSet} designSet The design set to use for parsing\n * @property {ICAL.Component[]} stack The stack of components being processed\n * @property {ICAL.Component} component The currently active component\n */\n\n\n /**\n * Handles a single line of iCalendar/vCard, updating the state.\n *\n * @private\n * @function ICAL.parse._handleContentLine\n * @param {String} line The content line to process\n * @param {ICAL.parse.parserState} The current state of the line parsing\n */\n parser._handleContentLine = function(line, state) {\n // break up the parts of the line\n var valuePos = line.indexOf(VALUE_DELIMITER);\n var paramPos = line.indexOf(PARAM_DELIMITER);\n\n var lastParamIndex;\n var lastValuePos;\n\n // name of property or begin/end\n var name;\n var value;\n // params is only overridden if paramPos !== -1.\n // we can't do params = params || {} later on\n // because it sacrifices ops.\n var params = {};\n\n /**\n * Different property cases\n *\n *\n * 1. RRULE:FREQ=foo\n * // FREQ= is not a param but the value\n *\n * 2. ATTENDEE;ROLE=REQ-PARTICIPANT;\n * // ROLE= is a param because : has not happened yet\n */\n // when the parameter delimiter is after the\n // value delimiter then it is not a parameter.\n\n if ((paramPos !== -1 && valuePos !== -1)) {\n // when the parameter delimiter is after the\n // value delimiter then it is not a parameter.\n if (paramPos > valuePos) {\n paramPos = -1;\n }\n }\n\n var parsedParams;\n if (paramPos !== -1) {\n name = line.substring(0, paramPos).toLowerCase();\n parsedParams = parser._parseParameters(line.substring(paramPos), 0, state.designSet);\n if (parsedParams[2] == -1) {\n throw new ParserError(\"Invalid parameters in '\" + line + \"'\");\n }\n params = parsedParams[0];\n lastParamIndex = parsedParams[1].length + parsedParams[2] + paramPos;\n if ((lastValuePos =\n line.substring(lastParamIndex).indexOf(VALUE_DELIMITER)) !== -1) {\n value = line.substring(lastParamIndex + lastValuePos + 1);\n } else {\n throw new ParserError(\"Missing parameter value in '\" + line + \"'\");\n }\n } else if (valuePos !== -1) {\n // without parmeters (BEGIN:VCAENDAR, CLASS:PUBLIC)\n name = line.substring(0, valuePos).toLowerCase();\n value = line.substring(valuePos + 1);\n\n if (name === 'begin') {\n var newComponent = [value.toLowerCase(), [], []];\n if (state.stack.length === 1) {\n state.component.push(newComponent);\n } else {\n state.component[2].push(newComponent);\n }\n state.stack.push(state.component);\n state.component = newComponent;\n if (!state.designSet) {\n state.designSet = design.getDesignSet(state.component[0]);\n }\n return;\n } else if (name === 'end') {\n state.component = state.stack.pop();\n return;\n }\n // If it is not begin/end, then this is a property with an empty value,\n // which should be considered valid.\n } else {\n /**\n * Invalid line.\n * The rational to throw an error is we will\n * never be certain that the rest of the file\n * is sane and it is unlikely that we can serialize\n * the result correctly either.\n */\n throw new ParserError(\n 'invalid line (no token \";\" or \":\") \"' + line + '\"'\n );\n }\n\n var valueType;\n var multiValue = false;\n var structuredValue = false;\n var propertyDetails;\n\n if (name in state.designSet.property) {\n propertyDetails = state.designSet.property[name];\n\n if ('multiValue' in propertyDetails) {\n multiValue = propertyDetails.multiValue;\n }\n\n if ('structuredValue' in propertyDetails) {\n structuredValue = propertyDetails.structuredValue;\n }\n\n if (value && 'detectType' in propertyDetails) {\n valueType = propertyDetails.detectType(value);\n }\n }\n\n // attempt to determine value\n if (!valueType) {\n if (!('value' in params)) {\n if (propertyDetails) {\n valueType = propertyDetails.defaultType;\n } else {\n valueType = DEFAULT_VALUE_TYPE;\n }\n } else {\n // possible to avoid this?\n valueType = params.value.toLowerCase();\n }\n }\n\n delete params.value;\n\n /**\n * Note on `var result` juggling:\n *\n * I observed that building the array in pieces has adverse\n * effects on performance, so where possible we inline the creation.\n * It is a little ugly but resulted in ~2000 additional ops/sec.\n */\n\n var result;\n if (multiValue && structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], multiValue, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else if (multiValue) {\n result = [name, params, valueType];\n parser._parseMultiValue(value, multiValue, valueType, result, null, state.designSet, false);\n } else if (structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], null, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else {\n value = parser._parseValue(value, valueType, state.designSet, false);\n result = [name, params, valueType, value];\n }\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (state.component[0] === 'vcard' && state.component[1].length === 0 &&\n !(name === 'version' && value === '4.0')) {\n state.designSet = design.getDesignSet(\"vcard3\");\n }\n state.component[1].push(result);\n };\n\n /**\n * Parse a value from the raw value into the jCard/jCal value.\n *\n * @private\n * @function ICAL.parse._parseValue\n * @param {String} value Original value\n * @param {String} type Type of value\n * @param {Object} designSet The design data to use for this value\n * @return {Object} varies on type\n */\n parser._parseValue = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'fromICAL' in designSet.value[type]) {\n return designSet.value[type].fromICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Parse parameters from a string to object.\n *\n * @function ICAL.parse._parseParameters\n * @private\n * @param {String} line A single unfolded line\n * @param {Numeric} start Position to start looking for properties\n * @param {Object} designSet The design data to use for this property\n * @return {Object} key/value pairs\n */\n parser._parseParameters = function(line, start, designSet) {\n var lastParam = start;\n var pos = 0;\n var delim = PARAM_NAME_DELIMITER;\n var result = {};\n var name, lcname;\n var value, valuePos = -1;\n var type, multiValue, mvdelim;\n\n // find the next '=' sign\n // use lastParam and pos to find name\n // check if \" is used if so get value from \"->\"\n // then increment pos to find next ;\n\n while ((pos !== false) &&\n (pos = helpers.unescapedIndexOf(line, delim, pos + 1)) !== -1) {\n\n name = line.substr(lastParam + 1, pos - lastParam - 1);\n if (name.length == 0) {\n throw new ParserError(\"Empty parameter name in '\" + line + \"'\");\n }\n lcname = name.toLowerCase();\n mvdelim = false;\n multiValue = false;\n\n if (lcname in designSet.param && designSet.param[lcname].valueType) {\n type = designSet.param[lcname].valueType;\n } else {\n type = DEFAULT_PARAM_TYPE;\n }\n\n if (lcname in designSet.param) {\n multiValue = designSet.param[lcname].multiValue;\n if (designSet.param[lcname].multiValueSeparateDQuote) {\n mvdelim = parser._rfc6868Escape('\"' + multiValue + '\"');\n }\n }\n\n var nextChar = line[pos + 1];\n if (nextChar === '\"') {\n valuePos = pos + 2;\n pos = helpers.unescapedIndexOf(line, '\"', valuePos);\n if (multiValue && pos != -1) {\n var extendedValue = true;\n while (extendedValue) {\n if (line[pos + 1] == multiValue && line[pos + 2] == '\"') {\n pos = helpers.unescapedIndexOf(line, '\"', pos + 3);\n } else {\n extendedValue = false;\n }\n }\n }\n if (pos === -1) {\n throw new ParserError(\n 'invalid line (no matching double quote) \"' + line + '\"'\n );\n }\n value = line.substr(valuePos, pos - valuePos);\n lastParam = helpers.unescapedIndexOf(line, PARAM_DELIMITER, pos);\n if (lastParam === -1) {\n pos = false;\n }\n } else {\n valuePos = pos + 1;\n\n // move to next \";\"\n var nextPos = helpers.unescapedIndexOf(line, PARAM_DELIMITER, valuePos);\n var propValuePos = helpers.unescapedIndexOf(line, VALUE_DELIMITER, valuePos);\n if (propValuePos !== -1 && nextPos > propValuePos) {\n // this is a delimiter in the property value, let's stop here\n nextPos = propValuePos;\n pos = false;\n } else if (nextPos === -1) {\n // no \";\"\n if (propValuePos === -1) {\n nextPos = line.length;\n } else {\n nextPos = propValuePos;\n }\n pos = false;\n } else {\n lastParam = nextPos;\n pos = nextPos;\n }\n\n value = line.substr(valuePos, nextPos - valuePos);\n }\n\n value = parser._rfc6868Escape(value);\n if (multiValue) {\n var delimiter = mvdelim || multiValue;\n value = parser._parseMultiValue(value, delimiter, type, [], null, designSet);\n } else {\n value = parser._parseValue(value, type, designSet);\n }\n\n if (multiValue && (lcname in result)) {\n if (Array.isArray(result[lcname])) {\n result[lcname].push(value);\n } else {\n result[lcname] = [\n result[lcname],\n value\n ];\n }\n } else {\n result[lcname] = value;\n }\n }\n return [result, value, valuePos];\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.parse so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @function ICAL.parse._rfc6868Escape\n * @param {String} val The value to escape\n * @return {String} The escaped value\n */\n parser._rfc6868Escape = function(val) {\n return val.replace(/\\^['n^]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { \"^'\": '\"', \"^n\": \"\\n\", \"^^\": \"^\" };\n\n /**\n * Parse a multi value string. This function is used either for parsing\n * actual multi-value property's values, or for handling parameter values. It\n * can be used for both multi-value properties and structured value properties.\n *\n * @private\n * @function ICAL.parse._parseMultiValue\n * @param {String} buffer The buffer containing the full value\n * @param {String} delim The multi-value delimiter\n * @param {String} type The value type to be parsed\n * @param {Array.<?>} result The array to append results to, varies on value type\n * @param {String} innerMulti The inner delimiter to split each value with\n * @param {ICAL.design.designSet} designSet The design data for this value\n * @return {?|Array.<?>} Either an array of results, or the first result\n */\n parser._parseMultiValue = function(buffer, delim, type, result, innerMulti, designSet, structuredValue) {\n var pos = 0;\n var lastPos = 0;\n var value;\n if (delim.length === 0) {\n return buffer;\n }\n\n // split each piece\n while ((pos = helpers.unescapedIndexOf(buffer, delim, lastPos)) !== -1) {\n value = buffer.substr(lastPos, pos - lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n lastPos = pos + delim.length;\n }\n\n // on the last piece take the rest of string\n value = buffer.substr(lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n\n return result.length == 1 ? result[0] : result;\n };\n\n /**\n * Process a complete buffer of iCalendar/vCard data line by line, correctly\n * unfolding content. Each line will be processed with the given callback\n *\n * @private\n * @function ICAL.parse._eachLine\n * @param {String} buffer The buffer to process\n * @param {function(?String, String)} callback The callback for each line\n */\n parser._eachLine = function(buffer, callback) {\n var len = buffer.length;\n var lastPos = buffer.search(CHAR);\n var pos = lastPos;\n var line;\n var firstChar;\n\n var newlineOffset;\n\n do {\n pos = buffer.indexOf('\\n', lastPos) + 1;\n\n if (pos > 1 && buffer[pos - 2] === '\\r') {\n newlineOffset = 2;\n } else {\n newlineOffset = 1;\n }\n\n if (pos === 0) {\n pos = len;\n newlineOffset = 0;\n }\n\n firstChar = buffer[lastPos];\n\n if (firstChar === ' ' || firstChar === '\\t') {\n // add to line\n line += buffer.substr(\n lastPos + 1,\n pos - lastPos - (newlineOffset + 1)\n );\n } else {\n if (line)\n callback(null, line);\n // push line\n line = buffer.substr(\n lastPos,\n pos - lastPos - newlineOffset\n );\n }\n\n lastPos = pos;\n } while (pos !== len);\n\n // extra ending line\n line = line.trim();\n\n if (line.length)\n callback(null, line);\n };\n\n return parser;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Component = (function() {\n 'use strict';\n\n var PROPERTY_INDEX = 1;\n var COMPONENT_INDEX = 2;\n var NAME_INDEX = 0;\n\n /**\n * @classdesc\n * Wraps a jCal component, adding convenience methods to add, remove and\n * update subcomponents and properties.\n *\n * @class\n * @alias ICAL.Component\n * @param {Array|String} jCal Raw jCal component data OR name of new\n * component\n * @param {ICAL.Component} parent Parent component to associate\n */\n function Component(jCal, parent) {\n if (typeof(jCal) === 'string') {\n // jCal spec (name, properties, components)\n jCal = [jCal, [], []];\n }\n\n // mostly for legacy reasons.\n this.jCal = jCal;\n\n this.parent = parent || null;\n }\n\n Component.prototype = {\n /**\n * Hydrated properties are inserted into the _properties array at the same\n * position as in the jCal array, so it is possible that the array contains\n * undefined values for unhydrdated properties. To avoid iterating the\n * array when checking if all properties have been hydrated, we save the\n * count here.\n *\n * @type {Number}\n * @private\n */\n _hydratedPropertyCount: 0,\n\n /**\n * The same count as for _hydratedPropertyCount, but for subcomponents\n *\n * @type {Number}\n * @private\n */\n _hydratedComponentCount: 0,\n\n /**\n * The name of this component\n * @readonly\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The design set for this component, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n var parentDesign = this.parent && this.parent._designSet;\n return parentDesign || ICAL.design.getDesignSet(this.name);\n },\n\n _hydrateComponent: function(index) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (this._components[index]) {\n return this._components[index];\n }\n\n var comp = new Component(\n this.jCal[COMPONENT_INDEX][index],\n this\n );\n\n this._hydratedComponentCount++;\n return (this._components[index] = comp);\n },\n\n _hydrateProperty: function(index) {\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (this._properties[index]) {\n return this._properties[index];\n }\n\n var prop = new ICAL.Property(\n this.jCal[PROPERTY_INDEX][index],\n this\n );\n\n this._hydratedPropertyCount++;\n return (this._properties[index] = prop);\n },\n\n /**\n * Finds first sub component, optionally filtered by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {?ICAL.Component} The found subcomponent\n */\n getFirstSubcomponent: function(name) {\n if (name) {\n var i = 0;\n var comps = this.jCal[COMPONENT_INDEX];\n var len = comps.length;\n\n for (; i < len; i++) {\n if (comps[i][NAME_INDEX] === name) {\n var result = this._hydrateComponent(i);\n return result;\n }\n }\n } else {\n if (this.jCal[COMPONENT_INDEX].length) {\n return this._hydrateComponent(0);\n }\n }\n\n // ensure we return a value (strict mode)\n return null;\n },\n\n /**\n * Finds all sub components, optionally filtering by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {ICAL.Component[]} The found sub components\n */\n getAllSubcomponents: function(name) {\n var jCalLen = this.jCal[COMPONENT_INDEX].length;\n var i = 0;\n\n if (name) {\n var comps = this.jCal[COMPONENT_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === comps[i][NAME_INDEX]) {\n result.push(\n this._hydrateComponent(i)\n );\n }\n }\n return result;\n } else {\n if (!this._components ||\n (this._hydratedComponentCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateComponent(i);\n }\n }\n\n return this._components || [];\n }\n },\n\n /**\n * Returns true when a named property exists.\n *\n * @param {String} name The property name\n * @return {Boolean} True, when property is found\n */\n hasProperty: function(name) {\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n var i = 0;\n for (; i < len; i++) {\n // 0 is property name\n if (props[i][NAME_INDEX] === name) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Finds the first property, optionally with the given name.\n *\n * @param {String=} name Lowercase property name\n * @return {?ICAL.Property} The found property\n */\n getFirstProperty: function(name) {\n if (name) {\n var i = 0;\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n for (; i < len; i++) {\n if (props[i][NAME_INDEX] === name) {\n var result = this._hydrateProperty(i);\n return result;\n }\n }\n } else {\n if (this.jCal[PROPERTY_INDEX].length) {\n return this._hydrateProperty(0);\n }\n }\n\n return null;\n },\n\n /**\n * Returns first property's value, if available.\n *\n * @param {String=} name Lowercase property name\n * @return {?String} The found property value.\n */\n getFirstPropertyValue: function(name) {\n var prop = this.getFirstProperty(name);\n if (prop) {\n return prop.getFirstValue();\n }\n\n return null;\n },\n\n /**\n * Get all properties in the component, optionally filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {ICAL.Property[]} List of properties\n */\n getAllProperties: function(name) {\n var jCalLen = this.jCal[PROPERTY_INDEX].length;\n var i = 0;\n\n if (name) {\n var props = this.jCal[PROPERTY_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === props[i][NAME_INDEX]) {\n result.push(\n this._hydrateProperty(i)\n );\n }\n }\n return result;\n } else {\n if (!this._properties ||\n (this._hydratedPropertyCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateProperty(i);\n }\n }\n\n return this._properties || [];\n }\n },\n\n _removeObjectByIndex: function(jCalIndex, cache, index) {\n cache = cache || [];\n // remove cached version\n if (cache[index]) {\n var obj = cache[index];\n if (\"parent\" in obj) {\n obj.parent = null;\n }\n }\n\n cache.splice(index, 1);\n\n // remove it from the jCal\n this.jCal[jCalIndex].splice(index, 1);\n },\n\n _removeObject: function(jCalIndex, cache, nameOrObject) {\n var i = 0;\n var objects = this.jCal[jCalIndex];\n var len = objects.length;\n var cached = this[cache];\n\n if (typeof(nameOrObject) === 'string') {\n for (; i < len; i++) {\n if (objects[i][NAME_INDEX] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n } else if (cached) {\n for (; i < len; i++) {\n if (cached[i] && cached[i] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n }\n\n return false;\n },\n\n _removeAllObjects: function(jCalIndex, cache, name) {\n var cached = this[cache];\n\n // Unfortunately we have to run through all children to reset their\n // parent property.\n var objects = this.jCal[jCalIndex];\n var i = objects.length - 1;\n\n // descending search required because splice\n // is used and will effect the indices.\n for (; i >= 0; i--) {\n if (!name || objects[i][NAME_INDEX] === name) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n }\n }\n },\n\n /**\n * Adds a single sub component.\n *\n * @param {ICAL.Component} component The component to add\n * @return {ICAL.Component} The passed in component\n */\n addSubcomponent: function(component) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (component.parent) {\n component.parent.removeSubcomponent(component);\n }\n\n var idx = this.jCal[COMPONENT_INDEX].push(component.jCal);\n this._components[idx - 1] = component;\n this._hydratedComponentCount++;\n component.parent = this;\n return component;\n },\n\n /**\n * Removes a single component by name or the instance of a specific\n * component.\n *\n * @param {ICAL.Component|String} nameOrComp Name of component, or component\n * @return {Boolean} True when comp is removed\n */\n removeSubcomponent: function(nameOrComp) {\n var removed = this._removeObject(COMPONENT_INDEX, '_components', nameOrComp);\n if (removed) {\n this._hydratedComponentCount--;\n }\n return removed;\n },\n\n /**\n * Removes all components or (if given) all components by a particular\n * name.\n *\n * @param {String=} name Lowercase component name\n */\n removeAllSubcomponents: function(name) {\n var removed = this._removeAllObjects(COMPONENT_INDEX, '_components', name);\n this._hydratedComponentCount = 0;\n return removed;\n },\n\n /**\n * Adds an {@link ICAL.Property} to the component.\n *\n * @param {ICAL.Property} property The property to add\n * @return {ICAL.Property} The passed in property\n */\n addProperty: function(property) {\n if (!(property instanceof ICAL.Property)) {\n throw new TypeError('must instance of ICAL.Property');\n }\n\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (property.parent) {\n property.parent.removeProperty(property);\n }\n\n var idx = this.jCal[PROPERTY_INDEX].push(property.jCal);\n this._properties[idx - 1] = property;\n this._hydratedPropertyCount++;\n property.parent = this;\n return property;\n },\n\n /**\n * Helper method to add a property with a value to the component.\n *\n * @param {String} name Property name to add\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n addPropertyWithValue: function(name, value) {\n var prop = new ICAL.Property(name);\n prop.setValue(value);\n\n this.addProperty(prop);\n\n return prop;\n },\n\n /**\n * Helper method that will update or create a property of the given name\n * and sets its value. If multiple properties with the given name exist,\n * only the first is updated.\n *\n * @param {String} name Property name to update\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n updatePropertyWithValue: function(name, value) {\n var prop = this.getFirstProperty(name);\n\n if (prop) {\n prop.setValue(value);\n } else {\n prop = this.addPropertyWithValue(name, value);\n }\n\n return prop;\n },\n\n /**\n * Removes a single property by name or the instance of the specific\n * property.\n *\n * @param {String|ICAL.Property} nameOrProp Property name or instance to remove\n * @return {Boolean} True, when deleted\n */\n removeProperty: function(nameOrProp) {\n var removed = this._removeObject(PROPERTY_INDEX, '_properties', nameOrProp);\n if (removed) {\n this._hydratedPropertyCount--;\n }\n return removed;\n },\n\n /**\n * Removes all properties associated with this component, optionally\n * filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {Boolean} True, when deleted\n */\n removeAllProperties: function(name) {\n var removed = this._removeAllObjects(PROPERTY_INDEX, '_properties', name);\n this._hydratedPropertyCount = 0;\n return removed;\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toString: function() {\n return ICAL.stringify.component(\n this.jCal, this._designSet\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Component} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n */\n Component.fromString = function(str) {\n return new Component(ICAL.parse.component(str));\n };\n\n return Component;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Property = (function() {\n 'use strict';\n\n var NAME_INDEX = 0;\n var PROP_INDEX = 1;\n var TYPE_INDEX = 2;\n var VALUE_INDEX = 3;\n\n var design = ICAL.design;\n\n /**\n * @classdesc\n * Provides a layer on top of the raw jCal object for manipulating a single\n * property, with its parameters and value.\n *\n * @description\n * It is important to note that mutations done in the wrapper\n * directly mutate the jCal object used to initialize.\n *\n * Can also be used to create new properties by passing\n * the name of the property (as a String).\n *\n * @class\n * @alias ICAL.Property\n * @param {Array|String} jCal Raw jCal representation OR\n * the new name of the property\n *\n * @param {ICAL.Component=} parent Parent component\n */\n function Property(jCal, parent) {\n this._parent = parent || null;\n\n if (typeof(jCal) === 'string') {\n // We are creating the property by name and need to detect the type\n this.jCal = [jCal, {}, design.defaultType];\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n } else {\n this.jCal = jCal;\n }\n this._updateType();\n }\n\n Property.prototype = {\n\n /**\n * The value type for this property\n * @readonly\n * @type {String}\n */\n get type() {\n return this.jCal[TYPE_INDEX];\n },\n\n /**\n * The name of this property, in lowercase.\n * @readonly\n * @type {String}\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The parent component for this property.\n * @type {ICAL.Component}\n */\n get parent() {\n return this._parent;\n },\n\n set parent(p) {\n // Before setting the parent, check if the design set has changed. If it\n // has, we later need to update the type if it was unknown before.\n var designSetChanged = !this._parent || (p && p._designSet != this._parent._designSet);\n\n this._parent = p;\n\n if (this.type == design.defaultType && designSetChanged) {\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n this._updateType();\n }\n\n return p;\n },\n\n /**\n * The design set for this property, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n return this.parent ? this.parent._designSet : design.defaultSet;\n },\n\n /**\n * Updates the type metadata from the current jCal type and design set.\n *\n * @private\n */\n _updateType: function() {\n var designSet = this._designSet;\n\n if (this.type in designSet.value) {\n var designType = designSet.value[this.type];\n\n if ('decorate' in designSet.value[this.type]) {\n this.isDecorated = true;\n } else {\n this.isDecorated = false;\n }\n\n if (this.name in designSet.property) {\n this.isMultiValue = ('multiValue' in designSet.property[this.name]);\n this.isStructuredValue = ('structuredValue' in designSet.property[this.name]);\n }\n }\n },\n\n /**\n * Hydrate a single value. The act of hydrating means turning the raw jCal\n * value into a potentially wrapped object, for example {@link ICAL.Time}.\n *\n * @private\n * @param {Number} index The index of the value to hydrate\n * @return {Object} The decorated value.\n */\n _hydrateValue: function(index) {\n if (this._values && this._values[index]) {\n return this._values[index];\n }\n\n // for the case where there is no value.\n if (this.jCal.length <= (VALUE_INDEX + index)) {\n return null;\n }\n\n if (this.isDecorated) {\n if (!this._values) {\n this._values = [];\n }\n return (this._values[index] = this._decorate(\n this.jCal[VALUE_INDEX + index]\n ));\n } else {\n return this.jCal[VALUE_INDEX + index];\n }\n },\n\n /**\n * Decorate a single value, returning its wrapped object. This is used by\n * the hydrate function to actually wrap the value.\n *\n * @private\n * @param {?} value The value to decorate\n * @return {Object} The decorated value\n */\n _decorate: function(value) {\n return this._designSet.value[this.type].decorate(value, this);\n },\n\n /**\n * Undecorate a single value, returning its raw jCal data.\n *\n * @private\n * @param {Object} value The value to undecorate\n * @return {?} The undecorated value\n */\n _undecorate: function(value) {\n return this._designSet.value[this.type].undecorate(value, this);\n },\n\n /**\n * Sets the value at the given index while also hydrating it. The passed\n * value can either be a decorated or undecorated value.\n *\n * @private\n * @param {?} value The value to set\n * @param {Number} index The index to set it at\n */\n _setDecoratedValue: function(value, index) {\n if (!this._values) {\n this._values = [];\n }\n\n if (typeof(value) === 'object' && 'icaltype' in value) {\n // decorated value\n this.jCal[VALUE_INDEX + index] = this._undecorate(value);\n this._values[index] = value;\n } else {\n // undecorated value\n this.jCal[VALUE_INDEX + index] = value;\n this._values[index] = this._decorate(value);\n }\n },\n\n /**\n * Gets a parameter on the property.\n *\n * @param {String} name Parameter name (lowercase)\n * @return {Array|String} Parameter value\n */\n getParameter: function(name) {\n if (name in this.jCal[PROP_INDEX]) {\n return this.jCal[PROP_INDEX][name];\n } else {\n return undefined;\n }\n },\n\n /**\n * Gets first parameter on the property.\n *\n * @param {String} name Parameter name (lowercase)\n * @return {String} Parameter value\n */\n getFirstParameter: function(name) {\n var parameters = this.getParameter(name);\n\n if (Array.isArray(parameters)) {\n return parameters[0];\n }\n\n return parameters;\n },\n\n /**\n * Sets a parameter on the property.\n *\n * @param {String} name The parameter name\n * @param {Array|String} value The parameter value\n */\n setParameter: function(name, value) {\n var lcname = name.toLowerCase();\n if (typeof value === \"string\" &&\n lcname in this._designSet.param &&\n 'multiValue' in this._designSet.param[lcname]) {\n value = [value];\n }\n this.jCal[PROP_INDEX][name] = value;\n },\n\n /**\n * Removes a parameter\n *\n * @param {String} name The parameter name\n */\n removeParameter: function(name) {\n delete this.jCal[PROP_INDEX][name];\n },\n\n /**\n * Get the default type based on this property's name.\n *\n * @return {String} The default type for this property\n */\n getDefaultType: function() {\n var name = this.jCal[NAME_INDEX];\n var designSet = this._designSet;\n\n if (name in designSet.property) {\n var details = designSet.property[name];\n if ('defaultType' in details) {\n return details.defaultType;\n }\n }\n return design.defaultType;\n },\n\n /**\n * Sets type of property and clears out any existing values of the current\n * type.\n *\n * @param {String} type New iCAL type (see design.*.values)\n */\n resetType: function(type) {\n this.removeAllValues();\n this.jCal[TYPE_INDEX] = type;\n this._updateType();\n },\n\n /**\n * Finds the first property value.\n *\n * @return {String} First property value\n */\n getFirstValue: function() {\n return this._hydrateValue(0);\n },\n\n /**\n * Gets all values on the property.\n *\n * NOTE: this creates an array during each call.\n *\n * @return {Array} List of values\n */\n getValues: function() {\n var len = this.jCal.length - VALUE_INDEX;\n\n if (len < 1) {\n // it is possible for a property to have no value.\n return [];\n }\n\n var i = 0;\n var result = [];\n\n for (; i < len; i++) {\n result[i] = this._hydrateValue(i);\n }\n\n return result;\n },\n\n /**\n * Removes all values from this property\n */\n removeAllValues: function() {\n if (this._values) {\n this._values.length = 0;\n }\n this.jCal.length = 3;\n },\n\n /**\n * Sets the values of the property. Will overwrite the existing values.\n * This can only be used for multi-value properties.\n *\n * @param {Array} values An array of values\n */\n setValues: function(values) {\n if (!this.isMultiValue) {\n throw new Error(\n this.name + ': does not not support mulitValue.\\n' +\n 'override isMultiValue'\n );\n }\n\n var len = values.length;\n var i = 0;\n this.removeAllValues();\n\n if (len > 0 &&\n typeof(values[0]) === 'object' &&\n 'icaltype' in values[0]) {\n this.resetType(values[0].icaltype);\n }\n\n if (this.isDecorated) {\n for (; i < len; i++) {\n this._setDecoratedValue(values[i], i);\n }\n } else {\n for (; i < len; i++) {\n this.jCal[VALUE_INDEX + i] = values[i];\n }\n }\n },\n\n /**\n * Sets the current value of the property. If this is a multi-value\n * property, all other values will be removed.\n *\n * @param {String|Object} value New property value.\n */\n setValue: function(value) {\n this.removeAllValues();\n if (typeof(value) === 'object' && 'icaltype' in value) {\n this.resetType(value.icaltype);\n }\n\n if (this.isDecorated) {\n this._setDecoratedValue(value, 0);\n } else {\n this.jCal[VALUE_INDEX] = value;\n }\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.stringify.property(\n this.jCal, this._designSet, true\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Property} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n * @param {ICAL.design.designSet=} designSet The design data to use for this property\n * @return {ICAL.Property} The created iCalendar property\n */\n Property.fromString = function(str, designSet) {\n return new Property(ICAL.parse.property(str, designSet));\n };\n\n return Property;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.UtcOffset = (function() {\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.UtcOffset\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n function UtcOffset(aData) {\n this.fromData(aData);\n }\n\n UtcOffset.prototype = {\n\n /**\n * The hours in the utc-offset\n * @type {Number}\n */\n hours: 0,\n\n /**\n * The minutes in the utc-offset\n * @type {Number}\n */\n minutes: 0,\n\n /**\n * The sign of the utc offset, 1 for positive offset, -1 for negative\n * offsets.\n * @type {Number}\n */\n factor: 1,\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"utc-offset\"\n */\n icaltype: \"utc-offset\",\n\n /**\n * Returns a clone of the utc offset object.\n *\n * @return {ICAL.UtcOffset} The cloned object\n */\n clone: function() {\n return ICAL.UtcOffset.fromSeconds(this.toSeconds());\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n fromData: function(aData) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (aData.hasOwnProperty(key)) {\n this[key] = aData[key];\n }\n }\n }\n this._normalize();\n },\n\n /**\n * Sets up the current instance from the given seconds value. The seconds\n * value is truncated to the minute. Offsets are wrapped when the world\n * ends, the hour after UTC+14:00 is UTC-12:00.\n *\n * @param {Number} aSeconds The seconds to convert into an offset\n */\n fromSeconds: function(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.factor = aSeconds < 0 ? -1 : 1;\n this.hours = ICAL.helpers.trunc(secs / 3600);\n\n secs -= (this.hours * 3600);\n this.minutes = ICAL.helpers.trunc(secs / 60);\n return this;\n },\n\n /**\n * Convert the current offset to a value in seconds\n *\n * @return {Number} The offset in seconds\n */\n toSeconds: function() {\n return this.factor * (60 * this.minutes + 3600 * this.hours);\n },\n\n /**\n * Compare this utc offset with another one.\n *\n * @param {ICAL.UtcOffset} other The other offset to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toSeconds();\n var b = other.toSeconds();\n return (a > b) - (b > a);\n },\n\n _normalize: function() {\n // Range: 97200 seconds (with 1 hour inbetween)\n var secs = this.toSeconds();\n var factor = this.factor;\n while (secs < -43200) { // = UTC-12:00\n secs += 97200;\n }\n while (secs > 50400) { // = UTC+14:00\n secs -= 97200;\n }\n\n this.fromSeconds(secs);\n\n // Avoid changing the factor when on zero seconds\n if (secs == 0) {\n this.factor = factor;\n }\n },\n\n /**\n * The iCalendar string representation of this utc-offset.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.design.icalendar.value['utc-offset'].toICAL(this.toString());\n },\n\n /**\n * The string representation of this utc-offset.\n * @return {String}\n */\n toString: function toString() {\n return (this.factor == 1 ? \"+\" : \"-\") +\n ICAL.helpers.pad2(this.hours) + ':' +\n ICAL.helpers.pad2(this.minutes);\n }\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed string.\n *\n * @param {String} aString The string to parse\n * @return {ICAL.Duration} The created utc-offset instance\n */\n UtcOffset.fromString = function(aString) {\n // -05:00\n var options = {};\n //TODO: support seconds per rfc5545 ?\n options.factor = (aString[0] === '+') ? 1 : -1;\n options.hours = ICAL.helpers.strictParseInt(aString.substr(1, 2));\n options.minutes = ICAL.helpers.strictParseInt(aString.substr(4, 2));\n\n return new ICAL.UtcOffset(options);\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed seconds\n * value.\n *\n * @param {Number} aSeconds The number of seconds to convert\n */\n UtcOffset.fromSeconds = function(aSeconds) {\n var instance = new UtcOffset();\n instance.fromSeconds(aSeconds);\n return instance;\n };\n\n return UtcOffset;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Binary = (function() {\n\n /**\n * @classdesc\n * Represents the BINARY value type, which contains extra methods for\n * encoding and decoding.\n *\n * @class\n * @alias ICAL.Binary\n * @param {String} aValue The binary data for this value\n */\n function Binary(aValue) {\n this.value = aValue;\n }\n\n Binary.prototype = {\n /**\n * The type name, to be used in the jCal object.\n * @default \"binary\"\n * @constant\n */\n icaltype: \"binary\",\n\n /**\n * Base64 decode the current value\n *\n * @return {String} The base64-decoded value\n */\n decodeValue: function decodeValue() {\n return this._b64_decode(this.value);\n },\n\n /**\n * Encodes the passed parameter with base64 and sets the internal\n * value to the result.\n *\n * @param {String} aValue The raw binary value to encode\n */\n setEncodedValue: function setEncodedValue(aValue) {\n this.value = this._b64_encode(aValue);\n },\n\n _b64_encode: function base64_encode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Bayron Guevara\n // + improved by: Thunder.m\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: Rafał Kukawski (http://kukawski.pl)\n // * example 1: base64_encode('Kevin van Zonneveld');\n // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['atob'] == 'function') {\n // return atob(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n var r = data.length % 3;\n\n return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);\n\n },\n\n _b64_decode: function base64_decode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Thunder.m\n // + input by: Aman Gupta\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + input by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');\n // * returns 1: 'Kevin van Zonneveld'\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['btoa'] == 'function') {\n // return btoa(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n dec = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data += '';\n\n do { // unpack four hexets into three octets using index points in b64\n h1 = b64.indexOf(data.charAt(i++));\n h2 = b64.indexOf(data.charAt(i++));\n h3 = b64.indexOf(data.charAt(i++));\n h4 = b64.indexOf(data.charAt(i++));\n\n bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\n\n o1 = bits >> 16 & 0xff;\n o2 = bits >> 8 & 0xff;\n o3 = bits & 0xff;\n\n if (h3 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1);\n } else if (h4 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1, o2);\n } else {\n tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);\n }\n } while (i < data.length);\n\n dec = tmp_arr.join('');\n\n return dec;\n },\n\n /**\n * The string representation of this value\n * @return {String}\n */\n toString: function() {\n return this.value;\n }\n };\n\n /**\n * Creates a binary value from the given string.\n *\n * @param {String} aString The binary value string\n * @return {ICAL.Binary} The binary value instance\n */\n Binary.fromString = function(aString) {\n return new Binary(aString);\n };\n\n return Binary;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n /**\n * @classdesc\n * This class represents the \"period\" value type, with various calculation\n * and manipulation methods.\n *\n * @description\n * The passed data object cannot contain both and end date and a duration.\n *\n * @class\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n */\n ICAL.Period = function icalperiod(aData) {\n this.wrappedJSObject = this;\n\n if (aData && 'start' in aData) {\n if (aData.start && !(aData.start instanceof ICAL.Time)) {\n throw new TypeError('.start must be an instance of ICAL.Time');\n }\n this.start = aData.start;\n }\n\n if (aData && aData.end && aData.duration) {\n throw new Error('cannot accept both end and duration');\n }\n\n if (aData && 'end' in aData) {\n if (aData.end && !(aData.end instanceof ICAL.Time)) {\n throw new TypeError('.end must be an instance of ICAL.Time');\n }\n this.end = aData.end;\n }\n\n if (aData && 'duration' in aData) {\n if (aData.duration && !(aData.duration instanceof ICAL.Duration)) {\n throw new TypeError('.duration must be an instance of ICAL.Duration');\n }\n this.duration = aData.duration;\n }\n };\n\n ICAL.Period.prototype = {\n\n /**\n * The start of the period\n * @type {ICAL.Time}\n */\n start: null,\n\n /**\n * The end of the period\n * @type {ICAL.Time}\n */\n end: null,\n\n /**\n * The duration of the period\n * @type {ICAL.Duration}\n */\n duration: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalperiod\"\n */\n icalclass: \"icalperiod\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"period\"\n */\n icaltype: \"period\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Period} The cloned object\n */\n clone: function() {\n return ICAL.Period.fromData({\n start: this.start ? this.start.clone() : null,\n end: this.end ? this.end.clone() : null,\n duration: this.duration ? this.duration.clone() : null\n });\n },\n\n /**\n * Calculates the duration of the period, either directly or by subtracting\n * start from end date.\n *\n * @return {ICAL.Duration} The calculated duration\n */\n getDuration: function duration() {\n if (this.duration) {\n return this.duration;\n } else {\n return this.end.subtractDate(this.start);\n }\n },\n\n /**\n * Calculates the end date of the period, either directly or by adding\n * duration to start date.\n *\n * @return {ICAL.Time} The calculated end date\n */\n getEnd: function() {\n if (this.end) {\n return this.end;\n } else {\n var end = this.start.clone();\n end.addDuration(this.duration);\n return end;\n }\n },\n\n /**\n * The string representation of this period.\n * @return {String}\n */\n toString: function toString() {\n return this.start + \"/\" + (this.end || this.duration);\n },\n\n /**\n * The jCal representation of this period type.\n * @return {Object}\n */\n toJSON: function() {\n return [this.start.toString(), (this.end || this.duration).toString()];\n },\n\n /**\n * The iCalendar string representation of this period.\n * @return {String}\n */\n toICALString: function() {\n return this.start.toICALString() + \"/\" +\n (this.end || this.duration).toICALString();\n }\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the passed string.\n *\n * @param {String} str The string to parse\n * @param {ICAL.Property} prop The property this period will be on\n * @return {ICAL.Period} The created period instance\n */\n ICAL.Period.fromString = function fromString(str, prop) {\n var parts = str.split('/');\n\n if (parts.length !== 2) {\n throw new Error(\n 'Invalid string value: \"' + str + '\" must contain a \"/\" char.'\n );\n }\n\n var options = {\n start: ICAL.Time.fromDateTimeString(parts[0], prop)\n };\n\n var end = parts[1];\n\n if (ICAL.Duration.isValueString(end)) {\n options.duration = ICAL.Duration.fromString(end);\n } else {\n options.end = ICAL.Time.fromDateTimeString(end, prop);\n }\n\n return new ICAL.Period(options);\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the given data object.\n * The passed data object cannot contain both and end date and a duration.\n *\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromData = function fromData(aData) {\n return new ICAL.Period(aData);\n };\n\n /**\n * Returns a new period instance from the given jCal data array. The first\n * member is always the start date string, the second member is either a\n * duration or end date string.\n *\n * @param {Array<String,String>} aData The jCal data array\n * @param {ICAL.Property} aProp The property this jCal data is on\n * @param {Boolean} aLenient If true, data value can be both date and date-time\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromJSON = function(aData, aProp, aLenient) {\n function fromDateOrDateTimeString(aValue, aProp) {\n if (aLenient) {\n return ICAL.Time.fromString(aValue, aProp);\n } else {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n }\n }\n\n if (ICAL.Duration.isValueString(aData[1])) {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n duration: ICAL.Duration.fromString(aData[1])\n });\n } else {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n end: fromDateOrDateTimeString(aData[1], aProp)\n });\n }\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DURATION_LETTERS = /([PDWHMTS]{1,1})/;\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Duration\n * @param {Object} data An object with members of the duration\n * @param {Number} data.weeks Duration in weeks\n * @param {Number} data.days Duration in days\n * @param {Number} data.hours Duration in hours\n * @param {Number} data.minutes Duration in minutes\n * @param {Number} data.seconds Duration in seconds\n * @param {Boolean} data.isNegative If true, the duration is negative\n */\n ICAL.Duration = function icalduration(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Duration.prototype = {\n /**\n * The weeks in this duration\n * @type {Number}\n * @default 0\n */\n weeks: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n days: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n hours: 0,\n\n /**\n * The minutes in this duration\n * @type {Number}\n * @default 0\n */\n minutes: 0,\n\n /**\n * The seconds in this duration\n * @type {Number}\n * @default 0\n */\n seconds: 0,\n\n /**\n * The seconds in this duration\n * @type {Boolean}\n * @default false\n */\n isNegative: false,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalduration\"\n */\n icalclass: \"icalduration\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"duration\"\n */\n icaltype: \"duration\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Duration} The cloned object\n */\n clone: function clone() {\n return ICAL.Duration.fromData(this);\n },\n\n /**\n * The duration value expressed as a number of seconds.\n *\n * @return {Number} The duration value in seconds\n */\n toSeconds: function toSeconds() {\n var seconds = this.seconds + 60 * this.minutes + 3600 * this.hours +\n 86400 * this.days + 7 * 86400 * this.weeks;\n return (this.isNegative ? -seconds : seconds);\n },\n\n /**\n * Reads the passed seconds value into this duration object. Afterwards,\n * members like {@link ICAL.Duration#days days} and {@link ICAL.Duration#weeks weeks} will be set up\n * accordingly.\n *\n * @param {Number} aSeconds The duration value in seconds\n * @return {ICAL.Duration} Returns this instance\n */\n fromSeconds: function fromSeconds(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.isNegative = (aSeconds < 0);\n this.days = ICAL.helpers.trunc(secs / 86400);\n\n // If we have a flat number of weeks, use them.\n if (this.days % 7 == 0) {\n this.weeks = this.days / 7;\n this.days = 0;\n } else {\n this.weeks = 0;\n }\n\n secs -= (this.days + 7 * this.weeks) * 86400;\n\n this.hours = ICAL.helpers.trunc(secs / 3600);\n secs -= this.hours * 3600;\n\n this.minutes = ICAL.helpers.trunc(secs / 60);\n secs -= this.minutes * 60;\n\n this.seconds = secs;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n */\n fromData: function fromData(aData) {\n var propsToCopy = [\"weeks\", \"days\", \"hours\",\n \"minutes\", \"seconds\", \"isNegative\"];\n for (var key in propsToCopy) {\n /* istanbul ignore if */\n if (!propsToCopy.hasOwnProperty(key)) {\n continue;\n }\n var prop = propsToCopy[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n } else {\n this[prop] = 0;\n }\n }\n },\n\n /**\n * Resets the duration instance to the default values, i.e. PT0S\n */\n reset: function reset() {\n this.isNegative = false;\n this.weeks = 0;\n this.days = 0;\n this.hours = 0;\n this.minutes = 0;\n this.seconds = 0;\n },\n\n /**\n * Compares the duration instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function compare(aOther) {\n var thisSeconds = this.toSeconds();\n var otherSeconds = aOther.toSeconds();\n return (thisSeconds > otherSeconds) - (thisSeconds < otherSeconds);\n },\n\n /**\n * Normalizes the duration instance. For example, a duration with a value\n * of 61 seconds will be normalized to 1 minute and 1 second.\n */\n normalize: function normalize() {\n this.fromSeconds(this.toSeconds());\n },\n\n /**\n * The string representation of this duration.\n * @return {String}\n */\n toString: function toString() {\n if (this.toSeconds() == 0) {\n return \"PT0S\";\n } else {\n var str = \"\";\n if (this.isNegative) str += \"-\";\n str += \"P\";\n if (this.weeks) str += this.weeks + \"W\";\n if (this.days) str += this.days + \"D\";\n\n if (this.hours || this.minutes || this.seconds) {\n str += \"T\";\n if (this.hours) str += this.hours + \"H\";\n if (this.minutes) str += this.minutes + \"M\";\n if (this.seconds) str += this.seconds + \"S\";\n }\n return str;\n }\n },\n\n /**\n * The iCalendar string representation of this duration.\n * @return {String}\n */\n toICALString: function() {\n return this.toString();\n }\n };\n\n /**\n * Returns a new ICAL.Duration instance from the passed seconds value.\n *\n * @param {Number} aSeconds The seconds to create the instance from\n * @return {ICAL.Duration} The newly created duration instance\n */\n ICAL.Duration.fromSeconds = function icalduration_from_seconds(aSeconds) {\n return (new ICAL.Duration()).fromSeconds(aSeconds);\n };\n\n /**\n * Internal helper function to handle a chunk of a duration.\n *\n * @param {String} letter type of duration chunk\n * @param {String} number numeric value or -/+\n * @param {Object} dict target to assign values to\n */\n function parseDurationChunk(letter, number, object) {\n var type;\n switch (letter) {\n case 'P':\n if (number && number === '-') {\n object.isNegative = true;\n } else {\n object.isNegative = false;\n }\n // period\n break;\n case 'D':\n type = 'days';\n break;\n case 'W':\n type = 'weeks';\n break;\n case 'H':\n type = 'hours';\n break;\n case 'M':\n type = 'minutes';\n break;\n case 'S':\n type = 'seconds';\n break;\n default:\n // Not a valid chunk\n return 0;\n }\n\n if (type) {\n if (!number && number !== 0) {\n throw new Error(\n 'invalid duration value: Missing number before \"' + letter + '\"'\n );\n }\n var num = parseInt(number, 10);\n if (ICAL.helpers.isStrictlyNaN(num)) {\n throw new Error(\n 'invalid duration value: Invalid number \"' + number + '\" before \"' + letter + '\"'\n );\n }\n object[type] = num;\n }\n\n return 1;\n }\n\n /**\n * Checks if the given string is an iCalendar duration value.\n *\n * @param {String} value The raw ical value\n * @return {Boolean} True, if the given value is of the\n * duration ical type\n */\n ICAL.Duration.isValueString = function(string) {\n return (string[0] === 'P' || string[1] === 'P');\n };\n\n /**\n * Creates a new {@link ICAL.Duration} instance from the passed string.\n *\n * @param {String} aStr The string to parse\n * @return {ICAL.Duration} The created duration instance\n */\n ICAL.Duration.fromString = function icalduration_from_string(aStr) {\n var pos = 0;\n var dict = Object.create(null);\n var chunks = 0;\n\n while ((pos = aStr.search(DURATION_LETTERS)) !== -1) {\n var type = aStr[pos];\n var numeric = aStr.substr(0, pos);\n aStr = aStr.substr(pos + 1);\n\n chunks += parseDurationChunk(type, numeric, dict);\n }\n\n if (chunks < 2) {\n // There must be at least a chunk with \"P\" and some unit chunk\n throw new Error(\n 'invalid duration value: Not enough duration components in \"' + aStr + '\"'\n );\n }\n\n return new ICAL.Duration(dict);\n };\n\n /**\n * Creates a new ICAL.Duration instance from the given data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n * @return {ICAL.Duration} The createad duration instance\n */\n ICAL.Duration.fromData = function icalduration_from_data(aData) {\n return new ICAL.Duration(aData);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2012 */\n\n\n\n(function() {\n var OPTIONS = [\"tzid\", \"location\", \"tznames\",\n \"latitude\", \"longitude\"];\n\n /**\n * @classdesc\n * Timezone representation, created by passing in a tzid and component.\n *\n * @example\n * var vcalendar;\n * var timezoneComp = vcalendar.getFirstSubcomponent('vtimezone');\n * var tzid = timezoneComp.getFirstPropertyValue('tzid');\n *\n * var timezone = new ICAL.Timezone({\n * component: timezoneComp,\n * tzid\n * });\n *\n * @class\n * @param {ICAL.Component|Object} data options for class\n * @param {String|ICAL.Component} data.component\n * If data is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} data.tzid The timezone identifier\n * @param {String} data.location The timezone locationw\n * @param {String} data.tznames An alternative string representation of the\n * timezone\n * @param {Number} data.latitude The latitude of the timezone\n * @param {Number} data.longitude The longitude of the timezone\n */\n ICAL.Timezone = function icaltimezone(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Timezone.prototype = {\n\n /**\n * Timezone identifier\n * @type {String}\n */\n tzid: \"\",\n\n /**\n * Timezone location\n * @type {String}\n */\n location: \"\",\n\n /**\n * Alternative timezone name, for the string representation\n * @type {String}\n */\n tznames: \"\",\n\n /**\n * The primary latitude for the timezone.\n * @type {Number}\n */\n latitude: 0.0,\n\n /**\n * The primary longitude for the timezone.\n * @type {Number}\n */\n longitude: 0.0,\n\n /**\n * The vtimezone component for this timezone.\n * @type {ICAL.Component}\n */\n component: null,\n\n /**\n * The year this timezone has been expanded to. All timezone transition\n * dates until this year are known and can be used for calculation\n *\n * @private\n * @type {Number}\n */\n expandedUntilYear: 0,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltimezone\"\n */\n icalclass: \"icaltimezone\",\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n fromData: function fromData(aData) {\n this.expandedUntilYear = 0;\n this.changes = [];\n\n if (aData instanceof ICAL.Component) {\n // Either a component is passed directly\n this.component = aData;\n } else {\n // Otherwise the component may be in the data object\n if (aData && \"component\" in aData) {\n if (typeof aData.component == \"string\") {\n // If a string was passed, parse it as a component\n var jCal = ICAL.parse(aData.component);\n this.component = new ICAL.Component(jCal);\n } else if (aData.component instanceof ICAL.Component) {\n // If it was a component already, then just set it\n this.component = aData.component;\n } else {\n // Otherwise just null out the component\n this.component = null;\n }\n }\n\n // Copy remaining passed properties\n for (var key in OPTIONS) {\n /* istanbul ignore else */\n if (OPTIONS.hasOwnProperty(key)) {\n var prop = OPTIONS[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n }\n }\n }\n }\n\n // If we have a component but no TZID, attempt to get it from the\n // component's properties.\n if (this.component instanceof ICAL.Component && !this.tzid) {\n this.tzid = this.component.getFirstPropertyValue('tzid');\n }\n\n return this;\n },\n\n /**\n * Finds the utcOffset the given time would occur in this timezone.\n *\n * @param {ICAL.Time} tt The time to check for\n * @return {Number} utc offset in seconds\n */\n utcOffset: function utcOffset(tt) {\n if (this == ICAL.Timezone.utcTimezone || this == ICAL.Timezone.localTimezone) {\n return 0;\n }\n\n this._ensureCoverage(tt.year);\n\n if (!this.changes.length) {\n return 0;\n }\n\n var tt_change = {\n year: tt.year,\n month: tt.month,\n day: tt.day,\n hour: tt.hour,\n minute: tt.minute,\n second: tt.second\n };\n\n var change_num = this._findNearbyChange(tt_change);\n var change_num_to_use = -1;\n var step = 1;\n\n // TODO: replace with bin search?\n for (;;) {\n var change = ICAL.helpers.clone(this.changes[change_num], true);\n if (change.utcOffset < change.prevUtcOffset) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0, change.utcOffset);\n } else {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n change.prevUtcOffset);\n }\n\n var cmp = ICAL.Timezone._compare_change_fn(tt_change, change);\n\n if (cmp >= 0) {\n change_num_to_use = change_num;\n } else {\n step = -1;\n }\n\n if (step == -1 && change_num_to_use != -1) {\n break;\n }\n\n change_num += step;\n\n if (change_num < 0) {\n return 0;\n }\n\n if (change_num >= this.changes.length) {\n break;\n }\n }\n\n var zone_change = this.changes[change_num_to_use];\n var utcOffset_change = zone_change.utcOffset - zone_change.prevUtcOffset;\n\n if (utcOffset_change < 0 && change_num_to_use > 0) {\n var tmp_change = ICAL.helpers.clone(zone_change, true);\n ICAL.Timezone.adjust_change(tmp_change, 0, 0, 0,\n tmp_change.prevUtcOffset);\n\n if (ICAL.Timezone._compare_change_fn(tt_change, tmp_change) < 0) {\n var prev_zone_change = this.changes[change_num_to_use - 1];\n\n var want_daylight = false; // TODO\n\n if (zone_change.is_daylight != want_daylight &&\n prev_zone_change.is_daylight == want_daylight) {\n zone_change = prev_zone_change;\n }\n }\n }\n\n // TODO return is_daylight?\n return zone_change.utcOffset;\n },\n\n _findNearbyChange: function icaltimezone_find_nearby_change(change) {\n // find the closest match\n var idx = ICAL.helpers.binsearchInsert(\n this.changes,\n change,\n ICAL.Timezone._compare_change_fn\n );\n\n if (idx >= this.changes.length) {\n return this.changes.length - 1;\n }\n\n return idx;\n },\n\n _ensureCoverage: function(aYear) {\n if (ICAL.Timezone._minimumExpansionYear == -1) {\n var today = ICAL.Time.now();\n ICAL.Timezone._minimumExpansionYear = today.year;\n }\n\n var changesEndYear = aYear;\n if (changesEndYear < ICAL.Timezone._minimumExpansionYear) {\n changesEndYear = ICAL.Timezone._minimumExpansionYear;\n }\n\n changesEndYear += ICAL.Timezone.EXTRA_COVERAGE;\n\n if (changesEndYear > ICAL.Timezone.MAX_YEAR) {\n changesEndYear = ICAL.Timezone.MAX_YEAR;\n }\n\n if (!this.changes.length || this.expandedUntilYear < aYear) {\n var subcomps = this.component.getAllSubcomponents();\n var compLen = subcomps.length;\n var compIdx = 0;\n\n for (; compIdx < compLen; compIdx++) {\n this._expandComponent(\n subcomps[compIdx], changesEndYear, this.changes\n );\n }\n\n this.changes.sort(ICAL.Timezone._compare_change_fn);\n this.expandedUntilYear = changesEndYear;\n }\n },\n\n _expandComponent: function(aComponent, aYear, changes) {\n if (!aComponent.hasProperty(\"dtstart\") ||\n !aComponent.hasProperty(\"tzoffsetto\") ||\n !aComponent.hasProperty(\"tzoffsetfrom\")) {\n return null;\n }\n\n var dtstart = aComponent.getFirstProperty(\"dtstart\").getFirstValue();\n var change;\n\n function convert_tzoffset(offset) {\n return offset.factor * (offset.hours * 3600 + offset.minutes * 60);\n }\n\n function init_changes() {\n var changebase = {};\n changebase.is_daylight = (aComponent.name == \"daylight\");\n changebase.utcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetto\").getFirstValue()\n );\n\n changebase.prevUtcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetfrom\").getFirstValue()\n );\n\n return changebase;\n }\n\n if (!aComponent.hasProperty(\"rrule\") && !aComponent.hasProperty(\"rdate\")) {\n change = init_changes();\n change.year = dtstart.year;\n change.month = dtstart.month;\n change.day = dtstart.day;\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n } else {\n var props = aComponent.getAllProperties(\"rdate\");\n for (var rdatekey in props) {\n /* istanbul ignore if */\n if (!props.hasOwnProperty(rdatekey)) {\n continue;\n }\n var rdate = props[rdatekey];\n var time = rdate.getFirstValue();\n change = init_changes();\n\n change.year = time.year;\n change.month = time.month;\n change.day = time.day;\n\n if (time.isDate) {\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n if (dtstart.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n } else {\n change.hour = time.hour;\n change.minute = time.minute;\n change.second = time.second;\n\n if (time.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n }\n\n changes.push(change);\n }\n\n var rrule = aComponent.getFirstProperty(\"rrule\");\n\n if (rrule) {\n rrule = rrule.getFirstValue();\n change = init_changes();\n\n if (rrule.until && rrule.until.zone == ICAL.Timezone.utcTimezone) {\n rrule.until.adjust(0, 0, 0, change.prevUtcOffset);\n rrule.until.zone = ICAL.Timezone.localTimezone;\n }\n\n var iterator = rrule.iterator(dtstart);\n\n var occ;\n while ((occ = iterator.next())) {\n change = init_changes();\n if (occ.year > aYear || !occ) {\n break;\n }\n\n change.year = occ.year;\n change.month = occ.month;\n change.day = occ.day;\n change.hour = occ.hour;\n change.minute = occ.minute;\n change.second = occ.second;\n change.isDate = occ.isDate;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n }\n }\n }\n\n return changes;\n },\n\n /**\n * The string representation of this timezone.\n * @return {String}\n */\n toString: function toString() {\n return (this.tznames ? this.tznames : this.tzid);\n }\n };\n\n ICAL.Timezone._compare_change_fn = function icaltimezone_compare_change_fn(a, b) {\n if (a.year < b.year) return -1;\n else if (a.year > b.year) return 1;\n\n if (a.month < b.month) return -1;\n else if (a.month > b.month) return 1;\n\n if (a.day < b.day) return -1;\n else if (a.day > b.day) return 1;\n\n if (a.hour < b.hour) return -1;\n else if (a.hour > b.hour) return 1;\n\n if (a.minute < b.minute) return -1;\n else if (a.minute > b.minute) return 1;\n\n if (a.second < b.second) return -1;\n else if (a.second > b.second) return 1;\n\n return 0;\n };\n\n /**\n * Convert the date/time from one zone to the next.\n *\n * @param {ICAL.Time} tt The time to convert\n * @param {ICAL.Timezone} from_zone The source zone to convert from\n * @param {ICAL.Timezone} to_zone The target zone to convert to\n * @return {ICAL.Time} The converted date/time object\n */\n ICAL.Timezone.convert_time = function icaltimezone_convert_time(tt, from_zone, to_zone) {\n if (tt.isDate ||\n from_zone.tzid == to_zone.tzid ||\n from_zone == ICAL.Timezone.localTimezone ||\n to_zone == ICAL.Timezone.localTimezone) {\n tt.zone = to_zone;\n return tt;\n }\n\n var utcOffset = from_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, - utcOffset);\n\n utcOffset = to_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, utcOffset);\n\n return null;\n };\n\n /**\n * Creates a new ICAL.Timezone instance from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n ICAL.Timezone.fromData = function icaltimezone_fromData(aData) {\n var tt = new ICAL.Timezone();\n return tt.fromData(aData);\n };\n\n /**\n * The instance describing the UTC timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.utcTimezone = ICAL.Timezone.fromData({\n tzid: \"UTC\"\n });\n\n /**\n * The instance describing the local timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.localTimezone = ICAL.Timezone.fromData({\n tzid: \"floating\"\n });\n\n /**\n * Adjust a timezone change object.\n * @private\n * @param {Object} change The timezone change object\n * @param {Number} days The extra amount of days\n * @param {Number} hours The extra amount of hours\n * @param {Number} minutes The extra amount of minutes\n * @param {Number} seconds The extra amount of seconds\n */\n ICAL.Timezone.adjust_change = function icaltimezone_adjust_change(change, days, hours, minutes, seconds) {\n return ICAL.Time.prototype.adjust.call(\n change,\n days,\n hours,\n minutes,\n seconds,\n change\n );\n };\n\n ICAL.Timezone._minimumExpansionYear = -1;\n ICAL.Timezone.MAX_YEAR = 2035; // TODO this is because of time_t, which we don't need. Still usefull?\n ICAL.Timezone.EXTRA_COVERAGE = 5;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.TimezoneService = (function() {\n var zones;\n\n /**\n * @classdesc\n * Singleton class to contain timezones. Right now it is all manual registry in\n * the future we may use this class to download timezone information or handle\n * loading pre-expanded timezones.\n *\n * @namespace\n * @alias ICAL.TimezoneService\n */\n var TimezoneService = {\n get count() {\n return Object.keys(zones).length;\n },\n\n reset: function() {\n zones = Object.create(null);\n var utc = ICAL.Timezone.utcTimezone;\n\n zones.Z = utc;\n zones.UTC = utc;\n zones.GMT = utc;\n },\n\n /**\n * Checks if timezone id has been registered.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {Boolean} False, when not present\n */\n has: function(tzid) {\n return !!zones[tzid];\n },\n\n /**\n * Returns a timezone by its tzid if present.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The timezone, or null if not found\n */\n get: function(tzid) {\n return zones[tzid];\n },\n\n /**\n * Registers a timezone object or component.\n *\n * @param {String=} name\n * The name of the timezone. Defaults to the component's TZID if not\n * passed.\n * @param {ICAL.Component|ICAL.Timezone} zone\n * The initialized zone or vtimezone.\n */\n register: function(name, timezone) {\n if (name instanceof ICAL.Component) {\n if (name.name === 'vtimezone') {\n timezone = new ICAL.Timezone(name);\n name = timezone.tzid;\n }\n }\n\n if (timezone instanceof ICAL.Timezone) {\n zones[name] = timezone;\n } else {\n throw new TypeError('timezone must be ICAL.Timezone or ICAL.Component');\n }\n },\n\n /**\n * Removes a timezone by its tzid from the list.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The removed timezone, or null if not registered\n */\n remove: function(tzid) {\n return (delete zones[tzid]);\n }\n };\n\n // initialize defaults\n TimezoneService.reset();\n\n return TimezoneService;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n\n /**\n * @classdesc\n * iCalendar Time representation (similar to JS Date object). Fully\n * independent of system (OS) timezone / time. Unlike JS Date, the month\n * January is 1, not zero.\n *\n * @example\n * var time = new ICAL.Time({\n * year: 2012,\n * month: 10,\n * day: 11\n * minute: 0,\n * second: 0,\n * isDate: false\n * });\n *\n *\n * @alias ICAL.Time\n * @class\n * @param {Object} data Time initialization\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {Boolean=} data.isDate If true, the instance represents a date (as\n * opposed to a date-time)\n * @param {ICAL.Timezone} zone timezone this position occurs in\n */\n ICAL.Time = function icaltime(data, zone) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n /* time defaults */\n time.year = 0;\n time.month = 1;\n time.day = 1;\n time.hour = 0;\n time.minute = 0;\n time.second = 0;\n time.isDate = false;\n\n this.fromData(data, zone);\n };\n\n ICAL.Time._dowCache = {};\n ICAL.Time._wnCache = {};\n\n ICAL.Time.prototype = {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltime\"\n */\n icalclass: \"icaltime\",\n _cachedUnixTime: null,\n\n /**\n * The type name, to be used in the jCal object. This value may change and\n * is strictly defined by the {@link ICAL.Time#isDate isDate} member.\n * @readonly\n * @type {String}\n * @default \"date-time\"\n */\n get icaltype() {\n return this.isDate ? 'date' : 'date-time';\n },\n\n /**\n * The timezone for this time.\n * @type {ICAL.Timezone}\n */\n zone: null,\n\n /**\n * Internal uses to indicate that a change has been made and the next read\n * operation must attempt to normalize the value (for example changing the\n * day to 33).\n *\n * @type {Boolean}\n * @private\n */\n _pendingNormalization: false,\n\n /**\n * Returns a clone of the time object.\n *\n * @return {ICAL.Time} The cloned object\n */\n clone: function() {\n return new ICAL.Time(this._time, this.zone);\n },\n\n /**\n * Reset the time instance to epoch time\n */\n reset: function icaltime_reset() {\n this.fromData(ICAL.Time.epochTime);\n this.zone = ICAL.Timezone.utcTimezone;\n },\n\n /**\n * Reset the time instance to the given date/time values.\n *\n * @param {Number} year The year to set\n * @param {Number} month The month to set\n * @param {Number} day The day to set\n * @param {Number} hour The hour to set\n * @param {Number} minute The minute to set\n * @param {Number} second The second to set\n * @param {ICAL.Timezone} timezone The timezone to set\n */\n resetTo: function icaltime_resetTo(year, month, day,\n hour, minute, second, timezone) {\n this.fromData({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n zone: timezone\n });\n },\n\n /**\n * Set up the current instance from the Javascript date value.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n fromJSDate: function icaltime_fromJSDate(aDate, useUTC) {\n if (!aDate) {\n this.reset();\n } else {\n if (useUTC) {\n this.zone = ICAL.Timezone.utcTimezone;\n this.year = aDate.getUTCFullYear();\n this.month = aDate.getUTCMonth() + 1;\n this.day = aDate.getUTCDate();\n this.hour = aDate.getUTCHours();\n this.minute = aDate.getUTCMinutes();\n this.second = aDate.getUTCSeconds();\n } else {\n this.zone = ICAL.Timezone.localTimezone;\n this.year = aDate.getFullYear();\n this.month = aDate.getMonth() + 1;\n this.day = aDate.getDate();\n this.hour = aDate.getHours();\n this.minute = aDate.getMinutes();\n this.second = aDate.getSeconds();\n }\n }\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n fromData: function fromData(aData, aZone) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aData, key)) {\n // ical type cannot be set\n if (key === 'icaltype') continue;\n this[key] = aData[key];\n }\n }\n }\n\n if (aZone) {\n this.zone = aZone;\n }\n\n if (aData && !(\"isDate\" in aData)) {\n this.isDate = !(\"hour\" in aData);\n } else if (aData && (\"isDate\" in aData)) {\n this.isDate = aData.isDate;\n }\n\n if (aData && \"timezone\" in aData) {\n var zone = ICAL.TimezoneService.get(\n aData.timezone\n );\n\n this.zone = zone || ICAL.Timezone.localTimezone;\n }\n\n if (aData && \"zone\" in aData) {\n this.zone = aData.zone;\n }\n\n if (!this.zone) {\n this.zone = ICAL.Timezone.localTimezone;\n }\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Calculate the day of week.\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time.weekDay}\n */\n dayOfWeek: function icaltime_dayOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dowCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + firstDow;\n if (dowCacheKey in ICAL.Time._dowCache) {\n return ICAL.Time._dowCache[dowCacheKey];\n }\n\n // Using Zeller's algorithm\n var q = this.day;\n var m = this.month + (this.month < 3 ? 12 : 0);\n var Y = this.year - (this.month < 3 ? 1 : 0);\n\n var h = (q + Y + ICAL.helpers.trunc(((m + 1) * 26) / 10) + ICAL.helpers.trunc(Y / 4));\n /* istanbul ignore else */\n if (true /* gregorian */) {\n h += ICAL.helpers.trunc(Y / 100) * 6 + ICAL.helpers.trunc(Y / 400);\n } else {\n h += 5;\n }\n\n // Normalize to 1 = wkst\n h = ((h + 7 - firstDow) % 7) + 1;\n ICAL.Time._dowCache[dowCacheKey] = h;\n return h;\n },\n\n /**\n * Calculate the day of year.\n * @return {Number}\n */\n dayOfYear: function dayOfYear() {\n var is_leap = (ICAL.Time.isLeapYear(this.year) ? 1 : 0);\n var diypm = ICAL.Time.daysInYearPassedMonth;\n return diypm[is_leap][this.month - 1] + this.day;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * week. The resulting ICAL.Time instance is of icaltype date, even if this\n * is a date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The start of the week (cloned)\n */\n startOfWeek: function startOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day -= ((this.dayOfWeek() + 7 - firstDow) % 7);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the week.\n * The resulting ICAL.Time instance is of icaltype date, even if this is a\n * date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The end of the week (cloned)\n */\n endOfWeek: function endOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day += (7 - this.dayOfWeek() + firstDow - ICAL.Time.SUNDAY) % 7;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the month (cloned)\n */\n startOfMonth: function startOfMonth() {\n var result = this.clone();\n result.day = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the month (cloned)\n */\n endOfMonth: function endOfMonth() {\n var result = this.clone();\n result.day = ICAL.Time.daysInMonth(result.month, result.year);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the year (cloned)\n */\n startOfYear: function startOfYear() {\n var result = this.clone();\n result.day = 1;\n result.month = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the year (cloned)\n */\n endOfYear: function endOfYear() {\n var result = this.clone();\n result.day = 31;\n result.month = 12;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * First calculates the start of the week, then returns the day of year for\n * this date. If the day falls into the previous year, the day is zero or negative.\n *\n * @param {ICAL.Time.weekDay=} aFirstDayOfWeek\n * The week start weekday, defaults to SUNDAY\n * @return {Number} The calculated day of year\n */\n startDoyWeek: function startDoyWeek(aFirstDayOfWeek) {\n var firstDow = aFirstDayOfWeek || ICAL.Time.SUNDAY;\n var delta = this.dayOfWeek() - firstDow;\n if (delta < 0) delta += 7;\n return this.dayOfYear() - delta;\n },\n\n /**\n * Get the dominical letter for the current year. Letters range from A - G\n * for common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n getDominicalLetter: function() {\n return ICAL.Time.getDominicalLetter(this.year);\n },\n\n /**\n * Finds the nthWeekDay relative to the current month (not day). The\n * returned value is a day relative the month that this month belongs to so\n * 1 would indicate the first of the month and 40 would indicate a day in\n * the following month.\n *\n * @param {Number} aDayOfWeek Day of the week see the day name constants\n * @param {Number} aPos Nth occurrence of a given week day values\n * of 1 and 0 both indicate the first weekday of that type. aPos may\n * be either positive or negative\n *\n * @return {Number} numeric value indicating a day relative\n * to the current month of this time object\n */\n nthWeekDay: function icaltime_nthWeekDay(aDayOfWeek, aPos) {\n var daysInMonth = ICAL.Time.daysInMonth(this.month, this.year);\n var weekday;\n var pos = aPos;\n\n var start = 0;\n\n var otherDay = this.clone();\n\n if (pos >= 0) {\n otherDay.day = 1;\n\n // because 0 means no position has been given\n // 1 and 0 indicate the same day.\n if (pos != 0) {\n // remove the extra numeric value\n pos--;\n }\n\n // set current start offset to current day.\n start = otherDay.day;\n\n // find the current day of week\n var startDow = otherDay.dayOfWeek();\n\n // calculate the difference between current\n // day of the week and desired day of the week\n var offset = aDayOfWeek - startDow;\n\n\n // if the offset goes into the past\n // week we add 7 so it goes into the next\n // week. We only want to go forward in time here.\n if (offset < 0)\n // this is really important otherwise we would\n // end up with dates from in the past.\n offset += 7;\n\n // add offset to start so start is the same\n // day of the week as the desired day of week.\n start += offset;\n\n // because we are going to add (and multiply)\n // the numeric value of the day we subtract it\n // from the start position so not to add it twice.\n start -= aDayOfWeek;\n\n // set week day\n weekday = aDayOfWeek;\n } else {\n\n // then we set it to the last day in the current month\n otherDay.day = daysInMonth;\n\n // find the ends weekday\n var endDow = otherDay.dayOfWeek();\n\n pos++;\n\n weekday = (endDow - aDayOfWeek);\n\n if (weekday < 0) {\n weekday += 7;\n }\n\n weekday = daysInMonth - weekday;\n }\n\n weekday += pos * 7;\n\n return start + weekday;\n },\n\n /**\n * Checks if current time is the nth weekday, relative to the current\n * month. Will always return false when rule resolves outside of current\n * month.\n *\n * @param {ICAL.Time.weekDay} aDayOfWeek Day of week to check\n * @param {Number} aPos Relative position\n * @return {Boolean} True, if it is the nth weekday\n */\n isNthWeekDay: function(aDayOfWeek, aPos) {\n var dow = this.dayOfWeek();\n\n if (aPos === 0 && dow === aDayOfWeek) {\n return true;\n }\n\n // get pos\n var day = this.nthWeekDay(aDayOfWeek, aPos);\n\n if (day === this.day) {\n return true;\n }\n\n return false;\n },\n\n /**\n * Calculates the ISO 8601 week number. The first week of a year is the\n * week that contains the first Thursday. The year can have 53 weeks, if\n * January 1st is a Friday.\n *\n * Note there are regions where the first week of the year is the one that\n * starts on January 1st, which may offset the week number. Also, if a\n * different week start is specified, this will also affect the week\n * number.\n *\n * @see ICAL.Time.weekOneStarts\n * @param {ICAL.Time.weekDay} aWeekStart The weekday the week starts with\n * @return {Number} The ISO week number\n */\n weekNumber: function weekNumber(aWeekStart) {\n var wnCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + aWeekStart;\n if (wnCacheKey in ICAL.Time._wnCache) {\n return ICAL.Time._wnCache[wnCacheKey];\n }\n // This function courtesty of Julian Bucknall, published under the MIT license\n // http://www.boyet.com/articles/publishedarticles/calculatingtheisoweeknumb.html\n // plus some fixes to be able to use different week starts.\n var week1;\n\n var dt = this.clone();\n dt.isDate = true;\n var isoyear = this.year;\n\n if (dt.month == 12 && dt.day > 25) {\n week1 = ICAL.Time.weekOneStarts(isoyear + 1, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n } else {\n isoyear++;\n }\n } else {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(--isoyear, aWeekStart);\n }\n }\n\n var daysBetween = (dt.subtractDate(week1).toSeconds() / 86400);\n var answer = ICAL.helpers.trunc(daysBetween / 7) + 1;\n ICAL.Time._wnCache[wnCacheKey] = answer;\n return answer;\n },\n\n /**\n * Adds the duration to the current time. The instance is modified in\n * place.\n *\n * @param {ICAL.Duration} aDuration The duration to add\n */\n addDuration: function icaltime_add(aDuration) {\n var mult = (aDuration.isNegative ? -1 : 1);\n\n // because of the duration optimizations it is much\n // more efficient to grab all the values up front\n // then set them directly (which will avoid a normalization call).\n // So we don't actually normalize until we need it.\n var second = this.second;\n var minute = this.minute;\n var hour = this.hour;\n var day = this.day;\n\n second += mult * aDuration.seconds;\n minute += mult * aDuration.minutes;\n hour += mult * aDuration.hours;\n day += mult * aDuration.days;\n day += mult * 7 * aDuration.weeks;\n\n this.second = second;\n this.minute = minute;\n this.hour = hour;\n this.day = day;\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Subtract the date details (_excluding_ timezone). Useful for finding\n * the relative difference between two time objects excluding their\n * timezone differences.\n *\n * @param {ICAL.Time} aDate The date to substract\n * @return {ICAL.Duration} The difference as a duration\n */\n subtractDate: function icaltime_subtract(aDate) {\n var unixTime = this.toUnixTime() + this.utcOffset();\n var other = aDate.toUnixTime() + aDate.utcOffset();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Subtract the date details, taking timezones into account.\n *\n * @param {ICAL.Time} aDate The date to subtract\n * @return {ICAL.Duration} The difference in duration\n */\n subtractDateTz: function icaltime_subtract_abs(aDate) {\n var unixTime = this.toUnixTime();\n var other = aDate.toUnixTime();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Compares the ICAL.Time instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toUnixTime();\n var b = other.toUnixTime();\n\n if (a > b) return 1;\n if (b > a) return -1;\n return 0;\n },\n\n /**\n * Compares only the date part of this instance with another one.\n *\n * @param {ICAL.Duration} other The instance to compare with\n * @param {ICAL.Timezone} tz The timezone to compare in\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compareDateOnlyTz: function icaltime_compareDateOnlyTz(other, tz) {\n function cmp(attr) {\n return ICAL.Time._cmp_attr(a, b, attr);\n }\n var a = this.convertToZone(tz);\n var b = other.convertToZone(tz);\n var rc = 0;\n\n if ((rc = cmp(\"year\")) != 0) return rc;\n if ((rc = cmp(\"month\")) != 0) return rc;\n if ((rc = cmp(\"day\")) != 0) return rc;\n\n return rc;\n },\n\n /**\n * Convert the instance into another timezone. The returned ICAL.Time\n * instance is always a copy.\n *\n * @param {ICAL.Timezone} zone The zone to convert to\n * @return {ICAL.Time} The copy, converted to the zone\n */\n convertToZone: function convertToZone(zone) {\n var copy = this.clone();\n var zone_equals = (this.zone.tzid == zone.tzid);\n\n if (!this.isDate && !zone_equals) {\n ICAL.Timezone.convert_time(copy, this.zone, zone);\n }\n\n copy.zone = zone;\n return copy;\n },\n\n /**\n * Calculates the UTC offset of the current date/time in the timezone it is\n * in.\n *\n * @return {Number} UTC offset in seconds\n */\n utcOffset: function utc_offset() {\n if (this.zone == ICAL.Timezone.localTimezone ||\n this.zone == ICAL.Timezone.utcTimezone) {\n return 0;\n } else {\n return this.zone.utcOffset(this);\n }\n },\n\n /**\n * Returns an RFC 5545 compliant ical representation of this object.\n *\n * @return {String} ical date/date-time\n */\n toICALString: function() {\n var string = this.toString();\n\n if (string.length > 10) {\n return ICAL.design.icalendar.value['date-time'].toICAL(string);\n } else {\n return ICAL.design.icalendar.value.date.toICAL(string);\n }\n },\n\n /**\n * The string representation of this date/time, in jCal form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var result = this.year + '-' +\n ICAL.helpers.pad2(this.month) + '-' +\n ICAL.helpers.pad2(this.day);\n\n if (!this.isDate) {\n result += 'T' + ICAL.helpers.pad2(this.hour) + ':' +\n ICAL.helpers.pad2(this.minute) + ':' +\n ICAL.helpers.pad2(this.second);\n\n if (this.zone === ICAL.Timezone.utcTimezone) {\n result += 'Z';\n }\n }\n\n return result;\n },\n\n /**\n * Converts the current instance to a Javascript date\n * @return {Date}\n */\n toJSDate: function toJSDate() {\n if (this.zone == ICAL.Timezone.localTimezone) {\n if (this.isDate) {\n return new Date(this.year, this.month - 1, this.day);\n } else {\n return new Date(this.year, this.month - 1, this.day,\n this.hour, this.minute, this.second, 0);\n }\n } else {\n return new Date(this.toUnixTime() * 1000);\n }\n },\n\n _normalize: function icaltime_normalize() {\n var isDate = this._time.isDate;\n if (this._time.isDate) {\n this._time.hour = 0;\n this._time.minute = 0;\n this._time.second = 0;\n }\n this.adjust(0, 0, 0, 0);\n\n return this;\n },\n\n /**\n * Adjust the date/time by the given offset\n *\n * @param {Number} aExtraDays The extra amount of days\n * @param {Number} aExtraHours The extra amount of hours\n * @param {Number} aExtraMinutes The extra amount of minutes\n * @param {Number} aExtraSeconds The extra amount of seconds\n * @param {Number=} aTime The time to adjust, defaults to the\n * current instance.\n */\n adjust: function icaltime_adjust(aExtraDays, aExtraHours,\n aExtraMinutes, aExtraSeconds, aTime) {\n\n var minutesOverflow, hoursOverflow,\n daysOverflow = 0, yearsOverflow = 0;\n\n var second, minute, hour, day;\n var daysInMonth;\n\n var time = aTime || this._time;\n\n if (!time.isDate) {\n second = time.second + aExtraSeconds;\n time.second = second % 60;\n minutesOverflow = ICAL.helpers.trunc(second / 60);\n if (time.second < 0) {\n time.second += 60;\n minutesOverflow--;\n }\n\n minute = time.minute + aExtraMinutes + minutesOverflow;\n time.minute = minute % 60;\n hoursOverflow = ICAL.helpers.trunc(minute / 60);\n if (time.minute < 0) {\n time.minute += 60;\n hoursOverflow--;\n }\n\n hour = time.hour + aExtraHours + hoursOverflow;\n\n time.hour = hour % 24;\n daysOverflow = ICAL.helpers.trunc(hour / 24);\n if (time.hour < 0) {\n time.hour += 24;\n daysOverflow--;\n }\n }\n\n\n // Adjust month and year first, because we need to know what month the day\n // is in before adjusting it.\n if (time.month > 12) {\n yearsOverflow = ICAL.helpers.trunc((time.month - 1) / 12);\n } else if (time.month < 1) {\n yearsOverflow = ICAL.helpers.trunc(time.month / 12) - 1;\n }\n\n time.year += yearsOverflow;\n time.month -= 12 * yearsOverflow;\n\n // Now take care of the days (and adjust month if needed)\n day = time.day + aExtraDays + daysOverflow;\n\n if (day > 0) {\n for (;;) {\n daysInMonth = ICAL.Time.daysInMonth(time.month, time.year);\n if (day <= daysInMonth) {\n break;\n }\n\n time.month++;\n if (time.month > 12) {\n time.year++;\n time.month = 1;\n }\n\n day -= daysInMonth;\n }\n } else {\n while (day <= 0) {\n if (time.month == 1) {\n time.year--;\n time.month = 12;\n } else {\n time.month--;\n }\n\n day += ICAL.Time.daysInMonth(time.month, time.year);\n }\n }\n\n time.day = day;\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance from unix time, the number of seconds since\n * January 1st, 1970.\n *\n * @param {Number} seconds The seconds to set up with\n */\n fromUnixTime: function fromUnixTime(seconds) {\n this.zone = ICAL.Timezone.utcTimezone;\n var epoch = ICAL.Time.epochTime.clone();\n epoch.adjust(0, 0, 0, seconds);\n\n this.year = epoch.year;\n this.month = epoch.month;\n this.day = epoch.day;\n this.hour = epoch.hour;\n this.minute = epoch.minute;\n this.second = Math.floor(epoch.second);\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Converts the current instance to seconds since January 1st 1970.\n *\n * @return {Number} Seconds since 1970\n */\n toUnixTime: function toUnixTime() {\n if (this._cachedUnixTime !== null) {\n return this._cachedUnixTime;\n }\n var offset = this.utcOffset();\n\n // we use the offset trick to ensure\n // that we are getting the actual UTC time\n var ms = Date.UTC(\n this.year,\n this.month - 1,\n this.day,\n this.hour,\n this.minute,\n this.second - offset\n );\n\n // seconds\n this._cachedUnixTime = ms / 1000;\n return this._cachedUnixTime;\n },\n\n /**\n * Converts time to into Object which can be serialized then re-created\n * using the constructor.\n *\n * @example\n * // toJSON will automatically be called\n * var json = JSON.stringify(mytime);\n *\n * var deserialized = JSON.parse(json);\n *\n * var time = new ICAL.Time(deserialized);\n *\n * @return {Object}\n */\n toJSON: function() {\n var copy = [\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'isDate'\n ];\n\n var result = Object.create(null);\n\n var i = 0;\n var len = copy.length;\n var prop;\n\n for (; i < len; i++) {\n prop = copy[i];\n result[prop] = this[prop];\n }\n\n if (this.zone) {\n result.timezone = this.zone.tzid;\n }\n\n return result;\n }\n\n };\n\n (function setupNormalizeAttributes() {\n // This needs to run before any instances are created!\n function defineAttr(attr) {\n Object.defineProperty(ICAL.Time.prototype, attr, {\n get: function getTimeAttr() {\n if (this._pendingNormalization) {\n this._normalize();\n this._pendingNormalization = false;\n }\n\n return this._time[attr];\n },\n set: function setTimeAttr(val) {\n // Check if isDate will be set and if was not set to normalize date.\n // This avoids losing days when seconds, minutes and hours are zeroed\n // what normalize will do when time is a date.\n if (attr === \"isDate\" && val && !this._time.isDate) {\n this.adjust(0, 0, 0, 0);\n }\n this._cachedUnixTime = null;\n this._pendingNormalization = true;\n this._time[attr] = val;\n\n return val;\n }\n });\n\n }\n\n /* istanbul ignore else */\n if (\"defineProperty\" in Object) {\n defineAttr(\"year\");\n defineAttr(\"month\");\n defineAttr(\"day\");\n defineAttr(\"hour\");\n defineAttr(\"minute\");\n defineAttr(\"second\");\n defineAttr(\"isDate\");\n }\n })();\n\n /**\n * Returns the days in the given month\n *\n * @param {Number} month The month to check\n * @param {Number} year The year to check\n * @return {Number} The number of days in the month\n */\n ICAL.Time.daysInMonth = function icaltime_daysInMonth(month, year) {\n var _daysInMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n var days = 30;\n\n if (month < 1 || month > 12) return days;\n\n days = _daysInMonth[month];\n\n if (month == 2) {\n days += ICAL.Time.isLeapYear(year);\n }\n\n return days;\n };\n\n /**\n * Checks if the year is a leap year\n *\n * @param {Number} year The year to check\n * @return {Boolean} True, if the year is a leap year\n */\n ICAL.Time.isLeapYear = function isLeapYear(year) {\n if (year <= 1752) {\n return ((year % 4) == 0);\n } else {\n return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));\n }\n };\n\n /**\n * Create a new ICAL.Time from the day of year and year. The date is returned\n * in floating timezone.\n *\n * @param {Number} aDayOfYear The day of year\n * @param {Number} aYear The year to create the instance in\n * @return {ICAL.Time} The created instance with the calculated date\n */\n ICAL.Time.fromDayOfYear = function icaltime_fromDayOfYear(aDayOfYear, aYear) {\n var year = aYear;\n var doy = aDayOfYear;\n var tt = new ICAL.Time();\n tt.auto_normalize = false;\n var is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n\n if (doy < 1) {\n year--;\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy += ICAL.Time.daysInYearPassedMonth[is_leap][12];\n return ICAL.Time.fromDayOfYear(doy, year);\n } else if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][12]) {\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy -= ICAL.Time.daysInYearPassedMonth[is_leap][12];\n year++;\n return ICAL.Time.fromDayOfYear(doy, year);\n }\n\n tt.year = year;\n tt.isDate = true;\n\n for (var month = 11; month >= 0; month--) {\n if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][month]) {\n tt.month = month + 1;\n tt.day = doy - ICAL.Time.daysInYearPassedMonth[is_leap][month];\n break;\n }\n }\n\n tt.auto_normalize = true;\n return tt;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @deprecated Use {@link ICAL.Time.fromDateString} instead\n * @param {String} str The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromStringv2 = function fromString(str) {\n return new ICAL.Time({\n year: parseInt(str.substr(0, 4), 10),\n month: parseInt(str.substr(5, 2), 10),\n day: parseInt(str.substr(8, 2), 10),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @param {String} aValue The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateString = function(aValue) {\n // Dates should have no timezone.\n // Google likes to sometimes specify Z on dates\n // we specifically ignore that to avoid issues.\n\n // YYYY-MM-DD\n // 2012-10-10\n return new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date-time string, e.g\n * 2015-01-02T03:04:05. If a property is specified, the timezone is set up\n * from the property's TZID parameter.\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateTimeString = function(aValue, prop) {\n if (aValue.length < 19) {\n throw new Error(\n 'invalid date-time value: \"' + aValue + '\"'\n );\n }\n\n var zone;\n\n if (aValue[19] && aValue[19] === 'Z') {\n zone = 'Z';\n } else if (prop) {\n zone = prop.getParameter('tzid');\n }\n\n // 2012-10-10T10:10:10(Z)?\n var time = new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n hour: ICAL.helpers.strictParseInt(aValue.substr(11, 2)),\n minute: ICAL.helpers.strictParseInt(aValue.substr(14, 2)),\n second: ICAL.helpers.strictParseInt(aValue.substr(17, 2)),\n timezone: zone\n });\n\n return time;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date or date-time string,\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromString = function fromString(aValue, aProperty) {\n if (aValue.length > 10) {\n return ICAL.Time.fromDateTimeString(aValue, aProperty);\n } else {\n return ICAL.Time.fromDateString(aValue);\n }\n };\n\n /**\n * Creates a new ICAL.Time instance from the given Javascript Date.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n ICAL.Time.fromJSDate = function fromJSDate(aDate, useUTC) {\n var tt = new ICAL.Time();\n return tt.fromJSDate(aDate, useUTC);\n };\n\n /**\n * Creates a new ICAL.Time instance from the the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n ICAL.Time.fromData = function fromData(aData, aZone) {\n var t = new ICAL.Time();\n return t.fromData(aData, aZone);\n };\n\n /**\n * Creates a new ICAL.Time instance from the current moment.\n * The instance is “floating” - has no timezone relation.\n * To create an instance considering the time zone, call\n * ICAL.Time.fromJSDate(new Date(), true)\n * @return {ICAL.Time}\n */\n ICAL.Time.now = function icaltime_now() {\n return ICAL.Time.fromJSDate(new Date(), false);\n };\n\n /**\n * Returns the date on which ISO week number 1 starts.\n *\n * @see ICAL.Time#weekNumber\n * @param {Number} aYear The year to search in\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday, used for calculation.\n * @return {ICAL.Time} The date on which week number 1 starts\n */\n ICAL.Time.weekOneStarts = function weekOneStarts(aYear, aWeekStart) {\n var t = ICAL.Time.fromData({\n year: aYear,\n month: 1,\n day: 1,\n isDate: true\n });\n\n var dow = t.dayOfWeek();\n var wkst = aWeekStart || ICAL.Time.DEFAULT_WEEK_START;\n if (dow > ICAL.Time.THURSDAY) {\n t.day += 7;\n }\n if (wkst > ICAL.Time.THURSDAY) {\n t.day -= 7;\n }\n\n t.day -= dow - wkst;\n\n return t;\n };\n\n /**\n * Get the dominical letter for the given year. Letters range from A - G for\n * common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n ICAL.Time.getDominicalLetter = function(yr) {\n var LTRS = \"GFEDCBA\";\n var dom = (yr + (yr / 4 | 0) + (yr / 400 | 0) - (yr / 100 | 0) - 1) % 7;\n var isLeap = ICAL.Time.isLeapYear(yr);\n if (isLeap) {\n return LTRS[(dom + 6) % 7] + LTRS[dom];\n } else {\n return LTRS[dom];\n }\n };\n\n /**\n * January 1st, 1970 as an ICAL.Time.\n * @type {ICAL.Time}\n * @constant\n * @instance\n */\n ICAL.Time.epochTime = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n isDate: false,\n timezone: \"Z\"\n });\n\n ICAL.Time._cmp_attr = function _cmp_attr(a, b, attr) {\n if (a[attr] > b[attr]) return 1;\n if (a[attr] < b[attr]) return -1;\n return 0;\n };\n\n /**\n * The days that have passed in the year after a given month. The array has\n * two members, one being an array of passed days for non-leap years, the\n * other analog for leap years.\n * @example\n * var isLeapYear = ICAL.Time.isLeapYear(year);\n * var passedDays = ICAL.Time.daysInYearPassedMonth[isLeapYear][month];\n * @type {Array.<Array.<Number>>}\n */\n ICAL.Time.daysInYearPassedMonth = [\n [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],\n [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]\n ];\n\n /**\n * The weekday, 1 = SUNDAY, 7 = SATURDAY. Access via\n * ICAL.Time.MONDAY, ICAL.Time.TUESDAY, ...\n *\n * @typedef {Number} weekDay\n * @memberof ICAL.Time\n */\n\n ICAL.Time.SUNDAY = 1;\n ICAL.Time.MONDAY = 2;\n ICAL.Time.TUESDAY = 3;\n ICAL.Time.WEDNESDAY = 4;\n ICAL.Time.THURSDAY = 5;\n ICAL.Time.FRIDAY = 6;\n ICAL.Time.SATURDAY = 7;\n\n /**\n * The default weekday for the WKST part.\n * @constant\n * @default ICAL.Time.MONDAY\n */\n ICAL.Time.DEFAULT_WEEK_START = ICAL.Time.MONDAY;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2015 */\n\n\n\n(function() {\n\n /**\n * Describes a vCard time, which has slight differences to the ICAL.Time.\n * Properties can be null if not specified, for example for dates with\n * reduced accuracy or truncation.\n *\n * Note that currently not all methods are correctly re-implemented for\n * VCardTime. For example, comparison will have undefined results when some\n * members are null.\n *\n * Also, normalization is not yet implemented for this class!\n *\n * @alias ICAL.VCardTime\n * @class\n * @extends {ICAL.Time}\n * @param {Object} data The data for the time instance\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {ICAL.Timezone|ICAL.UtcOffset} zone The timezone to use\n * @param {String} icaltype The type for this date/time object\n */\n ICAL.VCardTime = function(data, zone, icaltype) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n time.year = null;\n time.month = null;\n time.day = null;\n time.hour = null;\n time.minute = null;\n time.second = null;\n\n this.icaltype = icaltype || \"date-and-or-time\";\n\n this.fromData(data, zone);\n };\n ICAL.helpers.inherits(ICAL.Time, ICAL.VCardTime, /** @lends ICAL.VCardTime */ {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"vcardtime\"\n */\n icalclass: \"vcardtime\",\n\n /**\n * The type name, to be used in the jCal object.\n * @type {String}\n * @default \"date-and-or-time\"\n */\n icaltype: \"date-and-or-time\",\n\n /**\n * The timezone. This can either be floating, UTC, or an instance of\n * ICAL.UtcOffset.\n * @type {ICAL.Timezone|ICAL.UtcOFfset}\n */\n zone: null,\n\n /**\n * Returns a clone of the vcard date/time object.\n *\n * @return {ICAL.VCardTime} The cloned object\n */\n clone: function() {\n return new ICAL.VCardTime(this._time, this.zone, this.icaltype);\n },\n\n _normalize: function() {\n return this;\n },\n\n /**\n * @inheritdoc\n */\n utcOffset: function() {\n if (this.zone instanceof ICAL.UtcOffset) {\n return this.zone.toSeconds();\n } else {\n return ICAL.Time.prototype.utcOffset.apply(this, arguments);\n }\n },\n\n /**\n * Returns an RFC 6350 compliant representation of this object.\n *\n * @return {String} vcard date/time string\n */\n toICALString: function() {\n return ICAL.design.vcard.value[this.icaltype].toICAL(this.toString());\n },\n\n /**\n * The string representation of this date/time, in jCard form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var p2 = ICAL.helpers.pad2;\n var y = this.year, m = this.month, d = this.day;\n var h = this.hour, mm = this.minute, s = this.second;\n\n var hasYear = y !== null, hasMonth = m !== null, hasDay = d !== null;\n var hasHour = h !== null, hasMinute = mm !== null, hasSecond = s !== null;\n\n var datepart = (hasYear ? p2(y) + (hasMonth || hasDay ? '-' : '') : (hasMonth || hasDay ? '--' : '')) +\n (hasMonth ? p2(m) : '') +\n (hasDay ? '-' + p2(d) : '');\n var timepart = (hasHour ? p2(h) : '-') + (hasHour && hasMinute ? ':' : '') +\n (hasMinute ? p2(mm) : '') + (!hasHour && !hasMinute ? '-' : '') +\n (hasMinute && hasSecond ? ':' : '') +\n (hasSecond ? p2(s) : '');\n\n var zone;\n if (this.zone === ICAL.Timezone.utcTimezone) {\n zone = 'Z';\n } else if (this.zone instanceof ICAL.UtcOffset) {\n zone = this.zone.toString();\n } else if (this.zone === ICAL.Timezone.localTimezone) {\n zone = '';\n } else if (this.zone instanceof ICAL.Timezone) {\n var offset = ICAL.UtcOffset.fromSeconds(this.zone.utcOffset(this));\n zone = offset.toString();\n } else {\n zone = '';\n }\n\n switch (this.icaltype) {\n case \"time\":\n return timepart + zone;\n case \"date-and-or-time\":\n case \"date-time\":\n return datepart + (timepart == '--' ? '' : 'T' + timepart + zone);\n case \"date\":\n return datepart;\n }\n return null;\n }\n });\n\n /**\n * Returns a new ICAL.VCardTime instance from a date and/or time string.\n *\n * @param {String} aValue The string to create from\n * @param {String} aIcalType The type for this instance, e.g. date-and-or-time\n * @return {ICAL.VCardTime} The date/time instance\n */\n ICAL.VCardTime.fromDateAndOrTimeString = function(aValue, aIcalType) {\n function part(v, s, e) {\n return v ? ICAL.helpers.strictParseInt(v.substr(s, e)) : null;\n }\n var parts = aValue.split('T');\n var dt = parts[0], tmz = parts[1];\n var splitzone = tmz ? ICAL.design.vcard.value.time._splitZone(tmz) : [];\n var zone = splitzone[0], tm = splitzone[1];\n\n var stoi = ICAL.helpers.strictParseInt;\n var dtlen = dt ? dt.length : 0;\n var tmlen = tm ? tm.length : 0;\n\n var hasDashDate = dt && dt[0] == '-' && dt[1] == '-';\n var hasDashTime = tm && tm[0] == '-';\n\n var o = {\n year: hasDashDate ? null : part(dt, 0, 4),\n month: hasDashDate && (dtlen == 4 || dtlen == 7) ? part(dt, 2, 2) : dtlen == 7 ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 5, 2) : null,\n day: dtlen == 5 ? part(dt, 3, 2) : dtlen == 7 && hasDashDate ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 8, 2) : null,\n\n hour: hasDashTime ? null : part(tm, 0, 2),\n minute: hasDashTime && tmlen == 3 ? part(tm, 1, 2) : tmlen > 4 ? hasDashTime ? part(tm, 1, 2) : part(tm, 3, 2) : null,\n second: tmlen == 4 ? part(tm, 2, 2) : tmlen == 6 ? part(tm, 4, 2) : tmlen == 8 ? part(tm, 6, 2) : null\n };\n\n if (zone == 'Z') {\n zone = ICAL.Timezone.utcTimezone;\n } else if (zone && zone[3] == ':') {\n zone = ICAL.UtcOffset.fromString(zone);\n } else {\n zone = null;\n }\n\n return new ICAL.VCardTime(o, zone, aIcalType);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DOW_MAP = {\n SU: ICAL.Time.SUNDAY,\n MO: ICAL.Time.MONDAY,\n TU: ICAL.Time.TUESDAY,\n WE: ICAL.Time.WEDNESDAY,\n TH: ICAL.Time.THURSDAY,\n FR: ICAL.Time.FRIDAY,\n SA: ICAL.Time.SATURDAY\n };\n\n var REVERSE_DOW_MAP = {};\n for (var key in DOW_MAP) {\n /* istanbul ignore else */\n if (DOW_MAP.hasOwnProperty(key)) {\n REVERSE_DOW_MAP[DOW_MAP[key]] = key;\n }\n }\n\n var COPY_PARTS = [\"BYSECOND\", \"BYMINUTE\", \"BYHOUR\", \"BYDAY\",\n \"BYMONTHDAY\", \"BYYEARDAY\", \"BYWEEKNO\",\n \"BYMONTH\", \"BYSETPOS\"];\n\n /**\n * @classdesc\n * This class represents the \"recur\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Recur\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur = function icalrecur(data) {\n this.wrappedJSObject = this;\n this.parts = {};\n\n if (data && typeof(data) === 'object') {\n this.fromData(data);\n }\n };\n\n ICAL.Recur.prototype = {\n /**\n * An object holding the BY-parts of the recurrence rule\n * @type {Object}\n */\n parts: null,\n\n /**\n * The interval value for the recurrence rule.\n * @type {Number}\n */\n interval: 1,\n\n /**\n * The week start day\n *\n * @type {ICAL.Time.weekDay}\n * @default ICAL.Time.MONDAY\n */\n wkst: ICAL.Time.MONDAY,\n\n /**\n * The end of the recurrence\n * @type {?ICAL.Time}\n */\n until: null,\n\n /**\n * The maximum number of occurrences\n * @type {?Number}\n */\n count: null,\n\n /**\n * The frequency value.\n * @type {ICAL.Recur.frequencyValues}\n */\n freq: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalrecur\"\n */\n icalclass: \"icalrecur\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"recur\"\n */\n icaltype: \"recur\",\n\n /**\n * Create a new iterator for this recurrence rule. The passed start date\n * must be the start date of the event, not the start of the range to\n * search in.\n *\n * @example\n * var recur = comp.getFirstPropertyValue('rrule');\n * var dtstart = comp.getFirstPropertyValue('dtstart');\n * var iter = recur.iterator(dtstart);\n * for (var next = iter.next(); next; next = iter.next()) {\n * if (next.compare(rangeStart) < 0) {\n * continue;\n * }\n * console.log(next.toString());\n * }\n *\n * @param {ICAL.Time} aStart The item's start date\n * @return {ICAL.RecurIterator} The recurrence iterator\n */\n iterator: function(aStart) {\n return new ICAL.RecurIterator({\n rule: this,\n dtstart: aStart\n });\n },\n\n /**\n * Returns a clone of the recurrence object.\n *\n * @return {ICAL.Recur} The cloned object\n */\n clone: function clone() {\n return new ICAL.Recur(this.toJSON());\n },\n\n /**\n * Checks if the current rule is finite, i.e. has a count or until part.\n *\n * @return {Boolean} True, if the rule is finite\n */\n isFinite: function isfinite() {\n return !!(this.count || this.until);\n },\n\n /**\n * Checks if the current rule has a count part, and not limited by an until\n * part.\n *\n * @return {Boolean} True, if the rule is by count\n */\n isByCount: function isbycount() {\n return !!(this.count && !this.until);\n },\n\n /**\n * Adds a component (part) to the recurrence rule. This is not a component\n * in the sense of {@link ICAL.Component}, but a part of the recurrence\n * rule, i.e. BYMONTH.\n *\n * @param {String} aType The name of the component part\n * @param {Array|String} aValue The component value\n */\n addComponent: function addPart(aType, aValue) {\n var ucname = aType.toUpperCase();\n if (ucname in this.parts) {\n this.parts[ucname].push(aValue);\n } else {\n this.parts[ucname] = [aValue];\n }\n },\n\n /**\n * Sets the component value for the given by-part.\n *\n * @param {String} aType The component part name\n * @param {Array} aValues The component values\n */\n setComponent: function setComponent(aType, aValues) {\n this.parts[aType.toUpperCase()] = aValues.slice();\n },\n\n /**\n * Gets (a copy) of the requested component value.\n *\n * @param {String} aType The component part name\n * @return {Array} The component part value\n */\n getComponent: function getComponent(aType) {\n var ucname = aType.toUpperCase();\n return (ucname in this.parts ? this.parts[ucname].slice() : []);\n },\n\n /**\n * Retrieves the next occurrence after the given recurrence id. See the\n * guide on {@tutorial terminology} for more details.\n *\n * NOTE: Currently, this method iterates all occurrences from the start\n * date. It should not be called in a loop for performance reasons. If you\n * would like to get more than one occurrence, you can iterate the\n * occurrences manually, see the example on the\n * {@link ICAL.Recur#iterator iterator} method.\n *\n * @param {ICAL.Time} aStartTime The start of the event series\n * @param {ICAL.Time} aRecurrenceId The date of the last occurrence\n * @return {ICAL.Time} The next occurrence after\n */\n getNextOccurrence: function getNextOccurrence(aStartTime, aRecurrenceId) {\n var iter = this.iterator(aStartTime);\n var next, cdt;\n\n do {\n next = iter.next();\n } while (next && next.compare(aRecurrenceId) <= 0);\n\n if (next && aRecurrenceId.zone) {\n next.zone = aRecurrenceId.zone;\n }\n\n return next;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n fromData: function(data) {\n for (var key in data) {\n var uckey = key.toUpperCase();\n\n if (uckey in partDesign) {\n if (Array.isArray(data[key])) {\n this.parts[uckey] = data[key];\n } else {\n this.parts[uckey] = [data[key]];\n }\n } else {\n this[key] = data[key];\n }\n }\n\n if (this.interval && typeof this.interval != \"number\") {\n optionDesign.INTERVAL(this.interval, this);\n }\n\n if (this.wkst && typeof this.wkst != \"number\") {\n this.wkst = ICAL.Recur.icalDayToNumericDay(this.wkst);\n }\n\n if (this.until && !(this.until instanceof ICAL.Time)) {\n this.until = ICAL.Time.fromString(this.until);\n }\n },\n\n /**\n * The jCal representation of this recurrence type.\n * @return {Object}\n */\n toJSON: function() {\n var res = Object.create(null);\n res.freq = this.freq;\n\n if (this.count) {\n res.count = this.count;\n }\n\n if (this.interval > 1) {\n res.interval = this.interval;\n }\n\n for (var k in this.parts) {\n /* istanbul ignore if */\n if (!this.parts.hasOwnProperty(k)) {\n continue;\n }\n var kparts = this.parts[k];\n if (Array.isArray(kparts) && kparts.length == 1) {\n res[k.toLowerCase()] = kparts[0];\n } else {\n res[k.toLowerCase()] = ICAL.helpers.clone(this.parts[k]);\n }\n }\n\n if (this.until) {\n res.until = this.until.toString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n res.wkst = ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return res;\n },\n\n /**\n * The string representation of this recurrence rule.\n * @return {String}\n */\n toString: function icalrecur_toString() {\n // TODO retain order\n var str = \"FREQ=\" + this.freq;\n if (this.count) {\n str += \";COUNT=\" + this.count;\n }\n if (this.interval > 1) {\n str += \";INTERVAL=\" + this.interval;\n }\n for (var k in this.parts) {\n /* istanbul ignore else */\n if (this.parts.hasOwnProperty(k)) {\n str += \";\" + k + \"=\" + this.parts[k];\n }\n }\n if (this.until) {\n str += ';UNTIL=' + this.until.toICALString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n str += ';WKST=' + ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return str;\n }\n };\n\n function parseNumericValue(type, min, max, value) {\n var result = value;\n\n if (value[0] === '+') {\n result = value.substr(1);\n }\n\n result = ICAL.helpers.strictParseInt(result);\n\n if (min !== undefined && value < min) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be > ' + min\n );\n }\n\n if (max !== undefined && value > max) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be < ' + min\n );\n }\n\n return result;\n }\n\n /**\n * Convert an ical representation of a day (SU, MO, etc..)\n * into a numeric value of that day.\n *\n * @param {String} string The iCalendar day name\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Number} Numeric value of given day\n */\n ICAL.Recur.icalDayToNumericDay = function toNumericDay(string, aWeekStart) {\n //XXX: this is here so we can deal\n // with possibly invalid string values.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n return ((DOW_MAP[string] - firstDow + 7) % 7) + 1;\n };\n\n /**\n * Convert a numeric day value into its ical representation (SU, MO, etc..)\n *\n * @param {Number} num Numeric value of given day\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {String} The ICAL day value, e.g SU,MO,...\n */\n ICAL.Recur.numericDayToIcalDay = function toIcalDay(num, aWeekStart) {\n //XXX: this is here so we can deal with possibly invalid number values.\n // Also, this allows consistent mapping between day numbers and day\n // names for external users.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dow = (num + firstDow - ICAL.Time.SUNDAY);\n if (dow > 7) {\n dow -= 7;\n }\n return REVERSE_DOW_MAP[dow];\n };\n\n var VALID_DAY_NAMES = /^(SU|MO|TU|WE|TH|FR|SA)$/;\n var VALID_BYDAY_PART = /^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/;\n\n /**\n * Possible frequency values for the FREQ part\n * (YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY)\n *\n * @typedef {String} frequencyValues\n * @memberof ICAL.Recur\n */\n\n var ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY',\n 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n\n var optionDesign = {\n FREQ: function(value, dict, fmtIcal) {\n // yes this is actually equal or faster then regex.\n // upside here is we can enumerate the valid values.\n if (ALLOWED_FREQ.indexOf(value) !== -1) {\n dict.freq = value;\n } else {\n throw new Error(\n 'invalid frequency \"' + value + '\" expected: \"' +\n ALLOWED_FREQ.join(', ') + '\"'\n );\n }\n },\n\n COUNT: function(value, dict, fmtIcal) {\n dict.count = ICAL.helpers.strictParseInt(value);\n },\n\n INTERVAL: function(value, dict, fmtIcal) {\n dict.interval = ICAL.helpers.strictParseInt(value);\n if (dict.interval < 1) {\n // 0 or negative values are not allowed, some engines seem to generate\n // it though. Assume 1 instead.\n dict.interval = 1;\n }\n },\n\n UNTIL: function(value, dict, fmtIcal) {\n if (value.length > 10) {\n dict.until = ICAL.design.icalendar.value['date-time'].fromICAL(value);\n } else {\n dict.until = ICAL.design.icalendar.value.date.fromICAL(value);\n }\n if (!fmtIcal) {\n dict.until = ICAL.Time.fromString(dict.until);\n }\n },\n\n WKST: function(value, dict, fmtIcal) {\n if (VALID_DAY_NAMES.test(value)) {\n dict.wkst = ICAL.Recur.icalDayToNumericDay(value);\n } else {\n throw new Error('invalid WKST value \"' + value + '\"');\n }\n }\n };\n\n var partDesign = {\n BYSECOND: parseNumericValue.bind(this, 'BYSECOND', 0, 60),\n BYMINUTE: parseNumericValue.bind(this, 'BYMINUTE', 0, 59),\n BYHOUR: parseNumericValue.bind(this, 'BYHOUR', 0, 23),\n BYDAY: function(value) {\n if (VALID_BYDAY_PART.test(value)) {\n return value;\n } else {\n throw new Error('invalid BYDAY value \"' + value + '\"');\n }\n },\n BYMONTHDAY: parseNumericValue.bind(this, 'BYMONTHDAY', -31, 31),\n BYYEARDAY: parseNumericValue.bind(this, 'BYYEARDAY', -366, 366),\n BYWEEKNO: parseNumericValue.bind(this, 'BYWEEKNO', -53, 53),\n BYMONTH: parseNumericValue.bind(this, 'BYMONTH', 1, 12),\n BYSETPOS: parseNumericValue.bind(this, 'BYSETPOS', -366, 366)\n };\n\n\n /**\n * Creates a new {@link ICAL.Recur} instance from the passed string.\n *\n * @param {String} string The string to parse\n * @return {ICAL.Recur} The created recurrence instance\n */\n ICAL.Recur.fromString = function(string) {\n var data = ICAL.Recur._stringToData(string, false);\n return new ICAL.Recur(data);\n };\n\n /**\n * Creates a new {@link ICAL.Recur} instance using members from the passed\n * data object.\n *\n * @param {Object} aData An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} aData.freq The frequency value\n * @param {Number=} aData.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} aData.wkst The week start value\n * @param {ICAL.Time=} aData.until The end of the recurrence set\n * @param {Number=} aData.count The number of occurrences\n * @param {Array.<Number>=} aData.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} aData.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} aData.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} aData.byday The BYDAY values\n * @param {Array.<Number>=} aData.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} aData.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} aData.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} aData.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} aData.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur.fromData = function(aData) {\n return new ICAL.Recur(aData);\n };\n\n /**\n * Converts a recurrence string to a data object, suitable for the fromData\n * method.\n *\n * @param {String} string The string to parse\n * @param {Boolean} fmtIcal If true, the string is considered to be an\n * iCalendar string\n * @return {ICAL.Recur} The recurrence instance\n */\n ICAL.Recur._stringToData = function(string, fmtIcal) {\n var dict = Object.create(null);\n\n // split is slower in FF but fast enough.\n // v8 however this is faster then manual split?\n var values = string.split(';');\n var len = values.length;\n\n for (var i = 0; i < len; i++) {\n var parts = values[i].split('=');\n var ucname = parts[0].toUpperCase();\n var lcname = parts[0].toLowerCase();\n var name = (fmtIcal ? lcname : ucname);\n var value = parts[1];\n\n if (ucname in partDesign) {\n var partArr = value.split(',');\n var partArrIdx = 0;\n var partArrLen = partArr.length;\n\n for (; partArrIdx < partArrLen; partArrIdx++) {\n partArr[partArrIdx] = partDesign[ucname](partArr[partArrIdx]);\n }\n dict[name] = (partArr.length == 1 ? partArr[0] : partArr);\n } else if (ucname in optionDesign) {\n optionDesign[ucname](value, dict, fmtIcal);\n } else {\n // Don't swallow unknown values. Just set them as they are.\n dict[lcname] = value;\n }\n }\n\n return dict;\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurIterator = (function() {\n\n /**\n * @classdesc\n * An iterator for a single recurrence rule. This class usually doesn't have\n * to be instanciated directly, the convenience method\n * {@link ICAL.Recur#iterator} can be used.\n *\n * @description\n * The options object may contain additional members when resuming iteration from a previous run\n *\n * @description\n * The options object may contain additional members when resuming iteration\n * from a previous run.\n *\n * @class\n * @alias ICAL.RecurIterator\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n function icalrecur_iterator(options) {\n this.fromData(options);\n }\n\n icalrecur_iterator.prototype = {\n\n /**\n * True when iteration is finished.\n * @type {Boolean}\n */\n completed: false,\n\n /**\n * The rule that is being iterated\n * @type {ICAL.Recur}\n */\n rule: null,\n\n /**\n * The start date of the event being iterated.\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * The last occurrence that was returned from the\n * {@link ICAL.RecurIterator#next} method.\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * The sequence number from the occurrence\n * @type {Number}\n */\n occurrence_number: 0,\n\n /**\n * The indices used for the {@link ICAL.RecurIterator#by_data} object.\n * @type {Object}\n * @private\n */\n by_indices: null,\n\n /**\n * If true, the iterator has already been initialized\n * @type {Boolean}\n * @private\n */\n initialized: false,\n\n /**\n * The initializd by-data.\n * @type {Object}\n * @private\n */\n by_data: null,\n\n /**\n * The expanded yeardays\n * @type {Array}\n * @private\n */\n days: null,\n\n /**\n * The index in the {@link ICAL.RecurIterator#days} array.\n * @type {Number}\n * @private\n */\n days_index: 0,\n\n /**\n * Initialize the recurrence iterator from the passed data object. This\n * method is usually not called directly, you can initialize the iterator\n * through the constructor.\n *\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n fromData: function(options) {\n this.rule = ICAL.helpers.formatClassType(options.rule, ICAL.Recur);\n\n if (!this.rule) {\n throw new Error('iterator requires a (ICAL.Recur) rule');\n }\n\n this.dtstart = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!this.dtstart) {\n throw new Error('iterator requires a (ICAL.Time) dtstart');\n }\n\n if (options.by_data) {\n this.by_data = options.by_data;\n } else {\n this.by_data = ICAL.helpers.clone(this.rule.parts, true);\n }\n\n if (options.occurrence_number)\n this.occurrence_number = options.occurrence_number;\n\n this.days = options.days || [];\n if (options.last) {\n this.last = ICAL.helpers.formatClassType(options.last, ICAL.Time);\n }\n\n this.by_indices = options.by_indices;\n\n if (!this.by_indices) {\n this.by_indices = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 0,\n \"BYHOUR\": 0,\n \"BYDAY\": 0,\n \"BYMONTH\": 0,\n \"BYWEEKNO\": 0,\n \"BYMONTHDAY\": 0\n };\n }\n\n this.initialized = options.initialized || false;\n\n if (!this.initialized) {\n this.init();\n }\n },\n\n /**\n * Intialize the iterator\n * @private\n */\n init: function icalrecur_iterator_init() {\n this.initialized = true;\n this.last = this.dtstart.clone();\n var parts = this.by_data;\n\n if (\"BYDAY\" in parts) {\n // libical does this earlier when the rule is loaded, but we postpone to\n // now so we can preserve the original order.\n this.sort_byday_rules(parts.BYDAY);\n }\n\n // If the BYYEARDAY appares, no other date rule part may appear\n if (\"BYYEARDAY\" in parts) {\n if (\"BYMONTH\" in parts || \"BYWEEKNO\" in parts ||\n \"BYMONTHDAY\" in parts || \"BYDAY\" in parts) {\n throw new Error(\"Invalid BYYEARDAY rule\");\n }\n }\n\n // BYWEEKNO and BYMONTHDAY rule parts may not both appear\n if (\"BYWEEKNO\" in parts && \"BYMONTHDAY\" in parts) {\n throw new Error(\"BYWEEKNO does not fit to BYMONTHDAY\");\n }\n\n // For MONTHLY recurrences (FREQ=MONTHLY) neither BYYEARDAY nor\n // BYWEEKNO may appear.\n if (this.rule.freq == \"MONTHLY\" &&\n (\"BYYEARDAY\" in parts || \"BYWEEKNO\" in parts)) {\n throw new Error(\"For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear\");\n }\n\n // For WEEKLY recurrences (FREQ=WEEKLY) neither BYMONTHDAY nor\n // BYYEARDAY may appear.\n if (this.rule.freq == \"WEEKLY\" &&\n (\"BYYEARDAY\" in parts || \"BYMONTHDAY\" in parts)) {\n throw new Error(\"For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear\");\n }\n\n // BYYEARDAY may only appear in YEARLY rules\n if (this.rule.freq != \"YEARLY\" && \"BYYEARDAY\" in parts) {\n throw new Error(\"BYYEARDAY may only appear in YEARLY rules\");\n }\n\n this.last.second = this.setup_defaults(\"BYSECOND\", \"SECONDLY\", this.dtstart.second);\n this.last.minute = this.setup_defaults(\"BYMINUTE\", \"MINUTELY\", this.dtstart.minute);\n this.last.hour = this.setup_defaults(\"BYHOUR\", \"HOURLY\", this.dtstart.hour);\n this.last.day = this.setup_defaults(\"BYMONTHDAY\", \"DAILY\", this.dtstart.day);\n this.last.month = this.setup_defaults(\"BYMONTH\", \"MONTHLY\", this.dtstart.month);\n\n if (this.rule.freq == \"WEEKLY\") {\n if (\"BYDAY\" in parts) {\n var bydayParts = this.ruleDayOfWeek(parts.BYDAY[0], this.rule.wkst);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var wkdy = dow - this.last.dayOfWeek(this.rule.wkst);\n if ((this.last.dayOfWeek(this.rule.wkst) < dow && wkdy >= 0) || wkdy < 0) {\n // Initial time is after first day of BYDAY data\n this.last.day += wkdy;\n }\n } else {\n var dayName = ICAL.Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());\n parts.BYDAY = [dayName];\n }\n }\n\n if (this.rule.freq == \"YEARLY\") {\n for (;;) {\n this.expand_year_days(this.last.year);\n if (this.days.length > 0) {\n break;\n }\n this.increment_year(this.rule.interval);\n }\n\n this._nextByYearDay();\n }\n\n if (this.rule.freq == \"MONTHLY\" && this.has_by_data(\"BYDAY\")) {\n var tempLast = null;\n var initLast = this.last.clone();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n\n // Check every weekday in BYDAY with relative dow and pos.\n for (var i in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(i)) {\n continue;\n }\n this.last = initLast.clone();\n var bydayParts = this.ruleDayOfWeek(this.by_data.BYDAY[i]);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var dayOfMonth = this.last.nthWeekDay(dow, pos);\n\n // If |pos| >= 6, the byday is invalid for a monthly rule.\n if (pos >= 6 || pos <= -6) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n // If a Byday with pos=+/-5 is not in the current month it\n // must be searched in the next months.\n if (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n // Skip if we have already found a \"last\" in this month.\n if (tempLast && tempLast.month == initLast.month) {\n continue;\n }\n while (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n this.increment_month();\n daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n dayOfMonth = this.last.nthWeekDay(dow, pos);\n }\n }\n\n this.last.day = dayOfMonth;\n if (!tempLast || this.last.compare(tempLast) < 0) {\n tempLast = this.last.clone();\n }\n }\n this.last = tempLast.clone();\n\n //XXX: This feels like a hack, but we need to initialize\n // the BYMONTHDAY case correctly and byDayAndMonthDay handles\n // this case. It accepts a special flag which will avoid incrementing\n // the initial value without the flag days that match the start time\n // would be missed.\n if (this.has_by_data('BYMONTHDAY')) {\n this._byDayAndMonthDay(true);\n }\n\n if (this.last.day > daysInMonth || this.last.day == 0) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n if (this.last.day < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day = daysInMonth + this.last.day + 1;\n }\n }\n\n },\n\n /**\n * Retrieve the next occurrence from the iterator.\n * @return {ICAL.Time}\n */\n next: function icalrecur_iterator_next() {\n var before = (this.last ? this.last.clone() : null);\n\n if ((this.rule.count && this.occurrence_number >= this.rule.count) ||\n (this.rule.until && this.last.compare(this.rule.until) > 0)) {\n\n //XXX: right now this is just a flag and has no impact\n // we can simplify the above case to check for completed later.\n this.completed = true;\n\n return null;\n }\n\n if (this.occurrence_number == 0 && this.last.compare(this.dtstart) >= 0) {\n // First of all, give the instance that was initialized\n this.occurrence_number++;\n return this.last;\n }\n\n\n var valid;\n do {\n valid = 1;\n\n switch (this.rule.freq) {\n case \"SECONDLY\":\n this.next_second();\n break;\n case \"MINUTELY\":\n this.next_minute();\n break;\n case \"HOURLY\":\n this.next_hour();\n break;\n case \"DAILY\":\n this.next_day();\n break;\n case \"WEEKLY\":\n this.next_week();\n break;\n case \"MONTHLY\":\n valid = this.next_month();\n break;\n case \"YEARLY\":\n this.next_year();\n break;\n\n default:\n return null;\n }\n } while (!this.check_contracting_rules() ||\n this.last.compare(this.dtstart) < 0 ||\n !valid);\n\n // TODO is this valid?\n if (this.last.compare(before) == 0) {\n throw new Error(\"Same occurrence found twice, protecting \" +\n \"you from death by recursion\");\n }\n\n if (this.rule.until && this.last.compare(this.rule.until) > 0) {\n this.completed = true;\n return null;\n } else {\n this.occurrence_number++;\n return this.last;\n }\n },\n\n next_second: function next_second() {\n return this.next_generic(\"BYSECOND\", \"SECONDLY\", \"second\", \"minute\");\n },\n\n increment_second: function increment_second(inc) {\n return this.increment_generic(inc, \"second\", 60, \"minute\");\n },\n\n next_minute: function next_minute() {\n return this.next_generic(\"BYMINUTE\", \"MINUTELY\",\n \"minute\", \"hour\", \"next_second\");\n },\n\n increment_minute: function increment_minute(inc) {\n return this.increment_generic(inc, \"minute\", 60, \"hour\");\n },\n\n next_hour: function next_hour() {\n return this.next_generic(\"BYHOUR\", \"HOURLY\", \"hour\",\n \"monthday\", \"next_minute\");\n },\n\n increment_hour: function increment_hour(inc) {\n this.increment_generic(inc, \"hour\", 24, \"monthday\");\n },\n\n next_day: function next_day() {\n var has_by_day = (\"BYDAY\" in this.by_data);\n var this_freq = (this.rule.freq == \"DAILY\");\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (this_freq) {\n this.increment_monthday(this.rule.interval);\n } else {\n this.increment_monthday(1);\n }\n\n return 0;\n },\n\n next_week: function next_week() {\n var end_of_data = 0;\n\n if (this.next_weekday_by_week() == 0) {\n return end_of_data;\n }\n\n if (this.has_by_data(\"BYWEEKNO\")) {\n var idx = ++this.by_indices.BYWEEKNO;\n\n if (this.by_indices.BYWEEKNO == this.by_data.BYWEEKNO.length) {\n this.by_indices.BYWEEKNO = 0;\n end_of_data = 1;\n }\n\n // HACK should be first month of the year\n this.last.month = 1;\n this.last.day = 1;\n\n var week_no = this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];\n\n this.last.day += 7 * week_no;\n\n if (end_of_data) {\n this.increment_year(1);\n }\n } else {\n // Jump to the next week\n this.increment_monthday(7 * this.rule.interval);\n }\n\n return end_of_data;\n },\n\n /**\n * Normalize each by day rule for a given year/month.\n * Takes into account ordering and negative rules\n *\n * @private\n * @param {Number} year Current year.\n * @param {Number} month Current month.\n * @param {Array} rules Array of rules.\n *\n * @return {Array} sorted and normalized rules.\n * Negative rules will be expanded to their\n * correct positive values for easier processing.\n */\n normalizeByMonthDayRules: function(year, month, rules) {\n var daysInMonth = ICAL.Time.daysInMonth(month, year);\n\n // XXX: This is probably bad for performance to allocate\n // a new array for each month we scan, if possible\n // we should try to optimize this...\n var newRules = [];\n\n var ruleIdx = 0;\n var len = rules.length;\n var rule;\n\n for (; ruleIdx < len; ruleIdx++) {\n rule = rules[ruleIdx];\n\n // if this rule falls outside of given\n // month discard it.\n if (Math.abs(rule) > daysInMonth) {\n continue;\n }\n\n // negative case\n if (rule < 0) {\n // we add (not subtract it is a negative number)\n // one from the rule because 1 === last day of month\n rule = daysInMonth + (rule + 1);\n } else if (rule === 0) {\n // skip zero: it is invalid.\n continue;\n }\n\n // only add unique items...\n if (newRules.indexOf(rule) === -1) {\n newRules.push(rule);\n }\n\n }\n\n // unique and sort\n return newRules.sort(function(a, b) { return a - b; });\n },\n\n /**\n * NOTES:\n * We are given a list of dates in the month (BYMONTHDAY) (23, etc..)\n * Also we are given a list of days (BYDAY) (MO, 2SU, etc..) when\n * both conditions match a given date (this.last.day) iteration stops.\n *\n * @private\n * @param {Boolean=} isInit When given true will not increment the\n * current day (this.last).\n */\n _byDayAndMonthDay: function(isInit) {\n var byMonthDay; // setup in initMonth\n var byDay = this.by_data.BYDAY;\n\n var date;\n var dateIdx = 0;\n var dateLen; // setup in initMonth\n var dayLen = byDay.length;\n\n // we are not valid by default\n var dataIsValid = 0;\n\n var daysInMonth;\n var self = this;\n // we need a copy of this, because a DateTime gets normalized\n // automatically if the day is out of range. At some points we\n // set the last day to 0 to start counting.\n var lastDay = this.last.day;\n\n function initMonth() {\n daysInMonth = ICAL.Time.daysInMonth(\n self.last.month, self.last.year\n );\n\n byMonthDay = self.normalizeByMonthDayRules(\n self.last.year,\n self.last.month,\n self.by_data.BYMONTHDAY\n );\n\n dateLen = byMonthDay.length;\n\n // For the case of more than one occurrence in one month\n // we have to be sure to start searching after the last\n // found date or at the last BYMONTHDAY, unless we are\n // initializing the iterator because in this case we have\n // to consider the last found date too.\n while (byMonthDay[dateIdx] <= lastDay &&\n !(isInit && byMonthDay[dateIdx] == lastDay) &&\n dateIdx < dateLen - 1) {\n dateIdx++;\n }\n }\n\n function nextMonth() {\n // since the day is incremented at the start\n // of the loop below, we need to start at 0\n lastDay = 0;\n self.increment_month();\n dateIdx = 0;\n initMonth();\n }\n\n initMonth();\n\n // should come after initMonth\n if (isInit) {\n lastDay -= 1;\n }\n\n // Use a counter to avoid an infinite loop with malformed rules.\n // Stop checking after 4 years so we consider also a leap year.\n var monthsCounter = 48;\n\n while (!dataIsValid && monthsCounter) {\n monthsCounter--;\n // increment the current date. This is really\n // important otherwise we may fall into the infinite\n // loop trap. The initial date takes care of the case\n // where the current date is the date we are looking\n // for.\n date = lastDay + 1;\n\n if (date > daysInMonth) {\n nextMonth();\n continue;\n }\n\n // find next date\n var next = byMonthDay[dateIdx++];\n\n // this logic is dependant on the BYMONTHDAYS\n // being in order (which is done by #normalizeByMonthDayRules)\n if (next >= date) {\n // if the next month day is in the future jump to it.\n lastDay = next;\n } else {\n // in this case the 'next' monthday has past\n // we must move to the month.\n nextMonth();\n continue;\n }\n\n // Now we can loop through the day rules to see\n // if one matches the current month date.\n for (var dayIdx = 0; dayIdx < dayLen; dayIdx++) {\n var parts = this.ruleDayOfWeek(byDay[dayIdx]);\n var pos = parts[0];\n var dow = parts[1];\n\n this.last.day = lastDay;\n if (this.last.isNthWeekDay(dow, pos)) {\n // when we find the valid one we can mark\n // the conditions as met and break the loop.\n // (Because we have this condition above\n // it will also break the parent loop).\n dataIsValid = 1;\n break;\n }\n }\n\n // It is completely possible that the combination\n // cannot be matched in the current month.\n // When we reach the end of possible combinations\n // in the current month we iterate to the next one.\n // since dateIdx is incremented right after getting\n // \"next\", we don't need dateLen -1 here.\n if (!dataIsValid && dateIdx === dateLen) {\n nextMonth();\n continue;\n }\n }\n\n if (monthsCounter <= 0) {\n // Checked 4 years without finding a Byday that matches\n // a Bymonthday. Maybe the rule is not correct.\n throw new Error(\"Malformed values in BYDAY combined with BYMONTHDAY parts\");\n }\n\n\n return dataIsValid;\n },\n\n next_month: function next_month() {\n var this_freq = (this.rule.freq == \"MONTHLY\");\n var data_valid = 1;\n\n if (this.next_hour() == 0) {\n return data_valid;\n }\n\n if (this.has_by_data(\"BYDAY\") && this.has_by_data(\"BYMONTHDAY\")) {\n data_valid = this._byDayAndMonthDay();\n } else if (this.has_by_data(\"BYDAY\")) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var setpos = 0;\n var setpos_total = 0;\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var last_day = this.last.day;\n for (var day = 1; day <= daysInMonth; day++) {\n this.last.day = day;\n if (this.is_day_in_byday(this.last)) {\n setpos_total++;\n if (day <= last_day) {\n setpos++;\n }\n }\n }\n this.last.day = last_day;\n }\n\n data_valid = 0;\n for (var day = this.last.day + 1; day <= daysInMonth; day++) {\n this.last.day = day;\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") ||\n this.check_set_position(++setpos) ||\n this.check_set_position(setpos - setpos_total - 1)) {\n\n data_valid = 1;\n break;\n }\n }\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n this.increment_month();\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") || this.check_set_position(1)) {\n data_valid = 1;\n }\n } else {\n data_valid = 0;\n }\n }\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_indices.BYMONTHDAY++;\n\n if (this.by_indices.BYMONTHDAY >= this.by_data.BYMONTHDAY.length) {\n this.by_indices.BYMONTHDAY = 0;\n this.increment_month();\n }\n\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var day = this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];\n\n if (day < 0) {\n day = daysInMonth + day + 1;\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n data_valid = this.is_day_in_byday(this.last);\n } else {\n this.last.day = day;\n }\n\n } else {\n this.increment_month();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n if (this.by_data.BYMONTHDAY[0] > daysInMonth) {\n data_valid = 0;\n } else {\n this.last.day = this.by_data.BYMONTHDAY[0];\n }\n }\n\n return data_valid;\n },\n\n next_weekday_by_week: function next_weekday_by_week() {\n var end_of_data = 0;\n\n if (this.next_hour() == 0) {\n return end_of_data;\n }\n\n if (!this.has_by_data(\"BYDAY\")) {\n return 1;\n }\n\n for (;;) {\n var tt = new ICAL.Time();\n this.by_indices.BYDAY++;\n\n if (this.by_indices.BYDAY == Object.keys(this.by_data.BYDAY).length) {\n this.by_indices.BYDAY = 0;\n end_of_data = 1;\n }\n\n var coded_day = this.by_data.BYDAY[this.by_indices.BYDAY];\n var parts = this.ruleDayOfWeek(coded_day);\n var dow = parts[1];\n\n dow -= this.rule.wkst;\n\n if (dow < 0) {\n dow += 7;\n }\n\n tt.year = this.last.year;\n tt.month = this.last.month;\n tt.day = this.last.day;\n\n var startOfWeek = tt.startDoyWeek(this.rule.wkst);\n\n if (dow + startOfWeek < 1) {\n // The selected date is in the previous year\n if (!end_of_data) {\n continue;\n }\n }\n\n var next = ICAL.Time.fromDayOfYear(startOfWeek + dow,\n this.last.year);\n\n /**\n * The normalization horrors below are due to\n * the fact that when the year/month/day changes\n * it can effect the other operations that come after.\n */\n this.last.year = next.year;\n this.last.month = next.month;\n this.last.day = next.day;\n\n return end_of_data;\n }\n },\n\n next_year: function next_year() {\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (++this.days_index == this.days.length) {\n this.days_index = 0;\n do {\n this.increment_year(this.rule.interval);\n this.expand_year_days(this.last.year);\n } while (this.days.length == 0);\n }\n\n this._nextByYearDay();\n\n return 1;\n },\n\n _nextByYearDay: function _nextByYearDay() {\n var doy = this.days[this.days_index];\n var year = this.last.year;\n if (doy < 1) {\n // Time.fromDayOfYear(doy, year) indexes relative to the\n // start of the given year. That is different from the\n // semantics of BYYEARDAY where negative indexes are an\n // offset from the end of the given year.\n doy += 1;\n year += 1;\n }\n var next = ICAL.Time.fromDayOfYear(doy, year);\n this.last.day = next.day;\n this.last.month = next.month;\n },\n\n /**\n * @param dow (eg: '1TU', '-1MO')\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday\n * @return [pos, numericDow] (eg: [1, 3]) numericDow is relative to aWeekStart\n */\n ruleDayOfWeek: function ruleDayOfWeek(dow, aWeekStart) {\n var matches = dow.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);\n if (matches) {\n var pos = parseInt(matches[1] || 0, 10);\n dow = ICAL.Recur.icalDayToNumericDay(matches[2], aWeekStart);\n return [pos, dow];\n } else {\n return [0, 0];\n }\n },\n\n next_generic: function next_generic(aRuleType, aInterval, aDateAttr,\n aFollowingAttr, aPreviousIncr) {\n var has_by_rule = (aRuleType in this.by_data);\n var this_freq = (this.rule.freq == aInterval);\n var end_of_data = 0;\n\n if (aPreviousIncr && this[aPreviousIncr]() == 0) {\n return end_of_data;\n }\n\n if (has_by_rule) {\n this.by_indices[aRuleType]++;\n var idx = this.by_indices[aRuleType];\n var dta = this.by_data[aRuleType];\n\n if (this.by_indices[aRuleType] == dta.length) {\n this.by_indices[aRuleType] = 0;\n end_of_data = 1;\n }\n this.last[aDateAttr] = dta[this.by_indices[aRuleType]];\n } else if (this_freq) {\n this[\"increment_\" + aDateAttr](this.rule.interval);\n }\n\n if (has_by_rule && end_of_data && this_freq) {\n this[\"increment_\" + aFollowingAttr](1);\n }\n\n return end_of_data;\n },\n\n increment_monthday: function increment_monthday(inc) {\n for (var i = 0; i < inc; i++) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day++;\n\n if (this.last.day > daysInMonth) {\n this.last.day -= daysInMonth;\n this.increment_month();\n }\n }\n },\n\n increment_month: function increment_month() {\n this.last.day = 1;\n if (this.has_by_data(\"BYMONTH\")) {\n this.by_indices.BYMONTH++;\n\n if (this.by_indices.BYMONTH == this.by_data.BYMONTH.length) {\n this.by_indices.BYMONTH = 0;\n this.increment_year(1);\n }\n\n this.last.month = this.by_data.BYMONTH[this.by_indices.BYMONTH];\n } else {\n if (this.rule.freq == \"MONTHLY\") {\n this.last.month += this.rule.interval;\n } else {\n this.last.month++;\n }\n\n this.last.month--;\n var years = ICAL.helpers.trunc(this.last.month / 12);\n this.last.month %= 12;\n this.last.month++;\n\n if (years != 0) {\n this.increment_year(years);\n }\n }\n },\n\n increment_year: function increment_year(inc) {\n this.last.year += inc;\n },\n\n increment_generic: function increment_generic(inc, aDateAttr,\n aFactor, aNextIncrement) {\n this.last[aDateAttr] += inc;\n var nextunit = ICAL.helpers.trunc(this.last[aDateAttr] / aFactor);\n this.last[aDateAttr] %= aFactor;\n if (nextunit != 0) {\n this[\"increment_\" + aNextIncrement](nextunit);\n }\n },\n\n has_by_data: function has_by_data(aRuleType) {\n return (aRuleType in this.rule.parts);\n },\n\n expand_year_days: function expand_year_days(aYear) {\n var t = new ICAL.Time();\n this.days = [];\n\n // We need our own copy with a few keys set\n var parts = {};\n var rules = [\"BYDAY\", \"BYWEEKNO\", \"BYMONTHDAY\", \"BYMONTH\", \"BYYEARDAY\"];\n for (var p in rules) {\n /* istanbul ignore else */\n if (rules.hasOwnProperty(p)) {\n var part = rules[p];\n if (part in this.rule.parts) {\n parts[part] = this.rule.parts[part];\n }\n }\n }\n\n if (\"BYMONTH\" in parts && \"BYWEEKNO\" in parts) {\n var valid = 1;\n var validWeeks = {};\n t.year = aYear;\n t.isDate = true;\n\n for (var monthIdx = 0; monthIdx < this.by_data.BYMONTH.length; monthIdx++) {\n var month = this.by_data.BYMONTH[monthIdx];\n t.month = month;\n t.day = 1;\n var first_week = t.weekNumber(this.rule.wkst);\n t.day = ICAL.Time.daysInMonth(month, aYear);\n var last_week = t.weekNumber(this.rule.wkst);\n for (monthIdx = first_week; monthIdx < last_week; monthIdx++) {\n validWeeks[monthIdx] = 1;\n }\n }\n\n for (var weekIdx = 0; weekIdx < this.by_data.BYWEEKNO.length && valid; weekIdx++) {\n var weekno = this.by_data.BYWEEKNO[weekIdx];\n if (weekno < 52) {\n valid &= validWeeks[weekIdx];\n } else {\n valid = 0;\n }\n }\n\n if (valid) {\n delete parts.BYMONTH;\n } else {\n delete parts.BYWEEKNO;\n }\n }\n\n var partCount = Object.keys(parts).length;\n\n if (partCount == 0) {\n var t1 = this.dtstart.clone();\n t1.year = this.last.year;\n this.days.push(t1.dayOfYear());\n } else if (partCount == 1 && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var t2 = this.dtstart.clone();\n t2.year = aYear;\n t2.month = this.by_data.BYMONTH[monthkey];\n t2.isDate = true;\n this.days.push(t2.dayOfYear());\n }\n } else if (partCount == 1 && \"BYMONTHDAY\" in parts) {\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var t3 = this.dtstart.clone();\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(t3.month, aYear);\n day_ = day_ + daysInMonth + 1;\n }\n t3.day = day_;\n t3.year = aYear;\n t3.isDate = true;\n this.days.push(t3.dayOfYear());\n }\n } else if (partCount == 2 &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month_ = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month_, aYear);\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n day_ = day_ + daysInMonth + 1;\n }\n t.day = day_;\n t.month = month_;\n t.year = aYear;\n t.isDate = true;\n\n this.days.push(t.dayOfYear());\n }\n }\n } else if (partCount == 1 && \"BYWEEKNO\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 2 &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 1 && \"BYDAY\" in parts) {\n this.days = this.days.concat(this.expand_by_day(aYear));\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month, aYear);\n\n t.year = aYear;\n t.month = this.by_data.BYMONTH[monthkey];\n t.day = 1;\n t.isDate = true;\n\n var first_dow = t.dayOfWeek();\n var doy_offset = t.dayOfYear() - 1;\n\n t.day = daysInMonth;\n var last_dow = t.dayOfWeek();\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var set_pos_counter = 0;\n var by_month_day = [];\n for (var day = 1; day <= daysInMonth; day++) {\n t.day = day;\n if (this.is_day_in_byday(t)) {\n by_month_day.push(day);\n }\n }\n\n for (var spIndex = 0; spIndex < by_month_day.length; spIndex++) {\n if (this.check_set_position(spIndex + 1) ||\n this.check_set_position(spIndex - by_month_day.length)) {\n this.days.push(doy_offset + by_month_day[spIndex]);\n }\n }\n } else {\n for (var daycodedkey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daycodedkey)) {\n continue;\n }\n var coded_day = this.by_data.BYDAY[daycodedkey];\n var bydayParts = this.ruleDayOfWeek(coded_day);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var month_day;\n\n var first_matching_day = ((dow + 7 - first_dow) % 7) + 1;\n var last_matching_day = daysInMonth - ((last_dow + 7 - dow) % 7);\n\n if (pos == 0) {\n for (var day = first_matching_day; day <= daysInMonth; day += 7) {\n this.days.push(doy_offset + day);\n }\n } else if (pos > 0) {\n month_day = first_matching_day + (pos - 1) * 7;\n\n if (month_day <= daysInMonth) {\n this.days.push(doy_offset + month_day);\n }\n } else {\n month_day = last_matching_day + (pos + 1) * 7;\n\n if (month_day > 0) {\n this.days.push(doy_offset + month_day);\n }\n }\n }\n }\n }\n // Return dates in order of occurrence (1,2,3,...) instead\n // of by groups of weekdays (1,8,15,...,2,9,16,...).\n this.days.sort(function(a, b) { return a - b; }); // Comparator function allows to sort numbers.\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTHDAY\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n if (this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n\n if (this.by_data.BYMONTH.indexOf(tt.month) >= 0 &&\n this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYWEEKNO\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n var weekno = tt.weekNumber(this.rule.wkst);\n\n if (this.by_data.BYWEEKNO.indexOf(weekno)) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemted in libical\n } else if (partCount == 1 && \"BYYEARDAY\" in parts) {\n this.days = this.days.concat(this.by_data.BYYEARDAY);\n } else {\n this.days = [];\n }\n return 0;\n },\n\n expand_by_day: function expand_by_day(aYear) {\n\n var days_list = [];\n var tmp = this.last.clone();\n\n tmp.year = aYear;\n tmp.month = 1;\n tmp.day = 1;\n tmp.isDate = true;\n\n var start_dow = tmp.dayOfWeek();\n\n tmp.month = 12;\n tmp.day = 31;\n tmp.isDate = true;\n\n var end_dow = tmp.dayOfWeek();\n var end_year_day = tmp.dayOfYear();\n\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n\n if (pos == 0) {\n var tmp_start_doy = ((dow + 7 - start_dow) % 7) + 1;\n\n for (var doy = tmp_start_doy; doy <= end_year_day; doy += 7) {\n days_list.push(doy);\n }\n\n } else if (pos > 0) {\n var first;\n if (dow >= start_dow) {\n first = dow - start_dow + 1;\n } else {\n first = dow - start_dow + 8;\n }\n\n days_list.push(first + (pos - 1) * 7);\n } else {\n var last;\n pos = -pos;\n\n if (dow <= end_dow) {\n last = end_year_day - end_dow + dow;\n } else {\n last = end_year_day - end_dow + dow - 7;\n }\n\n days_list.push(last - (pos - 1) * 7);\n }\n }\n return days_list;\n },\n\n is_day_in_byday: function is_day_in_byday(tt) {\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n var this_dow = tt.dayOfWeek();\n\n if ((pos == 0 && dow == this_dow) ||\n (tt.nthWeekDay(dow, pos) == tt.day)) {\n return 1;\n }\n }\n\n return 0;\n },\n\n /**\n * Checks if given value is in BYSETPOS.\n *\n * @private\n * @param {Numeric} aPos position to check for.\n * @return {Boolean} false unless BYSETPOS rules exist\n * and the given value is present in rules.\n */\n check_set_position: function check_set_position(aPos) {\n if (this.has_by_data('BYSETPOS')) {\n var idx = this.by_data.BYSETPOS.indexOf(aPos);\n // negative numbers are not false-y\n return idx !== -1;\n }\n return false;\n },\n\n sort_byday_rules: function icalrecur_sort_byday_rules(aRules) {\n for (var i = 0; i < aRules.length; i++) {\n for (var j = 0; j < i; j++) {\n var one = this.ruleDayOfWeek(aRules[j], this.rule.wkst)[1];\n var two = this.ruleDayOfWeek(aRules[i], this.rule.wkst)[1];\n\n if (one > two) {\n var tmp = aRules[i];\n aRules[i] = aRules[j];\n aRules[j] = tmp;\n }\n }\n }\n },\n\n check_contract_restriction: function check_contract_restriction(aRuleType, v) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n var pass = false;\n\n if (aRuleType in this.by_data &&\n ruleMapValue == icalrecur_iterator.CONTRACT) {\n\n var ruleType = this.by_data[aRuleType];\n\n for (var bydatakey in ruleType) {\n /* istanbul ignore else */\n if (ruleType.hasOwnProperty(bydatakey)) {\n if (ruleType[bydatakey] == v) {\n pass = true;\n break;\n }\n }\n }\n } else {\n // Not a contracting byrule or has no data, test passes\n pass = true;\n }\n return pass;\n },\n\n check_contracting_rules: function check_contracting_rules() {\n var dow = this.last.dayOfWeek();\n var weekNo = this.last.weekNumber(this.rule.wkst);\n var doy = this.last.dayOfYear();\n\n return (this.check_contract_restriction(\"BYSECOND\", this.last.second) &&\n this.check_contract_restriction(\"BYMINUTE\", this.last.minute) &&\n this.check_contract_restriction(\"BYHOUR\", this.last.hour) &&\n this.check_contract_restriction(\"BYDAY\", ICAL.Recur.numericDayToIcalDay(dow)) &&\n this.check_contract_restriction(\"BYWEEKNO\", weekNo) &&\n this.check_contract_restriction(\"BYMONTHDAY\", this.last.day) &&\n this.check_contract_restriction(\"BYMONTH\", this.last.month) &&\n this.check_contract_restriction(\"BYYEARDAY\", doy));\n },\n\n setup_defaults: function setup_defaults(aRuleType, req, deftime) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n\n if (ruleMapValue != icalrecur_iterator.CONTRACT) {\n if (!(aRuleType in this.by_data)) {\n this.by_data[aRuleType] = [deftime];\n }\n if (this.rule.freq != req) {\n return this.by_data[aRuleType][0];\n }\n }\n return deftime;\n },\n\n /**\n * Convert iterator into a serialize-able object. Will preserve current\n * iteration sequence to ensure the seamless continuation of the recurrence\n * rule.\n * @return {Object}\n */\n toJSON: function() {\n var result = Object.create(null);\n\n result.initialized = this.initialized;\n result.rule = this.rule.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.by_data = this.by_data;\n result.days = this.days;\n result.last = this.last.toJSON();\n result.by_indices = this.by_indices;\n result.occurrence_number = this.occurrence_number;\n\n return result;\n }\n };\n\n icalrecur_iterator._indexMap = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 1,\n \"BYHOUR\": 2,\n \"BYDAY\": 3,\n \"BYMONTHDAY\": 4,\n \"BYYEARDAY\": 5,\n \"BYWEEKNO\": 6,\n \"BYMONTH\": 7,\n \"BYSETPOS\": 8\n };\n\n icalrecur_iterator._expandMap = {\n \"SECONDLY\": [1, 1, 1, 1, 1, 1, 1, 1],\n \"MINUTELY\": [2, 1, 1, 1, 1, 1, 1, 1],\n \"HOURLY\": [2, 2, 1, 1, 1, 1, 1, 1],\n \"DAILY\": [2, 2, 2, 1, 1, 1, 1, 1],\n \"WEEKLY\": [2, 2, 2, 2, 3, 3, 1, 1],\n \"MONTHLY\": [2, 2, 2, 2, 2, 3, 3, 1],\n \"YEARLY\": [2, 2, 2, 2, 2, 2, 2, 2]\n };\n icalrecur_iterator.UNKNOWN = 0;\n icalrecur_iterator.CONTRACT = 1;\n icalrecur_iterator.EXPAND = 2;\n icalrecur_iterator.ILLEGAL = 3;\n\n return icalrecur_iterator;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurExpansion = (function() {\n function formatTime(item) {\n return ICAL.helpers.formatClassType(item, ICAL.Time);\n }\n\n function compareTime(a, b) {\n return a.compare(b);\n }\n\n function isRecurringComponent(comp) {\n return comp.hasProperty('rdate') ||\n comp.hasProperty('rrule') ||\n comp.hasProperty('recurrence-id');\n }\n\n /**\n * @classdesc\n * Primary class for expanding recurring rules. Can take multiple rrules,\n * rdates, exdate(s) and iterate (in order) over each next occurrence.\n *\n * Once initialized this class can also be serialized saved and continue\n * iteration from the last point.\n *\n * NOTE: it is intended that this class is to be used\n * with ICAL.Event which handles recurrence exceptions.\n *\n * @example\n * // assuming event is a parsed ical component\n * var event;\n *\n * var expand = new ICAL.RecurExpansion({\n * component: event,\n * dtstart: event.getFirstPropertyValue('dtstart')\n * });\n *\n * // remember there are infinite rules\n * // so it is a good idea to limit the scope\n * // of the iterations then resume later on.\n *\n * // next is always an ICAL.Time or null\n * var next;\n *\n * while (someCondition && (next = expand.next())) {\n * // do something with next\n * }\n *\n * // save instance for later\n * var json = JSON.stringify(expand);\n *\n * //...\n *\n * // NOTE: if the component's properties have\n * // changed you will need to rebuild the\n * // class and start over. This only works\n * // when the component's recurrence info is the same.\n * var expand = new ICAL.RecurExpansion(JSON.parse(json));\n *\n * @description\n * The options object can be filled with the specified initial values. It can\n * also contain additional members, as a result of serializing a previous\n * expansion state, as shown in the example.\n *\n * @class\n * @alias ICAL.RecurExpansion\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n function RecurExpansion(options) {\n this.ruleDates = [];\n this.exDates = [];\n this.fromData(options);\n }\n\n RecurExpansion.prototype = {\n /**\n * True when iteration is fully completed.\n * @type {Boolean}\n */\n complete: false,\n\n /**\n * Array of rrule iterators.\n *\n * @type {ICAL.RecurIterator[]}\n * @private\n */\n ruleIterators: null,\n\n /**\n * Array of rdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n ruleDates: null,\n\n /**\n * Array of exdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n exDates: null,\n\n /**\n * Current position in ruleDates array.\n * @type {Number}\n * @private\n */\n ruleDateInc: 0,\n\n /**\n * Current position in exDates array\n * @type {Number}\n * @private\n */\n exDateInc: 0,\n\n /**\n * Current negative date.\n *\n * @type {ICAL.Time}\n * @private\n */\n exDate: null,\n\n /**\n * Current additional date.\n *\n * @type {ICAL.Time}\n * @private\n */\n ruleDate: null,\n\n /**\n * Start date of recurring rules.\n *\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * Last expanded time\n *\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * Initialize the recurrence expansion from the data object. The options\n * object may also contain additional members, see the\n * {@link ICAL.RecurExpansion constructor} for more details.\n *\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n fromData: function(options) {\n var start = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!start) {\n throw new Error('.dtstart (ICAL.Time) must be given');\n } else {\n this.dtstart = start;\n }\n\n if (options.component) {\n this._init(options.component);\n } else {\n this.last = formatTime(options.last) || start.clone();\n\n if (!options.ruleIterators) {\n throw new Error('.ruleIterators or .component must be given');\n }\n\n this.ruleIterators = options.ruleIterators.map(function(item) {\n return ICAL.helpers.formatClassType(item, ICAL.RecurIterator);\n });\n\n this.ruleDateInc = options.ruleDateInc;\n this.exDateInc = options.exDateInc;\n\n if (options.ruleDates) {\n this.ruleDates = options.ruleDates.map(formatTime);\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (options.exDates) {\n this.exDates = options.exDates.map(formatTime);\n this.exDate = this.exDates[this.exDateInc];\n }\n\n if (typeof(options.complete) !== 'undefined') {\n this.complete = options.complete;\n }\n }\n },\n\n /**\n * Retrieve the next occurrence in the series.\n * @return {ICAL.Time}\n */\n next: function() {\n var iter;\n var ruleOfDay;\n var next;\n var compare;\n\n var maxTries = 500;\n var currentTry = 0;\n\n while (true) {\n if (currentTry++ > maxTries) {\n throw new Error(\n 'max tries have occured, rule may be impossible to forfill.'\n );\n }\n\n next = this.ruleDate;\n iter = this._nextRecurrenceIter(this.last);\n\n // no more matches\n // because we increment the rule day or rule\n // _after_ we choose a value this should be\n // the only spot where we need to worry about the\n // end of events.\n if (!next && !iter) {\n // there are no more iterators or rdates\n this.complete = true;\n break;\n }\n\n // no next rule day or recurrence rule is first.\n if (!next || (iter && next.compare(iter.last) > 0)) {\n // must be cloned, recur will reuse the time element.\n next = iter.last.clone();\n // move to next so we can continue\n iter.next();\n }\n\n // if the ruleDate is still next increment it.\n if (this.ruleDate === next) {\n this._nextRuleDay();\n }\n\n this.last = next;\n\n // check the negative rules\n if (this.exDate) {\n compare = this.exDate.compare(this.last);\n\n if (compare < 0) {\n this._nextExDay();\n }\n\n // if the current rule is excluded skip it.\n if (compare === 0) {\n this._nextExDay();\n continue;\n }\n }\n\n //XXX: The spec states that after we resolve the final\n // list of dates we execute exdate this seems somewhat counter\n // intuitive to what I have seen most servers do so for now\n // I exclude based on the original date not the one that may\n // have been modified by the exception.\n return this.last;\n }\n },\n\n /**\n * Converts object into a serialize-able format. This format can be passed\n * back into the expansion to resume iteration.\n * @return {Object}\n */\n toJSON: function() {\n function toJSON(item) {\n return item.toJSON();\n }\n\n var result = Object.create(null);\n result.ruleIterators = this.ruleIterators.map(toJSON);\n\n if (this.ruleDates) {\n result.ruleDates = this.ruleDates.map(toJSON);\n }\n\n if (this.exDates) {\n result.exDates = this.exDates.map(toJSON);\n }\n\n result.ruleDateInc = this.ruleDateInc;\n result.exDateInc = this.exDateInc;\n result.last = this.last.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.complete = this.complete;\n\n return result;\n },\n\n /**\n * Extract all dates from the properties in the given component. The\n * properties will be filtered by the property name.\n *\n * @private\n * @param {ICAL.Component} component The component to search in\n * @param {String} propertyName The property name to search for\n * @return {ICAL.Time[]} The extracted dates.\n */\n _extractDates: function(component, propertyName) {\n function handleProp(prop) {\n idx = ICAL.helpers.binsearchInsert(\n result,\n prop,\n compareTime\n );\n\n // ordered insert\n result.splice(idx, 0, prop);\n }\n\n var result = [];\n var props = component.getAllProperties(propertyName);\n var len = props.length;\n var i = 0;\n var prop;\n\n var idx;\n\n for (; i < len; i++) {\n props[i].getValues().forEach(handleProp);\n }\n\n return result;\n },\n\n /**\n * Initialize the recurrence expansion.\n *\n * @private\n * @param {ICAL.Component} component The component to initialize from.\n */\n _init: function(component) {\n this.ruleIterators = [];\n\n this.last = this.dtstart.clone();\n\n // to provide api consistency non-recurring\n // events can also use the iterator though it will\n // only return a single time.\n if (!isRecurringComponent(component)) {\n this.ruleDate = this.last.clone();\n this.complete = true;\n return;\n }\n\n if (component.hasProperty('rdate')) {\n this.ruleDates = this._extractDates(component, 'rdate');\n\n // special hack for cases where first rdate is prior\n // to the start date. We only check for the first rdate.\n // This is mostly for google's crazy recurring date logic\n // (contacts birthdays).\n if ((this.ruleDates[0]) &&\n (this.ruleDates[0].compare(this.dtstart) < 0)) {\n\n this.ruleDateInc = 0;\n this.last = this.ruleDates[0].clone();\n } else {\n this.ruleDateInc = ICAL.helpers.binsearchInsert(\n this.ruleDates,\n this.last,\n compareTime\n );\n }\n\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (component.hasProperty('rrule')) {\n var rules = component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n\n var rule;\n var iter;\n\n for (; i < len; i++) {\n rule = rules[i].getFirstValue();\n iter = rule.iterator(this.dtstart);\n this.ruleIterators.push(iter);\n\n // increment to the next occurrence so future\n // calls to next return times beyond the initial iteration.\n // XXX: I find this suspicious might be a bug?\n iter.next();\n }\n }\n\n if (component.hasProperty('exdate')) {\n this.exDates = this._extractDates(component, 'exdate');\n // if we have a .last day we increment the index to beyond it.\n this.exDateInc = ICAL.helpers.binsearchInsert(\n this.exDates,\n this.last,\n compareTime\n );\n\n this.exDate = this.exDates[this.exDateInc];\n }\n },\n\n /**\n * Advance to the next exdate\n * @private\n */\n _nextExDay: function() {\n this.exDate = this.exDates[++this.exDateInc];\n },\n\n /**\n * Advance to the next rule date\n * @private\n */\n _nextRuleDay: function() {\n this.ruleDate = this.ruleDates[++this.ruleDateInc];\n },\n\n /**\n * Find and return the recurrence rule with the most recent event and\n * return it.\n *\n * @private\n * @return {?ICAL.RecurIterator} Found iterator.\n */\n _nextRecurrenceIter: function() {\n var iters = this.ruleIterators;\n\n if (iters.length === 0) {\n return null;\n }\n\n var len = iters.length;\n var iter;\n var iterTime;\n var iterIdx = 0;\n var chosenIter;\n\n // loop through each iterator\n for (; iterIdx < len; iterIdx++) {\n iter = iters[iterIdx];\n iterTime = iter.last;\n\n // if iteration is complete\n // then we must exclude it from\n // the search and remove it.\n if (iter.completed) {\n len--;\n if (iterIdx !== 0) {\n iterIdx--;\n }\n iters.splice(iterIdx, 1);\n continue;\n }\n\n // find the most recent possible choice\n if (!chosenIter || chosenIter.last.compare(iterTime) > 0) {\n // that iterator is saved\n chosenIter = iter;\n }\n }\n\n // the chosen iterator is returned but not mutated\n // this iterator contains the most recent event.\n return chosenIter;\n }\n };\n\n return RecurExpansion;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Event = (function() {\n\n /**\n * @classdesc\n * ICAL.js is organized into multiple layers. The bottom layer is a raw jCal\n * object, followed by the component/property layer. The highest level is the\n * event representation, which this class is part of. See the\n * {@tutorial layers} guide for more details.\n *\n * @class\n * @alias ICAL.Event\n * @param {ICAL.Component=} component The ICAL.Component to base this event on\n * @param {Object} options Options for this event\n * @param {Boolean} options.strictExceptions\n * When true, will verify exceptions are related by their UUID\n * @param {Array<ICAL.Component|ICAL.Event>} options.exceptions\n * Exceptions to this event, either as components or events. If not\n * specified exceptions will automatically be set in relation of\n * component's parent\n */\n function Event(component, options) {\n if (!(component instanceof ICAL.Component)) {\n options = component;\n component = null;\n }\n\n if (component) {\n this.component = component;\n } else {\n this.component = new ICAL.Component('vevent');\n }\n\n this._rangeExceptionCache = Object.create(null);\n this.exceptions = Object.create(null);\n this.rangeExceptions = [];\n\n if (options && options.strictExceptions) {\n this.strictExceptions = options.strictExceptions;\n }\n\n if (options && options.exceptions) {\n options.exceptions.forEach(this.relateException, this);\n } else if (this.component.parent && !this.isRecurrenceException()) {\n this.component.parent.getAllSubcomponents('vevent').forEach(function(event) {\n if (event.hasProperty('recurrence-id')) {\n this.relateException(event);\n }\n }, this);\n }\n }\n\n Event.prototype = {\n\n THISANDFUTURE: 'THISANDFUTURE',\n\n /**\n * List of related event exceptions.\n *\n * @type {ICAL.Event[]}\n */\n exceptions: null,\n\n /**\n * When true, will verify exceptions are related by their UUID.\n *\n * @type {Boolean}\n */\n strictExceptions: false,\n\n /**\n * Relates a given event exception to this object. If the given component\n * does not share the UID of this event it cannot be related and will throw\n * an exception.\n *\n * If this component is an exception it cannot have other exceptions\n * related to it.\n *\n * @param {ICAL.Component|ICAL.Event} obj Component or event\n */\n relateException: function(obj) {\n if (this.isRecurrenceException()) {\n throw new Error('cannot relate exception to exceptions');\n }\n\n if (obj instanceof ICAL.Component) {\n obj = new ICAL.Event(obj);\n }\n\n if (this.strictExceptions && obj.uid !== this.uid) {\n throw new Error('attempted to relate unrelated exception');\n }\n\n var id = obj.recurrenceId.toString();\n\n // we don't sort or manage exceptions directly\n // here the recurrence expander handles that.\n this.exceptions[id] = obj;\n\n // index RANGE=THISANDFUTURE exceptions so we can\n // look them up later in getOccurrenceDetails.\n if (obj.modifiesFuture()) {\n var item = [\n obj.recurrenceId.toUnixTime(), id\n ];\n\n // we keep them sorted so we can find the nearest\n // value later on...\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n item,\n compareRangeException\n );\n\n this.rangeExceptions.splice(idx, 0, item);\n }\n },\n\n /**\n * Checks if this record is an exception and has the RANGE=THISANDFUTURE\n * value.\n *\n * @return {Boolean} True, when exception is within range\n */\n modifiesFuture: function() {\n if (!this.component.hasProperty('recurrence-id')) {\n return false;\n }\n\n var range = this.component.getFirstProperty('recurrence-id').getParameter('range');\n return range === this.THISANDFUTURE;\n },\n\n /**\n * Finds the range exception nearest to the given date.\n *\n * @param {ICAL.Time} time usually an occurrence time of an event\n * @return {?ICAL.Event} the related event/exception or null\n */\n findRangeException: function(time) {\n if (!this.rangeExceptions.length) {\n return null;\n }\n\n var utc = time.toUnixTime();\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n [utc],\n compareRangeException\n );\n\n idx -= 1;\n\n // occurs before\n if (idx < 0) {\n return null;\n }\n\n var rangeItem = this.rangeExceptions[idx];\n\n /* istanbul ignore next: sanity check only */\n if (utc < rangeItem[0]) {\n return null;\n }\n\n return rangeItem[1];\n },\n\n /**\n * This object is returned by {@link ICAL.Event#getOccurrenceDetails getOccurrenceDetails}\n *\n * @typedef {Object} occurrenceDetails\n * @memberof ICAL.Event\n * @property {ICAL.Time} recurrenceId The passed in recurrence id\n * @property {ICAL.Event} item The occurrence\n * @property {ICAL.Time} startDate The start of the occurrence\n * @property {ICAL.Time} endDate The end of the occurrence\n */\n\n /**\n * Returns the occurrence details based on its start time. If the\n * occurrence has an exception will return the details for that exception.\n *\n * NOTE: this method is intend to be used in conjunction\n * with the {@link ICAL.Event#iterator iterator} method.\n *\n * @param {ICAL.Time} occurrence time occurrence\n * @return {ICAL.Event.occurrenceDetails} Information about the occurrence\n */\n getOccurrenceDetails: function(occurrence) {\n var id = occurrence.toString();\n var utcId = occurrence.convertToZone(ICAL.Timezone.utcTimezone).toString();\n var item;\n var result = {\n //XXX: Clone?\n recurrenceId: occurrence\n };\n\n if (id in this.exceptions) {\n item = result.item = this.exceptions[id];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else if (utcId in this.exceptions) {\n item = this.exceptions[utcId];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else {\n // range exceptions (RANGE=THISANDFUTURE) have a\n // lower priority then direct exceptions but\n // must be accounted for first. Their item is\n // always the first exception with the range prop.\n var rangeExceptionId = this.findRangeException(\n occurrence\n );\n var end;\n\n if (rangeExceptionId) {\n var exception = this.exceptions[rangeExceptionId];\n\n // range exception must modify standard time\n // by the difference (if any) in start/end times.\n result.item = exception;\n\n var startDiff = this._rangeExceptionCache[rangeExceptionId];\n\n if (!startDiff) {\n var original = exception.recurrenceId.clone();\n var newStart = exception.startDate.clone();\n\n // zones must be same otherwise subtract may be incorrect.\n original.zone = newStart.zone;\n startDiff = newStart.subtractDate(original);\n\n this._rangeExceptionCache[rangeExceptionId] = startDiff;\n }\n\n var start = occurrence.clone();\n start.zone = exception.startDate.zone;\n start.addDuration(startDiff);\n\n end = start.clone();\n end.addDuration(exception.duration);\n\n result.startDate = start;\n result.endDate = end;\n } else {\n // no range exception standard expansion\n end = occurrence.clone();\n end.addDuration(this.duration);\n\n result.endDate = end;\n result.startDate = occurrence;\n result.item = this;\n }\n }\n\n return result;\n },\n\n /**\n * Builds a recur expansion instance for a specific point in time (defaults\n * to startDate).\n *\n * @param {ICAL.Time} startTime Starting point for expansion\n * @return {ICAL.RecurExpansion} Expansion object\n */\n iterator: function(startTime) {\n return new ICAL.RecurExpansion({\n component: this.component,\n dtstart: startTime || this.startDate\n });\n },\n\n /**\n * Checks if the event is recurring\n *\n * @return {Boolean} True, if event is recurring\n */\n isRecurring: function() {\n var comp = this.component;\n return comp.hasProperty('rrule') || comp.hasProperty('rdate');\n },\n\n /**\n * Checks if the event describes a recurrence exception. See\n * {@tutorial terminology} for details.\n *\n * @return {Boolean} True, if the event describes a recurrence exception\n */\n isRecurrenceException: function() {\n return this.component.hasProperty('recurrence-id');\n },\n\n /**\n * Returns the types of recurrences this event may have.\n *\n * Returned as an object with the following possible keys:\n *\n * - YEARLY\n * - MONTHLY\n * - WEEKLY\n * - DAILY\n * - MINUTELY\n * - SECONDLY\n *\n * @return {Object.<ICAL.Recur.frequencyValues, Boolean>}\n * Object of recurrence flags\n */\n getRecurrenceTypes: function() {\n var rules = this.component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n var result = Object.create(null);\n\n for (; i < len; i++) {\n var value = rules[i].getFirstValue();\n result[value.freq] = true;\n }\n\n return result;\n },\n\n /**\n * The uid of this event\n * @type {String}\n */\n get uid() {\n return this._firstProp('uid');\n },\n\n set uid(value) {\n this._setProp('uid', value);\n },\n\n /**\n * The start date\n * @type {ICAL.Time}\n */\n get startDate() {\n return this._firstProp('dtstart');\n },\n\n set startDate(value) {\n this._setTime('dtstart', value);\n },\n\n /**\n * The end date. This can be the result directly from the property, or the\n * end date calculated from start date and duration. Setting the property\n * will remove any duration properties.\n * @type {ICAL.Time}\n */\n get endDate() {\n var endDate = this._firstProp('dtend');\n if (!endDate) {\n var duration = this._firstProp('duration');\n endDate = this.startDate.clone();\n if (duration) {\n endDate.addDuration(duration);\n } else if (endDate.isDate) {\n endDate.day += 1;\n }\n }\n return endDate;\n },\n\n set endDate(value) {\n if (this.component.hasProperty('duration')) {\n this.component.removeProperty('duration');\n }\n this._setTime('dtend', value);\n },\n\n /**\n * The duration. This can be the result directly from the property, or the\n * duration calculated from start date and end date. Setting the property\n * will remove any `dtend` properties.\n * @type {ICAL.Duration}\n */\n get duration() {\n var duration = this._firstProp('duration');\n if (!duration) {\n return this.endDate.subtractDateTz(this.startDate);\n }\n return duration;\n },\n\n set duration(value) {\n if (this.component.hasProperty('dtend')) {\n this.component.removeProperty('dtend');\n }\n\n this._setProp('duration', value);\n },\n\n /**\n * The location of the event.\n * @type {String}\n */\n get location() {\n return this._firstProp('location');\n },\n\n set location(value) {\n return this._setProp('location', value);\n },\n\n /**\n * The attendees in the event\n * @type {ICAL.Property[]}\n * @readonly\n */\n get attendees() {\n //XXX: This is way lame we should have a better\n // data structure for this later.\n return this.component.getAllProperties('attendee');\n },\n\n\n /**\n * The event summary\n * @type {String}\n */\n get summary() {\n return this._firstProp('summary');\n },\n\n set summary(value) {\n this._setProp('summary', value);\n },\n\n /**\n * The event description.\n * @type {String}\n */\n get description() {\n return this._firstProp('description');\n },\n\n set description(value) {\n this._setProp('description', value);\n },\n\n /**\n * The event color from [rfc7986](https://datatracker.ietf.org/doc/html/rfc7986)\n * @type {String}\n */\n get color() {\n return this._firstProp('color');\n },\n\n set color(value) {\n this._setProp('color', value);\n },\n\n /**\n * The organizer value as an uri. In most cases this is a mailto: uri, but\n * it can also be something else, like urn:uuid:...\n * @type {String}\n */\n get organizer() {\n return this._firstProp('organizer');\n },\n\n set organizer(value) {\n this._setProp('organizer', value);\n },\n\n /**\n * The sequence value for this event. Used for scheduling\n * see {@tutorial terminology}.\n * @type {Number}\n */\n get sequence() {\n return this._firstProp('sequence');\n },\n\n set sequence(value) {\n this._setProp('sequence', value);\n },\n\n /**\n * The recurrence id for this event. See {@tutorial terminology} for details.\n * @type {ICAL.Time}\n */\n get recurrenceId() {\n return this._firstProp('recurrence-id');\n },\n\n set recurrenceId(value) {\n this._setTime('recurrence-id', value);\n },\n\n /**\n * Set/update a time property's value.\n * This will also update the TZID of the property.\n *\n * TODO: this method handles the case where we are switching\n * from a known timezone to an implied timezone (one without TZID).\n * This does _not_ handle the case of moving between a known\n * (by TimezoneService) timezone to an unknown timezone...\n *\n * We will not add/remove/update the VTIMEZONE subcomponents\n * leading to invalid ICAL data...\n * @private\n * @param {String} propName The property name\n * @param {ICAL.Time} time The time to set\n */\n _setTime: function(propName, time) {\n var prop = this.component.getFirstProperty(propName);\n\n if (!prop) {\n prop = new ICAL.Property(propName);\n this.component.addProperty(prop);\n }\n\n // utc and local don't get a tzid\n if (\n time.zone === ICAL.Timezone.localTimezone ||\n time.zone === ICAL.Timezone.utcTimezone\n ) {\n // remove the tzid\n prop.removeParameter('tzid');\n } else {\n prop.setParameter('tzid', time.zone.tzid);\n }\n\n prop.setValue(time);\n },\n\n _setProp: function(name, value) {\n this.component.updatePropertyWithValue(name, value);\n },\n\n _firstProp: function(name) {\n return this.component.getFirstPropertyValue(name);\n },\n\n /**\n * The string representation of this event.\n * @return {String}\n */\n toString: function() {\n return this.component.toString();\n }\n\n };\n\n function compareRangeException(a, b) {\n if (a[0] > b[0]) return 1;\n if (b[0] > a[0]) return -1;\n return 0;\n }\n\n return Event;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.ComponentParser = (function() {\n /**\n * @classdesc\n * The ComponentParser is used to process a String or jCal Object,\n * firing callbacks for various found components, as well as completion.\n *\n * @example\n * var options = {\n * // when false no events will be emitted for type\n * parseEvent: true,\n * parseTimezone: true\n * };\n *\n * var parser = new ICAL.ComponentParser(options);\n *\n * parser.onevent(eventComponent) {\n * //...\n * }\n *\n * // ontimezone, etc...\n *\n * parser.oncomplete = function() {\n *\n * };\n *\n * parser.process(stringOrComponent);\n *\n * @class\n * @alias ICAL.ComponentParser\n * @param {Object=} options Component parser options\n * @param {Boolean} options.parseEvent Whether events should be parsed\n * @param {Boolean} options.parseTimezeone Whether timezones should be parsed\n */\n function ComponentParser(options) {\n if (typeof(options) === 'undefined') {\n options = {};\n }\n\n var key;\n for (key in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(key)) {\n this[key] = options[key];\n }\n }\n }\n\n ComponentParser.prototype = {\n\n /**\n * When true, parse events\n *\n * @type {Boolean}\n */\n parseEvent: true,\n\n /**\n * When true, parse timezones\n *\n * @type {Boolean}\n */\n parseTimezone: true,\n\n\n /* SAX like events here for reference */\n\n /**\n * Fired when parsing is complete\n * @callback\n */\n oncomplete: /* istanbul ignore next */ function() {},\n\n /**\n * Fired if an error occurs during parsing.\n *\n * @callback\n * @param {Error} err details of error\n */\n onerror: /* istanbul ignore next */ function(err) {},\n\n /**\n * Fired when a top level component (VTIMEZONE) is found\n *\n * @callback\n * @param {ICAL.Timezone} component Timezone object\n */\n ontimezone: /* istanbul ignore next */ function(component) {},\n\n /**\n * Fired when a top level component (VEVENT) is found.\n *\n * @callback\n * @param {ICAL.Event} component Top level component\n */\n onevent: /* istanbul ignore next */ function(component) {},\n\n /**\n * Process a string or parse ical object. This function itself will return\n * nothing but will start the parsing process.\n *\n * Events must be registered prior to calling this method.\n *\n * @param {ICAL.Component|String|Object} ical The component to process,\n * either in its final form, as a jCal Object, or string representation\n */\n process: function(ical) {\n //TODO: this is sync now in the future we will have a incremental parser.\n if (typeof(ical) === 'string') {\n ical = ICAL.parse(ical);\n }\n\n if (!(ical instanceof ICAL.Component)) {\n ical = new ICAL.Component(ical);\n }\n\n var components = ical.getAllSubcomponents();\n var i = 0;\n var len = components.length;\n var component;\n\n for (; i < len; i++) {\n component = components[i];\n\n switch (component.name) {\n case 'vtimezone':\n if (this.parseTimezone) {\n var tzid = component.getFirstPropertyValue('tzid');\n if (tzid) {\n this.ontimezone(new ICAL.Timezone({\n tzid: tzid,\n component: component\n }));\n }\n }\n break;\n case 'vevent':\n if (this.parseEvent) {\n this.onevent(new ICAL.Event(component));\n }\n break;\n default:\n continue;\n }\n }\n\n //XXX: ideally we should do a \"nextTick\" here\n // so in all cases this is actually async.\n this.oncomplete();\n }\n };\n\n return ComponentParser;\n}());\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","if (!Array.prototype.find) {\n Array.prototype.find = function(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined')\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function')\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value\n }\n }\n return undefined\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n function CustomEvent$1(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt\n }\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent$1.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent$1;\n}\n\nclass TributeEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n static keys() {\n return [\n {\n key: 9,\n value: \"TAB\"\n },\n {\n key: 8,\n value: \"DELETE\"\n },\n {\n key: 13,\n value: \"ENTER\"\n },\n {\n key: 27,\n value: \"ESCAPE\"\n },\n {\n key: 32,\n value: \"SPACE\"\n },\n {\n key: 38,\n value: \"UP\"\n },\n {\n key: 40,\n value: \"DOWN\"\n }\n ];\n }\n\n bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n\n element.addEventListener(\"keydown\", element.boundKeydown, false);\n element.addEventListener(\"keyup\", element.boundKeyup, false);\n element.addEventListener(\"input\", element.boundInput, false);\n }\n\n unbind(element) {\n element.removeEventListener(\"keydown\", element.boundKeydown, false);\n element.removeEventListener(\"keyup\", element.boundKeyup, false);\n element.removeEventListener(\"input\", element.boundInput, false);\n\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n\n keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n let element = this;\n instance.commandEvent = false;\n\n TributeEvents.keys().forEach(o => {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n\n input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n\n click(instance, event) {\n let tribute = instance.tribute;\n if (tribute.menu && tribute.menu.contains(event.target)) {\n let li = event.target;\n event.preventDefault();\n event.stopPropagation();\n while (li.nodeName.toLowerCase() !== \"li\") {\n li = li.parentNode;\n if (!li || li === tribute.menu) {\n throw new Error(\"cannot find the <li> container for the click\");\n }\n }\n tribute.selectItemAtIndex(li.getAttribute(\"data-index\"), event);\n tribute.hideMenu();\n\n // TODO: should fire with externalTrigger and target is outside of menu\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(() => tribute.hideMenu());\n }\n }\n\n keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n instance.updateSelection(this);\n\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, \"\");\n } else {\n let keyCode = instance.getKeyCode(instance, this, event);\n\n if (isNaN(keyCode) || !keyCode) return;\n\n let trigger = instance.tribute.triggers().find(trigger => {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== \"undefined\") {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if (\n instance.tribute.current.mentionText.length <\n instance.tribute.current.collection.menuShowMinLength\n ) {\n return;\n }\n\n if (\n ((instance.tribute.current.trigger ||\n instance.tribute.autocompleteMode) &&\n instance.commandEvent === false) ||\n (instance.tribute.isActive && event.keyCode === 8)\n ) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n\n shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n let eventKeyPressed = false;\n TributeEvents.keys().forEach(o => {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n\n return !eventKeyPressed;\n }\n\n return false;\n }\n\n getKeyCode(instance, el, event) {\n let tribute = instance.tribute;\n let info = tribute.range.getTriggerInfo(\n false,\n tribute.hasTrailingSpace,\n true,\n tribute.allowSpaces,\n tribute.autocompleteMode\n );\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n\n updateSelection(el) {\n this.tribute.current.element = el;\n let info = this.tribute.range.getTriggerInfo(\n false,\n this.tribute.hasTrailingSpace,\n true,\n this.tribute.allowSpaces,\n this.tribute.autocompleteMode\n );\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n\n callbacks() {\n return {\n triggerChar: (e, el, trigger) => {\n let tribute = this.tribute;\n tribute.current.trigger = trigger;\n\n let collectionItem = tribute.collection.find(item => {\n return item.trigger === trigger;\n });\n\n tribute.current.collection = collectionItem;\n\n if (\n tribute.current.mentionText.length >=\n tribute.current.collection.menuShowMinLength &&\n tribute.inputEvent\n ) {\n tribute.showMenuFor(el, true);\n }\n },\n enter: (e, el) => {\n // choose selection\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.selectItemAtIndex(this.tribute.menuSelected, e);\n this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: (e, el) => {\n if (this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n this.tribute.isActive = false;\n this.tribute.hideMenu();\n }\n },\n tab: (e, el) => {\n // choose first match\n this.callbacks().enter(e, el);\n },\n space: (e, el) => {\n if (this.tribute.isActive) {\n if (this.tribute.spaceSelectsMatch) {\n this.callbacks().enter(e, el);\n } else if (!this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.hideMenu();\n this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: (e, el) => {\n // navigate up ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length,\n selected = this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n this.tribute.menuSelected--;\n this.setActiveLi();\n } else if (selected === 0) {\n this.tribute.menuSelected = count - 1;\n this.setActiveLi();\n this.tribute.menu.scrollTop = this.tribute.menu.scrollHeight;\n }\n }\n },\n down: (e, el) => {\n // navigate down ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length - 1,\n selected = this.tribute.menuSelected;\n\n if (count > selected) {\n this.tribute.menuSelected++;\n this.setActiveLi();\n } else if (count === selected) {\n this.tribute.menuSelected = 0;\n this.setActiveLi();\n this.tribute.menu.scrollTop = 0;\n }\n }\n },\n delete: (e, el) => {\n if (\n this.tribute.isActive &&\n this.tribute.current.mentionText.length < 1\n ) {\n this.tribute.hideMenu();\n } else if (this.tribute.isActive) {\n this.tribute.showMenuFor(el);\n }\n }\n };\n }\n\n setActiveLi(index) {\n let lis = this.tribute.menu.querySelectorAll(\"li\"),\n length = lis.length >>> 0;\n\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (let i = 0; i < length; i++) {\n let li = lis[i];\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n\n let liClientRect = li.getBoundingClientRect();\n let menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n let scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n let scrollDistance = menuClientRect.top - liClientRect.top;\n this.tribute.menu.scrollTop -= scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n\n getFullHeight(elem, includeMargin) {\n let height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n let style = elem.currentStyle || window.getComputedStyle(elem);\n return (\n height + parseFloat(style.marginTop) + parseFloat(style.marginBottom)\n );\n }\n\n return height;\n }\n}\n\nclass TributeMenuEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n bind(menu) {\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.showMenuFor(this.tribute.current.element, false);\n }\n },\n 300,\n false\n );\n this.windowResizeEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.range.positionMenuAtCaret(true);\n }\n },\n 300,\n false\n );\n\n // fixes IE11 issues with mousedown\n this.tribute.range\n .getDocument()\n .addEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .addEventListener(\"mousedown\", this.menuClickEvent, false);\n window.addEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.addEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n unbind(menu) {\n this.tribute.range\n .getDocument()\n .removeEventListener(\"mousedown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .removeEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n window.removeEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.removeEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n debounce(func, wait, immediate) {\n var timeout;\n return () => {\n var context = this,\n args = arguments;\n var later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n}\n\n// Thanks to https://github.com/jeff-collins/ment.io\n\nclass TributeRange {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n getDocument() {\n let iframe;\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document\n }\n\n return iframe.contentWindow.document\n }\n\n positionMenuAtCaret(scrollTo) {\n let context = this.tribute.current,\n coordinates;\n\n let info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n\n if(!this.tribute.positionMenu){\n this.tribute.menu.style.cssText = `display: block;`;\n return\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,\n info.mentionPosition);\n }\n else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = `top: ${coordinates.top}px;\n left: ${coordinates.left}px;\n right: ${coordinates.right}px;\n bottom: ${coordinates.bottom}px;\n position: absolute;\n display: block;`;\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n\n window.setTimeout(() => {\n let menuDimensions = {\n width: this.tribute.menu.offsetWidth,\n height: this.tribute.menu.offsetHeight\n };\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n let menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n let menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n this.tribute.menu.style.cssText = 'display: none';\n this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n\n get menuContainerIsBody() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n\n\n selectElement(targetElement, path, offset) {\n let range;\n let elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n if (elem === undefined) {\n return\n }\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n\n replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n let info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n let context = this.tribute.current;\n let replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent,\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n let myField = this.tribute.current.element;\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : ' ';\n text += textSuffix;\n let startPos = info.mentionPosition;\n let endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length - 1;\n }\n myField.value = myField.value.substring(0, startPos) + text +\n myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : '\\xA0';\n text += textSuffix;\n let endPos = info.mentionPosition + info.mentionText.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length;\n }\n this.pasteHtml(text, info.mentionPosition, endPos);\n }\n\n context.element.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n context.element.dispatchEvent(replaceEvent);\n }\n }\n\n pasteHtml(html, startPos, endPos) {\n let range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n\n let el = this.getDocument().createElement('div');\n el.innerHTML = html;\n let frag = this.getDocument().createDocumentFragment(),\n node, lastNode;\n while ((node = el.firstChild)) {\n lastNode = frag.appendChild(node);\n }\n range.insertNode(frag);\n\n // Preserve the selection\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n\n getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection()\n }\n\n return window.getSelection()\n }\n\n getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n let node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i\n }\n }\n }\n\n getContentEditableSelectedPath(ctx) {\n let sel = this.getWindowSelection();\n let selected = sel.anchorNode;\n let path = [];\n let offset;\n\n if (selected != null) {\n let i;\n let ce = selected.contentEditable;\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n path.reverse();\n\n // getRangeAt may not exist, need alternative\n offset = sel.getRangeAt(0).startOffset;\n\n return {\n selected: selected,\n path: path,\n offset: offset\n }\n }\n }\n\n getTextPrecedingCurrentSelection() {\n let context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n let textComponent = this.tribute.current.element;\n if (textComponent) {\n let startPos = textComponent.selectionStart;\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n\n } else {\n let selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n let workingNodeContent = selectedElem.textContent;\n let selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text\n }\n\n getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n let wordsArray = text.split(/\\s+/);\n let worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim()\n }\n\n getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n let ctx = this.tribute.current;\n let selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n let selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n let effectiveRange = this.getTextPrecedingCurrentSelection();\n let lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n }\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n let mostRecentTriggerCharPos = -1;\n let triggerChar;\n\n this.tribute.collection.forEach(config => {\n let c = config.trigger;\n let idx = config.requireLeadingSpace ?\n this.lastIndexWithLeadingSpace(effectiveRange, c) :\n effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 &&\n (\n mostRecentTriggerCharPos === 0 ||\n !requireLeadingSpace ||\n /[\\xA0\\s]/g.test(\n effectiveRange.substring(\n mostRecentTriggerCharPos - 1,\n mostRecentTriggerCharPos)\n )\n )\n ) {\n let currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + triggerChar.length,\n effectiveRange.length);\n\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + triggerChar.length);\n let firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n let leadingSpace = currentTriggerSnippet.length > 0 &&\n (\n firstSnippetChar === ' ' ||\n firstSnippetChar === '\\xA0'\n );\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n let regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !(regex.test(currentTriggerSnippet)))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n }\n }\n }\n }\n }\n\n lastIndexWithLeadingSpace (str, trigger) {\n let reversedStr = str.split('').reverse().join('');\n let index = -1;\n\n for (let cidx = 0, len = str.length; cidx < len; cidx++) {\n let firstChar = cidx === str.length - 1;\n let leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n\n let match = true;\n for (let triggerIdx = trigger.length - 1; triggerIdx >= 0; triggerIdx--) {\n if (trigger[triggerIdx] !== reversedStr[cidx-triggerIdx]) {\n match = false;\n break\n }\n }\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break\n }\n }\n\n return index\n }\n\n isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA'\n }\n\n isMenuOffScreen(coordinates, menuDimensions) {\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n let menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n let menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n let menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n }\n }\n\n getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n let dimensions = {\n width: null,\n height: null\n };\n\n this.tribute.menu.style.cssText = `top: 0px;\n left: 0px;\n position: fixed;\n display: block;\n visibility; hidden;`;\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n\n this.tribute.menu.style.cssText = `display: none;`;\n\n return dimensions\n }\n\n getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n let properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX',\n 'overflowY', 'borderTopWidth', 'borderRightWidth',\n 'borderBottomWidth', 'borderLeftWidth', 'paddingTop',\n 'paddingRight', 'paddingBottom', 'paddingLeft',\n 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch',\n 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily',\n 'textAlign', 'textTransform', 'textIndent',\n 'textDecoration', 'letterSpacing', 'wordSpacing'\n ];\n\n let isFirefox = (window.mozInnerScreenX !== null);\n\n let div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n\n let style = div.style;\n let computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n }\n\n // position off-screen\n style.position = 'absolute';\n style.visibility = 'hidden';\n\n // transfer the element's properties to the div\n properties.forEach(prop => {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = `${(parseInt(computed.width) - 2)}px`;\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n let span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n\n let rect = element.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let top = 0;\n let left = 0;\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n let coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates\n }\n\n getContentEditableCaretPosition(selectedNodePosition) {\n let range;\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n\n range.collapse(false);\n\n let rect = range.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let left = rect.left;\n let top = rect.top;\n\n let coordinates = {\n left: left + windowLeft,\n top: top + rect.height + windowTop\n };\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n if (!this.menuContainerIsBody) {\n coordinates.left = coordinates.left ? coordinates.left - this.tribute.menuContainer.offsetLeft : coordinates.left;\n coordinates.top = coordinates.top ? coordinates.top - this.tribute.menuContainer.offsetTop : coordinates.top;\n }\n\n return coordinates\n }\n\n scrollIntoView(elem) {\n let reasonableBuffer = 20,\n clientRect;\n let maxScrollDisplacement = 100;\n let e = this.menu;\n\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n if (e === undefined || !e.getBoundingClientRect) {\n return\n }\n }\n }\n\n let elemTop = clientRect.top;\n let elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n let maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n let targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n}\n\n// Thanks to https://github.com/mattyork/fuzzy\nclass TributeSearch {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n simpleFilter(pattern, array) {\n return array.filter(string => {\n return this.test(pattern, string)\n })\n }\n\n test(pattern, string) {\n return this.match(pattern, string) !== null\n }\n\n match(pattern, string, opts) {\n opts = opts || {};\n let len = string.length,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase();\n\n if (opts.skip) {\n return {rendered: string, score: 0}\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n\n let patternCache = this.traverse(compareString, pattern, 0, 0, []);\n if (!patternCache) {\n return null\n }\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n }\n }\n\n traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n }\n }\n\n // if string at end or remaining pattern > remaining string\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined\n }\n\n let c = pattern[patternIndex];\n let index = string.indexOf(c, stringIndex);\n let best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop();\n\n // if downstream traversal failed, return best answer so far\n if (!temp) {\n return best\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best\n }\n\n calculateScore(patternCache) {\n let score = 0;\n let temp = 1;\n\n patternCache.forEach((index, i) => {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n }\n else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n\n return score\n }\n\n render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n\n indices.forEach((index, i) => {\n rendered += pre + string[index] + post +\n string.substring(index + 1, (indices[i + 1]) ? indices[i + 1] : string.length);\n });\n\n return rendered\n }\n\n filter(pattern, arr, opts) {\n opts = opts || {};\n return arr\n .reduce((prev, element, idx, arr) => {\n let str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) { // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n let rendered = this.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev\n }, [])\n\n .sort((a, b) => {\n let compare = b.score - a.score;\n if (compare) return compare\n return a.index - b.index\n })\n }\n}\n\nclass Tribute {\n constructor({\n values = null,\n iframe = null,\n selectClass = \"highlight\",\n containerClass = \"tribute-container\",\n itemClass = \"\",\n trigger = \"@\",\n autocompleteMode = false,\n selectTemplate = null,\n menuItemTemplate = null,\n lookup = \"key\",\n fillAttr = \"value\",\n collection = null,\n menuContainer = null,\n noMatchTemplate = null,\n requireLeadingSpace = true,\n allowSpaces = false,\n replaceTextSuffix = null,\n positionMenu = true,\n spaceSelectsMatch = false,\n searchOpts = {},\n menuItemLimit = null,\n menuShowMinLength = 0\n }) {\n this.autocompleteMode = autocompleteMode;\n this.menuSelected = 0;\n this.current = {};\n this.inputEvent = false;\n this.isActive = false;\n this.menuContainer = menuContainer;\n this.allowSpaces = allowSpaces;\n this.replaceTextSuffix = replaceTextSuffix;\n this.positionMenu = positionMenu;\n this.hasTrailingSpace = false;\n this.spaceSelectsMatch = spaceSelectsMatch;\n\n if (this.autocompleteMode) {\n trigger = \"\";\n allowSpaces = false;\n }\n\n if (values) {\n this.collection = [\n {\n // symbol that starts the lookup\n trigger: trigger,\n\n // is it wrapped in an iframe\n iframe: iframe,\n\n // class applied to selected item\n selectClass: selectClass,\n\n // class applied to the Container\n containerClass: containerClass,\n\n // class applied to each item\n itemClass: itemClass,\n\n // function called on select that retuns the content to insert\n selectTemplate: (\n selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n\n // function called that returns content for an item\n menuItemTemplate: (\n menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n\n // column to search against in the object\n lookup: lookup,\n\n // column that contains the content to insert by default\n fillAttr: fillAttr,\n\n // array of objects or a function returning an array of objects\n values: values,\n\n requireLeadingSpace: requireLeadingSpace,\n\n searchOpts: searchOpts,\n\n menuItemLimit: menuItemLimit,\n\n menuShowMinLength: menuShowMinLength\n }\n ];\n } else if (collection) {\n if (this.autocompleteMode)\n console.warn(\n \"Tribute in autocomplete mode does not work for collections\"\n );\n this.collection = collection.map(item => {\n return {\n trigger: item.trigger || trigger,\n iframe: item.iframe || iframe,\n selectClass: item.selectClass || selectClass,\n containerClass: item.containerClass || containerClass,\n itemClass: item.itemClass || itemClass,\n selectTemplate: (\n item.selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n menuItemTemplate: (\n item.menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n lookup: item.lookup || lookup,\n fillAttr: item.fillAttr || fillAttr,\n values: item.values,\n requireLeadingSpace: item.requireLeadingSpace,\n searchOpts: item.searchOpts || searchOpts,\n menuItemLimit: item.menuItemLimit || menuItemLimit,\n menuShowMinLength: item.menuShowMinLength || menuShowMinLength\n };\n });\n } else {\n throw new Error(\"[Tribute] No collection specified.\");\n }\n\n new TributeRange(this);\n new TributeEvents(this);\n new TributeMenuEvents(this);\n new TributeSearch(this);\n }\n\n get isActive() {\n return this._isActive;\n }\n\n set isActive(val) {\n if (this._isActive != val) {\n this._isActive = val;\n if (this.current.element) {\n let noMatchEvent = new CustomEvent(`tribute-active-${val}`);\n this.current.element.dispatchEvent(noMatchEvent);\n }\n }\n }\n\n static defaultSelectTemplate(item) {\n if (typeof item === \"undefined\")\n return `${this.current.collection.trigger}${this.current.mentionText}`;\n if (this.range.isContentEditable(this.current.element)) {\n return (\n '<span class=\"tribute-mention\">' +\n (this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]) +\n \"</span>\"\n );\n }\n\n return (\n this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]\n );\n }\n\n static defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n\n static inputTypes() {\n return [\"TEXTAREA\", \"INPUT\"];\n }\n\n triggers() {\n return this.collection.map(config => {\n return config.trigger;\n });\n }\n\n attach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._attach(el[i]);\n }\n } else {\n this._attach(el);\n }\n }\n\n _attach(el) {\n if (el.hasAttribute(\"data-tribute\")) {\n console.warn(\"Tribute was already bound to \" + el.nodeName);\n }\n\n this.ensureEditable(el);\n this.events.bind(el);\n el.setAttribute(\"data-tribute\", true);\n }\n\n ensureEditable(element) {\n if (Tribute.inputTypes().indexOf(element.nodeName) === -1) {\n if (element.contentEditable) {\n element.contentEditable = true;\n } else {\n throw new Error(\"[Tribute] Cannot bind to \" + element.nodeName);\n }\n }\n }\n\n createMenu(containerClass) {\n let wrapper = this.range.getDocument().createElement(\"div\"),\n ul = this.range.getDocument().createElement(\"ul\");\n wrapper.className = containerClass;\n wrapper.appendChild(ul);\n\n if (this.menuContainer) {\n return this.menuContainer.appendChild(wrapper);\n }\n\n return this.range.getDocument().body.appendChild(wrapper);\n }\n\n showMenuFor(element, scrollTo) {\n // Only proceed if menu isn't already shown for the current element & mentionText\n if (\n this.isActive &&\n this.current.element === element &&\n this.current.mentionText === this.currentMentionTextSnapshot\n ) {\n return;\n }\n this.currentMentionTextSnapshot = this.current.mentionText;\n\n // create the menu if it doesn't exist.\n if (!this.menu) {\n this.menu = this.createMenu(this.current.collection.containerClass);\n element.tributeMenu = this.menu;\n this.menuEvents.bind(this.menu);\n }\n\n this.isActive = true;\n this.menuSelected = 0;\n\n if (!this.current.mentionText) {\n this.current.mentionText = \"\";\n }\n\n const processValues = values => {\n // Tribute may not be active any more by the time the value callback returns\n if (!this.isActive) {\n return;\n }\n\n let items = this.search.filter(this.current.mentionText, values, {\n pre: this.current.collection.searchOpts.pre || \"<span>\",\n post: this.current.collection.searchOpts.post || \"</span>\",\n skip: this.current.collection.searchOpts.skip,\n extract: el => {\n if (typeof this.current.collection.lookup === \"string\") {\n return el[this.current.collection.lookup];\n } else if (typeof this.current.collection.lookup === \"function\") {\n return this.current.collection.lookup(el, this.current.mentionText);\n } else {\n throw new Error(\n \"Invalid lookup attribute, lookup must be string or function.\"\n );\n }\n }\n });\n\n if (this.current.collection.menuItemLimit) {\n items = items.slice(0, this.current.collection.menuItemLimit);\n }\n\n this.current.filteredItems = items;\n\n let ul = this.menu.querySelector(\"ul\");\n\n this.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n let noMatchEvent = new CustomEvent(\"tribute-no-match\", {\n detail: this.menu\n });\n this.current.element.dispatchEvent(noMatchEvent);\n if (\n (typeof this.current.collection.noMatchTemplate === \"function\" &&\n !this.current.collection.noMatchTemplate()) ||\n !this.current.collection.noMatchTemplate\n ) {\n this.hideMenu();\n } else {\n typeof this.current.collection.noMatchTemplate === \"function\"\n ? (ul.innerHTML = this.current.collection.noMatchTemplate())\n : (ul.innerHTML = this.current.collection.noMatchTemplate);\n }\n\n return;\n }\n\n ul.innerHTML = \"\";\n let fragment = this.range.getDocument().createDocumentFragment();\n\n items.forEach((item, index) => {\n let li = this.range.getDocument().createElement(\"li\");\n li.setAttribute(\"data-index\", index);\n li.className = this.current.collection.itemClass;\n li.addEventListener(\"mousemove\", e => {\n let [li, index] = this._findLiTarget(e.target);\n if (e.movementY !== 0) {\n this.events.setActiveLi(index);\n }\n });\n if (this.menuSelected === index) {\n li.classList.add(this.current.collection.selectClass);\n }\n li.innerHTML = this.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === \"function\") {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n\n _findLiTarget(el) {\n if (!el) return [];\n const index = el.getAttribute(\"data-index\");\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n\n showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n\n if (element.isContentEditable)\n this.insertTextAtCursor(this.current.collection.trigger);\n else this.insertAtCaret(element, this.current.collection.trigger);\n\n this.showMenuFor(element);\n }\n\n // TODO: make sure this works for inputs/textareas\n placeCaretAtEnd(el) {\n el.focus();\n if (\n typeof window.getSelection != \"undefined\" &&\n typeof document.createRange != \"undefined\"\n ) {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n }\n\n // for contenteditable\n insertTextAtCursor(text) {\n var sel, range;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n\n // for regular inputs\n insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(\n textarea.selectionEnd,\n textarea.value.length\n );\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n\n hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = \"display: none;\";\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n\n selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== \"number\" || isNaN(index)) return;\n let item = this.current.filteredItems[index];\n let content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n\n replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n\n _append(collection, newValues, replace) {\n if (typeof collection.values === \"function\") {\n throw new Error(\"Unable to append to values, as it is a function.\");\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n\n append(collectionIndex, newValues, replace) {\n let index = parseInt(collectionIndex);\n if (typeof index !== \"number\")\n throw new Error(\"please provide an index for the collection to update.\");\n\n let collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n\n appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error(\n \"No active state. Please use append instead and pass an index.\"\n );\n }\n }\n\n detach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n\n _detach(el) {\n this.events.unbind(el);\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(() => {\n el.removeAttribute(\"data-tribute\");\n this.isActive = false;\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n}\n\n/**\n * Tribute.js\n * Native ES6 JavaScript @mention Plugin\n **/\n\nexport default Tribute;\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueColor=t():e.VueColor=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=60)}([function(e,t){function n(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];\"number\"==typeof o&&(r[o]=!0)}for(i=0;i<e.length;i++){var a=e[i];\"number\"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t,n){function r(e){for(var t=0;t<e.length;t++){var n=e[t],r=u[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(o(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i<n.parts.length;i++)a.push(o(n.parts[i]));u[n.id]={id:n.id,refs:1,parts:a}}}}function i(){var e=document.createElement(\"style\");return e.type=\"text/css\",f.appendChild(e),e}function o(e){var t,n,r=document.querySelector(\"style[\"+b+'~=\"'+e.id+'\"]');if(r){if(p)return v;r.parentNode.removeChild(r)}if(x){var o=h++;r=d||(d=i()),t=a.bind(null,r,o,!1),n=a.bind(null,r,o,!0)}else r=i(),t=s.bind(null,r),n=function(){r.parentNode.removeChild(r)};return t(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap)return;t(e=r)}else n()}}function a(e,t,n,r){var i=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=m(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function s(e,t){var n=t.css,r=t.media,i=t.sourceMap;if(r&&e.setAttribute(\"media\",r),g.ssrId&&e.setAttribute(b,t.id),i&&(n+=\"\\n/*# sourceURL=\"+i.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\"),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var c=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!c)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var l=n(64),u={},f=c&&(document.head||document.getElementsByTagName(\"head\")[0]),d=null,h=0,p=!1,v=function(){},g=null,b=\"data-vue-ssr-id\",x=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,n,i){p=n,g=i||{};var o=l(e,t);return r(o),function(t){for(var n=[],i=0;i<o.length;i++){var a=o[i],s=u[a.id];s.refs--,n.push(s)}t?(o=l(e,t),r(o)):o=[];for(var i=0;i<n.length;i++){var s=n[i];if(0===s.refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete u[s.id]}}}};var m=function(){var e=[];return function(t,n){return e[t]=n,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,n,r,i,o){var a,s=e=e||{},c=typeof e.default;\"object\"!==c&&\"function\"!==c||(a=e,s=e.default);var l=\"function\"==typeof s?s.options:s;t&&(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),i&&(l._scopeId=i);var u;if(o?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=u):r&&(u=r),u){var f=l.functional,d=f?l.render:l.beforeCreate;f?(l._injectStyles=u,l.render=function(e,t){return u.call(t),d(e,t)}):l.beforeCreate=d?[].concat(d,u):[u]}return{esModule:a,exports:s,options:l}}},function(e,t,n){\"use strict\";function r(e,t){var n,r=e&&e.a;!(n=e&&e.hsl?(0,o.default)(e.hsl):e&&e.hex&&e.hex.length>0?(0,o.default)(e.hex):e&&e.hsv?(0,o.default)(e.hsv):e&&e.rgba?(0,o.default)(e.rgba):e&&e.rgb?(0,o.default)(e.rgb):(0,o.default)(e))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=e.h||e.hsl&&e.hsl.h||t||0),{hsl:i,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:e.h||t||i.h,source:e.source,a:e.a||n.getAlpha()}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(65),o=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={props:[\"value\"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(e){this.val=e,this.$emit(\"input\",e)}}},watch:{value:function(e){this.val=r(e)}},methods:{colorChange:function(e,t){this.oldHue=this.colors.hsl.h,this.colors=r(e,t||this.oldHue)},isValidHex:function(e){return(0,o.default)(e).isValid()},simpleCheckForValidColor:function(e){for(var t=[\"r\",\"g\",\"b\",\"a\",\"h\",\"s\",\"l\",\"v\"],n=0,r=0,i=0;i<t.length;i++){var o=t[i];e[o]&&(n++,isNaN(e[o])||r++)}if(n===r)return e},paletteUpperCase:function(e){return e.map(function(e){return e.toUpperCase()})},isTransparent:function(e){return 0===(0,o.default)(e).getAlpha()}}}},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";function r(e){c||n(66)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(36),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(68),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/EditableInput.vue\",t.default=f.exports},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(8),i=n(18);e.exports=n(9)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(16),i=n(42),o=n(25),a=Object.defineProperty;t.f=n(9)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(17)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(90),i=n(24);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(29)(\"wks\"),i=n(19),o=n(4).Symbol,a=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)(\"Symbol.\"+e))}).store=r},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){\"use strict\";function r(e){c||n(111)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(51),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(113),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Hue.vue\",t.default=f.exports},function(e,t){e.exports=!0},function(e,t){var n=e.exports={version:\"2.6.11\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){var r=n(12);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){\"use strict\";function r(e){c||n(123)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(54),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(127),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Saturation.vue\",t.default=f.exports},function(e,t,n){\"use strict\";function r(e){c||n(128)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(55),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(133),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Alpha.vue\",t.default=f.exports},function(e,t,n){\"use strict\";function r(e){c||n(130)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(56),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(132),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Checkboard.vue\",t.default=f.exports},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on \"+e);return e}},function(e,t,n){var r=n(12);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t){e.exports={}},function(e,t,n){var r=n(46),i=n(30);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(29)(\"keys\"),i=n(19);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(15),i=n(4),o=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(14)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){var r=n(8).f,i=n(6),o=n(11)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){t.f=n(11)},function(e,t,n){var r=n(4),i=n(15),o=n(14),a=n(32),s=n(8).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=[\"#4D4D4D\",\"#999999\",\"#FFFFFF\",\"#F44E3B\",\"#FE9200\",\"#FCDC00\",\"#DBDF00\",\"#A4DD00\",\"#68CCCA\",\"#73D8FF\",\"#AEA1FF\",\"#FDA1FF\",\"#333333\",\"#808080\",\"#CCCCCC\",\"#D33115\",\"#E27300\",\"#FCC400\",\"#B0BC00\",\"#68BC00\",\"#16A5A5\",\"#009CE0\",\"#7B64FF\",\"#FA28FF\",\"#000000\",\"#666666\",\"#B3B3B3\",\"#9F0500\",\"#C45100\",\"#FB9E00\",\"#808900\",\"#194D33\",\"#0C797D\",\"#0062B1\",\"#653294\",\"#AB149E\"];t.default={name:\"Compact\",mixins:[o.default],props:{palette:{type:Array,default:function(){return c}}},components:{\"ed-in\":s.default},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"editableInput\",props:{label:String,labelText:String,desc:String,value:[String,Number],max:Number,min:Number,arrowOffset:{type:Number,default:1}},computed:{val:{get:function(){return this.value},set:function(e){if(!(void 0!==this.max&&+e>this.max))return e;this.$refs.input.value=this.max}},labelId:function(){return\"input__label__\"+this.label+\"__\"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(e){this.handleChange(e.target.value)},handleChange:function(e){var t={};t[this.label]=e,void 0===t.hex&&void 0===t[\"#\"]?this.$emit(\"change\",t):e.length>5&&this.$emit(\"change\",t)},handleKeyDown:function(e){var t=this.val,n=Number(t);if(n){var r=this.arrowOffset||1;38===e.keyCode&&(t=n+r,this.handleChange(t),e.preventDefault()),40===e.keyCode&&(t=n-r,this.handleChange(t),e.preventDefault())}}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=[\"#FFFFFF\",\"#F2F2F2\",\"#E6E6E6\",\"#D9D9D9\",\"#CCCCCC\",\"#BFBFBF\",\"#B3B3B3\",\"#A6A6A6\",\"#999999\",\"#8C8C8C\",\"#808080\",\"#737373\",\"#666666\",\"#595959\",\"#4D4D4D\",\"#404040\",\"#333333\",\"#262626\",\"#0D0D0D\",\"#000000\"];t.default={name:\"Grayscale\",mixins:[i.default],props:{palette:{type:Array,default:function(){return o}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(5),o=r(i),a=n(3),s=r(a);t.default={name:\"Material\",mixins:[s.default],components:{\"ed-in\":o.default},methods:{onChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(81),o=r(i),a=n(3),s=r(a),c=n(13),l=r(c);t.default={name:\"Slider\",mixins:[s.default],props:{swatches:{type:Array,default:function(){return[{s:.5,l:.8},{s:.5,l:.65},{s:.5,l:.5},{s:.5,l:.35},{s:.5,l:.2}]}}},components:{hue:l.default},computed:{normalizedSwatches:function(){return this.swatches.map(function(e){return\"object\"!==(void 0===e?\"undefined\":(0,o.default)(e))?{s:.5,l:e}:e})}},methods:{isActive:function(e,t){var n=this.colors.hsl;return 1===n.l&&1===e.l||(0===n.l&&0===e.l||Math.abs(n.l-e.l)<.01&&Math.abs(n.s-e.s)<.01)},hueChange:function(e){this.colorChange(e)},handleSwClick:function(e,t){this.colorChange({h:this.colors.hsl.h,s:t.s,l:t.l,source:\"hsl\"})}}}},function(e,t,n){\"use strict\";var r=n(14),i=n(41),o=n(44),a=n(7),s=n(26),c=n(88),l=n(31),u=n(95),f=n(11)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),h=function(){return this};e.exports=function(e,t,n,p,v,g,b){c(n,t,p);var x,m,_,w=function(e){if(!d&&e in F)return F[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},y=t+\" Iterator\",C=\"values\"==v,k=!1,F=e.prototype,S=F[f]||F[\"@@iterator\"]||v&&F[v],A=S||w(v),O=v?C?w(\"entries\"):A:void 0,E=\"Array\"==t?F.entries||S:S;if(E&&(_=u(E.call(new e)))!==Object.prototype&&_.next&&(l(_,y,!0),r||\"function\"==typeof _[f]||a(_,f,h)),C&&S&&\"values\"!==S.name&&(k=!0,A=function(){return S.call(this)}),r&&!b||!d&&!k&&F[f]||a(F,f,A),s[t]=A,s[y]=h,v)if(x={values:C?A:w(\"values\"),keys:g?A:w(\"keys\"),entries:O},b)for(m in x)m in F||o(F,m,x[m]);else i(i.P+i.F*(d||k),t,x);return x}},function(e,t,n){var r=n(4),i=n(15),o=n(86),a=n(7),s=n(6),c=function(e,t,n){var l,u,f,d=e&c.F,h=e&c.G,p=e&c.S,v=e&c.P,g=e&c.B,b=e&c.W,x=h?i:i[t]||(i[t]={}),m=x.prototype,_=h?r:p?r[t]:(r[t]||{}).prototype;h&&(n=t);for(l in n)(u=!d&&_&&void 0!==_[l])&&s(x,l)||(f=u?_[l]:n[l],x[l]=h&&\"function\"!=typeof _[l]?n[l]:g&&u?o(f,r):b&&_[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):v&&\"function\"==typeof f?o(Function.call,f):f,v&&((x.virtual||(x.virtual={}))[l]=f,e&c.R&&m&&!m[l]&&a(m,l,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){e.exports=!n(9)&&!n(17)(function(){return 7!=Object.defineProperty(n(43)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(12),i=n(4).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){e.exports=n(7)},function(e,t,n){var r=n(16),i=n(89),o=n(30),a=n(28)(\"IE_PROTO\"),s=function(){},c=function(){var e,t=n(43)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(94).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),c=e.F;r--;)delete c.prototype[o[r]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=c(),void 0===t?n:i(n,t)}},function(e,t,n){var r=n(6),i=n(10),o=n(91)(!1),a=n(28)(\"IE_PROTO\");e.exports=function(e,t){var n,s=i(e),c=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>c;)r(s,n=t[c++])&&(~o(l,n)||l.push(n));return l}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(24);e.exports=function(e){return Object(r(e))}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(46),i=n(30).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"Hue\",props:{value:Object,direction:{type:String,default:\"horizontal\"}},data:function(){return{oldHue:0,pullDirection:\"\"}},computed:{colors:function(){var e=this.value.hsl.h;return 0!==e&&e-this.oldHue>0&&(this.pullDirection=\"right\"),0!==e&&e-this.oldHue<0&&(this.pullDirection=\"left\"),this.oldHue=e,this.value},directionClass:function(){return{\"vc-hue--horizontal\":\"horizontal\"===this.direction,\"vc-hue--vertical\":\"vertical\"===this.direction}},pointerTop:function(){return\"vertical\"===this.direction?0===this.colors.hsl.h&&\"right\"===this.pullDirection?0:-100*this.colors.hsl.h/360+100+\"%\":0},pointerLeft:function(){return\"vertical\"===this.direction?0:0===this.colors.hsl.h&&\"right\"===this.pullDirection?\"100%\":100*this.colors.hsl.h/360+\"%\"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container;if(n){var r,i,o=n.clientWidth,a=n.clientHeight,s=n.getBoundingClientRect().left+window.pageXOffset,c=n.getBoundingClientRect().top+window.pageYOffset,l=e.pageX||(e.touches?e.touches[0].pageX:0),u=e.pageY||(e.touches?e.touches[0].pageY:0),f=l-s,d=u-c;\"vertical\"===this.direction?(d<0?r=360:d>a?r=0:(i=-100*d/a+100,r=360*i/100),this.colors.hsl.h!==r&&this.$emit(\"change\",{h:r,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:\"hsl\"})):(f<0?r=0:f>o?r=360:(i=100*f/o,r=360*i/100),this.colors.hsl.h!==r&&this.$emit(\"change\",{h:r,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:\"hsl\"}))}},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(118),o=r(i),a=n(3),s=r(a),c=[\"red\",\"pink\",\"purple\",\"deepPurple\",\"indigo\",\"blue\",\"lightBlue\",\"cyan\",\"teal\",\"green\",\"lightGreen\",\"lime\",\"yellow\",\"amber\",\"orange\",\"deepOrange\",\"brown\",\"blueGrey\",\"black\"],l=[\"900\",\"700\",\"500\",\"300\",\"100\"],u=function(){var e=[];return c.forEach(function(t){var n=[];\"black\"===t.toLowerCase()||\"white\"===t.toLowerCase()?n=n.concat([\"#000000\",\"#FFFFFF\"]):l.forEach(function(e){var r=o.default[t][e];n.push(r.toUpperCase())}),e.push(n)}),e}();t.default={name:\"Swatches\",mixins:[s.default],props:{palette:{type:Array,default:function(){return u}}},computed:{pick:function(){return this.colors.hex}},methods:{equal:function(e){return e.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=n(20),l=r(c),u=n(13),f=r(u),d=n(21),h=r(d);t.default={name:\"Photoshop\",mixins:[o.default],props:{head:{type:String,default:\"Color Picker\"},disableFields:{type:Boolean,default:!1},hasResetButton:{type:Boolean,default:!1},acceptLabel:{type:String,default:\"OK\"},cancelLabel:{type:String,default:\"Cancel\"},resetLabel:{type:String,default:\"Reset\"},newLabel:{type:String,default:\"new\"},currentLabel:{type:String,default:\"current\"}},components:{saturation:l.default,hue:f.default,alpha:h.default,\"ed-in\":s.default},data:function(){return{currentColor:\"#FFF\"}},computed:{hsv:function(){var e=this.colors.hsv;return{h:e.h.toFixed(),s:(100*e.s).toFixed(),v:(100*e.v).toFixed()}},hex:function(){var e=this.colors.hex;return e&&e.replace(\"#\",\"\")}},created:function(){this.currentColor=this.colors.hex},methods:{childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e[\"#\"]?this.isValidHex(e[\"#\"])&&this.colorChange({hex:e[\"#\"],source:\"hex\"}):e.r||e.g||e.b||e.a?this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}):(e.h||e.s||e.v)&&this.colorChange({h:e.h||this.colors.hsv.h,s:e.s/100||this.colors.hsv.s,v:e.v/100||this.colors.hsv.v,source:\"hsv\"}))},clickCurrentColor:function(){this.colorChange({hex:this.currentColor,source:\"hex\"})},handleAccept:function(){this.$emit(\"ok\")},handleCancel:function(){this.$emit(\"cancel\")},handleReset:function(){this.$emit(\"reset\")}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(125),o=r(i),a=n(126),s=r(a);t.default={name:\"Saturation\",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return\"hsl(\"+this.colors.hsv.h+\", 100%, 50%)\"},pointerTop:function(){return-100*this.colors.hsv.v+1+100+\"%\"},pointerLeft:function(){return 100*this.colors.hsv.s+\"%\"}},methods:{throttle:(0,s.default)(function(e,t){e(t)},20,{leading:!0,trailing:!1}),handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container;if(n){var r=n.clientWidth,i=n.clientHeight,a=n.getBoundingClientRect().left+window.pageXOffset,s=n.getBoundingClientRect().top+window.pageYOffset,c=e.pageX||(e.touches?e.touches[0].pageX:0),l=e.pageY||(e.touches?e.touches[0].pageY:0),u=(0,o.default)(c-a,0,r),f=(0,o.default)(l-s,0,i),d=u/r,h=(0,o.default)(-f/i+1,0,1);this.throttle(this.onChange,{h:this.colors.hsv.h,s:d,v:h,a:this.colors.hsv.a,source:\"hsva\"})}},onChange:function(e){this.$emit(\"change\",e)},handleMouseDown:function(e){window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(22),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default={name:\"Alpha\",props:{value:Object,onChange:Function},components:{checkboard:i.default},computed:{colors:function(){return this.value},gradientColor:function(){var e=this.colors.rgba,t=[e.r,e.g,e.b].join(\",\");return\"linear-gradient(to right, rgba(\"+t+\", 0) 0%, rgba(\"+t+\", 1) 100%)\"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container;if(n){var r,i=n.clientWidth,o=n.getBoundingClientRect().left+window.pageXOffset,a=e.pageX||(e.touches?e.touches[0].pageX:0),s=a-o;r=s<0?0:s>i?1:Math.round(100*s/i)/100,this.colors.a!==r&&this.$emit(\"change\",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:r,source:\"rgba\"})}},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,n){\"use strict\";function r(e,t,n){if(\"undefined\"==typeof document)return null;var r=document.createElement(\"canvas\");r.width=r.height=2*n;var i=r.getContext(\"2d\");return i?(i.fillStyle=e,i.fillRect(0,0,r.width,r.height),i.fillStyle=t,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),r.toDataURL()):null}function i(e,t,n){var i=e+\",\"+t+\",\"+n;if(o[i])return o[i];var a=r(e,t,n);return o[i]=a,a}Object.defineProperty(t,\"__esModule\",{value:!0});var o={};t.default={name:\"Checkboard\",props:{size:{type:[Number,String],default:8},white:{type:String,default:\"#fff\"},grey:{type:String,default:\"#e6e6e6\"}},computed:{bgStyle:function(){return{\"background-image\":\"url(\"+i(this.white,this.grey,this.size)+\")\"}}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=n(20),l=r(c),u=n(13),f=r(u),d=n(21),h=r(d),p=n(22),v=r(p),g=[\"#D0021B\",\"#F5A623\",\"#F8E71C\",\"#8B572A\",\"#7ED321\",\"#417505\",\"#BD10E0\",\"#9013FE\",\"#4A90E2\",\"#50E3C2\",\"#B8E986\",\"#000000\",\"#4A4A4A\",\"#9B9B9B\",\"#FFFFFF\",\"rgba(0,0,0,0)\"];t.default={name:\"Sketch\",mixins:[o.default],components:{saturation:l.default,hue:f.default,alpha:h.default,\"ed-in\":s.default,checkboard:v.default},props:{presetColors:{type:Array,default:function(){return g}},disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},computed:{hex:function(){var e=void 0;return e=this.colors.a<1?this.colors.hex8:this.colors.hex,e.replace(\"#\",\"\")},activeColor:function(){var e=this.colors.rgba;return\"rgba(\"+[e.r,e.g,e.b,e.a].join(\",\")+\")\"}},methods:{handlePreset:function(e){this.colorChange({hex:e,source:\"hex\"})},childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b||e.a)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=n(20),l=r(c),u=n(13),f=r(u),d=n(21),h=r(d),p=n(22),v=r(p);t.default={name:\"Chrome\",mixins:[o.default],props:{disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},components:{saturation:l.default,hue:f.default,alpha:h.default,\"ed-in\":s.default,checkboard:v.default},data:function(){return{fieldsIndex:0,highlight:!1}},computed:{hsl:function(){var e=this.colors.hsl,t=e.h,n=e.s,r=e.l;return{h:t.toFixed(),s:(100*n).toFixed()+\"%\",l:(100*r).toFixed()+\"%\"}},activeColor:function(){var e=this.colors.rgba;return\"rgba(\"+[e.r,e.g,e.b,e.a].join(\",\")+\")\"},hasAlpha:function(){return this.colors.a<1}},methods:{childChange:function(e){this.colorChange(e)},inputChange:function(e){if(e)if(e.hex)this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"});else if(e.r||e.g||e.b||e.a)this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"});else if(e.h||e.s||e.l){var t=e.s?e.s.replace(\"%\",\"\")/100:this.colors.hsl.s,n=e.l?e.l.replace(\"%\",\"\")/100:this.colors.hsl.l;this.colorChange({h:e.h||this.colors.hsl.h,s:t,l:n,source:\"hsl\"})}},toggleViews:function(){if(this.fieldsIndex>=2)return void(this.fieldsIndex=0);this.fieldsIndex++},showHighlight:function(){this.highlight=!0},hideHighlight:function(){this.highlight=!1}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(5),o=r(i),a=n(3),s=r(a),c=[\"#FF6900\",\"#FCB900\",\"#7BDCB5\",\"#00D084\",\"#8ED1FC\",\"#0693E3\",\"#ABB8C3\",\"#EB144C\",\"#F78DA7\",\"#9900EF\"];t.default={name:\"Twitter\",mixins:[s.default],components:{editableInput:o.default},props:{width:{type:[String,Number],default:276},defaultColors:{type:Array,default:function(){return c}},triangle:{default:\"top-left\",validator:function(e){return[\"hide\",\"top-left\",\"top-right\"].includes(e)}}},computed:{hsv:function(){var e=this.colors.hsv;return{h:e.h.toFixed(),s:(100*e.s).toFixed(),v:(100*e.v).toFixed()}},hex:function(){var e=this.colors.hex;return e&&e.replace(\"#\",\"\")}},methods:{equal:function(e){return e.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})},inputChange:function(e){e&&(e[\"#\"]?this.isValidHex(e[\"#\"])&&this.colorChange({hex:e[\"#\"],source:\"hex\"}):e.r||e.g||e.b||e.a?this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}):(e.h||e.s||e.v)&&this.colorChange({h:e.h||this.colors.hsv.h,s:e.s/100||this.colors.hsv.s,v:e.v/100||this.colors.hsv.v,source:\"hsv\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}var i=n(61),o=r(i),a=n(70),s=r(a),c=n(74),l=r(c),u=n(78),f=r(u),d=n(115),h=r(d),p=n(120),v=r(p),g=n(135),b=r(g),x=n(139),m=r(x),_=n(143),w=r(_),y=n(21),C=r(y),k=n(22),F=r(k),S=n(5),A=r(S),O=n(13),E=r(O),M=n(20),j=r(M),L=n(3),P=r(L),R={version:\"2.8.1\",Compact:o.default,Grayscale:s.default,Twitter:w.default,Material:l.default,Slider:f.default,Swatches:h.default,Photoshop:v.default,Sketch:b.default,Chrome:m.default,Alpha:C.default,Checkboard:F.default,EditableInput:A.default,Hue:E.default,Saturation:j.default,ColorMixin:P.default};e.exports=R},function(e,t,n){\"use strict\";function r(e){c||n(62)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(35),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(69),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Compact.vue\",t.default=f.exports},function(e,t,n){var r=n(63);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"6ce8a5a8\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-compact {\\n padding-top: 5px;\\n padding-left: 5px;\\n width: 245px;\\n border-radius: 2px;\\n box-sizing: border-box;\\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\\n background-color: #fff;\\n}\\n.vc-compact-colors {\\n overflow: hidden;\\n padding: 0;\\n margin: 0;\\n}\\n.vc-compact-color-item {\\n list-style: none;\\n width: 15px;\\n height: 15px;\\n float: left;\\n margin-right: 5px;\\n margin-bottom: 5px;\\n position: relative;\\n cursor: pointer;\\n}\\n.vc-compact-color-item--white {\\n box-shadow: inset 0 0 0 1px #ddd;\\n}\\n.vc-compact-color-item--white .vc-compact-dot {\\n background: #000;\\n}\\n.vc-compact-dot {\\n position: absolute;\\n top: 5px;\\n right: 5px;\\n bottom: 5px;\\n left: 5px;\\n border-radius: 50%;\\n opacity: 1;\\n background: #fff;\\n}\\n\",\"\"])},function(e,t){e.exports=function(e,t){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i],a=o[0],s=o[1],c=o[2],l=o[3],u={id:e+\":\"+i,css:s,media:c,sourceMap:l};r[a]?r[a].parts.push(u):n.push(r[a]={id:a,parts:[u]})}return n}},function(e,t,n){var r;!function(i){function o(e,t){if(e=e||\"\",t=t||{},e instanceof o)return e;if(!(this instanceof o))return new o(e,t);var n=a(e);this._originalInput=e,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=G(100*this._a)/100,this._format=t.format||n.format,this._gradientType=t.gradientType,this._r<1&&(this._r=G(this._r)),this._g<1&&(this._g=G(this._g)),this._b<1&&(this._b=G(this._b)),this._ok=n.ok,this._tc_id=U++}function a(e){var t={r:0,g:0,b:0},n=1,r=null,i=null,o=null,a=!1,c=!1;return\"string\"==typeof e&&(e=N(e)),\"object\"==typeof e&&(H(e.r)&&H(e.g)&&H(e.b)?(t=s(e.r,e.g,e.b),a=!0,c=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):H(e.h)&&H(e.s)&&H(e.v)?(r=D(e.s),i=D(e.v),t=f(e.h,r,i),a=!0,c=\"hsv\"):H(e.h)&&H(e.s)&&H(e.l)&&(r=D(e.s),o=D(e.l),t=l(e.h,r,o),a=!0,c=\"hsl\"),e.hasOwnProperty(\"a\")&&(n=e.a)),n=O(n),{ok:a,format:e.format||c,r:V(255,q(t.r,0)),g:V(255,q(t.g,0)),b:V(255,q(t.b,0)),a:n}}function s(e,t,n){return{r:255*E(e,255),g:255*E(t,255),b:255*E(n,255)}}function c(e,t,n){e=E(e,255),t=E(t,255),n=E(n,255);var r,i,o=q(e,t,n),a=V(e,t,n),s=(o+a)/2;if(o==a)r=i=0;else{var c=o-a;switch(i=s>.5?c/(2-o-a):c/(o+a),o){case e:r=(t-n)/c+(t<n?6:0);break;case t:r=(n-e)/c+2;break;case n:r=(e-t)/c+4}r/=6}return{h:r,s:i,l:s}}function l(e,t,n){function r(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var i,o,a;if(e=E(e,360),t=E(t,100),n=E(n,100),0===t)i=o=a=n;else{var s=n<.5?n*(1+t):n+t-n*t,c=2*n-s;i=r(c,s,e+1/3),o=r(c,s,e),a=r(c,s,e-1/3)}return{r:255*i,g:255*o,b:255*a}}function u(e,t,n){e=E(e,255),t=E(t,255),n=E(n,255);var r,i,o=q(e,t,n),a=V(e,t,n),s=o,c=o-a;if(i=0===o?0:c/o,o==a)r=0;else{switch(o){case e:r=(t-n)/c+(t<n?6:0);break;case t:r=(n-e)/c+2;break;case n:r=(e-t)/c+4}r/=6}return{h:r,s:i,v:s}}function f(e,t,n){e=6*E(e,360),t=E(t,100),n=E(n,100);var r=i.floor(e),o=e-r,a=n*(1-t),s=n*(1-o*t),c=n*(1-(1-o)*t),l=r%6;return{r:255*[n,s,a,a,c,n][l],g:255*[c,n,n,s,a,a][l],b:255*[a,a,c,n,n,s][l]}}function d(e,t,n,r){var i=[R(G(e).toString(16)),R(G(t).toString(16)),R(G(n).toString(16))];return r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function h(e,t,n,r,i){var o=[R(G(e).toString(16)),R(G(t).toString(16)),R(G(n).toString(16)),R(B(r))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join(\"\")}function p(e,t,n,r){return[R(B(r)),R(G(e).toString(16)),R(G(t).toString(16)),R(G(n).toString(16))].join(\"\")}function v(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.s-=t/100,n.s=M(n.s),o(n)}function g(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.s+=t/100,n.s=M(n.s),o(n)}function b(e){return o(e).desaturate(100)}function x(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.l+=t/100,n.l=M(n.l),o(n)}function m(e,t){t=0===t?0:t||10;var n=o(e).toRgb();return n.r=q(0,V(255,n.r-G(-t/100*255))),n.g=q(0,V(255,n.g-G(-t/100*255))),n.b=q(0,V(255,n.b-G(-t/100*255))),o(n)}function _(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.l-=t/100,n.l=M(n.l),o(n)}function w(e,t){var n=o(e).toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,o(n)}function y(e){var t=o(e).toHsl();return t.h=(t.h+180)%360,o(t)}function C(e){var t=o(e).toHsl(),n=t.h;return[o(e),o({h:(n+120)%360,s:t.s,l:t.l}),o({h:(n+240)%360,s:t.s,l:t.l})]}function k(e){var t=o(e).toHsl(),n=t.h;return[o(e),o({h:(n+90)%360,s:t.s,l:t.l}),o({h:(n+180)%360,s:t.s,l:t.l}),o({h:(n+270)%360,s:t.s,l:t.l})]}function F(e){var t=o(e).toHsl(),n=t.h;return[o(e),o({h:(n+72)%360,s:t.s,l:t.l}),o({h:(n+216)%360,s:t.s,l:t.l})]}function S(e,t,n){t=t||6,n=n||30;var r=o(e).toHsl(),i=360/n,a=[o(e)];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,a.push(o(r));return a}function A(e,t){t=t||6;for(var n=o(e).toHsv(),r=n.h,i=n.s,a=n.v,s=[],c=1/t;t--;)s.push(o({h:r,s:i,v:a})),a=(a+c)%1;return s}function O(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function E(e,t){L(e)&&(e=\"100%\");var n=P(e);return e=V(t,q(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),i.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function M(e){return V(1,q(0,e))}function j(e){return parseInt(e,16)}function L(e){return\"string\"==typeof e&&-1!=e.indexOf(\".\")&&1===parseFloat(e)}function P(e){return\"string\"==typeof e&&-1!=e.indexOf(\"%\")}function R(e){return 1==e.length?\"0\"+e:\"\"+e}function D(e){return e<=1&&(e=100*e+\"%\"),e}function B(e){return i.round(255*parseFloat(e)).toString(16)}function T(e){return j(e)/255}function H(e){return!!J.CSS_UNIT.exec(e)}function N(e){e=e.replace(I,\"\").replace($,\"\").toLowerCase();var t=!1;if(W[e])e=W[e],t=!0;else if(\"transparent\"==e)return{r:0,g:0,b:0,a:0,format:\"name\"};var n;return(n=J.rgb.exec(e))?{r:n[1],g:n[2],b:n[3]}:(n=J.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=J.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=J.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=J.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=J.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=J.hex8.exec(e))?{r:j(n[1]),g:j(n[2]),b:j(n[3]),a:T(n[4]),format:t?\"name\":\"hex8\"}:(n=J.hex6.exec(e))?{r:j(n[1]),g:j(n[2]),b:j(n[3]),format:t?\"name\":\"hex\"}:(n=J.hex4.exec(e))?{r:j(n[1]+\"\"+n[1]),g:j(n[2]+\"\"+n[2]),b:j(n[3]+\"\"+n[3]),a:T(n[4]+\"\"+n[4]),format:t?\"name\":\"hex8\"}:!!(n=J.hex3.exec(e))&&{r:j(n[1]+\"\"+n[1]),g:j(n[2]+\"\"+n[2]),b:j(n[3]+\"\"+n[3]),format:t?\"name\":\"hex\"}}function z(e){var t,n;return e=e||{level:\"AA\",size:\"small\"},t=(e.level||\"AA\").toUpperCase(),n=(e.size||\"small\").toLowerCase(),\"AA\"!==t&&\"AAA\"!==t&&(t=\"AA\"),\"small\"!==n&&\"large\"!==n&&(n=\"small\"),{level:t,size:n}}var I=/^\\s+/,$=/\\s+$/,U=0,G=i.round,V=i.min,q=i.max,X=i.random;o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,n,r,o,a,s=this.toRgb();return e=s.r/255,t=s.g/255,n=s.b/255,r=e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4),o=t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4),a=n<=.03928?n/12.92:i.pow((n+.055)/1.055,2.4),.2126*r+.7152*o+.0722*a},setAlpha:function(e){return this._a=O(e),this._roundA=G(100*this._a)/100,this},toHsv:function(){var e=u(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=u(this._r,this._g,this._b),t=G(360*e.h),n=G(100*e.s),r=G(100*e.v);return 1==this._a?\"hsv(\"+t+\", \"+n+\"%, \"+r+\"%)\":\"hsva(\"+t+\", \"+n+\"%, \"+r+\"%, \"+this._roundA+\")\"},toHsl:function(){var e=c(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=c(this._r,this._g,this._b),t=G(360*e.h),n=G(100*e.s),r=G(100*e.l);return 1==this._a?\"hsl(\"+t+\", \"+n+\"%, \"+r+\"%)\":\"hsla(\"+t+\", \"+n+\"%, \"+r+\"%, \"+this._roundA+\")\"},toHex:function(e){return d(this._r,this._g,this._b,e)},toHexString:function(e){return\"#\"+this.toHex(e)},toHex8:function(e){return h(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return\"#\"+this.toHex8(e)},toRgb:function(){return{r:G(this._r),g:G(this._g),b:G(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+G(this._r)+\", \"+G(this._g)+\", \"+G(this._b)+\")\":\"rgba(\"+G(this._r)+\", \"+G(this._g)+\", \"+G(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:G(100*E(this._r,255))+\"%\",g:G(100*E(this._g,255))+\"%\",b:G(100*E(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+G(100*E(this._r,255))+\"%, \"+G(100*E(this._g,255))+\"%, \"+G(100*E(this._b,255))+\"%)\":\"rgba(\"+G(100*E(this._r,255))+\"%, \"+G(100*E(this._g,255))+\"%, \"+G(100*E(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(Y[d(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t=\"#\"+p(this._r,this._g,this._b,this._a),n=t,r=this._gradientType?\"GradientType = 1, \":\"\";if(e){var i=o(e);n=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+r+\"startColorstr=\"+t+\",endColorstr=\"+n+\")\"},toString:function(e){var t=!!e;e=e||this._format;var n=!1,r=this._a<1&&this._a>=0;return t||!r||\"hex\"!==e&&\"hex6\"!==e&&\"hex3\"!==e&&\"hex4\"!==e&&\"hex8\"!==e&&\"name\"!==e?(\"rgb\"===e&&(n=this.toRgbString()),\"prgb\"===e&&(n=this.toPercentageRgbString()),\"hex\"!==e&&\"hex6\"!==e||(n=this.toHexString()),\"hex3\"===e&&(n=this.toHexString(!0)),\"hex4\"===e&&(n=this.toHex8String(!0)),\"hex8\"===e&&(n=this.toHex8String()),\"name\"===e&&(n=this.toName()),\"hsl\"===e&&(n=this.toHslString()),\"hsv\"===e&&(n=this.toHsvString()),n||this.toHexString()):\"name\"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return o(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(x,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(_,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(b,arguments)},spin:function(){return this._applyModification(w,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(S,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},o.fromRatio=function(e,t){if(\"object\"==typeof e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=\"a\"===r?e[r]:D(e[r]));e=n}return o(e,t)},o.equals=function(e,t){return!(!e||!t)&&o(e).toRgbString()==o(t).toRgbString()},o.random=function(){return o.fromRatio({r:X(),g:X(),b:X()})},o.mix=function(e,t,n){n=0===n?0:n||50;var r=o(e).toRgb(),i=o(t).toRgb(),a=n/100;return o({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},o.readability=function(e,t){var n=o(e),r=o(t);return(i.max(n.getLuminance(),r.getLuminance())+.05)/(i.min(n.getLuminance(),r.getLuminance())+.05)},o.isReadable=function(e,t,n){var r,i,a=o.readability(e,t);switch(i=!1,r=z(n),r.level+r.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},o.mostReadable=function(e,t,n){var r,i,a,s,c=null,l=0;n=n||{},i=n.includeFallbackColors,a=n.level,s=n.size;for(var u=0;u<t.length;u++)(r=o.readability(e,t[u]))>l&&(l=r,c=o(t[u]));return o.isReadable(e,c,{level:a,size:s})||!i?c:(n.includeFallbackColors=!1,o.mostReadable(e,[\"#fff\",\"#000\"],n))};var W=o.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},Y=o.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(W),J=function(){var e=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\",t=\"[\\\\s|\\\\(]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")\\\\s*\\\\)?\",n=\"[\\\\s|\\\\(]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(e),rgb:new RegExp(\"rgb\"+t),rgba:new RegExp(\"rgba\"+n),hsl:new RegExp(\"hsl\"+t),hsla:new RegExp(\"hsla\"+n),hsv:new RegExp(\"hsv\"+t),hsva:new RegExp(\"hsva\"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();void 0!==e&&e.exports?e.exports=o:void 0!==(r=function(){return o}.call(t,n,t,e))&&(e.exports=r)}(Math)},function(e,t,n){var r=n(67);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"0f73e73c\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-editable-input {\\n position: relative;\\n}\\n.vc-input__input {\\n padding: 0;\\n border: 0;\\n outline: none;\\n}\\n.vc-input__label {\\n text-transform: capitalize;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-editable-input\"},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.val,expression:\"val\"}],ref:\"input\",staticClass:\"vc-input__input\",attrs:{\"aria-labelledby\":e.labelId},domProps:{value:e.val},on:{keydown:e.handleKeyDown,input:[function(t){t.target.composing||(e.val=t.target.value)},e.update]}}),e._v(\" \"),n(\"span\",{staticClass:\"vc-input__label\",attrs:{for:e.label,id:e.labelId}},[e._v(e._s(e.labelSpanText))]),e._v(\" \"),n(\"span\",{staticClass:\"vc-input__desc\"},[e._v(e._s(e.desc))])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-compact\",attrs:{role:\"application\",\"aria-label\":\"Compact color picker\"}},[n(\"ul\",{staticClass:\"vc-compact-colors\",attrs:{role:\"listbox\"}},e._l(e.paletteUpperCase(e.palette),function(t){return n(\"li\",{key:t,staticClass:\"vc-compact-color-item\",class:{\"vc-compact-color-item--white\":\"#FFFFFF\"===t},style:{background:t},attrs:{role:\"option\",\"aria-label\":\"color:\"+t,\"aria-selected\":t===e.pick},on:{click:function(n){return e.handlerClick(t)}}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t===e.pick,expression:\"c === pick\"}],staticClass:\"vc-compact-dot\"})])}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(71)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(37),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(73),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Grayscale.vue\",t.default=f.exports},function(e,t,n){var r=n(72);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"21ddbb74\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-grayscale {\\n width: 125px;\\n border-radius: 2px;\\n box-shadow: 0 2px 15px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.16);\\n background-color: #fff;\\n}\\n.vc-grayscale-colors {\\n border-radius: 2px;\\n overflow: hidden;\\n padding: 0;\\n margin: 0;\\n}\\n.vc-grayscale-color-item {\\n list-style: none;\\n width: 25px;\\n height: 25px;\\n float: left;\\n position: relative;\\n cursor: pointer;\\n}\\n.vc-grayscale-color-item--white .vc-grayscale-dot {\\n background: #000;\\n}\\n.vc-grayscale-dot {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 6px;\\n height: 6px;\\n margin: -3px 0 0 -2px;\\n border-radius: 50%;\\n opacity: 1;\\n background: #fff;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-grayscale\",attrs:{role:\"application\",\"aria-label\":\"Grayscale color picker\"}},[n(\"ul\",{staticClass:\"vc-grayscale-colors\",attrs:{role:\"listbox\"}},e._l(e.paletteUpperCase(e.palette),function(t){return n(\"li\",{key:t,staticClass:\"vc-grayscale-color-item\",class:{\"vc-grayscale-color-item--white\":\"#FFFFFF\"==t},style:{background:t},attrs:{role:\"option\",\"aria-label\":\"Color:\"+t,\"aria-selected\":t===e.pick},on:{click:function(n){return e.handlerClick(t)}}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t===e.pick,expression:\"c === pick\"}],staticClass:\"vc-grayscale-dot\"})])}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(75)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(38),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(77),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Material.vue\",t.default=f.exports},function(e,t,n){var r=n(76);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"1ff3af73\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,'\\n.vc-material {\\n width: 98px;\\n height: 98px;\\n padding: 16px;\\n font-family: \"Roboto\";\\n position: relative;\\n border-radius: 2px;\\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\\n background-color: #fff;\\n}\\n.vc-material .vc-input__input {\\n width: 100%;\\n margin-top: 12px;\\n font-size: 15px;\\n color: #333;\\n height: 30px;\\n}\\n.vc-material .vc-input__label {\\n position: absolute;\\n top: 0;\\n left: 0;\\n font-size: 11px;\\n color: #999;\\n text-transform: capitalize;\\n}\\n.vc-material-hex {\\n border-bottom-width: 2px;\\n border-bottom-style: solid;\\n}\\n.vc-material-split {\\n display: flex;\\n margin-right: -10px;\\n padding-top: 11px;\\n}\\n.vc-material-third {\\n flex: 1;\\n padding-right: 10px;\\n}\\n',\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-material\",attrs:{role:\"application\",\"aria-label\":\"Material color picker\"}},[n(\"ed-in\",{staticClass:\"vc-material-hex\",style:{borderColor:e.colors.hex},attrs:{label:\"hex\"},on:{change:e.onChange},model:{value:e.colors.hex,callback:function(t){e.$set(e.colors,\"hex\",t)},expression:\"colors.hex\"}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-material-split\"},[n(\"div\",{staticClass:\"vc-material-third\"},[n(\"ed-in\",{attrs:{label:\"r\"},on:{change:e.onChange},model:{value:e.colors.rgba.r,callback:function(t){e.$set(e.colors.rgba,\"r\",t)},expression:\"colors.rgba.r\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-material-third\"},[n(\"ed-in\",{attrs:{label:\"g\"},on:{change:e.onChange},model:{value:e.colors.rgba.g,callback:function(t){e.$set(e.colors.rgba,\"g\",t)},expression:\"colors.rgba.g\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-material-third\"},[n(\"ed-in\",{attrs:{label:\"b\"},on:{change:e.onChange},model:{value:e.colors.rgba.b,callback:function(t){e.$set(e.colors.rgba,\"b\",t)},expression:\"colors.rgba.b\"}})],1)])],1)},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(79)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(39),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(114),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Slider.vue\",t.default=f.exports},function(e,t,n){var r=n(80);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"7982aa43\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-slider {\\n position: relative;\\n width: 410px;\\n}\\n.vc-slider-hue-warp {\\n height: 12px;\\n position: relative;\\n}\\n.vc-slider-hue-warp .vc-hue-picker {\\n width: 14px;\\n height: 14px;\\n border-radius: 6px;\\n transform: translate(-7px, -2px);\\n background-color: rgb(248, 248, 248);\\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\\n}\\n.vc-slider-swatches {\\n display: flex;\\n margin-top: 20px;\\n}\\n.vc-slider-swatch {\\n margin-right: 1px;\\n flex: 1;\\n width: 20%;\\n}\\n.vc-slider-swatch:first-child {\\n margin-right: 1px;\\n}\\n.vc-slider-swatch:first-child .vc-slider-swatch-picker {\\n border-radius: 2px 0px 0px 2px;\\n}\\n.vc-slider-swatch:last-child {\\n margin-right: 0;\\n}\\n.vc-slider-swatch:last-child .vc-slider-swatch-picker {\\n border-radius: 0px 2px 2px 0px;\\n}\\n.vc-slider-swatch-picker {\\n cursor: pointer;\\n height: 12px;\\n}\\n.vc-slider-swatch:nth-child(n) .vc-slider-swatch-picker.vc-slider-swatch-picker--active {\\n transform: scaleY(1.8);\\n border-radius: 3.6px/2px;\\n}\\n.vc-slider-swatch-picker--white {\\n box-shadow: inset 0 0 0 1px #ddd;\\n}\\n.vc-slider-swatch-picker--active.vc-slider-swatch-picker--white {\\n box-shadow: inset 0 0 0 0.6px #ddd;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(82),o=r(i),a=n(100),s=r(a),c=\"function\"==typeof s.default&&\"symbol\"==typeof o.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof s.default&&\"symbol\"===c(o.default)?function(e){return void 0===e?\"undefined\":c(e)}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":void 0===e?\"undefined\":c(e)}},function(e,t,n){e.exports={default:n(83),__esModule:!0}},function(e,t,n){n(84),n(96),e.exports=n(32).f(\"iterator\")},function(e,t,n){\"use strict\";var r=n(85)(!0);n(40)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(23),i=n(24);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),c=r(n),l=s.length;return c<0||c>=l?e?\"\":void 0:(o=s.charCodeAt(c),o<55296||o>56319||c+1===l||(a=s.charCodeAt(c+1))<56320||a>57343?e?s.charAt(c):o:e?s.slice(c,c+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r=n(87);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){\"use strict\";var r=n(45),i=n(18),o=n(31),a={};n(7)(a,n(11)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(8),i=n(16),o=n(27);e.exports=n(9)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,c=0;s>c;)r.f(e,n=a[c++],t[n]);return e}},function(e,t,n){var r=n(47);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(10),i=n(92),o=n(93);e.exports=function(e){return function(t,n,a){var s,c=r(t),l=i(c.length),u=o(a,l);if(e&&n!=n){for(;l>u;)if((s=c[u++])!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(23),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(23),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(4).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(6),i=n(48),o=n(28)(\"IE_PROTO\"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){n(97);for(var r=n(4),i=n(7),o=n(26),a=n(11)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),c=0;c<s.length;c++){var l=s[c],u=r[l],f=u&&u.prototype;f&&!f[a]&&i(f,a,l),o[l]=o.Array}},function(e,t,n){\"use strict\";var r=n(98),i=n(99),o=n(26),a=n(10);e.exports=n(40)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):\"keys\"==t?i(0,n):\"values\"==t?i(0,e[n]):i(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(101),__esModule:!0}},function(e,t,n){n(102),n(108),n(109),n(110),e.exports=n(15).Symbol},function(e,t,n){\"use strict\";var r=n(4),i=n(6),o=n(9),a=n(41),s=n(44),c=n(103).KEY,l=n(17),u=n(29),f=n(31),d=n(19),h=n(11),p=n(32),v=n(33),g=n(104),b=n(105),x=n(16),m=n(12),_=n(48),w=n(10),y=n(25),C=n(18),k=n(45),F=n(106),S=n(107),A=n(49),O=n(8),E=n(27),M=S.f,j=O.f,L=F.f,P=r.Symbol,R=r.JSON,D=R&&R.stringify,B=h(\"_hidden\"),T=h(\"toPrimitive\"),H={}.propertyIsEnumerable,N=u(\"symbol-registry\"),z=u(\"symbols\"),I=u(\"op-symbols\"),$=Object.prototype,U=\"function\"==typeof P&&!!A.f,G=r.QObject,V=!G||!G.prototype||!G.prototype.findChild,q=o&&l(function(){return 7!=k(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=M($,t);r&&delete $[t],j(e,t,n),r&&e!==$&&j($,t,r)}:j,X=function(e){var t=z[e]=k(P.prototype);return t._k=e,t},W=U&&\"symbol\"==typeof P.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof P},Y=function(e,t,n){return e===$&&Y(I,t,n),x(e),t=y(t,!0),x(n),i(z,t)?(n.enumerable?(i(e,B)&&e[B][t]&&(e[B][t]=!1),n=k(n,{enumerable:C(0,!1)})):(i(e,B)||j(e,B,C(1,{})),e[B][t]=!0),q(e,t,n)):j(e,t,n)},J=function(e,t){x(e);for(var n,r=g(t=w(t)),i=0,o=r.length;o>i;)Y(e,n=r[i++],t[n]);return e},K=function(e,t){return void 0===t?k(e):J(k(e),t)},Z=function(e){var t=H.call(this,e=y(e,!0));return!(this===$&&i(z,e)&&!i(I,e))&&(!(t||!i(this,e)||!i(z,e)||i(this,B)&&this[B][e])||t)},Q=function(e,t){if(e=w(e),t=y(t,!0),e!==$||!i(z,t)||i(I,t)){var n=M(e,t);return!n||!i(z,t)||i(e,B)&&e[B][t]||(n.enumerable=!0),n}},ee=function(e){for(var t,n=L(w(e)),r=[],o=0;n.length>o;)i(z,t=n[o++])||t==B||t==c||r.push(t);return r},te=function(e){for(var t,n=e===$,r=L(n?I:w(e)),o=[],a=0;r.length>a;)!i(z,t=r[a++])||n&&!i($,t)||o.push(z[t]);return o};U||(P=function(){if(this instanceof P)throw TypeError(\"Symbol is not a constructor!\");var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===$&&t.call(I,n),i(this,B)&&i(this[B],e)&&(this[B][e]=!1),q(this,e,C(1,n))};return o&&V&&q($,e,{configurable:!0,set:t}),X(e)},s(P.prototype,\"toString\",function(){return this._k}),S.f=Q,O.f=Y,n(50).f=F.f=ee,n(34).f=Z,A.f=te,o&&!n(14)&&s($,\"propertyIsEnumerable\",Z,!0),p.f=function(e){return X(h(e))}),a(a.G+a.W+a.F*!U,{Symbol:P});for(var ne=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),re=0;ne.length>re;)h(ne[re++]);for(var ie=E(h.store),oe=0;ie.length>oe;)v(ie[oe++]);a(a.S+a.F*!U,\"Symbol\",{for:function(e){return i(N,e+=\"\")?N[e]:N[e]=P(e)},keyFor:function(e){if(!W(e))throw TypeError(e+\" is not a symbol!\");for(var t in N)if(N[t]===e)return t},useSetter:function(){V=!0},useSimple:function(){V=!1}}),a(a.S+a.F*!U,\"Object\",{create:K,defineProperty:Y,defineProperties:J,getOwnPropertyDescriptor:Q,getOwnPropertyNames:ee,getOwnPropertySymbols:te});var ae=l(function(){A.f(1)});a(a.S+a.F*ae,\"Object\",{getOwnPropertySymbols:function(e){return A.f(_(e))}}),R&&a(a.S+a.F*(!U||l(function(){var e=P();return\"[null]\"!=D([e])||\"{}\"!=D({a:e})||\"{}\"!=D(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(m(t)||void 0!==e)&&!W(e))return b(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!W(t))return t}),r[1]=t,D.apply(R,r)}}),P.prototype[T]||n(7)(P.prototype,T,P.prototype.valueOf),f(P,\"Symbol\"),f(Math,\"Math\",!0),f(r.JSON,\"JSON\",!0)},function(e,t,n){var r=n(19)(\"meta\"),i=n(12),o=n(6),a=n(8).f,s=0,c=Object.isExtensible||function(){return!0},l=!n(17)(function(){return c(Object.preventExtensions({}))}),u=function(e){a(e,r,{value:{i:\"O\"+ ++s,w:{}}})},f=function(e,t){if(!i(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!o(e,r)){if(!c(e))return\"F\";if(!t)return\"E\";u(e)}return e[r].i},d=function(e,t){if(!o(e,r)){if(!c(e))return!0;if(!t)return!1;u(e)}return e[r].w},h=function(e){return l&&p.NEED&&c(e)&&!o(e,r)&&u(e),e},p=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:h}},function(e,t,n){var r=n(27),i=n(49),o=n(34);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),c=o.f,l=0;s.length>l;)c.call(e,a=s[l++])&&t.push(a);return t}},function(e,t,n){var r=n(47);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t,n){var r=n(10),i=n(50).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&\"[object Window]\"==o.call(e)?s(e):i(r(e))}},function(e,t,n){var r=n(34),i=n(18),o=n(10),a=n(25),s=n(6),c=n(42),l=Object.getOwnPropertyDescriptor;t.f=n(9)?l:function(e,t){if(e=o(e),t=a(t,!0),c)try{return l(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t){},function(e,t,n){n(33)(\"asyncIterator\")},function(e,t,n){n(33)(\"observable\")},function(e,t,n){var r=n(112);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"7c5f1a1c\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-hue {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n border-radius: 2px;\\n}\\n.vc-hue--horizontal {\\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n}\\n.vc-hue--vertical {\\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n}\\n.vc-hue-container {\\n cursor: pointer;\\n margin: 0 2px;\\n position: relative;\\n height: 100%;\\n}\\n.vc-hue-pointer {\\n z-index: 2;\\n position: absolute;\\n}\\n.vc-hue-picker {\\n cursor: pointer;\\n margin-top: 1px;\\n width: 4px;\\n border-radius: 1px;\\n height: 8px;\\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\\n background: #fff;\\n transform: translateX(-2px) ;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-hue\",e.directionClass]},[n(\"div\",{ref:\"container\",staticClass:\"vc-hue-container\",attrs:{role:\"slider\",\"aria-valuenow\":e.colors.hsl.h,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"360\"},on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n(\"div\",{staticClass:\"vc-hue-pointer\",style:{top:e.pointerTop,left:e.pointerLeft},attrs:{role:\"presentation\"}},[n(\"div\",{staticClass:\"vc-hue-picker\"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-slider\",attrs:{role:\"application\",\"aria-label\":\"Slider color picker\"}},[n(\"div\",{staticClass:\"vc-slider-hue-warp\"},[n(\"hue\",{on:{change:e.hueChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-slider-swatches\",attrs:{role:\"group\"}},e._l(e.normalizedSwatches,function(t,r){return n(\"div\",{key:r,staticClass:\"vc-slider-swatch\",attrs:{\"data-index\":r,\"aria-label\":\"color:\"+e.colors.hex,role:\"button\"},on:{click:function(n){return e.handleSwClick(r,t)}}},[n(\"div\",{staticClass:\"vc-slider-swatch-picker\",class:{\"vc-slider-swatch-picker--active\":e.isActive(t,r),\"vc-slider-swatch-picker--white\":1===t.l},style:{background:\"hsl(\"+e.colors.hsl.h+\", \"+100*t.s+\"%, \"+100*t.l+\"%)\"}})])}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(116)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(52),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(119),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Swatches.vue\",t.default=f.exports},function(e,t,n){var r=n(117);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"10f839a2\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-swatches {\\n width: 320px;\\n height: 240px;\\n overflow-y: scroll;\\n background-color: #fff;\\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\\n}\\n.vc-swatches-box {\\n padding: 16px 0 6px 16px;\\n overflow: hidden;\\n}\\n.vc-swatches-color-group {\\n padding-bottom: 10px;\\n width: 40px;\\n float: left;\\n margin-right: 10px;\\n}\\n.vc-swatches-color-it {\\n box-sizing: border-box;\\n width: 40px;\\n height: 24px;\\n cursor: pointer;\\n background: #880e4f;\\n margin-bottom: 1px;\\n overflow: hidden;\\n -ms-border-radius: 2px 2px 0 0;\\n -moz-border-radius: 2px 2px 0 0;\\n -o-border-radius: 2px 2px 0 0;\\n -webkit-border-radius: 2px 2px 0 0;\\n border-radius: 2px 2px 0 0;\\n}\\n.vc-swatches-color--white {\\n border: 1px solid #DDD;\\n}\\n.vc-swatches-pick {\\n fill: rgb(255, 255, 255);\\n margin-left: 8px;\\n display: block;\\n}\\n.vc-swatches-color--white .vc-swatches-pick {\\n fill: rgb(51, 51, 51);\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),n.d(t,\"red\",function(){return r}),n.d(t,\"pink\",function(){return i}),n.d(t,\"purple\",function(){return o}),n.d(t,\"deepPurple\",function(){return a}),n.d(t,\"indigo\",function(){return s}),n.d(t,\"blue\",function(){return c}),n.d(t,\"lightBlue\",function(){return l}),n.d(t,\"cyan\",function(){return u}),n.d(t,\"teal\",function(){return f}),n.d(t,\"green\",function(){return d}),n.d(t,\"lightGreen\",function(){return h}),n.d(t,\"lime\",function(){return p}),n.d(t,\"yellow\",function(){return v}),n.d(t,\"amber\",function(){return g}),n.d(t,\"orange\",function(){return b}),n.d(t,\"deepOrange\",function(){return x}),n.d(t,\"brown\",function(){return m}),n.d(t,\"grey\",function(){return _}),n.d(t,\"blueGrey\",function(){return w}),n.d(t,\"darkText\",function(){return y}),n.d(t,\"lightText\",function(){return C}),n.d(t,\"darkIcons\",function(){return k}),n.d(t,\"lightIcons\",function(){return F}),n.d(t,\"white\",function(){return S}),n.d(t,\"black\",function(){return A});var r={50:\"#ffebee\",100:\"#ffcdd2\",200:\"#ef9a9a\",300:\"#e57373\",400:\"#ef5350\",500:\"#f44336\",600:\"#e53935\",700:\"#d32f2f\",800:\"#c62828\",900:\"#b71c1c\",a100:\"#ff8a80\",a200:\"#ff5252\",a400:\"#ff1744\",a700:\"#d50000\"},i={50:\"#fce4ec\",100:\"#f8bbd0\",200:\"#f48fb1\",300:\"#f06292\",400:\"#ec407a\",500:\"#e91e63\",600:\"#d81b60\",700:\"#c2185b\",800:\"#ad1457\",900:\"#880e4f\",a100:\"#ff80ab\",a200:\"#ff4081\",a400:\"#f50057\",a700:\"#c51162\"},o={50:\"#f3e5f5\",100:\"#e1bee7\",200:\"#ce93d8\",300:\"#ba68c8\",400:\"#ab47bc\",500:\"#9c27b0\",600:\"#8e24aa\",700:\"#7b1fa2\",800:\"#6a1b9a\",900:\"#4a148c\",a100:\"#ea80fc\",a200:\"#e040fb\",a400:\"#d500f9\",a700:\"#aa00ff\"},a={50:\"#ede7f6\",100:\"#d1c4e9\",200:\"#b39ddb\",300:\"#9575cd\",400:\"#7e57c2\",500:\"#673ab7\",600:\"#5e35b1\",700:\"#512da8\",800:\"#4527a0\",900:\"#311b92\",a100:\"#b388ff\",a200:\"#7c4dff\",a400:\"#651fff\",a700:\"#6200ea\"},s={50:\"#e8eaf6\",100:\"#c5cae9\",200:\"#9fa8da\",300:\"#7986cb\",400:\"#5c6bc0\",500:\"#3f51b5\",600:\"#3949ab\",700:\"#303f9f\",800:\"#283593\",900:\"#1a237e\",a100:\"#8c9eff\",a200:\"#536dfe\",a400:\"#3d5afe\",a700:\"#304ffe\"},c={50:\"#e3f2fd\",100:\"#bbdefb\",200:\"#90caf9\",300:\"#64b5f6\",400:\"#42a5f5\",500:\"#2196f3\",600:\"#1e88e5\",700:\"#1976d2\",800:\"#1565c0\",900:\"#0d47a1\",a100:\"#82b1ff\",a200:\"#448aff\",a400:\"#2979ff\",a700:\"#2962ff\"},l={50:\"#e1f5fe\",100:\"#b3e5fc\",200:\"#81d4fa\",300:\"#4fc3f7\",400:\"#29b6f6\",500:\"#03a9f4\",600:\"#039be5\",700:\"#0288d1\",800:\"#0277bd\",900:\"#01579b\",a100:\"#80d8ff\",a200:\"#40c4ff\",a400:\"#00b0ff\",a700:\"#0091ea\"},u={50:\"#e0f7fa\",100:\"#b2ebf2\",200:\"#80deea\",300:\"#4dd0e1\",400:\"#26c6da\",500:\"#00bcd4\",600:\"#00acc1\",700:\"#0097a7\",800:\"#00838f\",900:\"#006064\",a100:\"#84ffff\",a200:\"#18ffff\",a400:\"#00e5ff\",a700:\"#00b8d4\"},f={50:\"#e0f2f1\",100:\"#b2dfdb\",200:\"#80cbc4\",300:\"#4db6ac\",400:\"#26a69a\",500:\"#009688\",600:\"#00897b\",700:\"#00796b\",800:\"#00695c\",900:\"#004d40\",a100:\"#a7ffeb\",a200:\"#64ffda\",a400:\"#1de9b6\",a700:\"#00bfa5\"},d={50:\"#e8f5e9\",100:\"#c8e6c9\",200:\"#a5d6a7\",300:\"#81c784\",400:\"#66bb6a\",500:\"#4caf50\",600:\"#43a047\",700:\"#388e3c\",800:\"#2e7d32\",900:\"#1b5e20\",a100:\"#b9f6ca\",a200:\"#69f0ae\",a400:\"#00e676\",a700:\"#00c853\"},h={50:\"#f1f8e9\",100:\"#dcedc8\",200:\"#c5e1a5\",300:\"#aed581\",400:\"#9ccc65\",500:\"#8bc34a\",600:\"#7cb342\",700:\"#689f38\",800:\"#558b2f\",900:\"#33691e\",a100:\"#ccff90\",a200:\"#b2ff59\",a400:\"#76ff03\",a700:\"#64dd17\"},p={50:\"#f9fbe7\",100:\"#f0f4c3\",200:\"#e6ee9c\",300:\"#dce775\",400:\"#d4e157\",500:\"#cddc39\",600:\"#c0ca33\",700:\"#afb42b\",800:\"#9e9d24\",900:\"#827717\",a100:\"#f4ff81\",a200:\"#eeff41\",a400:\"#c6ff00\",a700:\"#aeea00\"},v={50:\"#fffde7\",100:\"#fff9c4\",200:\"#fff59d\",300:\"#fff176\",400:\"#ffee58\",500:\"#ffeb3b\",600:\"#fdd835\",700:\"#fbc02d\",800:\"#f9a825\",900:\"#f57f17\",a100:\"#ffff8d\",a200:\"#ffff00\",a400:\"#ffea00\",a700:\"#ffd600\"},g={50:\"#fff8e1\",100:\"#ffecb3\",200:\"#ffe082\",300:\"#ffd54f\",400:\"#ffca28\",500:\"#ffc107\",600:\"#ffb300\",700:\"#ffa000\",800:\"#ff8f00\",900:\"#ff6f00\",a100:\"#ffe57f\",a200:\"#ffd740\",a400:\"#ffc400\",a700:\"#ffab00\"},b={50:\"#fff3e0\",100:\"#ffe0b2\",200:\"#ffcc80\",300:\"#ffb74d\",400:\"#ffa726\",500:\"#ff9800\",600:\"#fb8c00\",700:\"#f57c00\",800:\"#ef6c00\",900:\"#e65100\",a100:\"#ffd180\",a200:\"#ffab40\",a400:\"#ff9100\",a700:\"#ff6d00\"},x={50:\"#fbe9e7\",100:\"#ffccbc\",200:\"#ffab91\",300:\"#ff8a65\",400:\"#ff7043\",500:\"#ff5722\",600:\"#f4511e\",700:\"#e64a19\",800:\"#d84315\",900:\"#bf360c\",a100:\"#ff9e80\",a200:\"#ff6e40\",a400:\"#ff3d00\",a700:\"#dd2c00\"},m={50:\"#efebe9\",100:\"#d7ccc8\",200:\"#bcaaa4\",300:\"#a1887f\",400:\"#8d6e63\",500:\"#795548\",600:\"#6d4c41\",700:\"#5d4037\",800:\"#4e342e\",900:\"#3e2723\"},_={50:\"#fafafa\",100:\"#f5f5f5\",200:\"#eeeeee\",300:\"#e0e0e0\",400:\"#bdbdbd\",500:\"#9e9e9e\",600:\"#757575\",700:\"#616161\",800:\"#424242\",900:\"#212121\"},w={50:\"#eceff1\",100:\"#cfd8dc\",200:\"#b0bec5\",300:\"#90a4ae\",400:\"#78909c\",500:\"#607d8b\",600:\"#546e7a\",700:\"#455a64\",800:\"#37474f\",900:\"#263238\"},y={primary:\"rgba(0, 0, 0, 0.87)\",secondary:\"rgba(0, 0, 0, 0.54)\",disabled:\"rgba(0, 0, 0, 0.38)\",dividers:\"rgba(0, 0, 0, 0.12)\"},C={primary:\"rgba(255, 255, 255, 1)\",secondary:\"rgba(255, 255, 255, 0.7)\",disabled:\"rgba(255, 255, 255, 0.5)\",dividers:\"rgba(255, 255, 255, 0.12)\"},k={active:\"rgba(0, 0, 0, 0.54)\",inactive:\"rgba(0, 0, 0, 0.38)\"},F={active:\"rgba(255, 255, 255, 1)\",inactive:\"rgba(255, 255, 255, 0.5)\"},S=\"#ffffff\",A=\"#000000\";t.default={red:r,pink:i,purple:o,deepPurple:a,indigo:s,blue:c,lightBlue:l,cyan:u,teal:f,green:d,lightGreen:h,lime:p,yellow:v,amber:g,orange:b,deepOrange:x,brown:m,grey:_,blueGrey:w,darkText:y,lightText:C,darkIcons:k,lightIcons:F,white:S,black:A}},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-swatches\",attrs:{role:\"application\",\"aria-label\":\"Swatches color picker\",\"data-pick\":e.pick}},[n(\"div\",{staticClass:\"vc-swatches-box\",attrs:{role:\"listbox\"}},e._l(e.palette,function(t,r){return n(\"div\",{key:r,staticClass:\"vc-swatches-color-group\"},e._l(t,function(t){return n(\"div\",{key:t,class:[\"vc-swatches-color-it\",{\"vc-swatches-color--white\":\"#FFFFFF\"===t}],style:{background:t},attrs:{role:\"option\",\"aria-label\":\"Color:\"+t,\"aria-selected\":e.equal(t),\"data-color\":t},on:{click:function(n){return e.handlerClick(t)}}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.equal(t),expression:\"equal(c)\"}],staticClass:\"vc-swatches-pick\"},[n(\"svg\",{staticStyle:{width:\"24px\",height:\"24px\"},attrs:{viewBox:\"0 0 24 24\"}},[n(\"path\",{attrs:{d:\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}})])])])}),0)}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(121)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(53),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(134),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Photoshop.vue\",t.default=f.exports},function(e,t,n){var r=n(122);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"080365d4\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,'\\n.vc-photoshop {\\n background: #DCDCDC;\\n border-radius: 4px;\\n box-shadow: 0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15);\\n box-sizing: initial;\\n width: 513px;\\n font-family: Roboto;\\n}\\n.vc-photoshop__disable-fields {\\n width: 390px;\\n}\\n.vc-ps-head {\\n background-image: linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%);\\n border-bottom: 1px solid #B1B1B1;\\n box-shadow: inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02);\\n height: 23px;\\n line-height: 24px;\\n border-radius: 4px 4px 0 0;\\n font-size: 13px;\\n color: #4D4D4D;\\n text-align: center;\\n}\\n.vc-ps-body {\\n padding: 15px;\\n display: flex;\\n}\\n.vc-ps-saturation-wrap {\\n width: 256px;\\n height: 256px;\\n position: relative;\\n border: 2px solid #B3B3B3;\\n border-bottom: 2px solid #F0F0F0;\\n overflow: hidden;\\n}\\n.vc-ps-saturation-wrap .vc-saturation-circle {\\n width: 12px;\\n height: 12px;\\n}\\n.vc-ps-hue-wrap {\\n position: relative;\\n height: 256px;\\n width: 19px;\\n margin-left: 10px;\\n border: 2px solid #B3B3B3;\\n border-bottom: 2px solid #F0F0F0;\\n}\\n.vc-ps-hue-pointer {\\n position: relative;\\n}\\n.vc-ps-hue-pointer--left,\\n.vc-ps-hue-pointer--right {\\n position: absolute;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 5px 0 5px 8px;\\n border-color: transparent transparent transparent #555;\\n}\\n.vc-ps-hue-pointer--left:after,\\n.vc-ps-hue-pointer--right:after {\\n content: \"\";\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 4px 0 4px 6px;\\n border-color: transparent transparent transparent #fff;\\n position: absolute;\\n top: 1px;\\n left: 1px;\\n transform: translate(-8px, -5px);\\n}\\n.vc-ps-hue-pointer--left {\\n transform: translate(-13px, -4px);\\n}\\n.vc-ps-hue-pointer--right {\\n transform: translate(20px, -4px) rotate(180deg);\\n}\\n.vc-ps-controls {\\n width: 180px;\\n margin-left: 10px;\\n display: flex;\\n}\\n.vc-ps-controls__disable-fields {\\n width: auto;\\n}\\n.vc-ps-actions {\\n margin-left: 20px;\\n flex: 1;\\n}\\n.vc-ps-ac-btn {\\n cursor: pointer;\\n background-image: linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%);\\n border: 1px solid #878787;\\n border-radius: 2px;\\n height: 20px;\\n box-shadow: 0 1px 0 0 #EAEAEA;\\n font-size: 14px;\\n color: #000;\\n line-height: 20px;\\n text-align: center;\\n margin-bottom: 10px;\\n}\\n.vc-ps-previews {\\n width: 60px;\\n}\\n.vc-ps-previews__swatches {\\n border: 1px solid #B3B3B3;\\n border-bottom: 1px solid #F0F0F0;\\n margin-bottom: 2px;\\n margin-top: 1px;\\n}\\n.vc-ps-previews__pr-color {\\n height: 34px;\\n box-shadow: inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000;\\n}\\n.vc-ps-previews__label {\\n font-size: 14px;\\n color: #000;\\n text-align: center;\\n}\\n.vc-ps-fields {\\n padding-top: 5px;\\n padding-bottom: 9px;\\n width: 80px;\\n position: relative;\\n}\\n.vc-ps-fields .vc-input__input {\\n margin-left: 40%;\\n width: 40%;\\n height: 18px;\\n border: 1px solid #888888;\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\\n margin-bottom: 5px;\\n font-size: 13px;\\n padding-left: 3px;\\n margin-right: 10px;\\n}\\n.vc-ps-fields .vc-input__label, .vc-ps-fields .vc-input__desc {\\n top: 0;\\n text-transform: uppercase;\\n font-size: 13px;\\n height: 18px;\\n line-height: 22px;\\n position: absolute;\\n}\\n.vc-ps-fields .vc-input__label {\\n left: 0;\\n width: 34px;\\n}\\n.vc-ps-fields .vc-input__desc {\\n right: 0;\\n width: 0;\\n}\\n.vc-ps-fields__divider {\\n height: 5px;\\n}\\n.vc-ps-fields__hex .vc-input__input {\\n margin-left: 20%;\\n width: 80%;\\n height: 18px;\\n border: 1px solid #888888;\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\\n margin-bottom: 6px;\\n font-size: 13px;\\n padding-left: 3px;\\n}\\n.vc-ps-fields__hex .vc-input__label {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 14px;\\n text-transform: uppercase;\\n font-size: 13px;\\n height: 18px;\\n line-height: 22px;\\n}\\n',\"\"])},function(e,t,n){var r=n(124);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"b5380e52\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-saturation,\\n.vc-saturation--white,\\n.vc-saturation--black {\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n}\\n.vc-saturation--white {\\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n}\\n.vc-saturation--black {\\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n}\\n.vc-saturation-pointer {\\n cursor: pointer;\\n position: absolute;\\n}\\n.vc-saturation-circle {\\n cursor: head;\\n width: 4px;\\n height: 4px;\\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\\n border-radius: 50%;\\n transform: translate(-2px, -2px);\\n}\\n\",\"\"])},function(e,t){function n(e,t,n){return t<n?e<t?t:e>n?n:e:e<n?n:e>t?t:e}e.exports=n},function(e,t){function n(e,t,n){function r(t){var n=v,r=g;return v=g=void 0,k=t,x=e.apply(r,n)}function o(e){return k=e,m=setTimeout(u,t),F?r(e):x}function a(e){var n=e-_,r=e-k,i=t-n;return S?y(i,b-r):i}function l(e){var n=e-_,r=e-k;return void 0===_||n>=t||n<0||S&&r>=b}function u(){var e=C();if(l(e))return f(e);m=setTimeout(u,a(e))}function f(e){return m=void 0,A&&v?r(e):(v=g=void 0,x)}function d(){void 0!==m&&clearTimeout(m),k=0,v=_=g=m=void 0}function h(){return void 0===m?x:f(C())}function p(){var e=C(),n=l(e);if(v=arguments,g=this,_=e,n){if(void 0===m)return o(_);if(S)return m=setTimeout(u,t),r(_)}return void 0===m&&(m=setTimeout(u,t)),x}var v,g,b,x,m,_,k=0,F=!1,S=!1,A=!0;if(\"function\"!=typeof e)throw new TypeError(c);return t=s(t)||0,i(n)&&(F=!!n.leading,S=\"maxWait\"in n,b=S?w(s(n.maxWait)||0,t):b,A=\"trailing\"in n?!!n.trailing:A),p.cancel=d,p.flush=h,p}function r(e,t,r){var o=!0,a=!0;if(\"function\"!=typeof e)throw new TypeError(c);return i(r)&&(o=\"leading\"in r?!!r.leading:o,a=\"trailing\"in r?!!r.trailing:a),n(e,t,{leading:o,maxWait:t,trailing:a})}function i(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function o(e){return!!e&&\"object\"==typeof e}function a(e){return\"symbol\"==typeof e||o(e)&&_.call(e)==u}function s(e){if(\"number\"==typeof e)return e;if(a(e))return l;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(f,\"\");var n=h.test(e);return n||p.test(e)?v(e.slice(2),n?2:8):d.test(e)?l:+e}var c=\"Expected a function\",l=NaN,u=\"[object Symbol]\",f=/^\\s+|\\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,p=/^0o[0-7]+$/i,v=parseInt,g=\"object\"==typeof global&&global&&global.Object===Object&&global,b=\"object\"==typeof self&&self&&self.Object===Object&&self,x=g||b||Function(\"return this\")(),m=Object.prototype,_=m.toString,w=Math.max,y=Math.min,C=function(){return x.Date.now()};e.exports=r},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{ref:\"container\",staticClass:\"vc-saturation\",style:{background:e.bgColor},on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n(\"div\",{staticClass:\"vc-saturation--white\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-saturation--black\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-saturation-pointer\",style:{top:e.pointerTop,left:e.pointerLeft}},[n(\"div\",{staticClass:\"vc-saturation-circle\"})])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){var r=n(129);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"4dc1b086\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-alpha {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n}\\n.vc-alpha-checkboard-wrap {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n overflow: hidden;\\n}\\n.vc-alpha-gradient {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n}\\n.vc-alpha-container {\\n cursor: pointer;\\n position: relative;\\n z-index: 2;\\n height: 100%;\\n margin: 0 3px;\\n}\\n.vc-alpha-pointer {\\n z-index: 2;\\n position: absolute;\\n}\\n.vc-alpha-picker {\\n cursor: pointer;\\n width: 4px;\\n border-radius: 1px;\\n height: 8px;\\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\\n background: #fff;\\n margin-top: 1px;\\n transform: translateX(-2px);\\n}\\n\",\"\"])},function(e,t,n){var r=n(131);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"7e15c05b\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-checkerboard {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n background-size: contain;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"div\",{staticClass:\"vc-checkerboard\",style:e.bgStyle})},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-alpha\"},[n(\"div\",{staticClass:\"vc-alpha-checkboard-wrap\"},[n(\"checkboard\")],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-alpha-gradient\",style:{background:e.gradientColor}}),e._v(\" \"),n(\"div\",{ref:\"container\",staticClass:\"vc-alpha-container\",on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n(\"div\",{staticClass:\"vc-alpha-pointer\",style:{left:100*e.colors.a+\"%\"}},[n(\"div\",{staticClass:\"vc-alpha-picker\"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-photoshop\",e.disableFields?\"vc-photoshop__disable-fields\":\"\"],attrs:{role:\"application\",\"aria-label\":\"PhotoShop color picker\"}},[n(\"div\",{staticClass:\"vc-ps-head\",attrs:{role:\"heading\"}},[e._v(e._s(e.head))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-body\"},[n(\"div\",{staticClass:\"vc-ps-saturation-wrap\"},[n(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-hue-wrap\"},[n(\"hue\",{attrs:{direction:\"vertical\"},on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}},[n(\"div\",{staticClass:\"vc-ps-hue-pointer\"},[n(\"i\",{staticClass:\"vc-ps-hue-pointer--left\"}),n(\"i\",{staticClass:\"vc-ps-hue-pointer--right\"})])])],1),e._v(\" \"),n(\"div\",{class:[\"vc-ps-controls\",e.disableFields?\"vc-ps-controls__disable-fields\":\"\"]},[n(\"div\",{staticClass:\"vc-ps-previews\"},[n(\"div\",{staticClass:\"vc-ps-previews__label\"},[e._v(e._s(e.newLabel))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-previews__swatches\"},[n(\"div\",{staticClass:\"vc-ps-previews__pr-color\",style:{background:e.colors.hex},attrs:{\"aria-label\":\"New color is \"+e.colors.hex}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-previews__pr-color\",style:{background:e.currentColor},attrs:{\"aria-label\":\"Current color is \"+e.currentColor},on:{click:e.clickCurrentColor}})]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-previews__label\"},[e._v(e._s(e.currentLabel))])]),e._v(\" \"),e.disableFields?e._e():n(\"div\",{staticClass:\"vc-ps-actions\"},[n(\"div\",{staticClass:\"vc-ps-ac-btn\",attrs:{role:\"button\",\"aria-label\":e.acceptLabel},on:{click:e.handleAccept}},[e._v(e._s(e.acceptLabel))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-ac-btn\",attrs:{role:\"button\",\"aria-label\":e.cancelLabel},on:{click:e.handleCancel}},[e._v(e._s(e.cancelLabel))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-fields\"},[n(\"ed-in\",{attrs:{label:\"h\",desc:\"°\",value:e.hsv.h},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"s\",desc:\"%\",value:e.hsv.s,max:100},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"v\",desc:\"%\",value:e.hsv.v,max:100},on:{change:e.inputChange}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-fields__divider\"}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"r\",value:e.colors.rgba.r},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"g\",value:e.colors.rgba.g},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"b\",value:e.colors.rgba.b},on:{change:e.inputChange}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-fields__divider\"}),e._v(\" \"),n(\"ed-in\",{staticClass:\"vc-ps-fields__hex\",attrs:{label:\"#\",value:e.hex},on:{change:e.inputChange}})],1),e._v(\" \"),e.hasResetButton?n(\"div\",{staticClass:\"vc-ps-ac-btn\",attrs:{\"aria-label\":\"reset\"},on:{click:e.handleReset}},[e._v(e._s(e.resetLabel))]):e._e()])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(136)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(57),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(138),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Sketch.vue\",t.default=f.exports},function(e,t,n){var r=n(137);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"612c6604\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-sketch {\\n position: relative;\\n width: 200px;\\n padding: 10px 10px 0;\\n box-sizing: initial;\\n background: #fff;\\n border-radius: 4px;\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, .15), 0 8px 16px rgba(0, 0, 0, .15);\\n}\\n.vc-sketch-saturation-wrap {\\n width: 100%;\\n padding-bottom: 75%;\\n position: relative;\\n overflow: hidden;\\n}\\n.vc-sketch-controls {\\n display: flex;\\n}\\n.vc-sketch-sliders {\\n padding: 4px 0;\\n flex: 1;\\n}\\n.vc-sketch-sliders .vc-hue,\\n.vc-sketch-sliders .vc-alpha-gradient {\\n border-radius: 2px;\\n}\\n.vc-sketch-hue-wrap {\\n position: relative;\\n height: 10px;\\n}\\n.vc-sketch-alpha-wrap {\\n position: relative;\\n height: 10px;\\n margin-top: 4px;\\n overflow: hidden;\\n}\\n.vc-sketch-color-wrap {\\n width: 24px;\\n height: 24px;\\n position: relative;\\n margin-top: 4px;\\n margin-left: 4px;\\n border-radius: 3px;\\n}\\n.vc-sketch-active-color {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n border-radius: 2px;\\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), inset 0 0 4px rgba(0, 0, 0, .25);\\n z-index: 2;\\n}\\n.vc-sketch-color-wrap .vc-checkerboard {\\n background-size: auto;\\n}\\n.vc-sketch-field {\\n display: flex;\\n padding-top: 4px;\\n}\\n.vc-sketch-field .vc-input__input {\\n width: 90%;\\n padding: 4px 0 3px 10%;\\n border: none;\\n box-shadow: inset 0 0 0 1px #ccc;\\n font-size: 10px;\\n}\\n.vc-sketch-field .vc-input__label {\\n display: block;\\n text-align: center;\\n font-size: 11px;\\n color: #222;\\n padding-top: 3px;\\n padding-bottom: 4px;\\n text-transform: capitalize;\\n}\\n.vc-sketch-field--single {\\n flex: 1;\\n padding-left: 6px;\\n}\\n.vc-sketch-field--double {\\n flex: 2;\\n}\\n.vc-sketch-presets {\\n margin-right: -10px;\\n margin-left: -10px;\\n padding-left: 10px;\\n padding-top: 10px;\\n border-top: 1px solid #eee;\\n}\\n.vc-sketch-presets-color {\\n border-radius: 3px;\\n overflow: hidden;\\n position: relative;\\n display: inline-block;\\n margin: 0 10px 10px 0;\\n vertical-align: top;\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\\n}\\n.vc-sketch-presets-color .vc-checkerboard {\\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\\n border-radius: 3px;\\n}\\n.vc-sketch__disable-alpha .vc-sketch-color-wrap {\\n height: 10px;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-sketch\",e.disableAlpha?\"vc-sketch__disable-alpha\":\"\"],attrs:{role:\"application\",\"aria-label\":\"Sketch color picker\"}},[n(\"div\",{staticClass:\"vc-sketch-saturation-wrap\"},[n(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-controls\"},[n(\"div\",{staticClass:\"vc-sketch-sliders\"},[n(\"div\",{staticClass:\"vc-sketch-hue-wrap\"},[n(\"hue\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-sketch-alpha-wrap\"},[n(\"alpha\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1)]),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-color-wrap\"},[n(\"div\",{staticClass:\"vc-sketch-active-color\",style:{background:e.activeColor},attrs:{\"aria-label\":\"Current color is \"+e.activeColor}}),e._v(\" \"),n(\"checkboard\")],1)]),e._v(\" \"),e.disableFields?e._e():n(\"div\",{staticClass:\"vc-sketch-field\"},[n(\"div\",{staticClass:\"vc-sketch-field--double\"},[n(\"ed-in\",{attrs:{label:\"hex\",value:e.hex},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"r\",value:e.colors.rgba.r},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"g\",value:e.colors.rgba.g},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"b\",value:e.colors.rgba.b},on:{change:e.inputChange}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"a\",value:e.colors.a,\"arrow-offset\":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-presets\",attrs:{role:\"group\",\"aria-label\":\"A color preset, pick one to set as current color\"}},[e._l(e.presetColors,function(t){return[e.isTransparent(t)?n(\"div\",{key:t,staticClass:\"vc-sketch-presets-color\",attrs:{\"aria-label\":\"Color:\"+t},on:{click:function(n){return e.handlePreset(t)}}},[n(\"checkboard\")],1):n(\"div\",{key:t,staticClass:\"vc-sketch-presets-color\",style:{background:t},attrs:{\"aria-label\":\"Color:\"+t},on:{click:function(n){return e.handlePreset(t)}}})]})],2)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(140)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(58),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(142),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Chrome.vue\",t.default=f.exports},function(e,t,n){var r=n(141);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"1cd16048\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-chrome {\\n background: #fff;\\n border-radius: 2px;\\n box-shadow: 0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3);\\n box-sizing: initial;\\n width: 225px;\\n font-family: Menlo;\\n background-color: #fff;\\n}\\n.vc-chrome-controls {\\n display: flex;\\n}\\n.vc-chrome-color-wrap {\\n position: relative;\\n width: 36px;\\n}\\n.vc-chrome-active-color {\\n position: relative;\\n width: 30px;\\n height: 30px;\\n border-radius: 15px;\\n overflow: hidden;\\n z-index: 1;\\n}\\n.vc-chrome-color-wrap .vc-checkerboard {\\n width: 30px;\\n height: 30px;\\n border-radius: 15px;\\n background-size: auto;\\n}\\n.vc-chrome-sliders {\\n flex: 1;\\n}\\n.vc-chrome-fields-wrap {\\n display: flex;\\n padding-top: 16px;\\n}\\n.vc-chrome-fields {\\n display: flex;\\n margin-left: -6px;\\n flex: 1;\\n}\\n.vc-chrome-field {\\n padding-left: 6px;\\n width: 100%;\\n}\\n.vc-chrome-toggle-btn {\\n width: 32px;\\n text-align: right;\\n position: relative;\\n}\\n.vc-chrome-toggle-icon {\\n margin-right: -4px;\\n margin-top: 12px;\\n cursor: pointer;\\n position: relative;\\n z-index: 2;\\n}\\n.vc-chrome-toggle-icon-highlight {\\n position: absolute;\\n width: 24px;\\n height: 28px;\\n background: #eee;\\n border-radius: 4px;\\n top: 10px;\\n left: 12px;\\n}\\n.vc-chrome-hue-wrap {\\n position: relative;\\n height: 10px;\\n margin-bottom: 8px;\\n}\\n.vc-chrome-alpha-wrap {\\n position: relative;\\n height: 10px;\\n}\\n.vc-chrome-hue-wrap .vc-hue {\\n border-radius: 2px;\\n}\\n.vc-chrome-alpha-wrap .vc-alpha-gradient {\\n border-radius: 2px;\\n}\\n.vc-chrome-hue-wrap .vc-hue-picker, .vc-chrome-alpha-wrap .vc-alpha-picker {\\n width: 12px;\\n height: 12px;\\n border-radius: 6px;\\n transform: translate(-6px, -2px);\\n background-color: rgb(248, 248, 248);\\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\\n}\\n.vc-chrome-body {\\n padding: 16px 16px 12px;\\n background-color: #fff;\\n}\\n.vc-chrome-saturation-wrap {\\n width: 100%;\\n padding-bottom: 55%;\\n position: relative;\\n border-radius: 2px 2px 0 0;\\n overflow: hidden;\\n}\\n.vc-chrome-saturation-wrap .vc-saturation-circle {\\n width: 12px;\\n height: 12px;\\n}\\n.vc-chrome-fields .vc-input__input {\\n font-size: 11px;\\n color: #333;\\n width: 100%;\\n border-radius: 2px;\\n border: none;\\n box-shadow: inset 0 0 0 1px #dadada;\\n height: 21px;\\n text-align: center;\\n}\\n.vc-chrome-fields .vc-input__label {\\n text-transform: uppercase;\\n font-size: 11px;\\n line-height: 11px;\\n color: #969696;\\n text-align: center;\\n display: block;\\n margin-top: 12px;\\n}\\n.vc-chrome__disable-alpha .vc-chrome-active-color {\\n width: 18px;\\n height: 18px;\\n}\\n.vc-chrome__disable-alpha .vc-chrome-color-wrap {\\n width: 30px;\\n}\\n.vc-chrome__disable-alpha .vc-chrome-hue-wrap {\\n margin-top: 4px;\\n margin-bottom: 4px;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-chrome\",e.disableAlpha?\"vc-chrome__disable-alpha\":\"\"],attrs:{role:\"application\",\"aria-label\":\"Chrome color picker\"}},[n(\"div\",{staticClass:\"vc-chrome-saturation-wrap\"},[n(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-body\"},[n(\"div\",{staticClass:\"vc-chrome-controls\"},[n(\"div\",{staticClass:\"vc-chrome-color-wrap\"},[n(\"div\",{staticClass:\"vc-chrome-active-color\",style:{background:e.activeColor},attrs:{\"aria-label\":\"current color is \"+e.colors.hex}}),e._v(\" \"),e.disableAlpha?e._e():n(\"checkboard\")],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-sliders\"},[n(\"div\",{staticClass:\"vc-chrome-hue-wrap\"},[n(\"hue\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-chrome-alpha-wrap\"},[n(\"alpha\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1)])]),e._v(\" \"),e.disableFields?e._e():n(\"div\",{staticClass:\"vc-chrome-fields-wrap\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:0===e.fieldsIndex,expression:\"fieldsIndex === 0\"}],staticClass:\"vc-chrome-fields\"},[n(\"div\",{staticClass:\"vc-chrome-field\"},[e.hasAlpha?e._e():n(\"ed-in\",{attrs:{label:\"hex\",value:e.colors.hex},on:{change:e.inputChange}}),e._v(\" \"),e.hasAlpha?n(\"ed-in\",{attrs:{label:\"hex\",value:e.colors.hex8},on:{change:e.inputChange}}):e._e()],1)]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:1===e.fieldsIndex,expression:\"fieldsIndex === 1\"}],staticClass:\"vc-chrome-fields\"},[n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"r\",value:e.colors.rgba.r},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"g\",value:e.colors.rgba.g},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"b\",value:e.colors.rgba.b},on:{change:e.inputChange}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"a\",value:e.colors.a,\"arrow-offset\":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:2===e.fieldsIndex,expression:\"fieldsIndex === 2\"}],staticClass:\"vc-chrome-fields\"},[n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"h\",value:e.hsl.h},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"s\",value:e.hsl.s},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"l\",value:e.hsl.l},on:{change:e.inputChange}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"a\",value:e.colors.a,\"arrow-offset\":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-toggle-btn\",attrs:{role:\"button\",\"aria-label\":\"Change another color definition\"},on:{click:e.toggleViews}},[n(\"div\",{staticClass:\"vc-chrome-toggle-icon\"},[n(\"svg\",{staticStyle:{width:\"24px\",height:\"24px\"},attrs:{viewBox:\"0 0 24 24\"},on:{mouseover:e.showHighlight,mouseenter:e.showHighlight,mouseout:e.hideHighlight}},[n(\"path\",{attrs:{fill:\"#333\",d:\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"}})])]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.highlight,expression:\"highlight\"}],staticClass:\"vc-chrome-toggle-icon-highlight\"})])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(144)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(59),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(146),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Twitter.vue\",t.default=f.exports},function(e,t,n){var r=n(145);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"669a48a5\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-twitter {\\n background: #fff;\\n border: 0 solid rgba(0,0,0,0.25);\\n box-shadow: 0 1px 4px rgba(0,0,0,0.25);\\n border-radius: 4px;\\n position: relative;\\n}\\n.vc-twitter-triangle {\\n width: 0px;\\n height: 0px;\\n border-style: solid;\\n border-width: 0 9px 10px 9px;\\n border-color: transparent transparent #fff transparent;\\n position: absolute;\\n}\\n.vc-twitter-triangle-shadow {\\n width: 0px;\\n height: 0px;\\n border-style: solid;\\n border-width: 0 9px 10px 9px;\\n border-color: transparent transparent rgba(0, 0, 0, .1) transparent;\\n position: absolute;\\n}\\n.vc-twitter-body {\\n padding: 15px 9px 9px 15px;\\n}\\n.vc-twitter .vc-editable-input {\\n position: relative;\\n}\\n.vc-twitter .vc-editable-input input {\\n width: 100px;\\n font-size: 14px;\\n color: #666;\\n border: 0px;\\n outline: none;\\n height: 28px;\\n box-shadow: inset 0 0 0 1px #F0F0F0;\\n box-sizing: content-box;\\n border-radius: 0 4px 4px 0;\\n float: left;\\n padding: 1px;\\n padding-left: 8px;\\n}\\n.vc-twitter .vc-editable-input span {\\n display: none;\\n}\\n.vc-twitter-hash {\\n background: #F0F0F0;\\n height: 30px;\\n width: 30px;\\n border-radius: 4px 0 0 4px;\\n float: left;\\n color: #98A1A4;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.vc-twitter-swatch {\\n width: 30px;\\n height: 30px;\\n float: left;\\n border-radius: 4px;\\n margin: 0 6px 6px 0;\\n cursor: pointer;\\n position: relative;\\n outline: none;\\n}\\n.vc-twitter-clear {\\n clear: both;\\n}\\n.vc-twitter-hide-triangle .vc-twitter-triangle {\\n display: none;\\n}\\n.vc-twitter-hide-triangle .vc-twitter-triangle-shadow {\\n display: none;\\n}\\n.vc-twitter-top-left-triangle .vc-twitter-triangle{\\n top: -10px;\\n left: 12px;\\n}\\n.vc-twitter-top-left-triangle .vc-twitter-triangle-shadow{\\n top: -11px;\\n left: 12px;\\n}\\n.vc-twitter-top-right-triangle .vc-twitter-triangle{\\n top: -10px;\\n right: 12px;\\n}\\n.vc-twitter-top-right-triangle .vc-twitter-triangle-shadow{\\n top: -11px;\\n right: 12px;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-twitter\",class:{\"vc-twitter-hide-triangle \":\"hide\"===e.triangle,\"vc-twitter-top-left-triangle \":\"top-left\"===e.triangle,\"vc-twitter-top-right-triangle \":\"top-right\"===e.triangle},style:{width:\"number\"==typeof e.width?e.width+\"px\":e.width}},[n(\"div\",{staticClass:\"vc-twitter-triangle-shadow\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-triangle\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-body\"},[e._l(e.defaultColors,function(t,r){return n(\"span\",{key:r,staticClass:\"vc-twitter-swatch\",style:{background:t,boxShadow:\"0 0 4px \"+(e.equal(t)?t:\"transparent\")},on:{click:function(n){return e.handlerClick(t)}}})}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-hash\"},[e._v(\"#\")]),e._v(\" \"),n(\"editable-input\",{attrs:{label:\"#\",value:e.hex},on:{change:e.inputChange}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-clear\"})],2)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o}])});","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon arrow-left-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ArrowLeftIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=4d58d92d&\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ArrowLeft.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon check-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","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=2de14aba&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon check-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon checkbox-blank-outline-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckboxBlankOutlineIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxBlankOutline.vue?vue&type=template&id=37b64e70&\"\nimport script from \"./CheckboxBlankOutline.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxBlankOutline.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon checkbox-blank-outline-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon checkbox-marked-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckboxMarkedIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxMarked.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckboxMarked.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxMarked.vue?vue&type=template&id=44e5702a&\"\nimport script from \"./CheckboxMarked.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxMarked.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon checkbox-marked-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-left-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronLeftIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronLeft.vue?vue&type=template&id=5de37570&\"\nimport script from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronLeft.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-right-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronRightIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=fbe63c02&\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronRight.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./HelpCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./HelpCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HelpCircle.vue?vue&type=template&id=b5719a8a&\"\nimport script from \"./HelpCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpCircle.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon help-circle-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon minus-box-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MinusBoxIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MinusBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MinusBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MinusBox.vue?vue&type=template&id=136fccde&\"\nimport script from \"./MinusBox.vue?vue&type=script&lang=js&\"\nexport * from \"./MinusBox.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon minus-box-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon pause-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,19H18V5H14M6,19H10V5H6V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PauseIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pause.vue?vue&type=template&id=3335ab9e&\"\nimport script from \"./Pause.vue?vue&type=script&lang=js&\"\nexport * from \"./Pause.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon pause-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M14,19H18V5H14M6,19H10V5H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon play-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8,5.14V19.14L19,12.14L8,5.14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlayIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Play.vue?vue&type=template&id=4d9eb9d0&\"\nimport script from \"./Play.vue?vue&type=script&lang=js&\"\nexport * from \"./Play.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon play-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon radiobox-blank-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"RadioboxBlankIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxBlank.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxBlank.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioboxBlank.vue?vue&type=template&id=50bbd593&\"\nimport script from \"./RadioboxBlank.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioboxBlank.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon radiobox-blank-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon radiobox-marked-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"RadioboxMarkedIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxMarked.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./RadioboxMarked.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioboxMarked.vue?vue&type=template&id=46ce9590&\"\nimport script from \"./RadioboxMarked.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioboxMarked.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon radiobox-marked-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon toggle-switch-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ToggleSwitchIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToggleSwitch.vue?vue&type=template&id=b4f6858e&\"\nimport script from \"./ToggleSwitch.vue?vue&type=script&lang=js&\"\nexport * from \"./ToggleSwitch.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon toggle-switch-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon toggle-switch-off-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ToggleSwitchOffIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitchOff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ToggleSwitchOff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToggleSwitchOff.vue?vue&type=template&id=e0126390&\"\nimport script from \"./ToggleSwitchOff.vue?vue&type=script&lang=js&\"\nexport * from \"./ToggleSwitchOff.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon toggle-switch-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=60)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(49)(\"wks\"),r=n(30),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(0),r=n(10),o=n(8),s=n(6),u=n(11),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,g=t&a.P,y=t&a.B,m=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,b=d?r:r[e]||(r[e]={}),_=b.prototype||(b.prototype={});d&&(n=e);for(l in n)c=!h&&m&&void 0!==m[l],f=(c?m:n)[l],p=y&&c?u(f,i):g&&\"function\"==typeof f?u(Function.call,f):f,m&&s(m,l,f,t&a.U),b[l]!=f&&o(b,l,p),g&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(0),r=n(8),o=n(12),s=n(30)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(10).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(13),r=n(25);t.exports=n(4)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(14);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(2),r=n(41),o=n(29),s=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){\"use strict\";var i=n(7);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(23),r=n(16);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(53),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(11),r=n(23),o=n(28),s=n(19),u=n(64);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,g,y=o(e),m=r(y),b=i(u,d,3),_=s(m.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in m)&&(v=m[x],g=b(v,x,y),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){var i=n(5),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(9);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(13).f,r=n(12),o=n(1)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(49)(\"keys\"),r=n(30);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(0),r=n(12),o=n(9),s=n(67),u=n(29),a=n(7),l=n(77).f,c=n(45).f,f=n(13).f,p=n(51).trim,h=i.Number,d=h,v=h.prototype,g=\"Number\"==o(n(44)(v)),y=\"trim\"in String.prototype,m=function(t){var e=u(t,!1);if(\"string\"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,a=e.slice(2),l=0,c=a.length;l<c;l++)if((s=a.charCodeAt(l))<48||s>r)return NaN;return parseInt(a,i)}}return+e};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(g?a(function(){v.valueOf.call(n)}):\"Number\"!=o(n))?s(new d(m(e)),n,h):m(e)};for(var b,_=n(4)?l(d):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),x=0;_.length>x;x++)r(d,b=_[x])&&!r(h,b)&&f(h,b,c(d,b));h.prototype=v,v.constructor=h,n(6)(i,\"Number\",h)}},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,i,r,o){return function(u){return u.map(function(u){var a;if(!u[i])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var l=s(u[i],t,e,o);return l.length?(a={},n.i(d.a)(a,r,u[r]),n.i(d.a)(a,i,l),a):[]})}}var c=n(59),f=n(54),p=(n.n(f),n(95)),h=(n.n(p),n(31)),d=(n.n(h),n(58)),v=n(91),g=(n.n(v),n(98)),y=(n.n(g),n(92)),m=(n.n(y),n(88)),b=(n.n(m),n(97)),_=(n.n(b),n(89)),x=(n.n(_),n(96)),w=(n.n(x),n(93)),S=(n.n(w),n(90)),O=(n.n(S),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,preferredOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return O(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return O(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var r=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit(\"select\",r,this.id),this.$emit(\"input\",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i=\"object\"===n.i(c.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit(\"input\",r,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.preferredOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(54),r=(n.n(i),n(31));n.n(r);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--group\",\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return i&&!this.wholeGroupDisabled(i)?[\"multiselect__option--group\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]:\"multiselect__option--disabled\"},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){\"use strict\";var i=n(36),r=n(74),o=n(15),s=n(18);t.exports=n(72)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){\"use strict\";var i=n(31),r=(n.n(i),n(32)),o=n(33);e.a={name:\"vue-multiselect\",mixins:[r.a,o.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"100%\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var i=n(1)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(8)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(18),r=n(19),o=n(85);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(9),r=n(1)(\"toStringTag\"),o=\"Arguments\"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),r))?n:o?i(e):\"Object\"==(u=i(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},function(t,e,n){\"use strict\";var i=n(2);t.exports=function(){var t=i(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},function(t,e,n){var i=n(0).document;t.exports=i&&i.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(9);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";function i(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=i}),this.resolve=r(e),this.reject=r(n)}var r=n(14);t.exports.f=function(t){return new i(t)}},function(t,e,n){var i=n(2),r=n(76),o=n(22),s=n(27)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(21)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(40).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(79),r=n(25),o=n(18),s=n(29),u=n(12),a=n(41),l=Object.getOwnPropertyDescriptor;e.f=n(4)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(12),r=n(18),o=n(37)(!1),s=n(27)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){var i=n(46),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(2),r=n(5),o=n(43);t.exports=function(t,e){if(i(t),r(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var i=n(10),r=n(0),o=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:i.version,mode:n(24)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(t,e,n){var i=n(2),r=n(14),o=n(1)(\"species\");t.exports=function(t,e){var n,s=i(t).constructor;return void 0===s||void 0==(n=i(s)[o])?e:r(n)}},function(t,e,n){var i=n(3),r=n(16),o=n(7),s=n(84),u=\"[\"+s+\"]\",a=\"
\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e,n){var i,r,o,s=n(11),u=n(68),a=n(40),l=n(21),c=n(0),f=c.process,p=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,v=c.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u(\"function\"==typeof t?t:Function(t),e)},i(g),g},h=function(t){delete y[t]},\"process\"==n(9)(f)?i=function(t){f.nextTick(s(m,t,1))}:v&&v.now?i=function(t){v.now(s(m,t,1))}:d?(r=new d,o=r.port2,r.port1.onmessage=b,i=s(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(i=function(t){c.postMessage(t+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):i=\"onreadystatechange\"in l(\"script\")?function(t){a.appendChild(l(\"script\")).onreadystatechange=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(s(m,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)(\"find\")},function(t,e,n){\"use strict\";var i,r,o,s,u=n(24),a=n(0),l=n(11),c=n(38),f=n(3),p=n(5),h=n(14),d=n(61),v=n(66),g=n(50),y=n(52).set,m=n(75)(),b=n(43),_=n(80),x=n(86),w=n(48),S=a.TypeError,O=a.process,L=O&&O.versions,k=L&&L.v8||\"\",P=a.Promise,T=\"process\"==c(O),V=function(){},E=r=b.f,A=!!function(){try{var t=P.resolve(1),e=(t.constructor={})[n(1)(\"species\")]=function(t){t(V,V)};return(T||\"function\"==typeof PromiseRejectionEvent)&&t.then(V)instanceof e&&0!==k.indexOf(\"6.6\")&&-1===x.indexOf(\"Chrome/66\")}catch(t){}}(),C=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},D=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var i=t._v,r=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,u=r?e.ok:e.fail,a=e.resolve,l=e.reject,c=e.domain;try{u?(r||(2==t._h&&$(t),t._h=1),!0===u?n=i:(c&&c.enter(),n=u(i),c&&(c.exit(),s=!0)),n===e.promise?l(S(\"Promise-chain cycle\")):(o=C(n))?o.call(n,a,l):a(n)):l(i)}catch(t){c&&!s&&c.exit(),l(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(a,function(){var e,n,i,r=t._v,o=N(t);if(o&&(e=_(function(){T?O.emit(\"unhandledRejection\",r,t):(n=a.onunhandledrejection)?n({promise:t,reason:r}):(i=a.console)&&i.error&&i.error(\"Unhandled promise rejection\",r)}),t._h=T||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},$=function(t){y.call(a,function(){var e;T?O.emit(\"rejectionHandled\",t):(e=a.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),D(e,!0))},M=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S(\"Promise can't be resolved itself\");(e=C(t))?m(function(){var i={_w:n,_d:!1};try{e.call(t,l(M,i,1),l(F,i,1))}catch(t){F.call(i,t)}}):(n._v=t,n._s=1,D(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};A||(P=function(t){d(this,P,\"Promise\",\"_h\"),h(t),i.call(this);try{t(l(M,this,1),l(F,this,1))}catch(t){F.call(this,t)}},i=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=n(81)(P.prototype,{then:function(t,e){var n=E(g(this,P));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=T?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&D(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new i;this.promise=t,this.resolve=l(M,t,1),this.reject=l(F,t,1)},b.f=E=function(t){return t===P||t===s?new o(t):r(t)}),f(f.G+f.W+f.F*!A,{Promise:P}),n(26)(P,\"Promise\"),n(83)(\"Promise\"),s=n(10).Promise,f(f.S+f.F*!A,\"Promise\",{reject:function(t){var e=E(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(u||!A),\"Promise\",{resolve:function(t){return w(u&&this===s?P:this,t)}}),f(f.S+f.F*!(A&&n(73)(function(t){P.all(t).catch(V)})),\"Promise\",{all:function(t){var e=this,n=E(e),i=n.resolve,r=n.reject,o=_(function(){var n=[],o=0,s=1;v(t,!1,function(t){var u=o++,a=!1;n.push(void 0),s++,e.resolve(t).then(function(t){a||(a=!0,n[u]=t,--s||i(n))},r)}),--s||i(n)});return o.e&&r(o.v),n.promise},race:function(t){var e=this,n=E(e),i=n.reject,r=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,i)})});return r.e&&i(r.v),n.promise}})},function(t,e,n){\"use strict\";var i=n(3),r=n(10),o=n(0),s=n(50),u=n(48);i(i.P+i.R,\"Promise\",{finally:function(t){var e=s(this,r.Promise||o.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){\"use strict\";function i(t){n(99)}var r=n(35),o=n(101),s=n(100),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){\"use strict\";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}e.a=i},function(t,e,n){\"use strict\";function i(t){return(i=\"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})(t)}function r(t){return(r=\"function\"==typeof Symbol&&\"symbol\"===i(Symbol.iterator)?function(t){return i(t)}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":i(t)})(t)}e.a=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(34),r=(n.n(i),n(55)),o=(n.n(r),n(56)),s=(n.n(o),n(57)),u=n(32),a=n(33);n.d(e,\"Multiselect\",function(){return s.a}),n.d(e,\"multiselectMixin\",function(){return u.a}),n.d(e,\"pointerMixin\",function(){return a.a}),e.default=s.a},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+\": incorrect invocation!\");return t}},function(t,e,n){var i=n(14),r=n(28),o=n(23),s=n(19);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(5),r=n(42),o=n(1)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(63);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){\"use strict\";var i=n(8),r=n(6),o=n(7),s=n(16),u=n(1);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e,n){var i=n(11),r=n(70),o=n(69),s=n(2),u=n(19),a=n(87),l={},c={},e=t.exports=function(t,e,n,f,p){var h,d,v,g,y=p?function(){return t}:a(t),m=i(n,f,e?2:1),b=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(o(y)){for(h=u(t.length);h>b;b++)if((g=e?m(s(d=t[b])[0],d[1]):m(t[b]))===l||g===c)return g}else for(v=y.call(t);!(d=v.next()).done;)if((g=r(v,m,d.value,e))===l||g===c)return g};e.BREAK=l,e.RETURN=c},function(t,e,n){var i=n(5),r=n(82).set;t.exports=function(t,e,n){var o,s=e.constructor;return s!==n&&\"function\"==typeof s&&(o=s.prototype)!==n.prototype&&i(o)&&r&&r(t,o),t}},function(t,e){t.exports=function(t,e,n){var i=void 0===n;switch(e.length){case 0:return i?t():t.call(n);case 1:return i?t(e[0]):t.call(n,e[0]);case 2:return i?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return i?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return i?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var i=n(15),r=n(1)(\"iterator\"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(2);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&i(o.call(t)),e}}},function(t,e,n){\"use strict\";var i=n(44),r=n(25),o=n(26),s={};n(8)(s,n(1)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e,n){\"use strict\";var i=n(24),r=n(3),o=n(6),s=n(8),u=n(15),a=n(71),l=n(26),c=n(78),f=n(1)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,g,y){a(n,e,d);var m,b,_,x=function(t){if(!p&&t in L)return L[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",S=\"values\"==v,O=!1,L=t.prototype,k=L[f]||L[\"@@iterator\"]||v&&L[v],P=k||x(v),T=v?S?x(\"entries\"):P:void 0,V=\"Array\"==e?L.entries||k:k;if(V&&(_=c(V.call(new t)))!==Object.prototype&&_.next&&(l(_,w,!0),i||\"function\"==typeof _[f]||s(_,f,h)),S&&k&&\"values\"!==k.name&&(O=!0,P=function(){return k.call(this)}),i&&!y||!p&&!O&&L[f]||s(L,f,P),u[e]=P,u[w]=h,v)if(m={values:S?P:x(\"values\"),keys:g?P:x(\"keys\"),entries:T},y)for(b in m)b in L||o(L,b,m[b]);else r(r.P+r.F*(p||O),e,m);return m}},function(t,e,n){var i=n(1)(\"iterator\"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(0),r=n(52).set,o=i.MutationObserver||i.WebKitMutationObserver,s=i.process,u=i.Promise,a=\"process\"==n(9)(s);t.exports=function(){var t,e,n,l=function(){var i,r;for(a&&(i=s.domain)&&i.exit();t;){r=t.fn,t=t.next;try{r()}catch(i){throw t?n():e=void 0,i}}e=void 0,i&&i.enter()};if(a)n=function(){s.nextTick(l)};else if(!o||i.navigator&&i.navigator.standalone)if(u&&u.resolve){var c=u.resolve(void 0);n=function(){c.then(l)}}else n=function(){r.call(i,l)};else{var f=!0,p=document.createTextNode(\"\");new o(l).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(i){var r={fn:i,next:void 0};e&&(e.next=r),t||(t=r,n()),e=r}}},function(t,e,n){var i=n(13),r=n(2),o=n(47);t.exports=n(4)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(46),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(12),r=n(28),o=n(27)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var i=n(6);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(5),r=n(2),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,i){try{i=n(11)(Function.call,n(45).f(Object.prototype,\"__proto__\").set,2),i(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){\"use strict\";var i=n(0),r=n(13),o=n(4),s=n(1)(\"species\");t.exports=function(t){var e=i[t];o&&e&&!e[s]&&r.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=\"\\t\\n\\v\\f\\r \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(53),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(0),r=i.navigator;t.exports=r&&r.userAgent||\"\"},function(t,e,n){var i=n(38),r=n(1)(\"iterator\"),o=n(15);t.exports=n(10).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t[\"@@iterator\"]||o[i(t)]}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(2);i(i.P+i.F*!n(17)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(37)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(17)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(3);i(i.S,\"Array\",{isArray:n(42)})},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(1);i(i.P+i.F*!n(17)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(62);i(i.P+i.F*!n(17)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var i=Date.prototype,r=i.toString,o=i.getTime;new Date(NaN)+\"\"!=\"Invalid Date\"&&n(6)(i,\"toString\",function(){var t=o.call(this);return t===t?r.call(this):\"Invalid Date\"})},function(t,e,n){n(4)&&\"g\"!=/./g.flags&&n(13).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(39)})},function(t,e,n){n(65)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(94);var i=n(2),r=n(39),o=n(4),s=/./.toString,u=function(t){n(6)(RegExp.prototype,\"toString\",t,!0)};n(7)(function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})})?u(function(){var t=i(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o&&t instanceof RegExp?r.call(t):void 0)}):\"toString\"!=s.name&&u(function(){return s.call(this)})},function(t,e,n){\"use strict\";n(51)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e,n){for(var i=n(34),r=n(47),o=n(6),s=n(0),u=n(8),a=n(15),l=n(1),c=l(\"iterator\"),f=l(\"toStringTag\"),p=a.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=r(h),v=0;v<d.length;v++){var g,y=d[v],m=h[y],b=s[y],_=b&&b.prototype;if(_&&(_[c]||u(_,c,p),_[f]||u(_,f,y),a[y]=p,m))for(g in i)_[g]||o(_,g,i[g],!0)}},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[t._t(\"selection\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e,i){return[t._t(\"tag\",[n(\"span\",{key:i,staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keypress:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e()],{search:t.search,remove:t.removeElement,values:t.visibleValues,isOpen:t.isOpen}),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),t.searchable?n(\"input\",{ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"nope\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"]))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"]))return null;e.preventDefault(),t.pointerBackward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}}}):t._e(),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{staticClass:\"multiselect__placeholder\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},attrs:{tabindex:\"-1\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")],{search:t.search})],2)]),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoOptions&&0===t.options.length&&!t.search&&!t.loading,expression:\"showNoOptions && (options.length === 0 && !search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noOptions\",[t._v(\"List is empty.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});","export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(date.getTimezoneOffset(), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(date.getTimezoneOffset());\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\n\nfunction format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}\n\nexport default format;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport default function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var utcDate = createUTCDate.apply(void 0, _toConsumableArray(getFullInputArray(inputArray, backupDate)));\n var offsetMilliseconds = (offset === undefined ? utcDate.getTimezoneOffset() : offset) * 60 * 1000;\n var parsedDate = new Date(utcDate.getTime() + offsetMilliseconds); // check weekday\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\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 _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = 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\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\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 script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type,\n attrs: {\n \"type\": \"button\"\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$1, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffMonth) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year, month + diffMonth);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-12), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(12), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\"\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\"\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$2, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$3, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-10), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(10), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$4, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n if (this.type !== 'month') {\n return this.calendarMonth === month ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n if (this.type !== 'year') {\n return this.calendarYear === year ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$5, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$4, {\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$5, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$6, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$7, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$8,\n ListOptions: __vue_component__$9\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n computed: {\n innerValue: function innerValue() {\n return getValidDate(this.value, this.defaultValue);\n },\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabled: function isDisabled(date) {\n return this.disabledTime(new Date(date));\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value)) {\n this.$emit('select', date, type);\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$8, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$a.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$a.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$a.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$a, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$a,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n this.afterEmitValue(type);\n return value;\n },\n afterEmitValue: function afterEmitValue(type) {\n // this.type === 'datetime', click the time should close popup\n if (!type || type === this.type || type === 'time') {\n this.closePopup();\n }\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, this.validMultipleType ? \"multiple-\".concat(type) : type);\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mousedown\": this.openPopup\n }\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"mousedown\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$2))]) : null, h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', h(__vue_component__$1))])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$a,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","import ansiRegex from 'ansi-regex';\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\treturn string.replace(ansiRegex(), '');\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import stripAnsi from 'strip-ansi';\nimport charRegex from 'char-regex';\n\nexport default function stringLength(string, {countAnsiEscapeCodes = false} = {}) {\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\treturn string.match(charRegex()).length;\n}\n","// Based on https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js\n\nexport default function charRegex() {\n\t// Used to compose unicode character classes.\n\tconst astralRange = \"\\\\ud800-\\\\udfff\"\n\tconst comboMarksRange = \"\\\\u0300-\\\\u036f\"\n\tconst comboHalfMarksRange = \"\\\\ufe20-\\\\ufe2f\"\n\tconst comboSymbolsRange = \"\\\\u20d0-\\\\u20ff\"\n\tconst comboMarksExtendedRange = \"\\\\u1ab0-\\\\u1aff\"\n\tconst comboMarksSupplementRange = \"\\\\u1dc0-\\\\u1dff\"\n\tconst comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange\n\tconst varRange = \"\\\\ufe0e\\\\ufe0f\"\n\n\t// Used to compose unicode capture groups.\n\tconst astral = `[${astralRange}]`\n\tconst combo = `[${comboRange}]`\n\tconst fitz = \"\\\\ud83c[\\\\udffb-\\\\udfff]\"\n\tconst modifier = `(?:${combo}|${fitz})`\n\tconst nonAstral = `[^${astralRange}]`\n\tconst regional = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\"\n\tconst surrogatePair = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\"\n\tconst zeroWidthJoiner = \"\\\\u200d\"\n\tconst blackFlag = \"(?:\\\\ud83c\\\\udff4\\\\udb40\\\\udc67\\\\udb40\\\\udc62\\\\udb40(?:\\\\udc65|\\\\udc73|\\\\udc77)\\\\udb40(?:\\\\udc6e|\\\\udc63|\\\\udc6c)\\\\udb40(?:\\\\udc67|\\\\udc74|\\\\udc73)\\\\udb40\\\\udc7f)\"\n\n\t// Used to compose unicode regexes.\n\tconst optModifier = `${modifier}?`\n\tconst optVar = `[${varRange}]?`\n\tconst optJoin = `(?:${zeroWidthJoiner}(?:${[nonAstral, regional, surrogatePair].join(\"|\")})${optVar + optModifier})*`\n\tconst seq = optVar + optModifier + optJoin\n\tconst nonAstralCombo = `${nonAstral}${combo}?`\n\tconst symbol = `(?:${[blackFlag, nonAstralCombo, combo, regional, surrogatePair, astral].join(\"|\")})`\n\n\t// Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode).\n\treturn new RegExp(`${fitz}(?=${fitz})|${symbol + seq}`, \"g\")\n}\n"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","uuid","byteToHex","i","push","toString","substr","arr","offset","arguments","length","undefined","toLowerCase","TypeError","options","buf","rnds","random","AbstractParser","this","_options","Object","assign","_name","_color","_sourceURL","_refreshInterval","_calendarTimezone","_errors","data","Array","from","getItemIterator","slice","name","defaultValue","prototype","hasOwnProperty","call","ModificationNotAllowedError","lockableTrait","baseClass","args","super","_mutable","_modify","ExpectedICalJSError","lc","str","uc","toUpperCase","ucFirst","charAt","startStringWith","startWith","startsWith","GLOBAL_CONFIG","Map","setConfig","key","value","set","getConfig","get","createProperty","propertyName","observerTrait","_subscribers","handler","index","indexOf","splice","Parameter","_value","_modifyContent","isMultiValue","Symbol","iterator","isArray","parameter","constructor","_notifySubscribers","AbstractValue","icalValue","_innerValue","BinaryValue","decodeValue","decodedValue","setEncodedValue","fromRawValue","rawValue","icalBinary","fromICALJs","DurationValue","weeks","days","hours","minutes","seconds","isNegative","toSeconds","totalSeconds","fromSeconds","otherDuration","compare","toICALJs","normalize","clone","icalDuration","DateTimeValue","year","month","day","hour","minute","second","zone","tzid","timezone","isDate","toUnixTime","toJSDate","duration","addDuration","other","subtractDate","subtractDateTz","compareDateOnlyTz","toICALTimezone","clonedICALTime","convertToZone","utcOffset","jsDate","useUTC","SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","DEFAULT_WEEK_START","PeriodValue","_start","start","_end","_duration","lock","end","getEnd","isLocked","getDuration","unlock","icalPeriod","ALLOWED_FREQ","RecurValue","until","_until","interval","parseInt","wkst","weekStart","count","freq","includes","isFinite","isByCount","componentName","addComponent","parts","setComponent","getComponent","icalRecur","UTCOffsetValue","factor","icalUTCOffset","fromData","UnknownICALTypeError","getConstructorForICALType","icaltype","Property","parameters","root","parent","_parameters","_root","_parent","_setParametersFromConstructor","subscribe","hasValue","parameterName","values","getParameter","has","delete","hasParameter","setParameter","getParametersIterator","isDecoratedValue","getValueIterator","_cloneValue","map","val","forEach","icalProperty","isDecorated","getFirstValue","getValues","keys","toJSON","paramName","setValues","setValue","firstValue","timezoneId","AttachmentProperty","getParameterFirstValue","fmtType","updateParameterIfExist","uri","fromDecodedValue","formatType","binaryValue","property","AttendeeProperty","allowed","role","userType","rsvp","commonName","vobjectType","VEVENT","VJOURNAL","VTODO","participationStatus","language","email","isOrganizer","defaultType","valueType","multiValue","ConferenceProperty","featureToAdd","hasFeature","feature","deleteParameter","label","features","FreeBusyProperty","type","period","GeoProperty","lat","parseFloat","long","ImageProperty","display","RelationProperty","relationType","relatedId","relType","relId","RequestStatusProperty","statusCode","Math","floor","statusMessage","exceptionData","code","message","SUCCESS","SUCCESS_FALLBACK","SUCCESS_PROP_IGNORED","SUCCESS_PROPPARAM_IGNORED","SUCCESS_NONSTANDARD_PROP_IGNORED","SUCCESS_NONSTANDARD_PROPPARAM_IGNORED","SUCCESS_COMP_IGNORED","SUCCESS_FORWARDED","SUCCESS_REPEATING_IGNORED","SUCCESS_TRUNCATED_END","SUCCESS_REPEATING_VTODO_IGNORED","SUCCESS_UNBOUND_RRULE_CLIPPED","CLIENT_INVALID_PROPNAME","CLIENT_INVALID_PROPVALUE","CLIENT_INVALID_PROPPARAM","CLIENT_INVALID_PROPPARAMVALUE","CLIENT_INVALUD_CALENDAR_COMP_SEQ","CLIENT_INVALID_DATE_TIME","CLIENT_INVALID_RRULE","CLIENT_INVALID_CU","CLIENT_NO_AUTHORITY","CLIENT_UNSUPPORTED_VERSION","CLIENT_TOO_LARGE","CLIENT_REQUIRED_COMP_OR_PROP_MISSING","CLIENT_UNKNOWN_COMP_OR_PROP","CLIENT_UNSUPPORTED_COMP_OR_PROP","CLIENT_UNSUPPORTED_CAPABILITY","SCHEDULING_EVENT_CONFLICT","SERVER_REQUEST_NOT_SUPPORTED","SERVER_SERVICE_UNAVAILABLE","SERVER_INVALID_CALENDAR_SERVICE","SERVER_NO_SCHEDULING_FOR_USER","TextProperty","altRep","TriggerProperty","related","getInUTC","alarmTime","alarmOffset","relatedToStart","getConstructorForPropertyName","propName","AbstractComponent","properties","components","_properties","_components","_setPropertiesFromConstructor","_setComponentsFromConstructor","getPropertyIterator","component","getComponentIterator","getFirstProperty","newProperty","addProperty","hasProperty","lang","_getAllOfPropertyByLang","next","hasComponent","newComponent","icalProp","getAllProperties","icalComp","getAllSubcomponents","_getConstructorForComponentName","prop","comp","addSubcomponent","advertiseSingleOccurrenceProperty","advertiseValueOnly","iCalendarName","pluralName","allowedValues","unknownValue","getDefaultOncePropConfig","defineProperty","getFirstPropertyFirstValue","updatePropertyWithValue","deleteAllProperties","advertiseMultipleOccurrenceProperty","getDefaultMultiplePropConfig","deleteProperty","advertiseMultiValueStringPropertySeparatedByLang","_getFirstOfPropertyByLang","addValue","languageParameter","removeValue","dateFactory","Date","RecurringWithoutDtStartError","RecurrenceManager","masterItem","_masterItem","_recurrenceExceptionItems","_rangeRecurrenceExceptionItemsIndex","_rangeRecurrenceExceptionItemsDiffCache","_rangeRecurrenceExceptionItems","getRecurrenceExceptionIterator","recurrenceId","unixTime","a","b","recurrenceException","getRangeRecurrenceExceptionForId","originalRecurrenceId","difference","startDate","subtractDateWithTimezone","recurrenceExceptionItem","_getRecurrenceIdKey","modifiesFuture","recurrenceManager","removeRecurrenceExceptionByRecurrenceId","getRecurrenceRuleIterator","recurrenceRule","resetCache","_getPropertiesForRecurrenceDate","getRecurrenceDateIterator","_getValueTypeByValue","first","markPropertyAsDirty","_getPropertyNameByIsNegative","valueToCheck","allValues","getRecurrenceRuleList","every","rule","_getRecurExpansionObject","isRecurring","getReferenceRecurrenceId","icalRecurrenceId","_getOccurrenceAtRecurrenceId","previous","dateTimeValue","queriedTimeRangeStart","queriedTimeRangeEnd","isInTimeFrame","queriedICALJsTimeRangeStart","queriedICALJsTimeRangeEnd","recurrenceIdKeys","maximumRecurrenceId","max","apply","occurrence","compareDate","endDate","isRecurrenceException","size","getAllOccurrencesBetweenIterator","newUID","newStartDate","oldStartDate","exdate","hasRecurrenceDate","removeRecurrenceException","relateRecurrenceException","rrule","hasRecurrenceExceptionForId","getRecurrenceException","canCreateRecurrenceExceptions","forkItem","hasRangeRecurrenceExceptionForId","rangeRecurrenceException","getRangeRecurrenceExceptionDiff","dtstart","last","ruleIterators","ruleDateInc","ruleDates","ruleDate","exDates","ruleValue","rDateValue","exDateValue","exDateInc","exDate","complete","TimezoneComponent","Timezone","ics","_timezoneId","_ics","_initialized","_initialize","time","ms","fromUnixTime","local","jCal","utc","floating","AlarmComponent","attendeeProperty","fromNameAndEMail","triggerProperty","fromAbsolute","fromRelativeAndRelated","AbstractRecurringComponent","_primaryItem","_isExactForkOfPrimary","_originalRecurrenceId","_recurrenceManager","_dirty","_significantChange","_cachedId","primaryItem","isExactForkOfPrimary","encodeURIComponent","uid","join","updateUID","isMasterItem","updateStartDateOfMasterItem","startDiff","originalTimezone","getICALTimezone","getInICALTimezone","dtStartValue","recurrenceDate","getRecurrenceDate","dtEnd","due","resetDirty","primaryIsRecurring","thisAndAllFuture","previousPrimaryItem","_overridePrimaryItem","removeThisOccurrence","addRelation","fromJSDate","fromEmpty","attendee","getAttendeeIterator","recurDate","valueDateTimeRecurDate","removeRecurrenceDate","addRecurrenceDate","isPartOfRecurrenceSet","getInTimezone","recurValue","exceptionDate","exception","getRecurrenceExceptionList","deleteComponent","isEmptyRecurrenceSet","_addAttendee","fromNameEMailRoleUserTypeAndRSVP","fromLink","contact","comment","fromRelTypeAndId","fromCodeAndMessage","action","alarmComp","markDirty","markChangesAsSignificant","isDirty","sequence","markSubComponentAsDirty","deleteAllComponents","compName","getConstructorForComponentName$1","getTypeOfBirthdayEvent","eventComponent","getDefaultMultipleCompConfig","EventComponent","dtend","fromPosition","fromURILabelAndFeatures","delta","allDay","defaultTimezone","defaultAllDayDuration","defaultTimedDuration","currentAllDay","isAllDay","canModifyAllDay","replaceTimezone","getIconForBirthday","yearOfOccurrence","yearOfBirth","getAgeOfBirthday","toICS","FreeBusyComponent","JournalComponent","description","ToDoComponent","propertiesToCheck","propertyToCheck","dueTime","getConstructorForComponentName","CalendarComponent","getEventIterator","getJournalIterator","getTodoIterator","cleanUpTimezones","vObject","getVObjectIterator","undirtify","icalRoot","additionalProps","concat","method","AbstractRepairStep","input","ICalendarAddMissingUIDRepairStep","replace","match","vobjectName","vObjectBlock","ICalendarAddMissingValueDateDoubleColonRepairStep","date","ICalendarAddMissingValueDateRepairStep","_","ICalendarEmptyTriggerRepairStep","ICalendarIllegalCreatedRepairStep","ICalendarMultipleVCalendarBlocksRepairStep","containsProdId","containsVersion","containsCalscale","includedTimezones","Set","tzidMatcher","add","ICalendarRemoveXNCGroupIdRepairStep","tzData","version","aliases","aliasTo","GMT","GMT0","Greenwich","UCT","Universal","Z","Zulu","zones","latitude","longitude","TimezoneManager","_aliases","_timezones","_getTimezoneForIdRec","level","console","error","resolvedTimezoneId","includeAliases","timezones","debug","registerTimezoneFromICS","registerAlias","registerTimezone","aliasName","timezoneManager","getTimezoneManager","isOlsonTimezone","tzName","hasSlash","hasSpace","startsWithETC","startsWithUS","clearAllTimezones","ICalendarParser","_rawData","_calendarComponent","_containsVEvents","_containsVJournals","_containsVTodos","_containsVFreeBusy","_items","_masterItems","_forgedMasterItems","_requiredTimezones","_defaultTimezoneManager","_applyRepairSteps","_extractTimezones","_registerTimezones","_createCalendarComponent","_getOption","_extractProperties","_processVObjects","_processVFreeBusy","itemList","calendarComp","_addRequiredTimezonesToCalendarComp","item","RepairStep","getRepairSteps","step","repair","_extractPropertyAndPutResultIntoVariable","names","variableName","matches","hasTimezoneForId","_addItem","_markCompTypeAsSeen","_addRecurrenceException","_addRequiredTimezone","alarm","getAlarmIterator","recurrenceExceptionList","master","forgedMaster","stampTime","getFreebusyIterator","requiredTimezone","getTimezoneForId","_replaceTimezoneWithAnotherOne","timezoneComponent","toTimezoneComponent","calendarComponent","searchTimezone","silentlyReplaceTimezone","ParserManager","_parsers","reduce","allFileTypes","parser","getMimeTypes","fileType","Parser","find","getParserManager","parserManager","registerParser","TimezoneAdapter","_timezoneManager","IllegalValueError","getSortedTimezoneList","timezoneList","additionalTimezones","globalTimezoneName","sortedByContinent","sortedList","split","continent","shift","regions","getReadableTimezoneName","cities","additionalTimezone","sort","parseICSAndGetAllOccurrencesBetween","icsParser","getParserForFileType","parse","firstVObject","createEvent","calendar","createFreeBusyRequest","organizer","attendees","fromMethod","freeBusyComponent","clonedAttendee","self","module","exports","n","5938","t","e","mixins","props","disabled","Boolean","default","computed","isFocusable","858","r","o","s","l","c","d","A","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","u","p","getOwnPropertyDescriptors","defineProperties","configurable","writable","m","directives","tooltip","DotsHorizontal","Popover","VNodes","open","forceMenu","forceTitle","menuTitle","String","primary","defaultIcon","ariaLabel","placement","boundariesElement","Element","document","querySelector","container","actions","opened","focusIndex","randomId","children","$children","firstAction","hasMultipleActions","isValidSingleAction","firstActionElement","singleActionTitle","isDisabled","$props","firstActionVNode","firstActionBinding","componentOptions","tag","is","href","target","$attrs","to","exact","firstActionEvent","listeners","click","firstActionEventBinding","firstActionIconSlot","$slots","icon","firstActionClass","staticClass","class","trim","iconSlotIsPopulated","watch","beforeMount","initActions","beforeUpdate","methods","openMenu","$emit","closeMenu","$refs","menuButton","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","test","focusAction","removeCurrentActive","classList","remove","focusPreviousAction","preventIfEvent","focusNextAction","focusLastAction","$el","preventDefault","stopPropagation","execFirstAction","onFocus","onBlur","5041","functional","render","vnodes","4828","198","B","title","required","T","h","g","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","C","f","v","$createElement","_self","_c","_v","_s","3056","D","id","validator","checked","Number","checkInput","onChange","checkbox","E","ref","focusable","attrs","domProps","on","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","change","for","text","_e","538","N","ArrowRight","DatetimePicker","Multiselect","isIconUrl","URL","isMultiselectType","isDatePickerType","onLeave","datetimepicker","datepicker","closePopup","onInput","onSubmit","S","y","x","mouseleave","_t","style","backgroundImage","submit","_b","placeholder","_g","$listeners","rawName","expression","decorative","1460","download","rel","onClick","textContent","isLongText","5668","toggleInput","radio","3434","nativeOn","2768","1262","9975","5860","1582","toggleAppNavigationButton","beforeDestroy","emit","getBuilder","persist","build","k","AppDetailsToggle","Pane","Splitpanes","allowSwipeNavigation","listSize","listMinWidth","listMaxWidth","paneConfigKey","showDetails","contentHeight","hasList","listPaneSize","restorePaneConfig","paneConfigID","info","detailsPaneSize","paneDefaults","details","list","min","updated","checkListSlot","mounted","mc","cssProps","userSelect","handleSwipe","off","srcEvent","pageX","deltaX","abs","handlePaneResize","setItem","JSON","stringify","getItem","isNaN","hideDetails","R","F","w","O","isMobile","resized","7864","637","selection","showdetails","8916","Actions","ActionButton","Menu","toggleNavigation","AppNavigationToggle","scopedSlots","_u","fn","proxy","toggleNavigationByEventBus","unmounted","destroy","unsubscribe","getComputedStyle","body","getPropertyValue","setTimeout","5485","hasActions","1599","highlighted","1466","color","formattedColor","backgroundColor","3097","M","MenuDown","AppNavigationIconCollapsible","InputConfirmCancel","Pencil","Undo","ClickOutside","directive","loading","allowCollapse","editable","editLabel","editPlaceholder","pinned","undo","menuOpen","menuIcon","menuPlacement","ariaDescription","editingValue","editingActive","hasChildren","collapsible","isIconShown","canHaveChildren","$parent","$options","_componentTag","hasUtils","editing","counter","navElement","isActive","$route","editButtonAriaLabel","undoButtonAriaLabel","created","updateSlotInfo","onMenuToggle","toggleCollapse","handleEdit","editingInput","focusInput","cancelEditing","handleEditingDone","handleUndo","Y","active","cancel","confirm","model","callback","9273","buttonId","buttonClass","5240","newItemValue","newItemActive","handleNewItem","newItemInput","cancelNewItem","handleNewItemDone","8906","Cog","yd","clickOutsideConfig","middleware","clickOutsideMiddleware","toggleMenu","6005","3257","Modal","showNavigation","selectedSection","linkClicked","addedScrollListener","scroller","hasNavigation","settingsNavigationAriaLabel","propsData","settingsScroller","addEventListener","handleScroll","getSettingsNavigation","handleSettingsNavigationClick","getElementById","scrollIntoView","behavior","inline","handleCloseModal","removeEventListener","scrollTop","unfocusNavigationItem","className","blur","handleLinkKeydown","close","tabindex","event","2656","2523","z","tabs","activeTab","hasMultipleTabs","currentTabIndex","findIndex","updateActive","updateTabs","setActive","focusPreviousTab","focusActiveTab","focusNextTab","focusFirstTab","focusLastTab","focusActiveTabContent","hasMdIcon","componentInstance","util","warn","order","OC","Util","naturalSortCompare","button","_l","AppSidebarTabs","EmptyContent","Close","Star","linkify","Tooltip","titleEditable","titlePlaceholder","subtitle","subtitleTooltip","background","starred","starLoading","compact","empty","linkifyTitle","titleTooltip","closeTranslated","isStarred","canStar","hasFigure","header","hasFigureClickListener","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","closeSidebar","onFigureClick","toggleStarred","editTitle","titleInput","onTitleInput","onSubmitTitle","onDismissEditing","onUpdateActive","I","G","L","$","U","j","P","appear","modifiers","auto","currentTarget","1060","onScroll","scrollHeight","clientHeight","scroll","167","done","Promise","resolve","then","PopoverMenu","iQ","url","iconClass","user","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasStatus","userId","status","userStatus","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","getCurrentUser","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","round","initials","fromCodePoint","codePointAt","hyperlink","longtext","createTextNode","createElement","appendChild","innerHTML","loadAvatarUrl","fetchUserStatus","handleUserStatusUpdated","beforeDestroyed","handlePopoverAfterShow","popoverMenu","getElementsByTagName","handlePopoverAfterHide","main","regeneratorRuntime","mark","wrap","prev","abrupt","fetchContactsMenu","stop","post","generateUrl","sent","topAction","t0","catch","updateImageIfValid","avatarUrlGenerator","oc_userconfig","avatar","Image","onload","onerror","srcset","src","alt","3792","ChevronRight","disableDrop","hovering","crumbId","onOpenChange","dropped","dragEnter","dragLeave","contains","relatedTarget","crumb","draggable","dragstart","drop","dragover","dragenter","dragleave","_d","6669","ActionRouter","ActionLink","Breadcrumb","IconFolder","rootIcon","hiddenCrumbs","hiddenIndices","menuBreadcrumbProps","window","handleWindowResize","delayedResize","delayedHideCrumbs","hideCrumbs","closeActions","actionsBreadcrumb","offsetWidth","getTotalWidth","breadcrumb__actions","pow","getWidth","elm","arraysEqual","minWidth","dragStart","dragOver","slot","519","nativeType","wide","tabbed","slots","hasText","hasIcon","iconOnly","textOnly","iconAndText","buttonClassObject","handleClick","handleTabUp","handleBlur","makeActive","makeInactive","keyup","2528","indeterminate","wrapperElement","cssVars","inputType","isChecked","checkboxRadioIconElement","onToggle","getInputsSet","getElementsByName","9793","ArrowLeft","Check","Chrome","currentColor","advanced","palette","rgbToHex","handleConfirm","handleClose","handleBack","handleMoreSettings","pickColor","hex","mode","6198","appName","1988","counterClassObject","577","datetime","week","DatePicker","TimezonePicker","inheritAttrs","clearable","minuteStep","format","formatter","showTimezoneSelect","highlightTimezone","appendToBody","showWeekNumber","showTimezonePopover","tzVal","formatLocale","months","getMonthNames","monthsShort","getMonthNamesShort","weekdays","getDayNames","weekdaysShort","getDayNamesShort","weekdaysMin","getDayNamesMin","firstDayOfWeek","getFirstDay","monthFormat","formatTypeMap","handleSelectYear","currentValue","setFullYear","selectDate","handleSelectMonth","setMonth","toggleTimezonePopover","mousedown","$scopedSlots","8263","7185","search","highlight","ranges","chunks","8149","CounterBubble","anchorId","bold","linkAriaLabel","actionsAriaLabel","counterNumber","counterType","forceDisplayActions","hovered","focused","hasSubtitle","displayActionsOnHoverFocus","hasDetails","showCounter","checkSlots","handleMouseover","showActions","hideActions","handleFocus","handleMouseleave","handleTab","handleActionsUpdateOpen","mouseover","extra","6982","Avatar","Highlight","avatarSize","noMargin","margin","hasSlot","isValidSubtitle","isSizeBigEnough","4113","pause","clearTimeout","clear","getTimeLeft","getStateRunning","ChevronLeft","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","clearViewDelay","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","showModal","clearView","clearViewTimeout","playing","slideshowTimeout","iconSize","modalTransitionName","playPauseTitle","cssVariables","handleKeydown","handleMouseMove","mask","insertBefore","lastChild","destroyed","resetSlideshow","togglePlayPause","handleSlideshow","clearSlideshowTimeout","mousemove","touchmove","invisible","height","width","stroke","fill","cx","cy","7316","option","needsTruncate","part1","part2","highlight1","highlight2","EllipsisedOption","ListItemIcon","VueMultiselect","closeOnSelect","multiple","limit","trackBy","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","willCloseOnSelect","updateWidth","getOptionLabel","formatLimitTitle","7838","nodeType","attributes","nodeName","nodeValue","hasChildNodes","childNodes","DOMParser","parseFromString","canAssign","userAssignable","userVisible","NextcloudVueDocs","tags","generateRemoteUrl","inputValue","getValueObject","beforeCreate","update","tagLabel","8099","6996","iconIsUrl","PopoverMenuItem","_i","$set","_q","composing","1102","subline","source","avatarUrl","getAvatarUrl","haveStatus","autoComplete","Function","multiline","contenteditable","maxlength","emojiAutocomplete","tribute","autocompleteOptions","fillAttr","lookup","menuItemTemplate","renderComponentHtml","original","noMatchTemplate","selectTemplate","genSelectTemplate","debouncedAutoComplete","emojiOptions","trigger","native","short_name","addRecent","emojiSearch","containerClass","itemClass","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","content","show","canEdit","parseContent","updateContent","autocompleteTribute","attach","emojiTribute","contentEditable","detach","updateValue","onPaste","clipboardData","files","items","getData","getSelection","rangeCount","getRangeAt","deleteFromDocument","insertNode","createRange","setStart","endOffset","collapse","removeAllRanges","addRange","renderContent","onDelete","isCollapsed","commonAncestorContainer","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","deleteContents","onEnter","onCtrlEnter","paste","3325","HelpCircle","docUrl","docTitleTranslated","hasDescription","hasDocUrl","9460","return","detectUser","setApp","selectedTimezone","i8","Ao","j3","listAllTimezones","4565","UserBubbleDiv","avatarImage","isPopoverComponent","popoverEmpty","isAvatarUrl","isCustomAvatar","isLinkComponent","styles","borderRadius","marginLeft","8167","inserted","5675","9040","VTooltip","defaultTemplate","defaultHtml","defaultDelay","hide","7791","EmojiIndex","frequently","emoji","7993","932","getGettextBuilder","detectLocale","locale","translations","Activities","Choose","Custom","Flags","Global","Next","Objects","Previous","Search","Settings","Submit","Symbols","pluralId","msgid","msgid_plural","msgstr","addTranslation","ngettext","gettext","723","before","$destroy","getText","9156","closeAfterClick","9150","excludeClickOutsideClasses","hasNodeOrAnyParentClass","parentElement","3351","rm","tq","bf","getCapabilities","user_status","enabled","generateOcsUrl","ocs","response","8136","isFullscreen","_isFullscreen","_onResize","outerHeight","screen","334","documentElement","clientWidth","$on","onIsMobileChanged","$off","3648","1088","mentionText","RegExp","userData","flat","extend","$mount","1336","6609","1205","6021","1390","defaultProtocol","7645","setAttribute","7695","sources","mappings","sourcesContent","sourceRoot","5850","6051","7087","6429","4105","3949","4975","8631","8477","2103","7727","2476","9224","4247","4707","2400","4609","9325","533","6456","183","484","7004","8704","8323","805","6527","8736","8711","7464","1128","3126","6016","430","9474","3352","2778","5682","6919","8560","8004","1271","1087","9863","1309","9814","5878","7816","3530","1142","4388","2305","4398","1305","3317","4705","6381","1852","3645","4015","btoa","unescape","1667","__esModule","hash","needQuotes","1756","2694","3379","identifier","base","css","media","sourceMap","supports","layer","references","updater","byIndex","569","HTMLIFrameElement","contentDocument","head","9216","3565","nc","7795","parentNode","removeChild","4589","styleSheet","cssText","firstChild","2842","4831","8887","6953","1626","6816","9635","2943","9616","5104","6951","491","3083","2569","labelConfirm","labelCancel","valueModel","5576","desc","7020","VPopover","$watch","popover","isOpen","8104","4403","613","5494","7911","3822","3184","5933","9012","2329","1967","4444","6616","2192","1871","8347","4795","7808","2930","7091","869","4773","2458","9976","995","9352","2418","9182","7160","3095","9908","5693","3489","8002","6200","2895","7772","8575","7827","590","8733","26","1164","7862","9200","2527","8940","9125","hidden","delay","1900","staticRenderFns","_compiled","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","shadowRoot","_injectStyles","3607","768","7672","542","6036","4262","3465","2640","453","2965","2734","2533","9605","5978","3251","toStringTag","ActionCaption","ActionCheckbox","ActionInput","ActionRadio","ActionSeparator","ActionText","ActionTextEditable","AppContent","AppContentDetails","AppContentList","AppNavigation","AppNavigationCaption","AppNavigationCounter","AppNavigationIconBullet","AppNavigationItem","AppNavigationNew","AppNavigationNewItem","AppNavigationSettings","AppNavigationSpacer","AppSettingsDialog","AppSettingsSection","AppSidebar","AppSidebarTab","Breadcrumbs","Button","q","CheckboxRadioSwitch","ColorPicker","Content","Focus","K","Linkify","V","ListItem","MultiselectTags","RichContenteditable","H","SettingsSection","W","J","UserBubble","Q","an","X","richEditor","nn","tn","en","Vue","install","charenc","utf8","stringToBytes","bin","bytesToString","bytes","decodeURIComponent","escape","charCodeAt","fromCharCode","base64map","crypt","rotl","rotr","endian","randomBytes","bytesToWords","words","wordsToBytes","bytesToHex","hexToBytes","bytesToBase64","base64","triplet","base64ToBytes","imod4","debounce","func","wait","immediate","timeout","context","timestamp","result","later","now","debounced","callNow","flush","661","requestAnimationFrame","cancelAnimationFrame","getTime","Anchors","Category","Emoji","EmojiData","EmojiView","Picker","oe","Preview","Skins","sanitize","store","uncompress","localStorage","setNamespace","setHandlers","getter","setter","unified","non_qualified","has_img_apple","has_img_google","has_img_twitter","has_img_facebook","keywords","sheet","emoticons","short_names","added_in","getOwnPropertyNames","freeze","compressed","emojis","unshift","sheet_x","sheet_y","toFixed","reverse","pop","activity","custom","flags","foods","nature","objects","smileys","people","places","recent","symbols","i18n","categories","activeCategory","svgs","RangeError","emojisToShowFilter","include","exclude","recentLength","_data","_emojisFilter","_include","_exclude","_custom","_recent","_emojis","_nativeEmojis","_emoticons","_categories","_recentCategory","_customCategory","_searchIndex","buildIndex","isCategoryNeeded","addEmoji","addCustomEmoji","hasEmoji","getSkin","results","isEmojiNeeded","_skins","skin_variations","skin_tone","_sanitized","_emoji","_native","_skin","_set","_fallback","canRender","_canRender","cssClass","_cssClass","cssStyle","_cssStyle","_content","_isCustom","_isNative","_hasEmoji","_emojiType","getEmoji","imageUrl","backgroundSize","backgroundPosition","getPosition","colons","skin","fallback","perLine","maxSearchResults","emojiSize","defaultSkin","emojiTooltip","autoFocus","showPreview","showSearch","showCategories","showSkinTones","infiniteScroll","pickerStyles","view","emojiObject","sanitizedData","findEmoji","onMouseEnter","onMouseLeave","mouseenter","emojiProps","activeClass","selectedEmoji","selectedEmojiCategory","isVisible","isSearch","hasResults","emojiObjects","emojiView","notfound","idleEmoji","skinProps","onSkinChange","emojiData","emojiShortNames","emojiEmoticons","onSearch","onArrowLeft","onArrowRight","onArrowDown","onArrowUp","emojiIndex","_vm","_perLine","searchEmojis","previewEmoji","previewEmojiCategoryIdx","previewEmojiIdx","filteredCategories","getCategoryComponent","offsetTop","updatePreviewEmoji","emojisLength","offsetHeight","ee","te","ie","activeSkin","customStyles","calculateWidth","previewEmojiCategory","onEmojiEnter","onEmojiLeave","onEmojiClick","overflow","position","top","mergedI18n","firstEmoji","waitingForPaint","onScrollPaint","onAnchorClick","allCategories","arrowLeft","arrowRight","arrowDown","arrowUp","enter","refInFor","ICAL","OPTIONS","TimezoneService","foldLength","newLineChar","helpers","updateTimezones","vcal","allsubs","vtimezones","reqTzid","removeSubcomponent","isStrictlyNaN","number","strictParseInt","string","formatClassType","unescapedIndexOf","buffer","pos","binsearchInsert","seekVal","cmpfunc","mid","cmpval","low","high","dumpn","log","dump","aSrc","aDeep","obj","foldline","aLine","line","line_length","cp","substring","pad2","trunc","ceil","inherits","child","descr","design","FROM_VCARD_NEWLINE","TO_VCARD_NEWLINE","createTextType","fromNewline","toNewline","fromICAL","aValue","structuredEscape","newline","replaceNewlineReplace","replaceNewline","toICAL","regEx","DEFAULT_TYPE_TEXT","DEFAULT_TYPE_TEXT_MULTI","DEFAULT_TYPE_TEXT_STRUCTURED","structuredValue","DEFAULT_TYPE_INTEGER","DEFAULT_TYPE_DATETIME_DATE","allowedTypes","DEFAULT_TYPE_DATETIME","DEFAULT_TYPE_URI","DEFAULT_TYPE_UTCOFFSET","DEFAULT_TYPE_RECUR","DEFAULT_TYPE_DATE_ANDOR_TIME","commonProperties","commonValues","float","parsed","integer","decorate","UtcOffset","fromString","undecorate","icalValues","aString","Binary","aBinary","aProp","strict","Time","fromDateString","len","fromDateTimeString","Duration","isValueString","Period","fromJSON","recur","Recur","_stringToData","numericDayToIcalDay","aRecur","icalProperties","detectType","vcardValues","VCardTime","fromDateAndOrTimeString","splitzone","_splitZone","isFromIcal","lastChar","signChar","sign","vcardProperties","vcard3Values","binary","vcard","vcard3Properties","nickname","photo","bday","adr","tel","mailer","tz","geo","logo","agent","org","note","prodid","rev","sound","icalSet","param","allowXName","allowIanaToken","multiValueSeparateDQuote","vcardSet","vcard3Set","defaultSet","vcard3","vevent","vtodo","vjournal","valarm","vtimezone","daylight","standard","icalendar","getDesignSet","LINE_ENDING","DEFAULT_VALUE_TYPE","designSet","propIdx","propLen","designSetName","comps","compIdx","compLen","noFold","jsName","params","_rfc6868Unescape","propertyValue","propDetails","isDefault","delim","innerMulti","RFC6868_REPLACE_MAP","CHAR","ParserError","stack","state","_eachLine","err","_handleContentLine","lastParamIndex","lastValuePos","parsedParams","valuePos","paramPos","_parseParameters","propertyDetails","_parseMultiValue","_parseValue","lcname","mvdelim","lastParam","_rfc6868Escape","extendedValue","nextPos","propValuePos","delimiter","lastPos","firstChar","newlineOffset","Component","_hydratedPropertyCount","_hydratedComponentCount","_designSet","_hydrateComponent","_hydrateProperty","getFirstSubcomponent","jCalLen","getFirstPropertyValue","_removeObjectByIndex","jCalIndex","cache","_removeObject","nameOrObject","cached","_removeAllObjects","idx","nameOrComp","removed","removeAllSubcomponents","removeProperty","addPropertyWithValue","nameOrProp","removeAllProperties","getDefaultType","_updateType","designSetChanged","isStructuredValue","_hydrateValue","_values","_decorate","_undecorate","_setDecoratedValue","getFirstParameter","removeParameter","resetType","removeAllValues","toICALString","aData","_normalize","aSeconds","secs","instance","_b64_decode","_b64_encode","h1","h2","h3","h4","bits","b64","ac","enc","tmp_arr","o1","o2","o3","wrappedJSObject","icalclass","aLenient","fromDateOrDateTimeString","DURATION_LETTERS","parseDurationChunk","letter","object","num","propsToCopy","reset","aOther","thisSeconds","otherSeconds","aStr","dict","create","numeric","location","tznames","expandedUntilYear","changes","tt","utcTimezone","localTimezone","_ensureCoverage","tt_change","change_num","_findNearbyChange","change_num_to_use","prevUtcOffset","adjust_change","_compare_change_fn","zone_change","tmp_change","prev_zone_change","is_daylight","aYear","_minimumExpansionYear","today","changesEndYear","EXTRA_COVERAGE","MAX_YEAR","subcomps","_expandComponent","aComponent","convert_tzoffset","init_changes","changebase","rdatekey","adjust","occ","convert_time","from_zone","to_zone","UTC","register","_time","_dowCache","_wnCache","_cachedUnixTime","_pendingNormalization","epochTime","resetTo","aDate","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","aZone","dayOfWeek","aWeekStart","firstDow","dowCacheKey","dayOfYear","is_leap","isLeapYear","daysInYearPassedMonth","startOfWeek","endOfWeek","startOfMonth","endOfMonth","daysInMonth","startOfYear","endOfYear","startDoyWeek","aFirstDayOfWeek","getDominicalLetter","nthWeekDay","aDayOfWeek","aPos","weekday","otherDay","isNthWeekDay","dow","weekNumber","week1","wnCacheKey","dt","isoyear","weekOneStarts","daysBetween","answer","aDuration","mult","cmp","attr","_cmp_attr","rc","copy","zone_equals","aExtraDays","aExtraHours","aExtraMinutes","aExtraSeconds","aTime","minutesOverflow","hoursOverflow","daysOverflow","yearsOverflow","epoch","defineAttr","fromDayOfYear","aDayOfYear","doy","auto_normalize","fromStringv2","aProperty","yr","LTRS","dom","p2","mm","hasMonth","hasDay","hasHour","hasMinute","hasSecond","datepart","timepart","aIcalType","part","tmz","tm","dtlen","tmlen","hasDashDate","hasDashTime","DOW_MAP","SU","MO","TU","WE","TH","FR","SA","REVERSE_DOW_MAP","parseNumericValue","aStart","RecurIterator","aType","ucname","aValues","getNextOccurrence","aStartTime","aRecurrenceId","iter","uckey","partDesign","optionDesign","INTERVAL","icalDayToNumericDay","res","kparts","VALID_DAY_NAMES","VALID_BYDAY_PART","FREQ","fmtIcal","COUNT","UNTIL","WKST","BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS","partArr","partArrIdx","partArrLen","icalrecur_iterator","completed","occurrence_number","by_indices","initialized","by_data","days_index","init","sort_byday_rules","setup_defaults","bydayParts","ruleDayOfWeek","wkdy","dayName","expand_year_days","increment_year","_nextByYearDay","has_by_data","tempLast","initLast","dayOfMonth","increment_month","_byDayAndMonthDay","valid","next_second","next_minute","next_hour","next_day","next_week","next_month","next_year","check_contracting_rules","next_generic","increment_second","inc","increment_generic","increment_minute","increment_hour","this_freq","increment_monthday","end_of_data","next_weekday_by_week","week_no","normalizeByMonthDayRules","rules","newRules","ruleIdx","isInit","byMonthDay","dateLen","byDay","dateIdx","dayLen","dataIsValid","lastDay","initMonth","nextMonth","monthsCounter","dayIdx","data_valid","setpos","setpos_total","last_day","is_day_in_byday","check_set_position","coded_day","aRuleType","aInterval","aDateAttr","aFollowingAttr","aPreviousIncr","has_by_rule","dta","years","aFactor","aNextIncrement","nextunit","validWeeks","monthIdx","first_week","last_week","weekIdx","weekno","partCount","t1","monthkey","t2","monthdaykey","t3","day_","month_","expand_by_day","first_dow","doy_offset","last_dow","by_month_day","spIndex","daycodedkey","month_day","first_matching_day","last_matching_day","expandedDays","daykey","days_list","tmp","start_dow","end_dow","end_year_day","this_dow","aRules","check_contract_restriction","indexMapValue","_indexMap","ruleMapValue","_expandMap","pass","CONTRACT","ruleType","bydatakey","weekNo","req","deftime","UNKNOWN","EXPAND","ILLEGAL","RecurExpansion","formatTime","compareTime","_init","currentTry","_nextRecurrenceIter","_nextRuleDay","_nextExDay","_extractDates","handleProp","iters","iterTime","chosenIter","iterIdx","Event","_rangeExceptionCache","exceptions","rangeExceptions","strictExceptions","relateException","compareRangeException","THISANDFUTURE","findRangeException","rangeItem","getOccurrenceDetails","utcId","rangeExceptionId","newStart","startTime","getRecurrenceTypes","_firstProp","_setProp","_setTime","ComponentParser","parseEvent","parseTimezone","oncomplete","ontimezone","onevent","process","ical","isBuffer","readFloatLE","isSlowBuffer","_isBuffer","md5","encoding","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","_blocksize","_digestsize","digestbytes","asBytes","asString","predicate","thisArg","CustomEvent","CustomEvent$1","bubbles","cancelable","detail","evt","initCustomEvent","TributeEvents","events","element","boundKeydown","boundKeyup","boundInput","shouldDeactivate","hideMenu","commandEvent","callbacks","inputEvent","li","selectItemAtIndex","getAttribute","current","externalTrigger","updateSelection","allowSpaces","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","collection","menuShowMinLength","showMenuFor","eventKeyPressed","el","range","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","collectionItem","filteredItems","menuSelected","tab","space","spaceSelectsMatch","up","selected","setActiveLi","down","lis","selectClass","liClientRect","getBoundingClientRect","menuClientRect","bottom","scrollDistance","elem","includeMargin","currentStyle","marginTop","marginBottom","TributeMenuEvents","menuEvents","menuClickEvent","menuContainerScrollEvent","windowResizeEvent","positionMenuAtCaret","getDocument","TributeRange","iframe","contentWindow","scrollTo","coordinates","positionMenu","isContentEditable","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","left","right","menuDimensions","menuIsOffScreen","isMenuOffScreen","menuIsOffScreenHorizontally","innerWidth","menuIsOffScreenVertically","innerHeight","targetElement","path","nextSibling","previousSibling","sel","getWindowSelection","requireLeadingSpace","originalEvent","replaceEvent","replaceTextSuffix","endPos","pasteHtml","myField","textSuffix","startPos","selectionStart","selectionEnd","dispatchEvent","html","node","lastNode","frag","createDocumentFragment","cloneRange","setStartAfter","ctx","ce","getNodePositionInParent","selectedElem","workingNodeContent","selectStartOffset","textComponent","wordsArray","menuAlreadyActive","isAutocomplete","selectionInfo","getContentEditableSelectedPath","effectiveRange","getTextPrecedingCurrentSelection","lastWordOfEffectiveRange","getLastWordInText","mentionSelectedElement","mostRecentTriggerCharPos","config","lastIndexWithLeadingSpace","lastIndexOf","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","reversedStr","cidx","triggerIdx","windowWidth","windowHeight","doc","windowLeft","pageXOffset","scrollLeft","clientLeft","windowTop","pageYOffset","clientTop","menuTop","menuRight","menuBottom","menuLeft","dimensions","flipped","isFirefox","mozInnerScreenX","div","whiteSpace","wordWrap","visibility","overflowY","span","rect","menuContainerIsBody","borderTopWidth","offsetLeft","borderLeftWidth","getMenuDimensions","parentHeight","scrollStillAvailable","selectedNodePosition","clientRect","elemTop","elemBottom","maxY","targetY","TributeSearch","pattern","array","opts","pre","compareString","caseSensitive","skip","rendered","score","patternCache","traverse","stringIndex","patternIndex","calculateScore","best","temp","indices","extract","Tribute","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","_isActive","noMatchEvent","matchItem","jQuery","NodeList","HTMLCollection","_attach","hasAttribute","ensureEditable","inputTypes","wrapper","ul","currentMentionTextSnapshot","createMenu","tributeMenu","processValues","fragment","_findLiTarget","movementY","collectionIndex","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","createTextRange","textRange","moveToElementText","select","textNode","textarea","scrollPos","caretPos","front","back","replaceText","replaceTriggerText","newValues","_append","_detach","unbind","removeAttribute","refs","ssrId","DEBUG","esModule","hsl","hsv","rgba","rgb","_a","setAlpha","toHsl","toHsv","toHexString","hex8","toHex8String","toRgb","oldHue","getAlpha","colors","colorChange","isValidHex","isValid","simpleCheckForValidColor","paletteUpperCase","isTransparent","__g","__file","__e","valueOf","copyright","propertyIsEnumerable","pick","handlerClick","labelText","arrowOffset","labelId","labelSpanText","handleChange","handleKeyDown","swatches","hue","normalizedSwatches","hueChange","handleSwClick","entries","virtual","write","direction","pullDirection","directionClass","pointerTop","pointerLeft","touches","pageY","handleMouseDown","handleMouseUp","unbindEventListeners","equal","disableFields","hasResetButton","acceptLabel","cancelLabel","resetLabel","newLabel","currentLabel","saturation","alpha","childChange","inputChange","clickCurrentColor","handleAccept","handleCancel","handleReset","bgColor","throttle","leading","trailing","checkboard","gradientColor","getContext","fillStyle","fillRect","translate","toDataURL","white","grey","bgStyle","presetColors","disableAlpha","activeColor","handlePreset","fieldsIndex","hasAlpha","toggleViews","showHighlight","hideHighlight","editableInput","defaultColors","triangle","Compact","Grayscale","Twitter","Material","Slider","Swatches","Photoshop","Sketch","Alpha","Checkboard","EditableInput","Hue","Saturation","ColorMixin","_originalInput","_r","_roundA","_format","_gradientType","gradientType","_ok","ok","_tc_id","desaturate","CSS_UNIT","exec","hsla","hsva","hex6","hex4","hex3","isDark","getBrightness","isLight","getOriginalInput","getFormat","getLuminance","toHsvString","toHslString","toHex","toHex8","toRgbString","toPercentageRgb","toPercentageRgbString","toName","toFilter","_applyModification","lighten","brighten","darken","saturate","greyscale","spin","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","equals","mix","readability","isReadable","mostReadable","includeFallbackColors","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","hexNames","_withStripped","borderColor","getPrototypeOf","Arguments","KEY","QObject","findChild","ne","re","keyFor","useSetter","useSimple","ae","isExtensible","preventExtensions","NEED","fastKey","getWeak","onFreeze","touchstart","50","100","200","300","400","500","600","700","800","900","a100","a200","a400","a700","secondary","dividers","inactive","deepPurple","lightBlue","lightGreen","amber","deepOrange","blueGrey","darkText","lightText","darkIcons","lightIcons","staticStyle","viewBox","maxWait","NaN","mouseout","boxShadow","fillColor","_h","$event","core","inspectSource","$isLabel","$groupLabel","preferredOpenDirection","optimizedHeight","maxHeight","internalSearch","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getValue","updateSearch","isOptionDisabled","$isDisabled","selectGroup","pointerDirty","deactivate","removeElement","wholeGroupSelected","wholeGroupDisabled","removeLastElement","activate","adjustPosition","pointer","toggle","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","pointerBackward","pointerSet","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limitText","showNoOptions","showNoResults","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","callee","global","ignoreCase","unicode","sticky","promise","reject","setImmediate","clearImmediate","MessageChannel","Dispatch","nextTick","port2","port1","onmessage","postMessage","importScripts","onreadystatechange","versions","v8","PromiseRejectionEvent","_n","fail","domain","exit","onunhandledrejection","reason","onrejectionhandled","_w","all","race","finally","BREAK","RETURN","MutationObserver","WebKitMutationObserver","standalone","observe","characterData","setPrototypeOf","__proto__","check","getIteratorMethod","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","keypress","autocomplete","toDate","isValidDate","getDay","diff","setDate","setHours","startOfWeekYear","_ref","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","firstDateOfFirstWeek","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","REGEX_FORMAT","pad","output","formatTimezone","delimeter","absOffset","meridiem","isLowercase","word","toLocaleLowerCase","formatFlags","YY","YYYY","MM","MMM","MMMM","DD","hh","ss","getMilliseconds","SS","SSS","ddd","dddd","getTimezoneOffset","ZZ","ww","formatStr","p1","_toConsumableArray","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","ownKeys","enumerableOnly","sym","_objectSpread","_defineProperty","_slicedToArray","_arrayWithHoles","_arr","_iterableToArrayLimit","_nonIterableRest","formattingTokens","match1","match2","match1to2","matchSigned","YEAR","MONTH","HOUR","MINUTE","SECOND","MILLISECOND","parseFlags","addParseFlag","token","tokens","escapeStringRegExp","matchWordRegExp","localeKey","matchWordCallback","to24hour","isPM","getFullInputArray","backupDate","backupArr","useBackup","createUTCDate","_len","_key","setUTCFullYear","makeParser","dateString","parseTo","cent","meridiemParse","defaultIsPM","_ref9","symbol","_typeof","_extends","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_extends$1","normalMerge","toArrayMerge","functionalMerge","mergeFn","helper","createDate","isValidRangeDate","getValidDate","backup","startOfDay","assignTime","chunk","isObject","mergeDeep","_default","yearFormat","monthBeforeYear","defaultLocale","locales","isLocal","getLocale","getScrollParent","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","originalRender","existing","scrollBarWidth","__vue_component__","prefixClass","visible","inject","_this","displayPopup","_this2","_clickoutEvent","handleClickOutside","relativeElement","_displayPopup","isRunning","rafThrottle","_scrollParent","popup","_popupRect","originalDisplay","originalVisibility","marginRight","getPopupElementSize","_this$_popupRect","_getRelativePosition","targetWidth","targetHeight","fixed","offsetX","offsetY","relativeRect","dw","dh","getRelativePosition","__vue_component__$1","__vue_component__$2","__vue_component__$3","__vue_component__$4","handleIconDoubleLeftClick","handleIconLeftClick","handleIconDoubleRightClick","handleIconRightClick","yearMonth","panel","handlePanelChange","handleCellClick","dates","row","getRowClasses","getWeekNumber","cell","getCellClasses","getCellTitle","handleMouseEnter","handleMouseLeave","IconButton","onDateMouseEnter","onDateMouseLeave","titleFormat","_this$getLocale","_this$getLocale$month","yearLabel","formatDate","monthLabel","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","nextMonthLength","_i2","getCalendar","getNextCalendar","diffMonth","tagName","_index$split$map2","col","fmt","__vue_component__$5","calendarYear","diffYear","__vue_component__$6","firstYear","lastYear","getYearPanel","getYears","CalendarPanel","dispatchDatePicker","defaultPanel","disabledDate","getClasses","partialUpdate","panels","innerCalendar","innerValue","calendarMonth","initCalendar","calendarDate","emitDate","handleCalendarChange","oldCalendar","handelPanelChange","oldPanel","getYearCellDate","_date","getMonthCellDate","_date2","dirtyDate","dirtyMonth","handleSelectDate","getDateClasses","cellDate","notCurrentMonth","classes","getStateClass","getMonthClasses","getYearClasses","some","getWeekState","CalendarRange","provide","calendars","hoveredValue","calendarMinDiff","calendarMaxDiff","Infinity","defaultValues","updateCalendars","handleSelect","_this$innerValue","startValue","endValue","updateStartCalendar","updateEndCalendar","adjustIndex","gap","getCalendarGap","_calendars","calendarLeft","calendarRight","getRangeClasses","currentDates","classnames","inRange","_range$map","_range$map2","calendarRange","__vue_component__$7","scrollbarWidth","thumbHeight","thumbTop","handleDragstart","outer","inner","getScrollbarWidth","handleDragend","getThumbSize","heightPercentage","stopImmediatePropagation","_draggable","thumb","_prevY","clientY","handleDraging","padNumber","generateOptions","tick","__vue_component__$8","columns","ScrollbarVertical","scrollDuration","hourOptions","minuteOptions","secondOptions","showHour","showMinute","showSecond","hourStep","secondStep","use12h","cols","getHoursList","getMinutesList","getSecondsList","getAMPMList","scrollToSelected","_this3","setMinutes","_this4","setSeconds","_this5","elements","scrollElement","colIndex","cellIndex","parseOption","__vue_component__$9","startMinutes","endMinutes","stepMinutes","timeMinutes","scrollTo$1","__vue_component__$a","showTimeHeader","handleClickTitle","timePickerOptions","innerForamt","ShowHourMinuteSecondAMPM","ListColumns","ListOptions","timeTitleFormat","disabledTime","defaultProps","TimeRange","_this$value","emitChange","handleSelectStart","handleSelectEnd","disabledStartTime","disabledEndTime","DatetimePanel","emits","showTimePanel","defaultTimeVisible","timeVisible","closeTimePanel","openTimePanel","calendarProps","timeProps","clicktitle","DatetimeRange","datetimes","componentMap","componentRangeMap","rangeSeparator","inputClass","inputAttr","popupClass","popupStyle","confirmText","renderInputText","shortcuts","userInput","defaultOpen","popupVisible","innerRangeSeparator","innerFormat","validMultipleType","value2date","isValidValue","showClearIcon","handleClickOutSide","getFormatter","parseDate","_options$locale","_locale","_options$backupDate","parseResult","millisecond","inputArray","firstDate","utcDate","offsetMilliseconds","parsedDate","date2value","emitValue","afterEmitValue","isValidValueAndNotDisabled","handleMultipleDates","nextDates","handleClear","handleConfirmDate","handleSelectShortcut","openPopup","handleInputChange","handleInputInput","handleInputKeydown","handleInputBlur","handleInputFocus","renderSlot","slotFn","renderInput","readonly","renderSidebar","renderHeader","renderFooter","_class","sidedar","TimePanel","stripAnsi","onlyFirst","ansiRegex","stringLength","countAnsiEscapeCodes","astral","combo","fitz","nonAstral","regional","surrogatePair","optModifier","optVar","seq","charRegex"],"sourceRoot":""} |