react-intl 3.12.0 → 4.1.1

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 (66) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/components/message.d.ts +1 -1
  3. package/dist/components/message.js +2 -2
  4. package/dist/components/plural.d.ts +1 -1
  5. package/dist/components/provider.js +13 -8
  6. package/dist/error.d.ts +11 -0
  7. package/dist/error.js +28 -0
  8. package/dist/formatters/dateTime.js +5 -4
  9. package/dist/formatters/displayName.js +4 -2
  10. package/dist/formatters/list.js +4 -2
  11. package/dist/formatters/message.d.ts +1 -2
  12. package/dist/formatters/message.js +17 -34
  13. package/dist/formatters/number.js +3 -2
  14. package/dist/formatters/plural.js +4 -2
  15. package/dist/formatters/relativeTime.js +4 -2
  16. package/dist/index.d.ts +2 -2
  17. package/dist/index.js +6 -4
  18. package/dist/react-intl.api.md +29 -22
  19. package/dist/react-intl.d.ts +77 -36
  20. package/dist/react-intl.js +6267 -5860
  21. package/dist/react-intl.js.map +1 -1
  22. package/dist/react-intl.min.js +1 -1
  23. package/dist/react-intl.min.js.map +1 -1
  24. package/dist/types.d.ts +5 -5
  25. package/dist/utils.d.ts +3 -4
  26. package/dist/utils.js +2 -18
  27. package/lib/components/message.d.ts +1 -1
  28. package/lib/components/message.js +2 -2
  29. package/lib/components/plural.d.ts +1 -1
  30. package/lib/components/provider.js +15 -10
  31. package/lib/error.d.ts +11 -0
  32. package/lib/error.js +9 -0
  33. package/lib/formatters/dateTime.js +6 -5
  34. package/lib/formatters/displayName.js +6 -4
  35. package/lib/formatters/list.js +6 -4
  36. package/lib/formatters/message.d.ts +1 -2
  37. package/lib/formatters/message.js +17 -31
  38. package/lib/formatters/number.js +4 -3
  39. package/lib/formatters/plural.js +6 -4
  40. package/lib/formatters/relativeTime.js +6 -4
  41. package/lib/index.d.ts +2 -2
  42. package/lib/index.js +4 -2
  43. package/lib/react-intl.d.ts +21 -17
  44. package/lib/tsdoc-metadata.json +1 -1
  45. package/lib/types.d.ts +5 -5
  46. package/lib/utils.d.ts +3 -4
  47. package/lib/utils.js +2 -16
  48. package/package.json +45 -47
  49. package/src/components/message.tsx +6 -5
  50. package/src/components/provider.tsx +25 -14
  51. package/src/error.ts +18 -0
  52. package/src/formatters/dateTime.ts +30 -5
  53. package/src/formatters/displayName.ts +15 -4
  54. package/src/formatters/list.ts +15 -4
  55. package/src/formatters/message.ts +49 -66
  56. package/src/formatters/number.ts +16 -3
  57. package/src/formatters/plural.ts +15 -4
  58. package/src/formatters/relativeTime.ts +15 -4
  59. package/src/index.ts +4 -2
  60. package/src/types.ts +5 -7
  61. package/src/utils.ts +4 -25
  62. package/dist/components/html-message.d.ts +0 -11
  63. package/dist/components/html-message.js +0 -75
  64. package/lib/components/html-message.d.ts +0 -11
  65. package/lib/components/html-message.js +0 -43
  66. package/src/components/html-message.tsx +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"react-intl.js","sources":["../node_modules/@formatjs/macro/dist/index.js","../node_modules/intl-messageformat-parser/lib/types.js","../node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat-parser/lib/normalize.js","../node_modules/intl-messageformat-parser/lib/skeleton.js","../node_modules/intl-messageformat-parser/lib/index.js","../node_modules/intl-format-cache/lib/index.js","../node_modules/intl-messageformat/lib/formatters.js","../node_modules/intl-messageformat/lib/core.js","../node_modules/intl-messageformat/lib/index.js","../node_modules/@formatjs/intl-utils/lib/invariant.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../lib/components/injectIntl.js","../lib/components/createFormattedComponent.js","../lib/components/useIntl.js","../node_modules/intl-locales-supported/lib/index.js","../lib/formatters/number.js","../lib/formatters/relativeTime.js","../lib/formatters/dateTime.js","../lib/formatters/plural.js","../lib/formatters/message.js","../node_modules/shallow-equal/objects/index.js","../lib/formatters/list.js","../lib/formatters/displayName.js","../lib/components/provider.js","../lib/components/relative.js","../lib/components/plural.js","../lib/components/message.js","../lib/components/html-message.js","../lib/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction _(msg) {\n return msg;\n}\nexports._ = _;\nfunction defineMessages(msgs) {\n return msgs;\n}\nexports.defineMessages = defineMessages;\n//# sourceMappingURL=index.js.map","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n})(TYPE || (TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 0 /* number */);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\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// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nimport { TYPE, } from './types';\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\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 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 function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\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 switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexport { SyntaxError };\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n var peg$c4 = function () {\n return __assign({ type: TYPE.pound }, insertLocation());\n };\n var peg$c5 = peg$otherExpectation(\"argumentElement\");\n var peg$c6 = \"{\";\n var peg$c7 = peg$literalExpectation(\"{\", false);\n var peg$c8 = \"}\";\n var peg$c9 = peg$literalExpectation(\"}\", false);\n var peg$c10 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c11 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c12 = /^['\\/{}]/;\n var peg$c13 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c14 = peg$anyExpectation();\n var peg$c15 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c16 = \"/\";\n var peg$c17 = peg$literalExpectation(\"/\", false);\n var peg$c18 = function (option) { return option; };\n var peg$c19 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c20 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c21 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c22 = \"::\";\n var peg$c23 = peg$literalExpectation(\"::\", false);\n var peg$c24 = function (skeleton) { return skeleton; };\n var peg$c25 = function () { messageCtx.push('numberArgStyle'); return true; };\n var peg$c26 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n var peg$c27 = \",\";\n var peg$c28 = peg$literalExpectation(\",\", false);\n var peg$c29 = \"number\";\n var peg$c30 = peg$literalExpectation(\"number\", false);\n var peg$c31 = function (value, type, style) {\n return __assign({ type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c32 = \"'\";\n var peg$c33 = peg$literalExpectation(\"'\", false);\n var peg$c34 = /^[^']/;\n var peg$c35 = peg$classExpectation([\"'\"], true, false);\n var peg$c36 = /^[^a-zA-Z'{}]/;\n var peg$c37 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c38 = /^[a-zA-Z]/;\n var peg$c39 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c40 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c41 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n var peg$c42 = \"date\";\n var peg$c43 = peg$literalExpectation(\"date\", false);\n var peg$c44 = \"time\";\n var peg$c45 = peg$literalExpectation(\"time\", false);\n var peg$c46 = \"plural\";\n var peg$c47 = peg$literalExpectation(\"plural\", false);\n var peg$c48 = \"selectordinal\";\n var peg$c49 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c50 = \"offset:\";\n var peg$c51 = peg$literalExpectation(\"offset:\", false);\n var peg$c52 = function (value, pluralType, offset, options) {\n return __assign({ type: TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c53 = \"select\";\n var peg$c54 = peg$literalExpectation(\"select\", false);\n var peg$c55 = function (value, options) {\n return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c56 = \"=\";\n var peg$c57 = peg$literalExpectation(\"=\", false);\n var peg$c58 = function (id) { messageCtx.push('select'); return true; };\n var peg$c59 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c60 = function (id) { messageCtx.push('plural'); return true; };\n var peg$c61 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c62 = peg$otherExpectation(\"whitespace pattern\");\n var peg$c63 = /^[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n var peg$c64 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\u200E\", \"\\u200F\", \"\\u2028\", \"\\u2029\"], false, false);\n var peg$c65 = peg$otherExpectation(\"syntax pattern\");\n var peg$c66 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c67 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c68 = peg$otherExpectation(\"optional whitespace\");\n var peg$c69 = peg$otherExpectation(\"number\");\n var peg$c70 = \"-\";\n var peg$c71 = peg$literalExpectation(\"-\", false);\n var peg$c72 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c73 = peg$otherExpectation(\"apostrophe\");\n var peg$c74 = peg$otherExpectation(\"double apostrophes\");\n var peg$c75 = \"''\";\n var peg$c76 = peg$literalExpectation(\"''\", false);\n var peg$c77 = function () { return \"'\"; };\n var peg$c78 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c79 = function (x) {\n return (x !== '{' &&\n !(isInPluralOption() && x === '#') &&\n !(isNestedMessageText() && x === '}'));\n };\n var peg$c80 = \"\\n\";\n var peg$c81 = peg$literalExpectation(\"\\n\", false);\n var peg$c82 = function (x) {\n return x === '{' || x === '}' || (isInPluralOption() && x === '#');\n };\n var peg$c83 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c84 = peg$otherExpectation(\"argNumber\");\n var peg$c85 = \"0\";\n var peg$c86 = peg$literalExpectation(\"0\", false);\n var peg$c87 = function () { return 0; };\n var peg$c88 = /^[1-9]/;\n var peg$c89 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c90 = /^[0-9]/;\n var peg$c91 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c92 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c93 = peg$otherExpectation(\"argName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\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 function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n s0 = s1;\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c8;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c12.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\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$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c12.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c16;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c17);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c15);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c19);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c25();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c29) {\n s7 = peg$c29;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c27;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c8;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c32;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c32;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c39);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c39);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c40(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c41();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c42) {\n s7 = peg$c42;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c27;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c8;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c46) {\n s7 = peg$c46;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c47);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c48) {\n s7 = peg$c48;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c27;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c50) {\n s12 = peg$c50;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c51);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c8;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c53) {\n s7 = peg$c53;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c27;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c8;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c56;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\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 }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c6;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c58(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c59(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c6;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c60(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepatternWhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c63.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c66.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c67);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c65);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsepatternWhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsepatternWhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c68);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c70;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c71);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c72(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c32;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c73);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s1 = peg$c75;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c77();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c74);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c32;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s5 = peg$c75;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s5 = peg$c75;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c32;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c79(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c80;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c81);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c82(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\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 }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c85;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c88.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c90.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c90.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\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$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c93);\n }\n }\n return s0;\n }\n var messageCtx = ['root'];\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexport var pegParse = peg$parse;\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { isPluralElement, isLiteralElement, isSelectElement, } from './types';\nimport { pegParse } from './parser';\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nexport function normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!isPluralElement(el) && !isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\n","var __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/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function convertNumberSkeletonToNumberFormatOptions(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n }\n return result;\n}\n","import { pegParse } from './parser';\nimport { normalizeHashtagInPlural } from './normalize';\nexport * from './types';\nexport * from './parser';\nexport * from './skeleton';\nexport function parse(input, opts) {\n var els = pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalizeHashtagInPlural(els);\n }\n return els;\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 __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexport default memoizeFormatConstructor;\n","var __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 __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, } from 'intl-messageformat-parser';\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));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: 0 /* literal */,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: 0 /* literal */,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0 /* literal */,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\");\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: 1 /* argument */,\n value: value,\n });\n continue;\n }\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 (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\");\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\nexport function formatToString(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n return parts.reduce(function (all, part) { return (all += part.value); }, '');\n}\n// Singleton\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\nfunction generateId() {\n return Date.now() + \"_\" + ++counter;\n}\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n return text\n .split(TOKEN_REGEX)\n .filter(Boolean)\n .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); })\n .reduce(function (all, c) {\n if (!all.length) {\n all.push(c);\n }\n else if (typeof c === 'string' &&\n typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += c;\n }\n else {\n all.push(c);\n }\n return all;\n }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n];\nfunction formatHTMLElement(el, objectParts, values) {\n var tagName = el.tagName;\n var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes;\n // Regular text\n if (!tagName) {\n return restoreRichPlaceholderMessage(textContent || '', objectParts);\n }\n tagName = tagName.toLowerCase();\n var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n var formatFnOrValue = values[tagName];\n if (formatFnOrValue && isVoidElement) {\n throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n }\n if (!childNodes.length) {\n return [outerHTML];\n }\n var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []);\n // Legacy HTML\n if (!formatFnOrValue) {\n return __spreadArrays([\"<\" + tagName + \">\"], chunks, [\"</\" + tagName + \">\"]);\n }\n // HTML Tag replacement\n if (typeof formatFnOrValue === 'function') {\n return [formatFnOrValue.apply(void 0, chunks)];\n }\n return [formatFnOrValue];\n}\nexport function formatHTMLMessage(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n var objectParts = {};\n var formattedMessage = parts.reduce(function (all, part) {\n if (part.type === 0 /* literal */) {\n return (all += part.value);\n }\n var id = generateId();\n objectParts[id] = part.value;\n return (all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER);\n }, '');\n // Not designed to filter out aggressively\n if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n if (!values) {\n throw new FormatError('Message has placeholders but no values was given');\n }\n if (typeof DOMParser === 'undefined') {\n throw new FormatError('Cannot format XML message without DOMParser');\n }\n if (!domParser) {\n domParser = new DOMParser();\n }\n var content = domParser\n .parseFromString(\"<formatted-message id=\\\"\" + TEMPLATE_ID + \"\\\">\" + formattedMessage + \"</formatted-message>\", 'text/html')\n .getElementById(TEMPLATE_ID);\n if (!content) {\n throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n }\n var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; });\n // No tags to format\n if (!tagsToFormat.length) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); });\n if (caseSensitiveTags.length) {\n throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n }\n // We're doing this since top node is `<formatted-message/>` which does not have a formatter\n return Array.prototype.slice\n .call(content.childNodes)\n .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []);\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 __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};\nimport { parse } from 'intl-messageformat-parser';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { formatToString, formatToParts, formatHTMLMessage, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__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}\nexport function createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\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.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n return formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.formatHTMLMessage = function (values) {\n return formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\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 normalizeHashtagInPlural: false,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\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 this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n IntlMessageFormat.__parse = parse;\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","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport IntlMessageFormat from './core';\nexport * from './formatters';\nexport * from './core';\nexport default IntlMessageFormat;\n","export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nimport * as React from 'react';\nimport IntlMessageFormat from 'intl-messageformat';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { invariant } from '@formatjs/intl-utils';\nconst ESCAPED_CHARS = {\n 38: '&amp;',\n 62: '&gt;',\n 60: '&lt;',\n 34: '&quot;',\n 39: '&#x27;',\n};\nconst UNSAFE_CHARS_REGEX = /[&><\"']/g;\nexport function escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, match => ESCAPED_CHARS[match.charCodeAt(0)]);\n}\nexport function filterProps(props, whitelist, defaults = {}) {\n return whitelist.reduce((filtered, name) => {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexport function createError(message, exception) {\n const eMsg = exception ? `\\n${exception.stack}` : '';\n return `[React Intl] ${message}${eMsg}`;\n}\nexport function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexport const DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache = createIntlCache()) {\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n const ListFormat = Intl.ListFormat;\n const DisplayNames = Intl.DisplayNames;\n return {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat, cache.message),\n getRelativeTimeFormat: memoizeIntlConstructor(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n getListFormat: memoizeIntlConstructor(ListFormat, cache.list),\n getDisplayNames: memoizeIntlConstructor(DisplayNames, cache.displayNames),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n const formatType = formats && formats[type];\n let format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(createError(`No ${type} format named: ${name}`));\n}\n","/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import * as React from 'react';\nimport * as hoistNonReactStatics_ from 'hoist-non-react-statics';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nconst hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nconst IntlContext = React.createContext(null);\nconst { Consumer: IntlConsumer, Provider: IntlProvider } = IntlContext;\nexport const Provider = IntlProvider;\nexport const Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n const { intlPropName = 'intl', forwardRef = false, enforceContext = true } = options || {};\n const WithIntl = props => (React.createElement(IntlConsumer, null, (intl) => {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n return (React.createElement(WrappedComponent, Object.assign({}, props, {\n [intlPropName]: intl,\n }, { ref: forwardRef ? props.forwardedRef : null })));\n }));\n WithIntl.displayName = `injectIntl(${getDisplayName(WrappedComponent)})`;\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef((props, ref) => (React.createElement(WithIntl, Object.assign({}, props, { forwardedRef: ref })))), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport const FormattedNumberParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n}));\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n const ComponentParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n const formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n }));\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n const Component = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n const formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n const Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n }));\n Component.displayName = DisplayName[name];\n return Component;\n}\n","import { useContext } from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n const intl = useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nexport default function areIntlLocalesSupported(locales, constructorsToCheck) {\n if (typeof Intl === 'undefined') {\n return false;\n }\n if (!locales) {\n throw new Error('locales must be supplied.');\n }\n if (!Array.isArray(locales)) {\n locales = [locales];\n }\n var intlConstructors = constructorsToCheck || [\n Intl.DateTimeFormat,\n Intl.NumberFormat,\n Intl.PluralRules,\n ];\n intlConstructors = intlConstructors.filter(Boolean);\n if (intlConstructors.length === 0 ||\n (constructorsToCheck &&\n intlConstructors.length !== constructorsToCheck.length)) {\n return false;\n }\n return intlConstructors.every(function (intlConstructor) {\n return intlConstructor.supportedLocalesOf(locales).length === locales.length;\n });\n}\n","import { getNamedFormat, filterProps, createError } from '../utils';\nconst NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nexport function getFormatter({ locale, formats, onError, }, getNumberFormat, options = {}) {\n const { format } = options;\n const defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps, createError } from '../utils';\nconst RELATIVE_TIME_FORMAT_OPTIONS = [\n 'numeric',\n 'style',\n];\nfunction getFormatter({ locale, formats, onError, }, getRelativeTimeFormat, options = {}) {\n const { format } = options;\n const defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n const filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options = {}) {\n if (!unit) {\n unit = 'second';\n }\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(createError(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(createError('Error formatting relative time.', e));\n }\n return String(value);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { createError, filterProps, getNamedFormat } from '../utils';\nconst DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nexport function getFormatter({ locale, formats, onError, timeZone, }, type, getDateTimeFormat, options = {}) {\n const { format } = options;\n const defaults = Object.assign(Object.assign({}, (timeZone && { timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n let filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign(Object.assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps, createError } from '../utils';\nconst PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural({ locale, onError }, getPluralRules, value, options = {}) {\n if (!Intl.PluralRules) {\n onError(createError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`));\n }\n const filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(createError('Error formatting plural.', e));\n }\n return 'other';\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { invariant } from '@formatjs/intl-utils';\nimport { createError, escape } from '../utils';\nimport IntlMessageFormat from 'intl-messageformat';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce((all, k) => {\n all[k] = Object.assign({ timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n const keys = Object.keys(Object.assign(Object.assign({}, opts1), opts2));\n return keys.reduce((all, k) => {\n all[k] = Object.assign(Object.assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n const mfFormats = IntlMessageFormat.formats;\n return Object.assign(Object.assign(Object.assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport const prepareIntlMessageFormatHtmlOutput = (chunks) => React.createElement(React.Fragment, null, ...chunks);\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, }, state, messageDescriptor = { id: '' }, values = {}) {\n const { id, defaultMessage } = messageDescriptor;\n // `id` is a required field of a Message Descriptor.\n invariant(!!id, '[React Intl] An `id` must be provided to format a message.');\n const message = messages && messages[String(id)];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n let formattedMessageParts = [];\n if (message) {\n try {\n const formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(createError(`Error formatting message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n }\n else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n onError(createError(`Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n if (!formattedMessageParts.length && defaultMessage) {\n try {\n const formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(createError(`Error formatting the default message for: \"${id}\"`, e));\n }\n }\n if (!formattedMessageParts.length) {\n onError(createError(`Cannot format message: \"${id}\", ` +\n `using message ${message || defaultMessage ? 'source' : 'id'} as fallback.`));\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n return defaultMessage || String(id);\n }\n if (formattedMessageParts.length === 1 &&\n typeof formattedMessageParts[0] === 'string') {\n return formattedMessageParts[0] || defaultMessage || String(id);\n }\n return prepareIntlMessageFormatHtmlOutput(formattedMessageParts);\n}\nexport function formatHTMLMessage(config, state, messageDescriptor = { id: '' }, rawValues = {}) {\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n const escapedValues = Object.keys(rawValues).reduce((escaped, name) => {\n const value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","import { filterProps, createError } from '../utils';\nconst LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nconst now = Date.now();\nfunction generateToken(i) {\n return `${now}_${i}_${now}`;\n}\nexport function formatList({ locale, onError }, getListFormat, values, options = {}) {\n const ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(createError(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`));\n }\n const filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n const richValues = {};\n const serializedValues = values.map((v, i) => {\n if (typeof v === 'object') {\n const id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n const parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce((all, el) => {\n const val = el.value;\n if (richValues[val]) {\n all.push(richValues[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(createError('Error formatting list.', e));\n }\n return values;\n}\n","import { filterProps, createError } from '../utils';\nconst DISPLAY_NAMES_OPTONS = [\n 'localeMatcher',\n 'style',\n 'type',\n 'fallback',\n];\nexport function formatDisplayName({ locale, onError }, getDisplayNames, value, options = {}) {\n const DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(createError(`Intl.DisplayNames is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-displaynames\"\n`));\n }\n const filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(createError('Error formatting display name.', e));\n }\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { createError, DEFAULT_INTL_CONFIG, createFormatters, invariantIntlContext, createIntlCache, } from '../utils';\nimport areIntlLocalesSupported from 'intl-locales-supported';\nimport { formatNumber, formatNumberToParts } from '../formatters/number';\nimport { formatRelativeTime } from '../formatters/relativeTime';\nimport { formatDate, formatTime, formatDateToParts, formatTimeToParts, } from '../formatters/dateTime';\nimport { formatPlural } from '../formatters/plural';\nimport { formatMessage, formatHTMLMessage } from '../formatters/message';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nimport { formatList } from '../formatters/list';\nimport { formatDisplayName } from '../formatters/displayName';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n const formatters = createFormatters(cache);\n const resolvedConfig = Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), config);\n if (!resolvedConfig.locale ||\n !areIntlLocalesSupported(resolvedConfig.locale)) {\n const { locale, defaultLocale, onError } = resolvedConfig;\n if (typeof onError === 'function') {\n onError(createError(`Missing locale data for locale: \"${locale}\". ` +\n `Using default locale: \"${defaultLocale}\" as fallback.`));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n return Object.assign(Object.assign({}, resolvedConfig), { formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatHTMLMessage: formatHTMLMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\nexport default class IntlProvider extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.cache = createIntlCache();\n this.state = {\n cache: this.cache,\n intl: createIntl(processIntlConfig(this.props), this.cache),\n prevConfig: processIntlConfig(this.props),\n };\n }\n static getDerivedStateFromProps(props, { prevConfig, cache }) {\n const config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n }\n render() {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n }\n}\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nimport { invariant } from '@formatjs/intl-utils';\nconst MINUTE = 60;\nconst HOUR = 60 * 60;\nconst DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nconst INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit = 'second') {\n return INCREMENTABLE_UNITS.includes(unit);\n}\nexport class FormattedRelativeTime extends React.PureComponent {\n constructor(props) {\n super(props);\n // Public for testing\n this._updateTimer = null;\n this.state = {\n prevUnit: this.props.unit,\n prevValue: this.props.value,\n currentValueInSeconds: canIncrement(this.props.unit)\n ? valueToSeconds(this.props.value, this.props.unit)\n : 0,\n };\n invariant(!props.updateIntervalInSeconds ||\n !!(props.updateIntervalInSeconds && canIncrement(props.unit)), 'Cannot schedule update with unit longer than hour');\n }\n scheduleNextUpdate({ updateIntervalInSeconds, unit }, { currentValueInSeconds }) {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n const nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n const nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n const unitDuration = getDurationInSeconds(nextUnit);\n const remainder = nextValueInSeconds % unitDuration;\n const prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n const nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n const delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(() => this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n }), delayInSeconds * 1e3);\n }\n componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n static getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { formatRelativeTime, textComponent: Text } = intl;\n const { children, value, unit, updateIntervalInSeconds } = this.props;\n const { currentValueInSeconds } = this.state;\n let currentValue = value || 0;\n let currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n const unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n const formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n }\n}\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n};\nexport default FormattedRelativeTime;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport withIntl from './injectIntl';\nconst FormattedPlural = props => {\n const { value, other, children, intl: { formatPlural, textComponent: Text }, } = props;\n const pluralCategory = formatPlural(value, props);\n const formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexport default withIntl(FormattedPlural);\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { formatMessage } from '../formatters/message';\nimport { invariantIntlContext, DEFAULT_INTL_CONFIG, createFormatters, } from '../utils';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nconst defaultFormatMessage = (descriptor, values) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage(Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), { locale: 'en' }), createFormatters(), descriptor, values);\n};\nclass FormattedMessage extends React.Component {\n shouldComponentUpdate(nextProps) {\n const _a = this.props, { values } = _a, otherProps = __rest(_a, [\"values\"]);\n const { values: nextValues } = nextProps, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatMessage = defaultFormatMessage, textComponent: Text = React.Fragment, } = intl || {};\n const { id, description, defaultMessage, values, children, tagName: Component = Text, } = this.props;\n const descriptor = { id, description, defaultMessage };\n let nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children(...nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement(Component, null, ...nodes);\n }\n return nodes;\n }));\n }\n}\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {},\n};\nexport default FormattedMessage;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport FormattedMessage from './message';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nclass FormattedHTMLMessage extends FormattedMessage {\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatHTMLMessage, textComponent } = intl;\n const { id, description, defaultMessage, values: rawValues, children, } = this.props;\n let { tagName: Component } = this.props;\n // This is bc of TS3.3 doesn't recognize `defaultProps`\n if (!Component) {\n Component = textComponent || 'span';\n }\n const descriptor = { id, description, defaultMessage };\n const formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n const html = { __html: formattedHTMLMessage };\n return React.createElement(Component, { dangerouslySetInnerHTML: html });\n }));\n }\n}\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.defaultProps = Object.assign(Object.assign({}, FormattedMessage.defaultProps), { tagName: 'span' });\nexport default FormattedHTMLMessage;\n","export { defineMessages } from '@formatjs/macro';\nimport { createFormattedComponent, createFormattedDateTimePartsComponent, } from './components/createFormattedComponent';\nexport { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, } from './components/injectIntl';\nexport { default as useIntl } from './components/useIntl';\nexport { default as IntlProvider, createIntl } from './components/provider';\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexport const FormattedDate = createFormattedComponent('formatDate');\nexport const FormattedTime = createFormattedComponent('formatTime');\nexport const FormattedNumber = createFormattedComponent('formatNumber');\nexport const FormattedList = createFormattedComponent('formatList');\nexport const FormattedDisplayName = createFormattedComponent('formatDisplayName');\nexport const FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport const FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts } from './components/createFormattedComponent';\nexport { default as FormattedRelativeTime } from './components/relative';\nexport { default as FormattedPlural } from './components/plural';\nexport { default as FormattedMessage } from './components/message';\nexport { default as FormattedHTMLMessage } from './components/html-message';\nexport { createIntlCache } from './utils';\n"],"names":["TYPE","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isNumberSkeleton","isDateTimeSkeleton","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","_super","message","expected","found","location","_this","name","Error","captureStackTrace","buildMessage","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","describeExpected","expected1","descriptions","j","sort","slice","join","describeFound","found1","peg$parse","input","options","undefined","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","peg$c12","peg$c13","peg$classExpectation","peg$c14","peg$anyExpectation","peg$c15","peg$c16","peg$c17","peg$c18","option","peg$c19","peg$c20","stem","peg$c21","tokens","peg$c22","peg$c23","peg$c24","skeleton","peg$c25","messageCtx","push","peg$c26","style","pop","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","peg$c37","peg$c38","peg$c39","peg$c40","pattern","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","pluralType","offset","reduce","all","_a","id","optionLocation","error","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","negative","num","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","escapedChar","quotedChars","peg$c79","x","isInPluralOption","isNestedMessageText","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","peg$c88","peg$c89","peg$c90","peg$c91","peg$c92","digits","parseInt","peg$c93","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","peg$result","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$endExpectation","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsepoundElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parse_","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsepatternWhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","substr","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","captureLocation","pegParse","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","normalizeHashtagInPlural","els","forEach","keys","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","getCacheId","inputs","JSON","stringify","orderedProps","obj","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","FormatError","msg","variableId","mergeLiteral","lastPart","formatToParts","locales","formatters","formats","values","currentPluralValue","originalMessage","els_1","getNumberFormat","varName","String","getDateTimeFormat","other","Intl","PluralRules","rule","getPluralRules","formatToString","domParser","TOKEN_DELIMITER","TOKEN_REGEX","counter","generateId","Date","now","restoreRichPlaceholderMessage","objectParts","split","filter","Boolean","c","SIMPLE_XML_REGEX","TEMPLATE_ID","VOID_ELEMENTS","formatHTMLElement","tagName","outerHTML","textContent","childNodes","toLowerCase","isVoidElement","indexOf","formatFnOrValue","chunks","child","concat","formatHTMLMessage","formattedMessage","DOMParser","content","parseFromString","getElementById","tagsToFormat","getElementsByTagName","caseSensitiveTags","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","ast","resolvedOptions","locale","supportedLocalesOf","getAst","__parse","TypeError","percent","short","medium","long","full","invariant","condition","Err","ESCAPED_CHARS","UNSAFE_CHARS_REGEX","escape","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","createError","exception","eMsg","stack","defaultErrorHandler","console","DEFAULT_INTL_CONFIG","messages","timeZone","textComponent","React","defaultFormats","onError","createIntlCache","relativeTime","list","displayNames","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getMessageFormat","getRelativeTimeFormat","getListFormat","getDisplayNames","getNamedFormat","formatType","defineProperty","exports","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","$$typeof","lowPriorityWarning","printWarning","_len","_key","argIndex","warn","_len2","_key2","lowPriorityWarning$1","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","reactIs","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","key","descriptor","e","hoistNonReactStatics_","getDisplayName","Component","IntlContext","IntlConsumer","Consumer","IntlProvider","Provider","Context","injectIntl","WrappedComponent","intlPropName","forwardRef","enforceContext","WithIntl","ref","forwardedRef","__rest","propertyIsEnumerable","DisplayName","DisplayNameParts","FormattedNumberParts","children","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","formattedParts","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","useIntl","useContext","areIntlLocalesSupported","constructorsToCheck","intlConstructors","every","intlConstructor","NUMBER_FORMAT_OPTIONS","getFormatter","filteredOptions","formatNumber","config","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","formatDate","formatTime","PLURAL_FORMAT_OPTIONS","formatPlural","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","prepareIntlMessageFormatHtmlOutput","formatMessage","state","messageDescriptor","defaultMessage","formattedMessageParts","formatter","rawValues","escapedValues","escaped","shallowEqualObjects","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","generateToken","formatList","richValues","serializedValues","v","val","DISPLAY_NAMES_OPTONS","formatDisplayName","of","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","prevConfig","MINUTE","HOUR","DAY","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","updateIntervalInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","remainder","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","setState","scheduleNextUpdate","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","pluralCategory","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","nodes","FormattedHTMLMessage","formattedHTMLMessage","html","__html","dangerouslySetInnerHTML","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDisplayName","FormattedDateParts","FormattedTimeParts"],"mappings":"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"}
1
+ {"version":3,"file":"react-intl.js","sources":["../node_modules/intl-messageformat-parser/lib/types.js","../node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat-parser/lib/normalize.js","../node_modules/intl-messageformat-parser/lib/skeleton.js","../node_modules/intl-messageformat-parser/lib/index.js","../node_modules/intl-format-cache/lib/index.js","../node_modules/intl-messageformat/lib/error.js","../node_modules/intl-messageformat/lib/formatters.js","../node_modules/intl-messageformat/lib/core.js","../node_modules/intl-messageformat/lib/index.js","../node_modules/@formatjs/intl-utils/lib/invariant.js","../lib/error.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../lib/components/injectIntl.js","../lib/components/createFormattedComponent.js","../lib/components/useIntl.js","../lib/formatters/number.js","../lib/formatters/relativeTime.js","../lib/formatters/dateTime.js","../lib/formatters/plural.js","../lib/formatters/message.js","../node_modules/shallow-equal/objects/index.js","../lib/formatters/list.js","../lib/formatters/displayName.js","../lib/components/provider.js","../lib/components/relative.js","../lib/components/plural.js","../lib/components/message.js","../lib/index.js"],"sourcesContent":["export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 0 /* number */);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\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// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nimport { TYPE, } from './types';\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\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 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 function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\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 switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexport { SyntaxError };\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n var peg$c4 = function () {\n return __assign({ type: TYPE.pound }, insertLocation());\n };\n var peg$c5 = peg$otherExpectation(\"tagElement\");\n var peg$c6 = \"<\";\n var peg$c7 = peg$literalExpectation(\"<\", false);\n var peg$c8 = \"/>\";\n var peg$c9 = peg$literalExpectation(\"/>\", false);\n var peg$c10 = function (value) {\n return __assign({ type: TYPE.literal, value: value.join('') }, insertLocation());\n };\n var peg$c11 = function (open, children, close) {\n if (open !== close) {\n error(\"Mismatch tag \\\"\" + open + \"\\\" !== \\\"\" + close + \"\\\"\", location());\n }\n return __assign({ type: TYPE.tag, value: open, children: children }, insertLocation());\n };\n var peg$c12 = function () { messageCtx.push('openingTag'); return true; };\n var peg$c13 = \">\";\n var peg$c14 = peg$literalExpectation(\">\", false);\n var peg$c15 = function (tag) { messageCtx.pop(); return true; };\n var peg$c16 = function (tag) {\n return tag;\n };\n var peg$c17 = \"</\";\n var peg$c18 = peg$literalExpectation(\"</\", false);\n var peg$c19 = function () { messageCtx.push('closingTag'); return true; };\n var peg$c20 = peg$otherExpectation(\"argumentElement\");\n var peg$c21 = \"{\";\n var peg$c22 = peg$literalExpectation(\"{\", false);\n var peg$c23 = \"}\";\n var peg$c24 = peg$literalExpectation(\"}\", false);\n var peg$c25 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c26 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c27 = /^['\\/{}]/;\n var peg$c28 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c29 = peg$anyExpectation();\n var peg$c30 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c31 = \"/\";\n var peg$c32 = peg$literalExpectation(\"/\", false);\n var peg$c33 = function (option) { return option; };\n var peg$c34 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c35 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c36 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c37 = \"::\";\n var peg$c38 = peg$literalExpectation(\"::\", false);\n var peg$c39 = function (skeleton) { return skeleton; };\n var peg$c40 = function () { messageCtx.push('numberArgStyle'); return true; };\n var peg$c41 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n var peg$c42 = \",\";\n var peg$c43 = peg$literalExpectation(\",\", false);\n var peg$c44 = \"number\";\n var peg$c45 = peg$literalExpectation(\"number\", false);\n var peg$c46 = function (value, type, style) {\n return __assign({ type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c47 = \"'\";\n var peg$c48 = peg$literalExpectation(\"'\", false);\n var peg$c49 = /^[^']/;\n var peg$c50 = peg$classExpectation([\"'\"], true, false);\n var peg$c51 = /^[^a-zA-Z'{}]/;\n var peg$c52 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c53 = /^[a-zA-Z]/;\n var peg$c54 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c55 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c56 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n var peg$c57 = \"date\";\n var peg$c58 = peg$literalExpectation(\"date\", false);\n var peg$c59 = \"time\";\n var peg$c60 = peg$literalExpectation(\"time\", false);\n var peg$c61 = \"plural\";\n var peg$c62 = peg$literalExpectation(\"plural\", false);\n var peg$c63 = \"selectordinal\";\n var peg$c64 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c65 = \"offset:\";\n var peg$c66 = peg$literalExpectation(\"offset:\", false);\n var peg$c67 = function (value, pluralType, offset, options) {\n return __assign({ type: TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c68 = \"select\";\n var peg$c69 = peg$literalExpectation(\"select\", false);\n var peg$c70 = function (value, options) {\n return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c71 = \"=\";\n var peg$c72 = peg$literalExpectation(\"=\", false);\n var peg$c73 = function (id) { messageCtx.push('select'); return true; };\n var peg$c74 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c75 = function (id) { messageCtx.push('plural'); return true; };\n var peg$c76 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c77 = peg$otherExpectation(\"whitespace\");\n var peg$c78 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c79 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n var peg$c80 = peg$otherExpectation(\"syntax pattern\");\n var peg$c81 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c82 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c83 = peg$otherExpectation(\"optional whitespace\");\n var peg$c84 = peg$otherExpectation(\"number\");\n var peg$c85 = \"-\";\n var peg$c86 = peg$literalExpectation(\"-\", false);\n var peg$c87 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c88 = peg$otherExpectation(\"apostrophe\");\n var peg$c89 = peg$otherExpectation(\"double apostrophes\");\n var peg$c90 = \"''\";\n var peg$c91 = peg$literalExpectation(\"''\", false);\n var peg$c92 = function () { return \"'\"; };\n var peg$c93 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c94 = function (x) {\n return (x !== '<' &&\n x !== '{' &&\n !(isInPluralOption() && x === '#') &&\n !(isNestedMessageText() && x === '}') &&\n !(isNestedMessageText() && x === '>'));\n };\n var peg$c95 = \"\\n\";\n var peg$c96 = peg$literalExpectation(\"\\n\", false);\n var peg$c97 = function (x) {\n return x === '<' || x === '>' || x === '{' || x === '}' || (isInPluralOption() && x === '#');\n };\n var peg$c98 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c99 = peg$otherExpectation(\"validTag\");\n var peg$c100 = peg$otherExpectation(\"argNumber\");\n var peg$c101 = \"0\";\n var peg$c102 = peg$literalExpectation(\"0\", false);\n var peg$c103 = function () { return 0; };\n var peg$c104 = /^[1-9]/;\n var peg$c105 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c106 = /^[0-9]/;\n var peg$c107 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c108 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c109 = peg$otherExpectation(\"argName\");\n var peg$c110 = peg$otherExpectation(\"tagName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\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 function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsetagElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n s0 = s1;\n return s0;\n }\n function peg$parsetagElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s2 = peg$c6;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c8) {\n s5 = peg$c8;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s5 !== peg$FAILED) {\n s2 = [s2, s3, s4, s5];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseopeningTag();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessage();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseclosingTag();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n return s0;\n }\n function peg$parseopeningTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c12();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseclosingTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c19();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c25(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\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$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c31;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c35(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c34);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c40();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c47;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c56();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c57) {\n s7 = peg$c57;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c59) {\n s7 = peg$c59;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c61) {\n s7 = peg$c61;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c63) {\n s7 = peg$c63;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c65) {\n s12 = peg$c65;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c23;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c68) {\n s7 = peg$c68;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c23;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c71;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\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 }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c73(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c74(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c75(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c76(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsewhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c78.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c81.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c82);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c80);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c85;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c47;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c88);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s1 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c47;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c94(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c95;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c96);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c97(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\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 }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c98);\n }\n }\n return s0;\n }\n function peg$parsevalidTag() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parsetagName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c99);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c101;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c102);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c103();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c104.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c105);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c108(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c100);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\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$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c109);\n }\n }\n return s0;\n }\n function peg$parsetagName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c110);\n }\n }\n return s0;\n }\n var messageCtx = ['root'];\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexport var pegParse = peg$parse;\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { isPluralElement, isLiteralElement, isSelectElement, } from './types';\nimport { pegParse } from './parser';\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nexport function normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!isPluralElement(el) && !isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\n","var __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/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function convertNumberSkeletonToNumberFormatOptions(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n }\n return result;\n}\n","import { pegParse } from './parser';\nimport { normalizeHashtagInPlural } from './normalize';\nexport * from './types';\nexport * from './parser';\nexport * from './skeleton';\nexport function parse(input, opts) {\n var els = pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalizeHashtagInPlural(els);\n }\n return els;\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 __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexport default memoizeFormatConstructor;\n","var __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 FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", 1 /* INVALID_VALUE */) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", 0 /* MISSING_VALUE */) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, isTagElement, } from 'intl-messageformat-parser';\nimport { MissingValueError, InvalidValueError, FormatError, } from './error';\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nfunction isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: 0 /* literal */,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: 0 /* literal */,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0 /* literal */,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? 0 /* literal */ : 1 /* object */,\n value: value,\n });\n continue;\n }\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 (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new TypeError(\"Value for \\\"\" + value_1 + \"\\\" must be a function\");\n }\n var parts = formatToParts(children, locales, formatters, formats, values);\n var chunks = formatFn.apply(void 0, parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? 0 /* literal */ : 1 /* object */,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options));\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", 2 /* MISSING_INTL_API */);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options));\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\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 __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};\nimport { parse } from 'intl-messageformat-parser';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { formatToParts, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__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}\nexport function createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\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.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== 0 /* literal */ ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\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 normalizeHashtagInPlural: false,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\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 this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n IntlMessageFormat.__parse = parse;\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","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport IntlMessageFormat from './core';\nexport * from './formatters';\nexport * from './core';\nexport * from './error';\nexport default IntlMessageFormat;\n","export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","export class ReactIntlError extends Error {\n constructor(code, message, exception) {\n super(`[React Intl Error ${code}] ${message} ${exception ? `\\n${exception.stack}` : ''}`);\n this.code = code;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, ReactIntlError);\n }\n }\n}\n","/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nimport * as React from 'react';\nimport IntlMessageFormat from 'intl-messageformat';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { invariant } from '@formatjs/intl-utils';\nimport { ReactIntlError } from './error';\nexport function filterProps(props, whitelist, defaults = {}) {\n return whitelist.reduce((filtered, name) => {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexport function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexport const DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache = createIntlCache()) {\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n const ListFormat = Intl.ListFormat;\n const DisplayNames = Intl.DisplayNames;\n return {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat, cache.message),\n getRelativeTimeFormat: memoizeIntlConstructor(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n getListFormat: memoizeIntlConstructor(ListFormat, cache.list),\n getDisplayNames: memoizeIntlConstructor(DisplayNames, cache.displayNames),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n const formatType = formats && formats[type];\n let format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new ReactIntlError(\"UNSUPPORTED_FORMATTER\" /* UNSUPPORTED_FORMATTER */, `No ${type} format named: ${name}`));\n}\n","/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import * as React from 'react';\nimport * as hoistNonReactStatics_ from 'hoist-non-react-statics';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nconst hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nconst IntlContext = React.createContext(null);\nconst { Consumer: IntlConsumer, Provider: IntlProvider } = IntlContext;\nexport const Provider = IntlProvider;\nexport const Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n const { intlPropName = 'intl', forwardRef = false, enforceContext = true } = options || {};\n const WithIntl = props => (React.createElement(IntlConsumer, null, (intl) => {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n return (React.createElement(WrappedComponent, Object.assign({}, props, {\n [intlPropName]: intl,\n }, { ref: forwardRef ? props.forwardedRef : null })));\n }));\n WithIntl.displayName = `injectIntl(${getDisplayName(WrappedComponent)})`;\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef((props, ref) => (React.createElement(WithIntl, Object.assign({}, props, { forwardedRef: ref })))), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport const FormattedNumberParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n}));\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n const ComponentParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n const formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n }));\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n const Component = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n const formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n const Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n }));\n Component.displayName = DisplayName[name];\n return Component;\n}\n","import { useContext } from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n const intl = useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","import { getNamedFormat, filterProps } from '../utils';\nimport { ReactIntlError } from '../error';\nconst NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nexport function getFormatter({ locale, formats, onError, }, getNumberFormat, options = {}) {\n const { format } = options;\n const defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst RELATIVE_TIME_FORMAT_OPTIONS = [\n 'numeric',\n 'style',\n];\nfunction getFormatter({ locale, formats, onError, }, getRelativeTimeFormat, options = {}) {\n const { format } = options;\n const defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n const filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options = {}) {\n if (!unit) {\n unit = 'second';\n }\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`, 2 /* MISSING_INTL_API */));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting relative time.', e));\n }\n return String(value);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { filterProps, getNamedFormat } from '../utils';\nimport { ReactIntlError } from '../error';\nconst DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nexport function getFormatter({ locale, formats, onError, timeZone, }, type, getDateTimeFormat, options = {}) {\n const { format } = options;\n const defaults = Object.assign(Object.assign({}, (timeZone && { timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n let filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign(Object.assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps } from '../utils';\nimport { ReactIntlError } from '../error';\nimport { FormatError } from 'intl-messageformat';\nconst PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural({ locale, onError }, getPluralRules, value, options = {}) {\n if (!Intl.PluralRules) {\n onError(new FormatError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`, 2 /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting plural.', e));\n }\n return 'other';\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { invariant } from '@formatjs/intl-utils';\nimport IntlMessageFormat from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce((all, k) => {\n all[k] = Object.assign({ timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n const keys = Object.keys(Object.assign(Object.assign({}, opts1), opts2));\n return keys.reduce((all, k) => {\n all[k] = Object.assign(Object.assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n const mfFormats = IntlMessageFormat.formats;\n return Object.assign(Object.assign(Object.assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport const prepareIntlMessageFormatHtmlOutput = (chunks) => React.createElement(React.Fragment, null, ...chunks);\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, }, state, messageDescriptor = { id: '' }, values = {}) {\n const { id, defaultMessage } = messageDescriptor;\n // `id` is a required field of a Message Descriptor.\n invariant(!!id, '[React Intl] An `id` must be provided to format a message.');\n const message = messages && messages[String(id)];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n let formattedMessageParts = '';\n if (message) {\n try {\n const formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.format(values);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Error formatting message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n }\n else if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale.\n onError(new ReactIntlError(\"MISSING_TRANSLATION\" /* MISSING_TRANSLATION */, `Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : '')));\n }\n if (!formattedMessageParts && defaultMessage) {\n try {\n const formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.format(values);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Error formatting the default message for: \"${id}\"`, e));\n }\n }\n if (!formattedMessageParts) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Cannot format message: \"${id}\", ` +\n `using message ${message || defaultMessage ? 'source' : 'id'} as fallback.`));\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n return defaultMessage || String(id);\n }\n if (Array.isArray(formattedMessageParts)) {\n return prepareIntlMessageFormatHtmlOutput(formattedMessageParts);\n }\n return formattedMessageParts;\n}\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","import { filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nconst now = Date.now();\nfunction generateToken(i) {\n return `${now}_${i}_${now}`;\n}\nexport function formatList({ locale, onError }, getListFormat, values, options = {}) {\n const ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`, 2 /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n const richValues = {};\n const serializedValues = values.map((v, i) => {\n if (typeof v === 'object') {\n const id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n const parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce((all, el) => {\n const val = el.value;\n if (richValues[val]) {\n all.push(richValues[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting list.', e));\n }\n return values;\n}\n","import { filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst DISPLAY_NAMES_OPTONS = [\n 'localeMatcher',\n 'style',\n 'type',\n 'fallback',\n];\nexport function formatDisplayName({ locale, onError }, getDisplayNames, value, options = {}) {\n const DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(`Intl.DisplayNames is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-displaynames\"\n`, 2 /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting display name.', e));\n }\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, createFormatters, invariantIntlContext, createIntlCache, } from '../utils';\nimport { formatNumber, formatNumberToParts } from '../formatters/number';\nimport { formatRelativeTime } from '../formatters/relativeTime';\nimport { formatDate, formatTime, formatDateToParts, formatTimeToParts, } from '../formatters/dateTime';\nimport { formatPlural } from '../formatters/plural';\nimport { formatMessage } from '../formatters/message';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nimport { formatList } from '../formatters/list';\nimport { formatDisplayName } from '../formatters/displayName';\nimport { ReactIntlError } from '../error';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n const formatters = createFormatters(cache);\n const resolvedConfig = Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), config);\n const { locale, defaultLocale, onError } = resolvedConfig;\n if (!locale) {\n if (onError) {\n onError(new ReactIntlError(\"INVALID_CONFIG\" /* INVALID_CONFIG */, `\"locale\" was not configured, using \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/API.md#intlshape for more details`));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new ReactIntlError(\"MISSING_DATA\" /* MISSING_DATA */, `Missing locale data for locale: \"${locale}\" in Intl.NumberFormat. Using default locale: \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details`));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new ReactIntlError(\"MISSING_DATA\" /* MISSING_DATA */, `Missing locale data for locale: \"${locale}\" in Intl.DateTimeFormat. Using default locale: \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details`));\n }\n return Object.assign(Object.assign({}, resolvedConfig), { formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\nexport default class IntlProvider extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.cache = createIntlCache();\n this.state = {\n cache: this.cache,\n intl: createIntl(processIntlConfig(this.props), this.cache),\n prevConfig: processIntlConfig(this.props),\n };\n }\n static getDerivedStateFromProps(props, { prevConfig, cache }) {\n const config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n }\n render() {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n }\n}\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nimport { invariant } from '@formatjs/intl-utils';\nconst MINUTE = 60;\nconst HOUR = 60 * 60;\nconst DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nconst INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit = 'second') {\n return INCREMENTABLE_UNITS.includes(unit);\n}\nexport class FormattedRelativeTime extends React.PureComponent {\n constructor(props) {\n super(props);\n // Public for testing\n this._updateTimer = null;\n this.state = {\n prevUnit: this.props.unit,\n prevValue: this.props.value,\n currentValueInSeconds: canIncrement(this.props.unit)\n ? valueToSeconds(this.props.value, this.props.unit)\n : 0,\n };\n invariant(!props.updateIntervalInSeconds ||\n !!(props.updateIntervalInSeconds && canIncrement(props.unit)), 'Cannot schedule update with unit longer than hour');\n }\n scheduleNextUpdate({ updateIntervalInSeconds, unit }, { currentValueInSeconds }) {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n const nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n const nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n const unitDuration = getDurationInSeconds(nextUnit);\n const remainder = nextValueInSeconds % unitDuration;\n const prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n const nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n const delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(() => this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n }), delayInSeconds * 1e3);\n }\n componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n static getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { formatRelativeTime, textComponent: Text } = intl;\n const { children, value, unit, updateIntervalInSeconds } = this.props;\n const { currentValueInSeconds } = this.state;\n let currentValue = value || 0;\n let currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n const unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n const formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n }\n}\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n};\nexport default FormattedRelativeTime;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport withIntl from './injectIntl';\nconst FormattedPlural = props => {\n const { value, other, children, intl: { formatPlural, textComponent: Text }, } = props;\n const pluralCategory = formatPlural(value, props);\n const formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexport default withIntl(FormattedPlural);\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { formatMessage } from '../formatters/message';\nimport { invariantIntlContext, DEFAULT_INTL_CONFIG, createFormatters, } from '../utils';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction defaultFormatMessage(descriptor, values) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage(Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), { locale: 'en' }), createFormatters(), descriptor, values);\n}\nclass FormattedMessage extends React.Component {\n shouldComponentUpdate(nextProps) {\n const _a = this.props, { values } = _a, otherProps = __rest(_a, [\"values\"]);\n const { values: nextValues } = nextProps, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatMessage = defaultFormatMessage, textComponent: Text = React.Fragment, } = intl || {};\n const { id, description, defaultMessage, values, children, tagName: Component = Text, } = this.props;\n const descriptor = { id, description, defaultMessage };\n let nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children(...nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement(Component, null, ...nodes);\n }\n return nodes;\n }));\n }\n}\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {},\n};\nexport default FormattedMessage;\n","export function defineMessages(msgs) {\n return msgs;\n}\nimport { createFormattedComponent, createFormattedDateTimePartsComponent, } from './components/createFormattedComponent';\nexport { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, } from './components/injectIntl';\nexport { default as useIntl } from './components/useIntl';\nexport { default as IntlProvider, createIntl } from './components/provider';\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexport const FormattedDate = createFormattedComponent('formatDate');\nexport const FormattedTime = createFormattedComponent('formatTime');\nexport const FormattedNumber = createFormattedComponent('formatNumber');\nexport const FormattedList = createFormattedComponent('formatList');\nexport const FormattedDisplayName = createFormattedComponent('formatDisplayName');\nexport const FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport const FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts } from './components/createFormattedComponent';\nexport { default as FormattedRelativeTime } from './components/relative';\nexport { default as FormattedPlural } from './components/plural';\nexport { default as FormattedMessage } from './components/message';\nexport { createIntlCache } from './utils';\nexport { ReactIntlError } from './error';\n"],"names":["TYPE","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","tag","isNumberSkeleton","isDateTimeSkeleton","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","_super","message","expected","found","location","_this","name","Error","captureStackTrace","buildMessage","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","describeExpected","expected1","descriptions","j","sort","slice","join","describeFound","found1","peg$parse","input","options","undefined","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","open","children","close","error","peg$c12","messageCtx","push","peg$c13","peg$c14","peg$c15","pop","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$c24","peg$c25","peg$c26","peg$c27","peg$c28","peg$classExpectation","peg$c29","peg$anyExpectation","peg$c30","peg$c31","peg$c32","peg$c33","option","peg$c34","peg$c35","stem","peg$c36","tokens","peg$c37","peg$c38","peg$c39","skeleton","peg$c40","peg$c41","style","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","pattern","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","pluralType","offset","reduce","all","_a","id","optionLocation","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","peg$c79","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","negative","num","peg$c89","peg$c90","peg$c91","peg$c92","peg$c93","escapedChar","quotedChars","peg$c94","x","isInPluralOption","isNestedMessageText","peg$c95","peg$c96","peg$c97","peg$c98","peg$c99","peg$c100","peg$c101","peg$c102","peg$c103","peg$c104","peg$c105","peg$c106","peg$c107","peg$c108","digits","parseInt","peg$c109","peg$c110","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","peg$result","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$endExpectation","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsetagElement","peg$parsepoundElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parsevalidTag","peg$parse_","substr","peg$parseopeningTag","peg$parseclosingTag","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsewhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","peg$parsetagName","captureLocation","pegParse","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","normalizeHashtagInPlural","els","forEach","keys","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","getCacheId","inputs","JSON","stringify","orderedProps","obj","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","FormatError","msg","code","InvalidValueError","variableId","MissingValueError","originalMessage","mergeLiteral","lastPart","isFormatXMLElementFn","formatToParts","locales","formatters","formats","values","currentPluralValue","els_1","getNumberFormat","varName","String","getDateTimeFormat","value_1","formatFn","TypeError","chunks","c","other","Intl","PluralRules","rule","getPluralRules","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","ast","resolvedOptions","locale","supportedLocalesOf","getAst","__parse","percent","short","medium","long","full","invariant","condition","Err","ReactIntlError","exception","stack","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","defaultErrorHandler","console","DEFAULT_INTL_CONFIG","messages","timeZone","textComponent","React","defaultFormats","onError","createIntlCache","relativeTime","list","displayNames","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getMessageFormat","getRelativeTimeFormat","getListFormat","getDisplayNames","getNamedFormat","formatType","defineProperty","exports","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","$$typeof","lowPriorityWarning","printWarning","_len","_key","argIndex","warn","_len2","_key2","concat","lowPriorityWarning$1","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","reactIs","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","key","descriptor","e","hoistNonReactStatics_","getDisplayName","Component","IntlContext","IntlConsumer","Consumer","IntlProvider","Provider","Context","injectIntl","WrappedComponent","intlPropName","forwardRef","enforceContext","WithIntl","ref","forwardedRef","__rest","indexOf","propertyIsEnumerable","DisplayName","DisplayNameParts","FormattedNumberParts","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","Date","formattedParts","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","useIntl","useContext","NUMBER_FORMAT_OPTIONS","getFormatter","filteredOptions","formatNumber","config","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","formatDate","formatTime","PLURAL_FORMAT_OPTIONS","formatPlural","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","prepareIntlMessageFormatHtmlOutput","formatMessage","state","messageDescriptor","defaultMessage","formattedMessageParts","formatter","toLowerCase","shallowEqualObjects","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","now","generateToken","formatList","richValues","serializedValues","v","val","DISPLAY_NAMES_OPTONS","formatDisplayName","of","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","prevConfig","MINUTE","HOUR","DAY","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","updateIntervalInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","remainder","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","setState","scheduleNextUpdate","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","pluralCategory","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","tagName","nodes","defineMessages","msgs","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDisplayName","FormattedDateParts","FormattedTimeParts"],"mappings":"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"}