Welcome to mirror list, hosted at ThFree Co, Russian Federation.

vendors~editor-rich~files-modal.js.map « js - github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 12173fab7cdd666d316bd5b829c7bcef4297502a (plain)
1
{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///../lib/gettext.ts","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/core-js/internals/string-trim-forced.js"],"names":["DESCRIPTORS","require","defineProperty","f","FunctionPrototype","Function","prototype","FunctionPrototypeToString","toString","nameRE","configurable","get","call","this","match","error","GettextBuilder","translations","debug","language","setLanguage","getLanguage","data","GettextWrapper","locale","GetText","sourceLocale","translated","vars","r","original","placeholders","subtitudePlaceholders","gt","gettext","singular","plural","count","ngettext","replace","$","$trim","trim","target","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","length","actualStart","argumentsLength","arguments","TypeError","plurals","Gettext","options","catalogs","domain","listeners","warn","module","exports","on","eventName","callback","push","off","filter","listener","emit","eventData","i","message","console","Error","addTranslations","setLocale","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","Object","freeSelf","self","root","uid","arrayProto","Array","funcProto","objectProto","coreJsData","maskSrcKey","exec","keys","IE_PROTO","funcToString","hasOwnProperty","objectToString","reIsNative","RegExp","Symbol","Map","getNative","nativeCreate","symbolProto","undefined","symbolToString","Hash","entries","clear","entry","set","ListCache","MapCache","assocIndexOf","array","key","value","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","fails","whitespaces","METHOD_NAME"],"mappings":"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","file":"vendors~editor-rich~files-modal.js?v=f704e5dcdab066d5d0d7","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","import GetText from \"node-gettext\"\n\nimport { getLanguage } from \".\"\n\nclass GettextBuilder {\n\n    private locale?: string\n    private translations = {}\n    private debug = false\n\n    setLanguage(language: string): GettextBuilder {\n        this.locale = language\n        return this\n    }\n\n    detectLocale(): GettextBuilder {\n        return this.setLanguage(getLanguage().replace('-', '_'))\n    }\n\n    addTranslation(language: string, data: any): GettextBuilder {\n        this.translations[language] = data\n        return this\n    }\n\n    enableDebugMode(): GettextBuilder {\n        this.debug = true\n        return this\n    }\n\n    build(): GettextWrapper {\n        return new GettextWrapper(this.locale || 'en', this.translations, this.debug)\n    }\n\n}\n\nclass GettextWrapper {\n\n    private gt: GetText\n\n    constructor(locale: string, data: any, debug: boolean) {\n        this.gt = new GetText({\n            debug,\n            sourceLocale: 'en',\n        })\n\n        for (let key in data) {\n            this.gt.addTranslations(key, 'messages', data[key])\n        }\n\n        this.gt.setLocale(locale)\n    }\n\n    private subtitudePlaceholders(translated: string, vars: object): string {\n        return translated.replace(/{([^{}]*)}/g, (a, b) => {\n            const r = vars[b]\n            if (typeof r === 'string' || typeof r === 'number') {\n                return r.toString()\n            } else {\n                return a\n            }\n        })\n    }\n\n    gettext(original: string, placeholders: object = {}): string {\n        return this.subtitudePlaceholders(\n            this.gt.gettext(original),\n            placeholders\n        )\n    }\n\n    ngettext(singular: string, plural: string, count: number, placeholders: object = {}): string {\n        return this.subtitudePlaceholders(\n            this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()),\n            placeholders\n        )\n    }\n\n}\n\nexport function getGettextBuilder() {\n    return new GettextBuilder()\n}\n","'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) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\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","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":""}