intl-messageformat 4.1.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +32 -44
  2. package/LICENSE +0 -0
  3. package/README.md +108 -59
  4. package/core.js +1 -0
  5. package/dist/compiler.d.ts +10 -4
  6. package/dist/compiler.js +11 -14
  7. package/dist/compiler.js.map +1 -1
  8. package/dist/core.d.ts +78 -0
  9. package/dist/core.js +248 -0
  10. package/dist/core.js.map +1 -0
  11. package/dist/index.d.ts +4 -16
  12. package/dist/index.js +7 -198
  13. package/dist/index.js.map +1 -1
  14. package/dist/umd/intl-messageformat.js +1548 -1373
  15. package/dist/umd/intl-messageformat.js.map +1 -1
  16. package/dist/umd/intl-messageformat.min.js +1 -1
  17. package/dist/umd/intl-messageformat.min.js.map +1 -1
  18. package/index.js +0 -0
  19. package/lib/compiler.d.ts +10 -4
  20. package/lib/compiler.js +11 -14
  21. package/lib/compiler.js.map +1 -1
  22. package/lib/core.d.ts +78 -0
  23. package/lib/core.js +245 -0
  24. package/lib/core.js.map +1 -0
  25. package/lib/index.d.ts +4 -16
  26. package/lib/index.js +4 -198
  27. package/lib/index.js.map +1 -1
  28. package/package.json +4 -4
  29. package/src/compiler.ts +39 -16
  30. package/src/core.ts +269 -0
  31. package/src/index.ts +6 -242
  32. package/.nyc_output/34ec6f1e-d2e9-445f-8813-bd6e8b5975bb.json +0 -1
  33. package/.nyc_output/9b57550b-ff23-4ed6-b289-f7ff8d2beb4f.json +0 -1
  34. package/.nyc_output/b696f16a-7b55-4692-a441-41aa11ca2fb0.json +0 -1
  35. package/.nyc_output/processinfo/34ec6f1e-d2e9-445f-8813-bd6e8b5975bb.json +0 -1
  36. package/.nyc_output/processinfo/9b57550b-ff23-4ed6-b289-f7ff8d2beb4f.json +0 -1
  37. package/.nyc_output/processinfo/b696f16a-7b55-4692-a441-41aa11ca2fb0.json +0 -1
  38. package/.nyc_output/processinfo/index.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"intl-messageformat.js","sources":["../../lib/compiler.js","../../../intl-messageformat-parser/src/parser.js","../../lib/index.js"],"sourcesContent":["/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar Compiler = /** @class */ (function () {\n function Compiler(locales, formats) {\n this.locales = [];\n this.formats = {\n number: {},\n date: {},\n time: {}\n };\n this.pluralNumberFormat = null;\n this.currentPlural = null;\n this.pluralStack = [];\n this.locales = locales;\n this.formats = formats;\n }\n Compiler.prototype.compile = function (ast) {\n this.pluralStack = [];\n this.currentPlural = null;\n this.pluralNumberFormat = null;\n return this.compileMessage(ast);\n };\n Compiler.prototype.compileMessage = function (ast) {\n var _this = this;\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new Error('Message AST is not of type: \"messageFormatPattern\"');\n }\n var elements = ast.elements;\n var pattern = elements\n .filter(function (el) {\n return el.type === 'messageTextElement' || el.type === 'argumentElement';\n })\n .map(function (el) {\n return el.type === 'messageTextElement'\n ? _this.compileMessageText(el)\n : _this.compileArgument(el);\n });\n if (pattern.length !== elements.length) {\n throw new Error('Message element does not have a valid type');\n }\n return pattern;\n };\n Compiler.prototype.compileMessageText = function (element) {\n // When this `element` is part of plural sub-pattern and its value contains\n // an unescaped '#', use a `PluralOffsetString` helper to properly output\n // the number with the correct offset in the string.\n if (this.currentPlural && /(^|[^\\\\])#/g.test(element.value)) {\n // Create a cache a NumberFormat instance that can be reused for any\n // PluralOffsetString instance in this message.\n if (!this.pluralNumberFormat) {\n this.pluralNumberFormat = new Intl.NumberFormat(this.locales);\n }\n return new PluralOffsetString(this.currentPlural.id, this.currentPlural.format.offset, this.pluralNumberFormat, element.value);\n }\n // Unescape the escaped '#'s in the message text.\n return element.value.replace(/\\\\#/g, '#');\n };\n Compiler.prototype.compileArgument = function (element) {\n var format = element.format, id = element.id;\n if (!format) {\n return new StringFormat(id);\n }\n var _a = this, formats = _a.formats, locales = _a.locales;\n switch (format.type) {\n case 'numberFormat':\n return {\n id: id,\n format: new Intl.NumberFormat(locales, formats.number[format.style])\n .format\n };\n case 'dateFormat':\n return {\n id: id,\n format: new Intl.DateTimeFormat(locales, formats.date[format.style])\n .format\n };\n case 'timeFormat':\n return {\n id: id,\n format: new Intl.DateTimeFormat(locales, formats.time[format.style])\n .format\n };\n case 'pluralFormat':\n return new PluralFormat(id, format.ordinal, format.offset, this.compileOptions(element), locales);\n case 'selectFormat':\n return new SelectFormat(id, this.compileOptions(element));\n default:\n throw new Error('Message element does not have a valid format type');\n }\n };\n Compiler.prototype.compileOptions = function (element) {\n var _this = this;\n var format = element.format;\n var options = format.options;\n // Save the current plural element, if any, then set it to a new value when\n // compiling the options sub-patterns. This conforms the spec's algorithm\n // for handling `\"#\"` syntax in message text.\n this.pluralStack.push(this.currentPlural);\n this.currentPlural = format.type === 'pluralFormat' ? element : null;\n var optionsHash = options.reduce(function (all, option) {\n // Compile the sub-pattern and save it under the options's selector.\n all[option.selector] = _this.compileMessage(option.value);\n return all;\n }, {});\n // Pop the plural stack to put back the original current plural value.\n this.currentPlural = this.pluralStack.pop();\n return optionsHash;\n };\n return Compiler;\n}());\nexport default Compiler;\n// -- Compiler Helper Classes --------------------------------------------------\nvar Formatter = /** @class */ (function () {\n function Formatter(id) {\n this.id = id;\n }\n return Formatter;\n}());\nvar StringFormat = /** @class */ (function (_super) {\n __extends(StringFormat, _super);\n function StringFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringFormat.prototype.format = function (value) {\n if (!value && typeof value !== 'number') {\n return '';\n }\n return typeof value === 'string' ? value : String(value);\n };\n return StringFormat;\n}(Formatter));\nexport { StringFormat };\nvar PluralFormat = /** @class */ (function () {\n function PluralFormat(id, useOrdinal, offset, options, locales) {\n this.id = id;\n this.offset = offset;\n this.options = options;\n this.pluralRules = new Intl.PluralRules(locales, {\n type: useOrdinal ? 'ordinal' : 'cardinal'\n });\n }\n PluralFormat.prototype.getOption = function (value) {\n var options = this.options;\n var option = options['=' + value] ||\n options[this.pluralRules.select(value - this.offset)];\n return option || options.other;\n };\n return PluralFormat;\n}());\nexport { PluralFormat };\nvar PluralOffsetString = /** @class */ (function (_super) {\n __extends(PluralOffsetString, _super);\n function PluralOffsetString(id, offset, numberFormat, string) {\n var _this = _super.call(this, id) || this;\n _this.offset = offset;\n _this.numberFormat = numberFormat;\n _this.string = string;\n return _this;\n }\n PluralOffsetString.prototype.format = function (value) {\n var number = this.numberFormat.format(value - this.offset);\n return this.string\n .replace(/(^|[^\\\\])#/g, '$1' + number)\n .replace(/\\\\#/g, '#');\n };\n return PluralOffsetString;\n}(Formatter));\nexport { PluralOffsetString };\nvar SelectFormat = /** @class */ (function () {\n function SelectFormat(id, options) {\n this.id = id;\n this.options = options;\n }\n SelectFormat.prototype.getOption = function (value) {\n var options = this.options;\n return options[value] || options.other;\n };\n return SelectFormat;\n}());\nexport { SelectFormat };\nexport function isSelectOrPluralFormat(f) {\n return !!f.options;\n}\n//# sourceMappingURL=compiler.js.map","export default /*\n * Generated by PEG.js 0.10.0.\n *\n * http://pegjs.org/\n */\n(function() {\n \"use strict\";\n\n function peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n }\n\n peg$subclass(peg$SyntaxError, Error);\n\n peg$SyntaxError.buildMessage = function(expected, found) {\n var DESCRIBE_EXPECTATION_FNS = {\n literal: function(expectation) {\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n },\n\n \"class\": function(expectation) {\n var escapedParts = \"\",\n i;\n\n for (i = 0; i < expectation.parts.length; i++) {\n escapedParts += expectation.parts[i] instanceof Array\n ? classEscape(expectation.parts[i][0]) + \"-\" + classEscape(expectation.parts[i][1])\n : classEscape(expectation.parts[i]);\n }\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n },\n\n any: function(expectation) {\n return \"any character\";\n },\n\n end: function(expectation) {\n return \"end of input\";\n },\n\n other: function(expectation) {\n return expectation.description;\n }\n };\n\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function classEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\^/g, '\\\\^')\n .replace(/-/g, '\\\\-')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function describeExpectation(expectation) {\n return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n }\n\n function describeExpected(expected) {\n var descriptions = new Array(expected.length),\n i, j;\n\n for (i = 0; i < expected.length; i++) {\n descriptions[i] = describeExpectation(expected[i]);\n }\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found) {\n return found ? \"\\\"\" + literalEscape(found) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n\n function peg$parse(input, options) {\n options = options !== void 0 ? options : {};\n\n var peg$FAILED = {},\n\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n\n peg$c0 = function(elements) {\n return {\n type : 'messageFormatPattern',\n elements: elements,\n location: location()\n };\n },\n peg$c1 = function(chunks) {\n return chunks.reduce(function (all, chunk) {\n return all.concat(chunk)\n }, []).join('')\n },\n peg$c2 = function(messageText) {\n return {\n type : 'messageTextElement',\n value: messageText,\n location: location()\n };\n },\n peg$c3 = /^[^ \\t\\n\\r,.+={}#]/,\n peg$c4 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\", \",\", \".\", \"+\", \"=\", \"{\", \"}\", \"#\"], true, false),\n peg$c5 = \"{\",\n peg$c6 = peg$literalExpectation(\"{\", false),\n peg$c7 = \",\",\n peg$c8 = peg$literalExpectation(\",\", false),\n peg$c9 = \"}\",\n peg$c10 = peg$literalExpectation(\"}\", false),\n peg$c11 = function(id, format) {\n return {\n type : 'argumentElement',\n id : id,\n format: format && format[2],\n location: location()\n };\n },\n peg$c12 = \"number\",\n peg$c13 = peg$literalExpectation(\"number\", false),\n peg$c14 = \"date\",\n peg$c15 = peg$literalExpectation(\"date\", false),\n peg$c16 = \"time\",\n peg$c17 = peg$literalExpectation(\"time\", false),\n peg$c18 = function(type, style) {\n return {\n type : type + 'Format',\n style: style && style[2],\n location: location()\n };\n },\n peg$c19 = \"plural\",\n peg$c20 = peg$literalExpectation(\"plural\", false),\n peg$c21 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: false,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n };\n },\n peg$c22 = \"selectordinal\",\n peg$c23 = peg$literalExpectation(\"selectordinal\", false),\n peg$c24 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: true,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n }\n },\n peg$c25 = \"select\",\n peg$c26 = peg$literalExpectation(\"select\", false),\n peg$c27 = function(options) {\n return {\n type : 'selectFormat',\n options: options,\n location: location()\n };\n },\n peg$c28 = \"=\",\n peg$c29 = peg$literalExpectation(\"=\", false),\n peg$c30 = function(selector, pattern) {\n return {\n type : 'optionalFormatPattern',\n selector: selector,\n value : pattern,\n location: location()\n };\n },\n peg$c31 = \"offset:\",\n peg$c32 = peg$literalExpectation(\"offset:\", false),\n peg$c33 = function(number) {\n return number;\n },\n peg$c34 = function(offset, options) {\n return {\n type : 'pluralFormat',\n offset : offset,\n options: options,\n location: location()\n };\n },\n peg$c35 = peg$otherExpectation(\"whitespace\"),\n peg$c36 = /^[ \\t\\n\\r]/,\n peg$c37 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false),\n peg$c38 = peg$otherExpectation(\"optionalWhitespace\"),\n peg$c39 = /^[0-9]/,\n peg$c40 = peg$classExpectation([[\"0\", \"9\"]], false, false),\n peg$c41 = /^[0-9a-f]/i,\n peg$c42 = peg$classExpectation([[\"0\", \"9\"], [\"a\", \"f\"]], false, true),\n peg$c43 = \"0\",\n peg$c44 = peg$literalExpectation(\"0\", false),\n peg$c45 = /^[1-9]/,\n peg$c46 = peg$classExpectation([[\"1\", \"9\"]], false, false),\n peg$c47 = function(digits) {\n return parseInt(digits, 10);\n },\n peg$c48 = /^[^{}\\\\\\0-\\x1F\\x7F \\t\\n\\r]/,\n peg$c49 = peg$classExpectation([\"{\", \"}\", \"\\\\\", [\"\\0\", \"\\x1F\"], \"\\x7F\", \" \", \"\\t\", \"\\n\", \"\\r\"], true, false),\n peg$c50 = \"\\\\\\\\\",\n peg$c51 = peg$literalExpectation(\"\\\\\\\\\", false),\n peg$c52 = function() { return '\\\\'; },\n peg$c53 = \"\\\\#\",\n peg$c54 = peg$literalExpectation(\"\\\\#\", false),\n peg$c55 = function() { return '\\\\#'; },\n peg$c56 = \"\\\\{\",\n peg$c57 = peg$literalExpectation(\"\\\\{\", false),\n peg$c58 = function() { return '\\u007B'; },\n peg$c59 = \"\\\\}\",\n peg$c60 = peg$literalExpectation(\"\\\\}\", false),\n peg$c61 = function() { return '\\u007D'; },\n peg$c62 = \"\\\\u\",\n peg$c63 = peg$literalExpectation(\"\\\\u\", false),\n peg$c64 = function(digits) {\n return String.fromCharCode(parseInt(digits, 16));\n },\n peg$c65 = function(chars) { return chars.join(''); },\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1 }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location\n );\n }\n\n function error(message, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildSimpleError(message, location);\n }\n\n function peg$literalExpectation(text, ignoreCase) {\n return { type: \"literal\", text: text, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos], p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildSimpleError(message, location) {\n return new peg$SyntaxError(message, null, null, location);\n }\n\n function peg$buildStructuredError(expected, found, location) {\n return new peg$SyntaxError(\n peg$SyntaxError.buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0;\n\n s0 = peg$parsemessageTextElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsews();\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parsemessageTextElement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c2(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseargument() {\n var s0, s1, s2;\n\n s0 = peg$parsenumber();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = [];\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c5;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargument();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s6 = peg$c7;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseelementFormat();\n if (s8 !== peg$FAILED) {\n s6 = [s6, s7, s8];\n s5 = s6;\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c9;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0;\n\n s0 = peg$parsesimpleFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectOrdinalFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectFormat();\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c14) {\n s1 = peg$c14;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c16) {\n s1 = peg$c16;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c17); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c7;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsechars();\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectOrdinalFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 13) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 13;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c26); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseoptionalFormatPattern();\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseoptionalFormatPattern();\n }\n } else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselector() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c28;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c29); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parsechars();\n }\n\n return s0;\n }\n\n function peg$parseoptionalFormatPattern() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseselector();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c5;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessageFormatPattern();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c9;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s2, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoffset() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c31) {\n s1 = peg$c31;\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralStyle() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseoffset();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseoptionalFormatPattern();\n if (s4 !== peg$FAILED) {\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseoptionalFormatPattern();\n }\n } else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c34(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsews() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsews();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsews();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c38); }\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c39.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c41.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c43;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c44); }\n }\n if (s1 === peg$FAILED) {\n s1 = peg$currPos;\n s2 = peg$currPos;\n if (peg$c45.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c46); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsedigit();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsedigit();\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n } else {\n s1 = s2;\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n if (peg$c48.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c50) {\n s1 = peg$c50;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c53) {\n s1 = peg$c53;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c54); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c56) {\n s1 = peg$c56;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c59) {\n s1 = peg$c59;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c63); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsehexDigit();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsehexDigit();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = input.substring(s2, peg$currPos);\n } else {\n s2 = s3;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n }\n\n return {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n };\n})()","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* jslint esnext: true */\nimport Compiler, { isSelectOrPluralFormat } from './compiler';\nimport parser from 'intl-messageformat-parser';\n// -- MessageFormat --------------------------------------------------------\nfunction resolveLocale(locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n try {\n return Intl.NumberFormat.supportedLocalesOf(locales, {\n // IE11 localeMatcher `lookup` seems to convert `en` -> `en-US`\n // but not other browsers,\n localeMatcher: 'best fit'\n })[0];\n }\n catch (e) {\n return MessageFormat.defaultLocale;\n }\n}\nfunction formatPatterns(pattern, values) {\n var result = '';\n for (var _i = 0, pattern_1 = pattern; _i < pattern_1.length; _i++) {\n var part = pattern_1[_i];\n // Exist early for string parts.\n if (typeof part === 'string') {\n result += part;\n continue;\n }\n var id = part.id;\n // Enforce that all required values are provided by the caller.\n if (!(values && id in values)) {\n throw new FormatError(\"A value must be provided for: \" + id, id);\n }\n var value = values[id];\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isSelectOrPluralFormat(part)) {\n result += formatPatterns(part.getOption(value), values);\n }\n else {\n result += part.format(value);\n }\n }\n return result;\n}\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign({}, (c1 || {}), (c2 || {}), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign({}, c1[k], (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n _this.variableId = variableId;\n return _this;\n }\n return FormatError;\n}(Error));\nvar MessageFormat = (function (message, locales, overrideFormats) {\n if (locales === void 0) { locales = MessageFormat.defaultLocale; }\n // Parse string messages into an AST.\n var ast = typeof message === 'string' ? MessageFormat.__parse(message) : message;\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n var formats = mergeConfigs(MessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n var locale = resolveLocale(locales || []);\n // Compile the `ast` to a pattern that is highly optimized for repeated\n // `format()` invocations. **Note:** This passes the `locales` set provided\n // to the constructor instead of just the resolved locale.\n var pattern = new Compiler(locales, formats).compile(ast);\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n return {\n format: function (values) {\n try {\n return formatPatterns(pattern, values);\n }\n catch (e) {\n if (e.variableId) {\n throw new Error(\"The intl string context variable '\" + e.variableId + \"' was not provided to the string '\" + message + \"'\");\n }\n else {\n throw e;\n }\n }\n },\n resolvedOptions: function () {\n return { locale: locale };\n },\n getAst: function () {\n return ast;\n }\n };\n});\nMessageFormat.defaultLocale = 'en';\n// Default format options used as the prototype of the `formats` provided to the\n// constructor. These are used when constructing the internal Intl.NumberFormat\n// and Intl.DateTimeFormat instances.\nMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency'\n },\n percent: {\n style: 'percent'\n }\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit'\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric'\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n }\n }\n};\nMessageFormat.__parse = parser.parse;\nexport default MessageFormat;\n//# sourceMappingURL=index.js.map"],"names":["this","__extends"],"mappings":"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"}
1
+ {"version":3,"file":"intl-messageformat.js","sources":["../../../intl-messageformat-parser/src/parser.js","../../lib/compiler.js","../../lib/core.js","../../lib/index.js"],"sourcesContent":["export default /*\n * Generated by PEG.js 0.10.0.\n *\n * http://pegjs.org/\n */\n(function() {\n \"use strict\";\n\n function peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n }\n\n peg$subclass(peg$SyntaxError, Error);\n\n peg$SyntaxError.buildMessage = function(expected, found) {\n var DESCRIBE_EXPECTATION_FNS = {\n literal: function(expectation) {\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n },\n\n \"class\": function(expectation) {\n var escapedParts = \"\",\n i;\n\n for (i = 0; i < expectation.parts.length; i++) {\n escapedParts += expectation.parts[i] instanceof Array\n ? classEscape(expectation.parts[i][0]) + \"-\" + classEscape(expectation.parts[i][1])\n : classEscape(expectation.parts[i]);\n }\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n },\n\n any: function(expectation) {\n return \"any character\";\n },\n\n end: function(expectation) {\n return \"end of input\";\n },\n\n other: function(expectation) {\n return expectation.description;\n }\n };\n\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function classEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\^/g, '\\\\^')\n .replace(/-/g, '\\\\-')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function describeExpectation(expectation) {\n return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n }\n\n function describeExpected(expected) {\n var descriptions = new Array(expected.length),\n i, j;\n\n for (i = 0; i < expected.length; i++) {\n descriptions[i] = describeExpectation(expected[i]);\n }\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found) {\n return found ? \"\\\"\" + literalEscape(found) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n\n function peg$parse(input, options) {\n options = options !== void 0 ? options : {};\n\n var peg$FAILED = {},\n\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n\n peg$c0 = function(elements) {\n return {\n type : 'messageFormatPattern',\n elements: elements,\n location: location()\n };\n },\n peg$c1 = function(chunks) {\n return chunks.reduce(function (all, chunk) {\n return all.concat(chunk)\n }, []).join('')\n },\n peg$c2 = function(messageText) {\n return {\n type : 'messageTextElement',\n value: messageText,\n location: location()\n };\n },\n peg$c3 = function(chars) { return chars.join(''); },\n peg$c4 = \"{\",\n peg$c5 = peg$literalExpectation(\"{\", false),\n peg$c6 = \",\",\n peg$c7 = peg$literalExpectation(\",\", false),\n peg$c8 = \"}\",\n peg$c9 = peg$literalExpectation(\"}\", false),\n peg$c10 = function(id, format) {\n return {\n type : 'argumentElement',\n id : id,\n format: format && format[2],\n location: location()\n };\n },\n peg$c11 = \"number\",\n peg$c12 = peg$literalExpectation(\"number\", false),\n peg$c13 = \"date\",\n peg$c14 = peg$literalExpectation(\"date\", false),\n peg$c15 = \"time\",\n peg$c16 = peg$literalExpectation(\"time\", false),\n peg$c17 = function(type, style) {\n return {\n type : type + 'Format',\n style: style && style[2],\n location: location()\n };\n },\n peg$c18 = \"plural\",\n peg$c19 = peg$literalExpectation(\"plural\", false),\n peg$c20 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: false,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n };\n },\n peg$c21 = \"selectordinal\",\n peg$c22 = peg$literalExpectation(\"selectordinal\", false),\n peg$c23 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: true,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n }\n },\n peg$c24 = \"select\",\n peg$c25 = peg$literalExpectation(\"select\", false),\n peg$c26 = function(options) {\n return {\n type : 'selectFormat',\n options: options,\n location: location()\n };\n },\n peg$c27 = \"=\",\n peg$c28 = peg$literalExpectation(\"=\", false),\n peg$c29 = function(selector, pattern) {\n return {\n type : 'optionalFormatPattern',\n selector: selector,\n value : pattern,\n location: location()\n };\n },\n peg$c30 = \"offset:\",\n peg$c31 = peg$literalExpectation(\"offset:\", false),\n peg$c32 = function(number) {\n return number;\n },\n peg$c33 = function(offset, options) {\n return {\n type : 'pluralFormat',\n offset : offset,\n options: options,\n location: location()\n };\n },\n peg$c34 = peg$otherExpectation(\"whitespace\"),\n peg$c35 = /^[ \\t\\n\\r]/,\n peg$c36 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false),\n peg$c37 = peg$otherExpectation(\"optionalWhitespace\"),\n peg$c38 = /^[0-9]/,\n peg$c39 = peg$classExpectation([[\"0\", \"9\"]], false, false),\n peg$c40 = /^[0-9a-f]/i,\n peg$c41 = peg$classExpectation([[\"0\", \"9\"], [\"a\", \"f\"]], false, true),\n peg$c42 = \"0\",\n peg$c43 = peg$literalExpectation(\"0\", false),\n peg$c44 = /^[1-9]/,\n peg$c45 = peg$classExpectation([[\"1\", \"9\"]], false, false),\n peg$c46 = function(digits) {\n return parseInt(digits, 10);\n },\n peg$c47 = \"'\",\n peg$c48 = peg$literalExpectation(\"'\", false),\n peg$c49 = /^[ \\t\\n\\r,.+={}#]/,\n peg$c50 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\", \",\", \".\", \"+\", \"=\", \"{\", \"}\", \"#\"], false, false),\n peg$c51 = peg$anyExpectation(),\n peg$c52 = function(char) { return char; },\n peg$c53 = function(sequence) { return sequence; },\n peg$c54 = /^[^{}\\\\\\0-\\x1F\\x7F \\t\\n\\r]/,\n peg$c55 = peg$classExpectation([\"{\", \"}\", \"\\\\\", [\"\\0\", \"\\x1F\"], \"\\x7F\", \" \", \"\\t\", \"\\n\", \"\\r\"], true, false),\n peg$c56 = \"\\\\\\\\\",\n peg$c57 = peg$literalExpectation(\"\\\\\\\\\", false),\n peg$c58 = function() { return '\\\\'; },\n peg$c59 = \"\\\\#\",\n peg$c60 = peg$literalExpectation(\"\\\\#\", false),\n peg$c61 = function() { return '\\\\#'; },\n peg$c62 = \"\\\\{\",\n peg$c63 = peg$literalExpectation(\"\\\\{\", false),\n peg$c64 = function() { return '\\u007B'; },\n peg$c65 = \"\\\\}\",\n peg$c66 = peg$literalExpectation(\"\\\\}\", false),\n peg$c67 = function() { return '\\u007D'; },\n peg$c68 = \"\\\\u\",\n peg$c69 = peg$literalExpectation(\"\\\\u\", false),\n peg$c70 = function(digits) {\n return String.fromCharCode(parseInt(digits, 16));\n },\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1 }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location\n );\n }\n\n function error(message, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildSimpleError(message, location);\n }\n\n function peg$literalExpectation(text, ignoreCase) {\n return { type: \"literal\", text: text, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos], p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildSimpleError(message, location) {\n return new peg$SyntaxError(message, null, null, location);\n }\n\n function peg$buildStructuredError(expected, found, location) {\n return new peg$SyntaxError(\n peg$SyntaxError.buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0;\n\n s0 = peg$parsemessageTextElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsews();\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parsemessageTextElement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c2(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseargument() {\n var s0, s1, s2;\n\n s0 = peg$parsenumber();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsequoteEscapedChar();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsequoteEscapedChar();\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c3(s1);\n }\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c4;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargument();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s6 = peg$c6;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseelementFormat();\n if (s8 !== peg$FAILED) {\n s6 = [s6, s7, s8];\n s5 = s6;\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0;\n\n s0 = peg$parsesimpleFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectOrdinalFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectFormat();\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c11) {\n s1 = peg$c11;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c12); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c13) {\n s1 = peg$c13;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c14); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c15) {\n s1 = peg$c15;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c16); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c6;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsechars();\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c17(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c18) {\n s1 = peg$c18;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c19); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c6;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectOrdinalFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 13) === peg$c21) {\n s1 = peg$c21;\n peg$currPos += 13;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c22); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c6;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c23(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c24) {\n s1 = peg$c24;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c25); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c6;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseoptionalFormatPattern();\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseoptionalFormatPattern();\n }\n } else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselector() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c27;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parsechars();\n }\n\n return s0;\n }\n\n function peg$parseoptionalFormatPattern() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseselector();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c4;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessageFormatPattern();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c8;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c29(s2, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoffset() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c30) {\n s1 = peg$c30;\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c31); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c32(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralStyle() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseoffset();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseoptionalFormatPattern();\n if (s4 !== peg$FAILED) {\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseoptionalFormatPattern();\n }\n } else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsews() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n if (peg$c35.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c36); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c35.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c36); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c34); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsews();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsews();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c39); }\n }\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c40.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c41); }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c42;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c43); }\n }\n if (s1 === peg$FAILED) {\n s1 = peg$currPos;\n s2 = peg$currPos;\n if (peg$c44.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c45); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsedigit();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsedigit();\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n } else {\n s1 = s2;\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsequoteEscapedChar() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s2 = peg$c47;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c48); }\n }\n if (s2 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c50); }\n }\n }\n peg$silentFails--;\n if (s2 === peg$FAILED) {\n s1 = void 0;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c48); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescape();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parseapostrophe() {\n var s0;\n\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c47;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c48); }\n }\n\n return s0;\n }\n\n function peg$parseescape() {\n var s0;\n\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c50); }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseapostrophe();\n }\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c48); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseapostrophe();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n if (peg$c54.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c55); }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c56) {\n s1 = peg$c56;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c59) {\n s1 = peg$c59;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c63); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c65) {\n s1 = peg$c65;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c66); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s1 = peg$c68;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c69); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsehexDigit();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsehexDigit();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = input.substring(s2, peg$currPos);\n } else {\n s2 = s3;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c3(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n }\n\n return {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n };\n})()","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar Compiler = /** @class */ (function () {\n function Compiler(locales, formats, formatters) {\n this.locales = [];\n this.formats = {\n number: {},\n date: {},\n time: {}\n };\n this.pluralNumberFormat = null;\n this.currentPlural = null;\n this.pluralStack = [];\n this.locales = locales;\n this.formats = formats;\n this.formatters = formatters;\n }\n Compiler.prototype.compile = function (ast) {\n this.pluralStack = [];\n this.currentPlural = null;\n this.pluralNumberFormat = null;\n return this.compileMessage(ast);\n };\n Compiler.prototype.compileMessage = function (ast) {\n var _this = this;\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new Error('Message AST is not of type: \"messageFormatPattern\"');\n }\n var elements = ast.elements;\n var pattern = elements\n .filter(function (el) {\n return el.type === 'messageTextElement' || el.type === 'argumentElement';\n })\n .map(function (el) {\n return el.type === 'messageTextElement'\n ? _this.compileMessageText(el)\n : _this.compileArgument(el);\n });\n if (pattern.length !== elements.length) {\n throw new Error('Message element does not have a valid type');\n }\n return pattern;\n };\n Compiler.prototype.compileMessageText = function (element) {\n // When this `element` is part of plural sub-pattern and its value contains\n // an unescaped '#', use a `PluralOffsetString` helper to properly output\n // the number with the correct offset in the string.\n if (this.currentPlural && /(^|[^\\\\])#/g.test(element.value)) {\n // Create a cache a NumberFormat instance that can be reused for any\n // PluralOffsetString instance in this message.\n if (!this.pluralNumberFormat) {\n this.pluralNumberFormat = new Intl.NumberFormat(this.locales);\n }\n return new PluralOffsetString(this.currentPlural.id, this.currentPlural.format.offset, this.pluralNumberFormat, element.value);\n }\n // Unescape the escaped '#'s in the message text.\n return element.value.replace(/\\\\#/g, '#');\n };\n Compiler.prototype.compileArgument = function (element) {\n var format = element.format, id = element.id;\n var formatters = this.formatters;\n if (!format) {\n return new StringFormat(id);\n }\n var _a = this, formats = _a.formats, locales = _a.locales;\n switch (format.type) {\n case 'numberFormat':\n return {\n id: id,\n format: formatters.getNumberFormat(locales, formats.number[format.style]).format\n };\n case 'dateFormat':\n return {\n id: id,\n format: formatters.getDateTimeFormat(locales, formats.date[format.style]).format\n };\n case 'timeFormat':\n return {\n id: id,\n format: formatters.getDateTimeFormat(locales, formats.time[format.style]).format\n };\n case 'pluralFormat':\n return new PluralFormat(id, format.offset, this.compileOptions(element), formatters.getPluralRules(locales, {\n type: format.ordinal ? 'ordinal' : 'cardinal'\n }));\n case 'selectFormat':\n return new SelectFormat(id, this.compileOptions(element));\n default:\n throw new Error('Message element does not have a valid format type');\n }\n };\n Compiler.prototype.compileOptions = function (element) {\n var _this = this;\n var format = element.format;\n var options = format.options;\n // Save the current plural element, if any, then set it to a new value when\n // compiling the options sub-patterns. This conforms the spec's algorithm\n // for handling `\"#\"` syntax in message text.\n this.pluralStack.push(this.currentPlural);\n this.currentPlural = format.type === 'pluralFormat' ? element : null;\n var optionsHash = options.reduce(function (all, option) {\n // Compile the sub-pattern and save it under the options's selector.\n all[option.selector] = _this.compileMessage(option.value);\n return all;\n }, {});\n // Pop the plural stack to put back the original current plural value.\n this.currentPlural = this.pluralStack.pop();\n return optionsHash;\n };\n return Compiler;\n}());\nexport default Compiler;\n// -- Compiler Helper Classes --------------------------------------------------\nvar Formatter = /** @class */ (function () {\n function Formatter(id) {\n this.id = id;\n }\n return Formatter;\n}());\nvar StringFormat = /** @class */ (function (_super) {\n __extends(StringFormat, _super);\n function StringFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringFormat.prototype.format = function (value) {\n if (!value && typeof value !== 'number') {\n return '';\n }\n return typeof value === 'string' ? value : String(value);\n };\n return StringFormat;\n}(Formatter));\nvar PluralFormat = /** @class */ (function () {\n function PluralFormat(id, offset, options, pluralRules) {\n this.id = id;\n this.offset = offset;\n this.options = options;\n this.pluralRules = pluralRules;\n }\n PluralFormat.prototype.getOption = function (value) {\n var options = this.options;\n var option = options['=' + value] ||\n options[this.pluralRules.select(value - this.offset)];\n return option || options.other;\n };\n return PluralFormat;\n}());\nvar PluralOffsetString = /** @class */ (function (_super) {\n __extends(PluralOffsetString, _super);\n function PluralOffsetString(id, offset, numberFormat, string) {\n var _this = _super.call(this, id) || this;\n _this.offset = offset;\n _this.numberFormat = numberFormat;\n _this.string = string;\n return _this;\n }\n PluralOffsetString.prototype.format = function (value) {\n var number = this.numberFormat.format(value - this.offset);\n return this.string\n .replace(/(^|[^\\\\])#/g, '$1' + number)\n .replace(/\\\\#/g, '#');\n };\n return PluralOffsetString;\n}(Formatter));\nexport { PluralOffsetString };\nvar SelectFormat = /** @class */ (function () {\n function SelectFormat(id, options) {\n this.id = id;\n this.options = options;\n }\n SelectFormat.prototype.getOption = function (value) {\n var options = this.options;\n return options[value] || options.other;\n };\n return SelectFormat;\n}());\nexport { SelectFormat };\nexport function isSelectOrPluralFormat(f) {\n return !!f.options;\n}\n//# sourceMappingURL=compiler.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* jslint esnext: true */\nimport Compiler, { isSelectOrPluralFormat } from './compiler';\n// -- MessageFormat --------------------------------------------------------\nfunction resolveLocale(locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n try {\n return Intl.NumberFormat.supportedLocalesOf(locales, {\n // IE11 localeMatcher `lookup` seems to convert `en` -> `en-US`\n // but not other browsers,\n localeMatcher: 'best fit'\n })[0];\n }\n catch (e) {\n return IntlMessageFormat.defaultLocale;\n }\n}\nfunction formatPatterns(pattern, values) {\n var result = '';\n for (var _i = 0, pattern_1 = pattern; _i < pattern_1.length; _i++) {\n var part = pattern_1[_i];\n // Exist early for string parts.\n if (typeof part === 'string') {\n result += part;\n continue;\n }\n var id = part.id;\n // Enforce that all required values are provided by the caller.\n if (!(values && id in values)) {\n throw new FormatError(\"A value must be provided for: \" + id, id);\n }\n var value = values[id];\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isSelectOrPluralFormat(part)) {\n result += formatPatterns(part.getOption(value), values);\n }\n else {\n result += part.format(value);\n }\n }\n return result;\n}\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign({}, (c1 || {}), (c2 || {}), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign({}, c1[k], (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n _this.variableId = variableId;\n return _this;\n }\n return FormatError;\n}(Error));\nexport function createDefaultFormatters() {\n return {\n getNumberFormat: function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, [void 0].concat(args)))();\n },\n getDateTimeFormat: function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, [void 0].concat(args)))();\n },\n getPluralRules: function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, [void 0].concat(args)))();\n }\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.format = function (values) {\n try {\n return formatPatterns(_this.pattern, values);\n }\n catch (e) {\n if (e.variableId) {\n throw new Error(\"The intl string context variable '\" + e.variableId + \"' was not provided to the string '\" + _this.message + \"'\");\n }\n else {\n throw e;\n }\n }\n };\n if (typeof message === 'string') {\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message);\n }\n else {\n this.ast = message;\n }\n this.message = message;\n if (!(this.ast && this.ast.type === 'messageFormatPattern')) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n var formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locale = resolveLocale(locales || []);\n var formatters = (opts && opts.formatters) || createDefaultFormatters();\n // Compile the `ast` to a pattern that is highly optimized for repeated\n // `format()` invocations. **Note:** This passes the `locales` set provided\n // to the constructor instead of just the resolved locale.\n this.pattern = new Compiler(locales, formats, formatters).compile(this.ast);\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n }\n IntlMessageFormat.prototype.resolvedOptions = function () {\n return { locale: this.locale };\n };\n IntlMessageFormat.prototype.getAst = function () {\n return this.ast;\n };\n IntlMessageFormat.defaultLocale = 'en';\n IntlMessageFormat.__parse = undefined;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency'\n },\n percent: {\n style: 'percent'\n }\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit'\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric'\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n }\n }\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\nexport default IntlMessageFormat;\n//# sourceMappingURL=core.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport parser from 'intl-messageformat-parser';\nimport IntlMessageFormat from './core';\nIntlMessageFormat.__parse = parser.parse;\nexport * from './core';\nexport default IntlMessageFormat;\n//# sourceMappingURL=index.js.map"],"names":["this","__extends"],"mappings":"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"}