{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/node-gettext/lib/gettext.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/node-gettext/lib/plurals.js","webpack:///./node_modules/@nextcloud/l10n/dist/index.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js"],"names":["DESCRIPTORS","defineProperty","f","FunctionPrototype","Function","prototype","FunctionPrototypeToString","toString","nameRE","configurable","get","call","this","match","error","Object","exports","value","getGettextBuilder","GettextBuilder","obj","_nodeGettext","__esModule","default","_","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","writable","key","_createClass","protoProps","staticProps","translations","debug","language","locale","setLanguage","getLanguage","data","GettextWrapper","gt","sourceLocale","addTranslations","setLocale","translated","vars","replace","a","b","r","original","placeholders","arguments","undefined","subtitudePlaceholders","gettext","singular","plural","count","ngettext","$","$trim","trim","proto","forced","forcedStringTrimMethod","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","ACCESSORS","0","1","max","Math","min","splice","start","deleteCount","insertCount","actualDeleteCount","A","k","from","to","O","len","actualStart","argumentsLength","plurals","Gettext","options","catalogs","domain","listeners","warn","module","on","eventName","callback","push","off","filter","listener","emit","eventData","message","console","Error","setTextDomain","msgid","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","index","defaultTranslation","isNaN","_getTranslation","pluralsFunc","getLanguageCode","msgstr","getComment","comments","split","toLowerCase","textdomain","setlocale","addTextdomain","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","freeGlobal","global","freeSelf","self","root","uid","arrayProto","Array","funcProto","objectProto","coreJsData","maskSrcKey","exec","keys","IE_PROTO","funcToString","hasOwnProperty","objectToString","reIsNative","RegExp","Symbol","Map","getNative","nativeCreate","symbolProto","symbolToString","Hash","entries","clear","entry","set","ListCache","MapCache","assocIndexOf","array","other","baseGet","object","path","isArray","type","isSymbol","test","isKey","stringToPath","toKey","baseIsNative","isObject","func","tag","isFunction","result","e","isHostObject","toSource","getMapData","map","__data__","getValue","has","pop","memoize","string","baseToString","number","quote","resolver","memoized","args","apply","cache","Cache","isObjectLike","defaultValue","ach","name","examples","sample","nplurals","pluralsText","n","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","de","doi","dz","el","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hi","hne","hr","hu","hy","id","is","it","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","ms","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","th","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh","getLocale","OC","translate","app","text","L10N","translatePlural","textSingular","textPlural","getFirstDay","window","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","fails","whitespaces","METHOD_NAME"],"mappings":"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","file":"vendors~editor-rich~files-modal.js?v=49a8520d57eb2ce8fd81","sourcesContent":["var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)());\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// \n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n"],"sourceRoot":""}