{"version":3,"file":"intl-messageformat.js","sources":["../../../intl-messageformat-parser/lib/types.js","../../../intl-messageformat-parser/lib/parser.js","../../../intl-messageformat-parser/lib/normalize.js","../../../intl-messageformat-parser/lib/skeleton.js","../../../intl-messageformat-parser/lib/index.js","../../../intl-format-cache/lib/index.js","../../lib/formatters.js","../../lib/core.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})(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\");\n var peg$c63 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c64 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], 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$parsewhiteSpace();\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$parsewhiteSpace();\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$parsewhiteSpace() {\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$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$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$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$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$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$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, [\"\"]);\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(\"\" + formattedMessage + \"\", '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 `` 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"],"names":["this","__assign","__spreadArrays","__extends","memoizeIntlConstructor"],"mappings":";;;;;;IAAO,IAAI,IAAI,CAAC;IAChB,CAAC,UAAU,IAAI,EAAE;IACjB;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1C;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;IAC5C;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IACxC;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;IACpC;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;IACpC;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IACxC;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IACxC;IACA;IACA;IACA;IACA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;IACtC,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACxB;IACA;IACA;AACA,IAAO,SAAS,gBAAgB,CAAC,EAAE,EAAE;IACrC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;AACD,IAAO,SAAS,iBAAiB,CAAC,EAAE,EAAE;IACtC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC;IACrC,CAAC;AACD,IAAO,SAAS,eAAe,CAAC,EAAE,EAAE;IACpC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC;IACnC,CAAC;AACD,IAAO,SAAS,aAAa,CAAC,EAAE,EAAE;IAClC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;AACD,IAAO,SAAS,aAAa,CAAC,EAAE,EAAE;IAClC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;AACD,IAAO,SAAS,eAAe,CAAC,EAAE,EAAE;IACpC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC;IACnC,CAAC;AACD,IAAO,SAAS,eAAe,CAAC,EAAE,EAAE;IACpC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC;IACnC,CAAC;AACD,IAAO,SAAS,cAAc,CAAC,EAAE,EAAE;IACnC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;AACD,IAAO,SAAS,gBAAgB,CAAC,EAAE,EAAE;IACrC,IAAI,OAAO,CAAC,EAAE,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC;IAC1E,CAAC;AACD,IAAO,SAAS,kBAAkB,CAAC,EAAE,EAAE;IACvC,IAAI,OAAO,CAAC,EAAE,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC;IAC5E,CAAC;;ICpED;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,SAAS,GAAG,CAACA,SAAI,IAAIA,SAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACzD,IAAI,IAAI,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE;IACxC,QAAQ,aAAa,GAAG,MAAM,CAAC,cAAc;IAC7C,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACxF,YAAY,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,QAAQ,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,KAAK,CAAC;IACN,IAAI,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;IAC3B,QAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,QAAQ,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC/C,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7F,KAAK,CAAC;IACN,CAAC,GAAG,CAAC;IACL,IAAI,QAAQ,GAAG,CAACA,SAAI,IAAIA,SAAI,CAAC,QAAQ,KAAK,YAAY;IACtD,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;IAC5C,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,KAAK,CAAC;IACN,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;AACF,IAIA,IAAI,WAAW,kBAAkB,UAAU,MAAM,EAAE;IACnD,IAAI,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,SAAS,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7D,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9C,QAAQ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,QAAQ,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,QAAQ,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,QAAQ,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,QAAQ,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;IACnC,QAAQ,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,UAAU,EAAE;IAC3D,YAAY,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACxD,SAAS;IACT,QAAQ,OAAO,KAAK,CAAC;IACrB,KAAK;IACL,IAAI,WAAW,CAAC,YAAY,GAAG,UAAU,QAAQ,EAAE,KAAK,EAAE;IAC1D,QAAQ,SAAS,GAAG,CAAC,EAAE,EAAE;IACzB,YAAY,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,SAAS;IACT,QAAQ,SAAS,aAAa,CAAC,CAAC,EAAE;IAClC,YAAY,OAAO,CAAC;IACpB,iBAAiB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;IACvC,iBAAiB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpF,iBAAiB,OAAO,CAAC,uBAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,SAAS;IACT,QAAQ,SAAS,WAAW,CAAC,CAAC,EAAE;IAChC,YAAY,OAAO,CAAC;IACpB,iBAAiB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;IACvC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;IACrC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACtC,iBAAiB,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpF,iBAAiB,OAAO,CAAC,uBAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,SAAS;IACT,QAAQ,SAAS,mBAAmB,CAAC,WAAW,EAAE;IAClD,YAAY,QAAQ,WAAW,CAAC,IAAI;IACpC,gBAAgB,KAAK,SAAS;IAC9B,oBAAoB,OAAO,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,gBAAgB,KAAK,OAAO;IAC5B,oBAAoB,IAAI,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;IAC7E,wBAAwB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAClD,8BAA8B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,8BAA8B,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,qBAAqB,CAAC,CAAC;IACvB,oBAAoB,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC;IACxF,gBAAgB,KAAK,KAAK;IAC1B,oBAAoB,OAAO,eAAe,CAAC;IAC3C,gBAAgB,KAAK,KAAK;IAC1B,oBAAoB,OAAO,cAAc,CAAC;IAC1C,gBAAgB,KAAK,OAAO;IAC5B,oBAAoB,OAAO,WAAW,CAAC,WAAW,CAAC;IACnD,aAAa;IACb,SAAS;IACT,QAAQ,SAAS,gBAAgB,CAAC,SAAS,EAAE;IAC7C,YAAY,IAAI,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClE,YAAY,IAAI,CAAC,CAAC;IAClB,YAAY,IAAI,CAAC,CAAC;IAClB,YAAY,YAAY,CAAC,IAAI,EAAE,CAAC;IAChC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;IACzC,gBAAgB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACjE,oBAAoB,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE;IACjE,wBAAwB,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1D,wBAAwB,CAAC,EAAE,CAAC;IAC5B,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,aAAa;IACb,YAAY,QAAQ,YAAY,CAAC,MAAM;IACvC,gBAAgB,KAAK,CAAC;IACtB,oBAAoB,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,gBAAgB,KAAK,CAAC;IACtB,oBAAoB,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACtE,gBAAgB;IAChB,oBAAoB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/D,0BAA0B,OAAO;IACjC,0BAA0B,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,aAAa;IACb,SAAS;IACT,QAAQ,SAAS,aAAa,CAAC,MAAM,EAAE;IACvC,YAAY,OAAO,MAAM,GAAG,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC;IACjF,SAAS;IACT,QAAQ,OAAO,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACrG,KAAK,CAAC;IACN,IAAI,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACV,IACA,SAAS,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE;IACnC,IAAI,OAAO,GAAG,OAAO,KAAK,SAAS,GAAG,OAAO,GAAG,EAAE,CAAC;IACnD,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC;IACxB,IAAI,IAAI,sBAAsB,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAC3D,IAAI,IAAI,qBAAqB,GAAG,cAAc,CAAC;IAC/C,IAAI,IAAI,MAAM,GAAG,UAAU,KAAK,EAAE;IAClC,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,KAAK,CAAC;IACN,IAAI,IAAI,MAAM,GAAG,UAAU,WAAW,EAAE;IACxC,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACtF,KAAK,CAAC;IACN,IAAI,IAAI,MAAM,GAAG,GAAG,CAAC;IACrB,IAAI,IAAI,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,IAAI,MAAM,GAAG,YAAY;IAC7B,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC;IACN,IAAI,IAAI,MAAM,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACzD,IAAI,IAAI,MAAM,GAAG,GAAG,CAAC;IACrB,IAAI,IAAI,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,IAAI,MAAM,GAAG,GAAG,CAAC;IACrB,IAAI,IAAI,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE;IACnC,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACjF,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,IAAI,OAAO,GAAG,UAAU,CAAC;IAC7B,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3E,IAAI,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IACpE,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC;IACvD,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,GAAG,UAAU,IAAI,EAAE,OAAO,EAAE;IAC3C,QAAQ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAChD,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,UAAU,MAAM,EAAE;IACpC,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,eAAe,MAAM,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACpF,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;IACvB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,IAAI,OAAO,GAAG,UAAU,QAAQ,EAAE,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC3D,IAAI,IAAI,OAAO,GAAG,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;IAClF,IAAI,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE;IACnC,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC;IACzB,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAChD,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACvK,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,OAAO,CAAC;IAC1B,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,OAAO,GAAG,eAAe,CAAC;IAClC,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7F,IAAI,IAAI,OAAO,GAAG,WAAW,CAAC;IAC9B,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/E,IAAI,IAAI,OAAO,GAAG,UAAU,OAAO,EAAE;IACrC,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,iBAAiB,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACxF,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;IACtF,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,GAAG,eAAe,CAAC;IAClC,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,IAAI,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;IAChE,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE;IACpM,gBAAgB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC/E,gBAAgB,IAAI,EAAE,IAAI,GAAG,EAAE;IAC/B,oBAAoB,KAAK,CAAC,qBAAqB,GAAG,EAAE,GAAG,0BAA0B,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/G,iBAAiB;IACjB,gBAAgB,GAAG,CAAC,EAAE,CAAC,GAAG;IAC1B,oBAAoB,KAAK,EAAE,KAAK;IAChC,oBAAoB,QAAQ,EAAE,cAAc;IAC5C,iBAAiB,CAAC;IAClB,gBAAgB,OAAO,GAAG,CAAC;IAC3B,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE,OAAO,EAAE;IAC5C,QAAQ,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE;IACtG,gBAAgB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC/E,gBAAgB,IAAI,EAAE,IAAI,GAAG,EAAE;IAC/B,oBAAoB,KAAK,CAAC,qBAAqB,GAAG,EAAE,GAAG,0BAA0B,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/G,iBAAiB;IACjB,gBAAgB,GAAG,CAAC,EAAE,CAAC,GAAG;IAC1B,oBAAoB,KAAK,EAAE,KAAK;IAChC,oBAAoB,QAAQ,EAAE,cAAc;IAC5C,iBAAiB,CAAC;IAClB,gBAAgB,OAAO,GAAG,CAAC;IAC3B,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;IAC5E,IAAI,IAAI,OAAO,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE;IACvC,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC;IACzB,QAAQ,OAAO,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE;IAChC,YAAY,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;IAC5E,IAAI,IAAI,OAAO,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE;IACvC,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC;IACzB,QAAQ,OAAO,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE;IAChC,YAAY,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,oEAAoE,CAAC;IACvF,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5K,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,IAAI,OAAO,GAAG,yOAAyO,CAAC;IAC5P,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpe,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,UAAU,QAAQ,EAAE,GAAG,EAAE;IAC3C,QAAQ,OAAO,GAAG;IAClB,cAAc,QAAQ;IACtB,kBAAkB,CAAC,GAAG;IACtB,kBAAkB,GAAG;IACrB,cAAc,CAAC,CAAC;IAChB,KAAK,CAAC;AACN,IACA,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC7D,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;IACvB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,IAAI,OAAO,GAAG,YAAY,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC;IAC9C,IAAI,IAAI,OAAO,GAAG,UAAU,WAAW,EAAE,WAAW,EAAE;IACtD,QAAQ,OAAO,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5D,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,UAAU,CAAC,EAAE;IAC/B,QAAQ,QAAQ,CAAC,KAAK,GAAG;IACzB,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;IAC9C,YAAY,EAAE,mBAAmB,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;IACnD,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;IACvB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,IAAI,OAAO,GAAG,UAAU,CAAC,EAAE;IAC/B,QAAQ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,gBAAgB,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3E,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5C,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACnE,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACnE,IAAI,IAAI,OAAO,GAAG,UAAU,MAAM,EAAE;IACpC,QAAQ,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;IACxB,IAAI,IAAI,YAAY,GAAG,CAAC,CAAC;IACzB,IAAI,IAAI,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,IAAI,cAAc,GAAG,CAAC,CAAC;IAC3B,IAAI,IAAI,mBAAmB,GAAG,EAAE,CAAC;IACjC,IAAI,IAAI,eAAe,GAAG,CAAC,CAAC;IAC5B,IAAI,IAAI,UAAU,CAAC;IACnB,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;IACzC,QAAQ,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,sBAAsB,CAAC,EAAE;IAC5D,YAAY,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC5F,SAAS;IACT,QAAQ,qBAAqB,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,KAAK;IACL,IAAI,SAAS,IAAI,GAAG;IACpB,QAAQ,OAAO,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1D,KAAK;IACL,IAAI,SAAS,QAAQ,GAAG;IACxB,QAAQ,OAAO,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC9D,KAAK;AACL,IAMA,IAAI,SAAS,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;IACvC,QAAQ,SAAS,GAAG,SAAS,KAAK,SAAS;IAC3C,cAAc,SAAS;IACvB,cAAc,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7D,QAAQ,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvD,KAAK;IACL,IAAI,SAAS,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE;IACvD,QAAQ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACxE,KAAK;IACL,IAAI,SAAS,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC/D,QAAQ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAC3F,KAAK;IACL,IAAI,SAAS,kBAAkB,GAAG;IAClC,QAAQ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC/B,KAAK;IACL,IAAI,SAAS,kBAAkB,GAAG;IAClC,QAAQ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC/B,KAAK;IACL,IAAI,SAAS,oBAAoB,CAAC,WAAW,EAAE;IAC/C,QAAQ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3D,KAAK;IACL,IAAI,SAAS,qBAAqB,CAAC,GAAG,EAAE;IACxC,QAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,QAAQ,IAAI,CAAC,CAAC;IACd,QAAQ,IAAI,OAAO,EAAE;IACrB,YAAY,OAAO,OAAO,CAAC;IAC3B,SAAS;IACT,aAAa;IACb,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,YAAY,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;IAC5C,gBAAgB,CAAC,EAAE,CAAC;IACpB,aAAa;IACb,YAAY,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC7C,YAAY,OAAO,GAAG;IACtB,gBAAgB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClC,gBAAgB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtC,aAAa,CAAC;IACd,YAAY,OAAO,CAAC,GAAG,GAAG,EAAE;IAC5B,gBAAgB,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;IAChD,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnC,oBAAoB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAAC;IACrC,iBAAiB;IACjB,gBAAgB,CAAC,EAAE,CAAC;IACpB,aAAa;IACb,YAAY,mBAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAC/C,YAAY,OAAO,OAAO,CAAC;IAC3B,SAAS;IACT,KAAK;IACL,IAAI,SAAS,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE;IACnD,QAAQ,IAAI,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9D,QAAQ,IAAI,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,OAAO;IACf,YAAY,KAAK,EAAE;IACnB,gBAAgB,MAAM,EAAE,QAAQ;IAChC,gBAAgB,IAAI,EAAE,eAAe,CAAC,IAAI;IAC1C,gBAAgB,MAAM,EAAE,eAAe,CAAC,MAAM;IAC9C,aAAa;IACb,YAAY,GAAG,EAAE;IACjB,gBAAgB,MAAM,EAAE,MAAM;IAC9B,gBAAgB,IAAI,EAAE,aAAa,CAAC,IAAI;IACxC,gBAAgB,MAAM,EAAE,aAAa,CAAC,MAAM;IAC5C,aAAa;IACb,SAAS,CAAC;IACV,KAAK;IACL,IAAI,SAAS,QAAQ,CAAC,SAAS,EAAE;IACjC,QAAQ,IAAI,WAAW,GAAG,cAAc,EAAE;IAC1C,YAAY,OAAO;IACnB,SAAS;IACT,QAAQ,IAAI,WAAW,GAAG,cAAc,EAAE;IAC1C,YAAY,cAAc,GAAG,WAAW,CAAC;IACzC,YAAY,mBAAmB,GAAG,EAAE,CAAC;IACrC,SAAS;IACT,QAAQ,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,KAAK;IACL,IAAI,SAAS,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE;IACtD,QAAQ,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,KAAK;IACL,IAAI,SAAS,wBAAwB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACnE,QAAQ,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACxG,KAAK;IACL,IAAI,SAAS,cAAc,GAAG;IAC9B,QAAQ,IAAI,EAAE,CAAC;IACf,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAChC,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,gBAAgB,GAAG;IAChC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvC,QAAQ,OAAO,EAAE,KAAK,UAAU,EAAE;IAClC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,YAAY,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC3C,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,uBAAuB,GAAG;IACvC,QAAQ,IAAI,EAAE,CAAC;IACf,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvC,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAC5C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACpD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAClD,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACtD,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACzD,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,oBAAoB,GAAG;IACpC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAC1C,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACzC,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC/C,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,gBAAgB,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAClD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACjD,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvD,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,uBAAuB,GAAG;IACvC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACpC,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,qBAAqB,GAAG;IACrC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,MAAM,CAAC;IACxB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,wBAAwB,GAAG;IACxC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACnC,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnD,YAAY,EAAE,GAAG,MAAM,CAAC;IACxB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAChD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnE,4BAA4B,EAAE,GAAG,MAAM,CAAC;IACxC,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,YAAY,GAAG,EAAE,CAAC;IAC9C,4BAA4B,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7C,4BAA4B,EAAE,GAAG,EAAE,CAAC;IACpC,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,yBAAyB,GAAG;IACzC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/B,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACnC,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACzD,gBAAgB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,gBAAgB,WAAW,EAAE,CAAC;IAC9B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,gBAAgB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC3C,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,SAAS,CAAC;IAC3B,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE;IAC5C,gBAAgB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,gBAAgB,WAAW,EAAE,CAAC;IAC9B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,gBAAgB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC3C,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,iBAAiB;IACjB,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,gBAAgB,EAAE,GAAG,WAAW,CAAC;IACjC,gBAAgB,EAAE,GAAG,WAAW,CAAC;IACjC,gBAAgB,eAAe,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC3C,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACjE,wBAAwB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,eAAe,EAAE,CAAC;IAClC,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,SAAS,CAAC;IACnC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE;IACpD,wBAAwB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,wBAAwB,EAAE,GAAG,EAAE,CAAC;IAChC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,kCAAkC,GAAG;IAClD,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC7C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,YAAY,GAAG,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,4BAA4B,GAAG;IAC5C,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/B,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC7C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,gBAAgB,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC1D,gBAAgB,OAAO,EAAE,KAAK,UAAU,EAAE;IAC1C,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,oBAAoB,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9D,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,YAAY,GAAG,EAAE,CAAC;IACtC,oBAAoB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,uBAAuB,GAAG;IACvC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,4BAA4B,EAAE,CAAC;IAC5C,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,gBAAgB,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACpD,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,uBAAuB,GAAG;IACvC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IACtD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,IAAI,CAAC,CAAC;IAC7B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC3C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,YAAY,GAAG,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,WAAW,CAAC;IAC7B,YAAY,YAAY,GAAG,WAAW,CAAC;IACvC,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3B,YAAY,IAAI,EAAE,EAAE;IACpB,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC/B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,YAAY,GAAG,EAAE,CAAC;IACtC,oBAAoB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,4BAA4B,GAAG;IAC5C,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClE,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnD,YAAY,EAAE,GAAG,MAAM,CAAC;IACxB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAChD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClE,4BAA4B,EAAE,GAAG,OAAO,CAAC;IACzC,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9C,4BAA4B,IAAI,EAAE,KAAK,UAAU,EAAE;IACnD,gCAAgC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAC9E,oCAAoC,EAAE,GAAG,OAAO,CAAC;IACjD,oCAAoC,WAAW,IAAI,CAAC,CAAC;IACrD,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,oCAAoC,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/D,wCAAwC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,oCAAoC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3D,wCAAwC,EAAE,GAAG,WAAW,CAAC;IACzD,wCAAwC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClF,4CAA4C,GAAG,GAAG,OAAO,CAAC;IAC1D,4CAA4C,WAAW,EAAE,CAAC;IAC1D,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,GAAG,GAAG,UAAU,CAAC;IAC7D,4CAA4C,IAAI,eAAe,KAAK,CAAC,EAAE;IACvE,gDAAgD,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,6CAA6C;IAC7C,yCAAyC;IACzC,wCAAwC,IAAI,GAAG,KAAK,UAAU,EAAE;IAChE,4CAA4C,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/D,4CAA4C,IAAI,GAAG,KAAK,UAAU,EAAE;IACpE,gDAAgD,GAAG,GAAG,uBAAuB,EAAE,CAAC;IAChF,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1E,oDAAoD,EAAE,GAAG,GAAG,CAAC;IAC7D,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,EAAE,CAAC;IACrE,oDAAoD,EAAE,GAAG,UAAU,CAAC;IACpE,iDAAiD;IACjD,6CAA6C;IAC7C,iDAAiD;IACjD,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACjE,gDAAgD,EAAE,GAAG,UAAU,CAAC;IAChE,6CAA6C;IAC7C,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,WAAW,GAAG,EAAE,CAAC;IAC7D,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,yCAAyC;IACzC,wCAAwC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/D,4CAA4C,EAAE,GAAG,IAAI,CAAC;IACtD,yCAAyC;IACzC,wCAAwC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/D,4CAA4C,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/D,4CAA4C,IAAI,GAAG,KAAK,UAAU,EAAE;IACpE,gDAAgD,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC3F,oDAAoD,GAAG,GAAG,MAAM,CAAC;IACjE,oDAAoD,WAAW,EAAE,CAAC;IAClE,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,GAAG,GAAG,UAAU,CAAC;IACrE,oDAAoD,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/E,wDAAwD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzE,qDAAqD;IACrD,iDAAiD;IACjD,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,YAAY,GAAG,EAAE,CAAC;IACtE,oDAAoD,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,oDAAoD,EAAE,GAAG,EAAE,CAAC;IAC5D,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,EAAE,CAAC;IACrE,oDAAoD,EAAE,GAAG,UAAU,CAAC;IACpE,iDAAiD;IACjD,6CAA6C;IAC7C,iDAAiD;IACjD,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACjE,gDAAgD,EAAE,GAAG,UAAU,CAAC;IAChE,6CAA6C;IAC7C,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,WAAW,GAAG,EAAE,CAAC;IAC7D,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,yCAAyC;IACzC,qCAAqC;IACrC,yCAAyC;IACzC,wCAAwC,WAAW,GAAG,EAAE,CAAC;IACzD,wCAAwC,EAAE,GAAG,UAAU,CAAC;IACxD,qCAAqC;IACrC,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,WAAW,GAAG,EAAE,CAAC;IACrD,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC,WAAW,GAAG,EAAE,CAAC;IACjD,gCAAgC,EAAE,GAAG,UAAU,CAAC;IAChD,6BAA6B;IAC7B,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,gCAAgC,GAAG;IAChD,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAC9C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IAC7D,oBAAoB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,oBAAoB,WAAW,EAAE,CAAC;IAClC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/C,wBAAwB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,OAAO,EAAE,KAAK,UAAU,EAAE;IAC1C,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,oBAAoB,EAAE,GAAG,0BAA0B,EAAE,CAAC;IACtD,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACrE,4BAA4B,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAC1D,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACjC,oBAAoB,WAAW,EAAE,CAAC;IAClC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/C,wBAAwB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAC9C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IAC7D,oBAAoB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,oBAAoB,WAAW,EAAE,CAAC;IAClC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/C,wBAAwB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,OAAO,EAAE,KAAK,UAAU,EAAE;IAC1C,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,oBAAoB,EAAE,GAAG,0BAA0B,EAAE,CAAC;IACtD,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACrE,4BAA4B,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,gCAAgC,GAAG;IAChD,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACrD,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IAC7D,oBAAoB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,oBAAoB,WAAW,EAAE,CAAC;IAClC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/C,wBAAwB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,yBAAyB,GAAG;IACzC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,gCAAgC,EAAE,CAAC;IAChD,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,gCAAgC,EAAE,CAAC;IACpD,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,gBAAgB,EAAE,GAAG,gCAAgC,EAAE,CAAC;IACxD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,gCAAgC,EAAE,CAAC;IAC5D,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,2BAA2B,GAAG;IAC3C,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IACtD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,IAAI,CAAC,CAAC;IAC7B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC7C,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,YAAY,GAAG,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,WAAW,CAAC;IAC7B,YAAY,YAAY,GAAG,WAAW,CAAC;IACvC,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3B,YAAY,IAAI,EAAE,EAAE;IACpB,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC/B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,YAAY,GAAG,EAAE,CAAC;IACtC,oBAAoB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,gCAAgC,GAAG;IAChD,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClE,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnD,YAAY,EAAE,GAAG,MAAM,CAAC;IACxB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAChD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClE,4BAA4B,EAAE,GAAG,OAAO,CAAC;IACzC,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9C,4BAA4B,IAAI,EAAE,KAAK,UAAU,EAAE;IACnD,gCAAgC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAC9E,oCAAoC,EAAE,GAAG,OAAO,CAAC;IACjD,oCAAoC,WAAW,IAAI,CAAC,CAAC;IACrD,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,oCAAoC,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/D,wCAAwC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAClF,wCAAwC,EAAE,GAAG,OAAO,CAAC;IACrD,wCAAwC,WAAW,IAAI,CAAC,CAAC;IACzD,qCAAqC;IACrC,yCAAyC;IACzC,wCAAwC,EAAE,GAAG,UAAU,CAAC;IACxD,wCAAwC,IAAI,eAAe,KAAK,CAAC,EAAE;IACnE,4CAA4C,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9D,yCAAyC;IACzC,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,oCAAoC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3D,wCAAwC,EAAE,GAAG,WAAW,CAAC;IACzD,wCAAwC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClF,4CAA4C,GAAG,GAAG,OAAO,CAAC;IAC1D,4CAA4C,WAAW,EAAE,CAAC;IAC1D,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,GAAG,GAAG,UAAU,CAAC;IAC7D,4CAA4C,IAAI,eAAe,KAAK,CAAC,EAAE;IACvE,gDAAgD,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,6CAA6C;IAC7C,yCAAyC;IACzC,wCAAwC,IAAI,GAAG,KAAK,UAAU,EAAE;IAChE,4CAA4C,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/D,4CAA4C,IAAI,GAAG,KAAK,UAAU,EAAE;IACpE,gDAAgD,GAAG,GAAG,2BAA2B,EAAE,CAAC;IACpF,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1E,oDAAoD,EAAE,GAAG,GAAG,CAAC;IAC7D,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,EAAE,CAAC;IACrE,oDAAoD,EAAE,GAAG,UAAU,CAAC;IACpE,iDAAiD;IACjD,6CAA6C;IAC7C,iDAAiD;IACjD,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACjE,gDAAgD,EAAE,GAAG,UAAU,CAAC;IAChE,6CAA6C;IAC7C,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,WAAW,GAAG,EAAE,CAAC;IAC7D,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,yCAAyC;IACzC,wCAAwC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/D,4CAA4C,EAAE,GAAG,IAAI,CAAC;IACtD,yCAAyC;IACzC,wCAAwC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/D,4CAA4C,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/D,4CAA4C,IAAI,GAAG,KAAK,UAAU,EAAE;IACpE,gDAAgD,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC3F,oDAAoD,GAAG,GAAG,MAAM,CAAC;IACjE,oDAAoD,WAAW,EAAE,CAAC;IAClE,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,GAAG,GAAG,UAAU,CAAC;IACrE,oDAAoD,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/E,wDAAwD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzE,qDAAqD;IACrD,iDAAiD;IACjD,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,YAAY,GAAG,EAAE,CAAC;IACtE,oDAAoD,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,oDAAoD,EAAE,GAAG,EAAE,CAAC;IAC5D,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,EAAE,CAAC;IACrE,oDAAoD,EAAE,GAAG,UAAU,CAAC;IACpE,iDAAiD;IACjD,6CAA6C;IAC7C,iDAAiD;IACjD,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACjE,gDAAgD,EAAE,GAAG,UAAU,CAAC;IAChE,6CAA6C;IAC7C,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,WAAW,GAAG,EAAE,CAAC;IAC7D,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,yCAAyC;IACzC,qCAAqC;IACrC,yCAAyC;IACzC,wCAAwC,WAAW,GAAG,EAAE,CAAC;IACzD,wCAAwC,EAAE,GAAG,UAAU,CAAC;IACxD,qCAAqC;IACrC,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,WAAW,GAAG,EAAE,CAAC;IACrD,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC,WAAW,GAAG,EAAE,CAAC;IACjD,gCAAgC,EAAE,GAAG,UAAU,CAAC;IAChD,6BAA6B;IAC7B,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,4BAA4B,GAAG;IAC5C,QAAQ,IAAI,EAAE,CAAC;IACf,QAAQ,EAAE,GAAG,4BAA4B,EAAE,CAAC;IAC5C,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,gCAAgC,EAAE,CAAC;IACpD,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,sBAAsB,GAAG;IACtC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACjF,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnD,YAAY,EAAE,GAAG,MAAM,CAAC;IACxB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAChD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClE,4BAA4B,EAAE,GAAG,OAAO,CAAC;IACzC,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9C,4BAA4B,IAAI,EAAE,KAAK,UAAU,EAAE;IACnD,gCAAgC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAC9E,oCAAoC,EAAE,GAAG,OAAO,CAAC;IACjD,oCAAoC,WAAW,IAAI,CAAC,CAAC;IACrD,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,oCAAoC,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/D,wCAAwC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE;IACnF,wCAAwC,EAAE,GAAG,OAAO,CAAC;IACrD,wCAAwC,WAAW,IAAI,EAAE,CAAC;IAC1D,qCAAqC;IACrC,yCAAyC;IACzC,wCAAwC,EAAE,GAAG,UAAU,CAAC;IACxD,wCAAwC,IAAI,eAAe,KAAK,CAAC,EAAE;IACnE,4CAA4C,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9D,yCAAyC;IACzC,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,oCAAoC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3D,wCAAwC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClF,4CAA4C,EAAE,GAAG,OAAO,CAAC;IACzD,4CAA4C,WAAW,EAAE,CAAC;IAC1D,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,4CAA4C,IAAI,eAAe,KAAK,CAAC,EAAE;IACvE,gDAAgD,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,6CAA6C;IAC7C,yCAAyC;IACzC,wCAAwC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/D,4CAA4C,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/D,4CAA4C,IAAI,GAAG,KAAK,UAAU,EAAE;IACpE,gDAAgD,GAAG,GAAG,WAAW,CAAC;IAClE,gDAAgD,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAC9F,oDAAoD,GAAG,GAAG,OAAO,CAAC;IAClE,oDAAoD,WAAW,IAAI,CAAC,CAAC;IACrE,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,GAAG,GAAG,UAAU,CAAC;IACrE,oDAAoD,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/E,wDAAwD,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1E,qDAAqD;IACrD,iDAAiD;IACjD,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,GAAG,GAAG,UAAU,EAAE,CAAC;IACvE,oDAAoD,IAAI,GAAG,KAAK,UAAU,EAAE;IAC5E,wDAAwD,GAAG,GAAG,eAAe,EAAE,CAAC;IAChF,wDAAwD,IAAI,GAAG,KAAK,UAAU,EAAE;IAChF,4DAA4D,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClF,4DAA4D,GAAG,GAAG,GAAG,CAAC;IACtE,yDAAyD;IACzD,6DAA6D;IAC7D,4DAA4D,WAAW,GAAG,GAAG,CAAC;IAC9E,4DAA4D,GAAG,GAAG,UAAU,CAAC;IAC7E,yDAAyD;IACzD,qDAAqD;IACrD,yDAAyD;IACzD,wDAAwD,WAAW,GAAG,GAAG,CAAC;IAC1E,wDAAwD,GAAG,GAAG,UAAU,CAAC;IACzE,qDAAqD;IACrD,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,GAAG,CAAC;IACtE,oDAAoD,GAAG,GAAG,UAAU,CAAC;IACrE,iDAAiD;IACjD,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,GAAG,GAAG,IAAI,CAAC;IAC/D,iDAAiD;IACjD,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,GAAG,GAAG,UAAU,EAAE,CAAC;IACvE,oDAAoD,IAAI,GAAG,KAAK,UAAU,EAAE;IAC5E,wDAAwD,GAAG,GAAG,EAAE,CAAC;IACjE,wDAAwD,GAAG,GAAG,qBAAqB,EAAE,CAAC;IACtF,wDAAwD,IAAI,GAAG,KAAK,UAAU,EAAE;IAChF,4DAA4D,OAAO,GAAG,KAAK,UAAU,EAAE;IACvF,gEAAgE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,gEAAgE,GAAG,GAAG,qBAAqB,EAAE,CAAC;IAC9F,6DAA6D;IAC7D,yDAAyD;IACzD,6DAA6D;IAC7D,4DAA4D,GAAG,GAAG,UAAU,CAAC;IAC7E,yDAAyD;IACzD,wDAAwD,IAAI,GAAG,KAAK,UAAU,EAAE;IAChF,4DAA4D,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/E,4DAA4D,IAAI,GAAG,KAAK,UAAU,EAAE;IACpF,gEAAgE,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC3G,oEAAoE,GAAG,GAAG,MAAM,CAAC;IACjF,oEAAoE,WAAW,EAAE,CAAC;IAClF,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE,GAAG,GAAG,UAAU,CAAC;IACrF,oEAAoE,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/F,wEAAwE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzF,qEAAqE;IACrE,iEAAiE;IACjE,gEAAgE,IAAI,GAAG,KAAK,UAAU,EAAE;IACxF,oEAAoE,YAAY,GAAG,EAAE,CAAC;IACtF,oEAAoE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnG,oEAAoE,EAAE,GAAG,EAAE,CAAC;IAC5E,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE,WAAW,GAAG,EAAE,CAAC;IACrF,oEAAoE,EAAE,GAAG,UAAU,CAAC;IACpF,iEAAiE;IACjE,6DAA6D;IAC7D,iEAAiE;IACjE,gEAAgE,WAAW,GAAG,EAAE,CAAC;IACjF,gEAAgE,EAAE,GAAG,UAAU,CAAC;IAChF,6DAA6D;IAC7D,yDAAyD;IACzD,6DAA6D;IAC7D,4DAA4D,WAAW,GAAG,EAAE,CAAC;IAC7E,4DAA4D,EAAE,GAAG,UAAU,CAAC;IAC5E,yDAAyD;IACzD,qDAAqD;IACrD,yDAAyD;IACzD,wDAAwD,WAAW,GAAG,EAAE,CAAC;IACzE,wDAAwD,EAAE,GAAG,UAAU,CAAC;IACxE,qDAAqD;IACrD,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,EAAE,CAAC;IACrE,oDAAoD,EAAE,GAAG,UAAU,CAAC;IACpE,iDAAiD;IACjD,6CAA6C;IAC7C,iDAAiD;IACjD,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACjE,gDAAgD,EAAE,GAAG,UAAU,CAAC;IAChE,6CAA6C;IAC7C,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,WAAW,GAAG,EAAE,CAAC;IAC7D,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,yCAAyC;IACzC,qCAAqC;IACrC,yCAAyC;IACzC,wCAAwC,WAAW,GAAG,EAAE,CAAC;IACzD,wCAAwC,EAAE,GAAG,UAAU,CAAC;IACxD,qCAAqC;IACrC,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,WAAW,GAAG,EAAE,CAAC;IACrD,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC,WAAW,GAAG,EAAE,CAAC;IACjD,gCAAgC,EAAE,GAAG,UAAU,CAAC;IAChD,6BAA6B;IAC7B,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,sBAAsB,GAAG;IACtC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACvE,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnD,YAAY,EAAE,GAAG,MAAM,CAAC;IACxB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAChD,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClE,4BAA4B,EAAE,GAAG,OAAO,CAAC;IACzC,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9C,4BAA4B,IAAI,EAAE,KAAK,UAAU,EAAE;IACnD,gCAAgC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAC9E,oCAAoC,EAAE,GAAG,OAAO,CAAC;IACjD,oCAAoC,WAAW,IAAI,CAAC,CAAC;IACrD,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,oCAAoC,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/D,wCAAwC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,oCAAoC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3D,wCAAwC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClF,4CAA4C,EAAE,GAAG,OAAO,CAAC;IACzD,4CAA4C,WAAW,EAAE,CAAC;IAC1D,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,4CAA4C,IAAI,eAAe,KAAK,CAAC,EAAE;IACvE,gDAAgD,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,6CAA6C;IAC7C,yCAAyC;IACzC,wCAAwC,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/D,4CAA4C,GAAG,GAAG,UAAU,EAAE,CAAC;IAC/D,4CAA4C,IAAI,GAAG,KAAK,UAAU,EAAE;IACpE,gDAAgD,GAAG,GAAG,EAAE,CAAC;IACzD,gDAAgD,GAAG,GAAG,qBAAqB,EAAE,CAAC;IAC9E,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,OAAO,GAAG,KAAK,UAAU,EAAE;IAC/E,wDAAwD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,wDAAwD,GAAG,GAAG,qBAAqB,EAAE,CAAC;IACtF,qDAAqD;IACrD,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,GAAG,GAAG,UAAU,CAAC;IACrE,iDAAiD;IACjD,gDAAgD,IAAI,GAAG,KAAK,UAAU,EAAE;IACxE,oDAAoD,GAAG,GAAG,UAAU,EAAE,CAAC;IACvE,oDAAoD,IAAI,GAAG,KAAK,UAAU,EAAE;IAC5E,wDAAwD,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IACnG,4DAA4D,GAAG,GAAG,MAAM,CAAC;IACzE,4DAA4D,WAAW,EAAE,CAAC;IAC1E,yDAAyD;IACzD,6DAA6D;IAC7D,4DAA4D,GAAG,GAAG,UAAU,CAAC;IAC7E,4DAA4D,IAAI,eAAe,KAAK,CAAC,EAAE;IACvF,gEAAgE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjF,6DAA6D;IAC7D,yDAAyD;IACzD,wDAAwD,IAAI,GAAG,KAAK,UAAU,EAAE;IAChF,4DAA4D,YAAY,GAAG,EAAE,CAAC;IAC9E,4DAA4D,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClF,4DAA4D,EAAE,GAAG,EAAE,CAAC;IACpE,yDAAyD;IACzD,6DAA6D;IAC7D,4DAA4D,WAAW,GAAG,EAAE,CAAC;IAC7E,4DAA4D,EAAE,GAAG,UAAU,CAAC;IAC5E,yDAAyD;IACzD,qDAAqD;IACrD,yDAAyD;IACzD,wDAAwD,WAAW,GAAG,EAAE,CAAC;IACzE,wDAAwD,EAAE,GAAG,UAAU,CAAC;IACxE,qDAAqD;IACrD,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD,WAAW,GAAG,EAAE,CAAC;IACrE,oDAAoD,EAAE,GAAG,UAAU,CAAC;IACpE,iDAAiD;IACjD,6CAA6C;IAC7C,iDAAiD;IACjD,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACjE,gDAAgD,EAAE,GAAG,UAAU,CAAC;IAChE,6CAA6C;IAC7C,yCAAyC;IACzC,6CAA6C;IAC7C,4CAA4C,WAAW,GAAG,EAAE,CAAC;IAC7D,4CAA4C,EAAE,GAAG,UAAU,CAAC;IAC5D,yCAAyC;IACzC,qCAAqC;IACrC,yCAAyC;IACzC,wCAAwC,WAAW,GAAG,EAAE,CAAC;IACzD,wCAAwC,EAAE,GAAG,UAAU,CAAC;IACxD,qCAAqC;IACrC,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,WAAW,GAAG,EAAE,CAAC;IACrD,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC,WAAW,GAAG,EAAE,CAAC;IACjD,gCAAgC,EAAE,GAAG,UAAU,CAAC;IAChD,6BAA6B;IAC7B,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,8BAA8B,GAAG;IAC9C,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IACnC,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpC,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,qBAAqB,GAAG;IACrC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3C,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpC,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAAC;IAClC,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC/D,wBAAwB,EAAE,GAAG,MAAM,CAAC;IACpC,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,YAAY,GAAG,WAAW,CAAC;IACnD,wBAAwB,EAAE,GAAG,OAAO,CAAC,AAAE,CAAC,CAAC;IACzC,wBAAwB,IAAI,EAAE,EAAE;IAChC,4BAA4B,EAAE,GAAG,SAAS,CAAC;IAC3C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpD,4BAA4B,IAAI,EAAE,KAAK,UAAU,EAAE;IACnD,gCAAgC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC3E,oCAAoC,EAAE,GAAG,MAAM,CAAC;IAChD,oCAAoC,WAAW,EAAE,CAAC;IAClD,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,oCAAoC,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/D,wCAAwC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzD,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,YAAY,GAAG,EAAE,CAAC;IACtD,oCAAoC,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAC5C,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,WAAW,GAAG,EAAE,CAAC;IACrD,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC,WAAW,GAAG,EAAE,CAAC;IACjD,gCAAgC,EAAE,GAAG,UAAU,CAAC;IAChD,6BAA6B;IAC7B,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,qBAAqB,GAAG;IACrC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3C,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAClD,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAAC;IAClC,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC/D,wBAAwB,EAAE,GAAG,MAAM,CAAC;IACpC,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,YAAY,GAAG,WAAW,CAAC;IACnD,wBAAwB,EAAE,GAAG,OAAO,CAAC,AAAE,CAAC,CAAC;IACzC,wBAAwB,IAAI,EAAE,EAAE;IAChC,4BAA4B,EAAE,GAAG,SAAS,CAAC;IAC3C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,wBAAwB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/C,4BAA4B,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpD,4BAA4B,IAAI,EAAE,KAAK,UAAU,EAAE;IACnD,gCAAgC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;IAC3E,oCAAoC,EAAE,GAAG,MAAM,CAAC;IAChD,oCAAoC,WAAW,EAAE,CAAC;IAClD,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,oCAAoC,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/D,wCAAwC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzD,qCAAqC;IACrC,iCAAiC;IACjC,gCAAgC,IAAI,EAAE,KAAK,UAAU,EAAE;IACvD,oCAAoC,YAAY,GAAG,EAAE,CAAC;IACtD,oCAAoC,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAC5C,iCAAiC;IACjC,qCAAqC;IACrC,oCAAoC,WAAW,GAAG,EAAE,CAAC;IACrD,oCAAoC,EAAE,GAAG,UAAU,CAAC;IACpD,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC,WAAW,GAAG,EAAE,CAAC;IACjD,gCAAgC,EAAE,GAAG,UAAU,CAAC;IAChD,6BAA6B;IAC7B,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,WAAW,GAAG,EAAE,CAAC;IAC7C,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,mBAAmB,GAAG;IACnC,QAAQ,AAAG,IAAC,EAAE,CAAK;IACnB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACrD,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;AAC/B,IACA,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,sBAAsB,GAAG;IACtC,QAAQ,AAAG,IAAC,EAAE,CAAK;IACnB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACrD,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;AAC/B,IACA,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,UAAU,GAAG;IAC1B,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACnC,QAAQ,OAAO,EAAE,KAAK,UAAU,EAAE;IAClC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACvC,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,eAAe,GAAG;IAC/B,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,IAAI,CAAC;IACtB,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACtC,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,YAAY,GAAG,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;AACL,IAsBA,IAAI,SAAS,0BAA0B,GAAG;IAC1C,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;IACnB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IACtD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,IAAI,CAAC,CAAC;IAC7B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,qBAAqB,GAAG;IACrC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACnC,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACxC,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,WAAW,CAAC;IACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAC9D,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACjC,oBAAoB,WAAW,IAAI,CAAC,CAAC;IACrC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/C,wBAAwB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACjE,wBAAwB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,OAAO,EAAE,KAAK,UAAU,EAAE;IAC1C,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;IAClE,wBAAwB,EAAE,GAAG,OAAO,CAAC;IACrC,wBAAwB,WAAW,IAAI,CAAC,CAAC;IACzC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACrE,4BAA4B,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,4BAA4B,WAAW,EAAE,CAAC;IAC1C,yBAAyB;IACzB,6BAA6B;IAC7B,4BAA4B,EAAE,GAAG,UAAU,CAAC;IAC5C,4BAA4B,IAAI,eAAe,KAAK,CAAC,EAAE;IACvD,gCAAgC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,6BAA6B;IAC7B,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1D,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAC9D,wBAAwB,EAAE,GAAG,OAAO,CAAC;IACrC,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,EAAE,GAAG,IAAI,CAAC;IAClC,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,YAAY,GAAG,EAAE,CAAC;IAC1C,wBAAwB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,wBAAwB,EAAE,GAAG,EAAE,CAAC;IAChC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,uBAAuB,GAAG;IACvC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE;IACxC,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,WAAW,CAAC;IACvC,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,YAAY,IAAI,EAAE,EAAE;IACpB,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC/B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IACtD,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC7B,gBAAgB,WAAW,EAAE,CAAC;IAC9B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,gBAAgB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC3C,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,oBAAoB,GAAG;IACpC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE;IACxC,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,WAAW,CAAC;IACvC,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,YAAY,IAAI,EAAE,EAAE;IACpB,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC/B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,wBAAwB,GAAG;IACxC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;IACnB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAClC,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpC,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,kBAAkB,GAAG;IAClC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/B,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;IAClD,YAAY,EAAE,GAAG,OAAO,CAAC;IACzB,YAAY,WAAW,EAAE,CAAC;IAC1B,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,YAAY,GAAG,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3B,SAAS;IACT,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,WAAW,CAAC;IAC7B,YAAY,EAAE,GAAG,WAAW,CAAC;IAC7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACzD,gBAAgB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,gBAAgB,WAAW,EAAE,CAAC;IAC9B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,gBAAgB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC3C,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,iBAAiB;IACjB,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IAC7D,oBAAoB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,oBAAoB,WAAW,EAAE,CAAC;IAClC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,oBAAoB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC/C,wBAAwB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,OAAO,EAAE,KAAK,UAAU,EAAE;IAC1C,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;IACjE,wBAAwB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClC,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,YAAY,GAAG,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,SAAS,gBAAgB,GAAG;IAChC,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/B,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,WAAW,CAAC;IACzB,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACnC,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC1C,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,SAAS,CAAC;IAC3B,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE;IAC5C,gBAAgB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,gBAAgB,WAAW,EAAE,CAAC;IAC9B,aAAa;IACb,iBAAiB;IACjB,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,gBAAgB,IAAI,eAAe,KAAK,CAAC,EAAE;IAC3C,oBAAoB,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,iBAAiB;IACjB,aAAa;IACb,YAAY,IAAI,EAAE,KAAK,UAAU,EAAE;IACnC,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,GAAG,EAAE,CAAC;IACjC,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAChC,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,WAAW,GAAG,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,gBAAgB,EAAE,GAAG,WAAW,CAAC;IACjC,gBAAgB,EAAE,GAAG,WAAW,CAAC;IACjC,gBAAgB,eAAe,EAAE,CAAC;IAClC,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC3C,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAClD,iBAAiB;IACjB,gBAAgB,eAAe,EAAE,CAAC;IAClC,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,EAAE,GAAG,SAAS,CAAC;IACnC,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,KAAK,UAAU,EAAE;IACvC,oBAAoB,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE;IACpD,wBAAwB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,wBAAwB,WAAW,EAAE,CAAC;IACtC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,wBAAwB,IAAI,eAAe,KAAK,CAAC,EAAE;IACnD,4BAA4B,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,KAAK,UAAU,EAAE;IAC3C,wBAAwB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,wBAAwB,EAAE,GAAG,EAAE,CAAC;IAChC,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB,WAAW,GAAG,EAAE,CAAC;IACzC,wBAAwB,EAAE,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,WAAW,GAAG,EAAE,CAAC;IACrC,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,SAAS;IACT,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,SAAS;IACT,aAAa;IACb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS;IACT,QAAQ,eAAe,EAAE,CAAC;IAC1B,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE;IAC/B,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5B,YAAY,IAAI,eAAe,KAAK,CAAC,EAAE;IACvC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,IAAI,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,SAAS,mBAAmB,GAAG;IACnC,QAAQ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,KAAK;IACL,IAAI,SAAS,gBAAgB,GAAG;IAChC,QAAQ,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC;IAC9D,KAAK;IACL,IAAI,SAAS,cAAc,GAAG;IAC9B,QAAQ,OAAO,OAAO,IAAI,OAAO,CAAC,eAAe,GAAG;IACpD,YAAY,QAAQ,EAAE,QAAQ,EAAE;IAChC,SAAS,GAAG,EAAE,CAAC;IACf,KAAK;IACL,IAAI,UAAU,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,IAAI,UAAU,KAAK,UAAU,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,EAAE;IACnE,QAAQ,OAAO,UAAU,CAAC;IAC1B,KAAK;IACL,SAAS;IACT,QAAQ,IAAI,UAAU,KAAK,UAAU,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE;IACrE,YAAY,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC3C,SAAS;IACT,QAAQ,MAAM,wBAAwB,CAAC,mBAAmB,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM;IAC9J,cAAc,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC;IACrE,cAAc,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,KAAK;IACL,CAAC;AACD,IAAO,IAAI,QAAQ,GAAG,SAAS,CAAC;;ICtjFhC,IAAI,cAAc,GAAG,CAACA,SAAI,IAAIA,SAAI,CAAC,cAAc,KAAK,YAAY;IAClE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;AACF,IAEA,IAAI,oBAAoB,GAAG,aAAa,CAAC;IACzC;IACA;IACA;IACA;IACA;IACA;AACA,IAAO,SAAS,wBAAwB,CAAC,GAAG,EAAE;IAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;IAC9B;IACA,QAAQ,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;IAC1D,YAAY,OAAO;IACnB,SAAS;IACT;IACA,QAAQ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;IACtD,YAAY,IAAI,EAAE,CAAC;IACnB,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC;IACA;IACA,YAAY,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAC;IAC5C,YAAY,IAAI,SAAS,GAAG,SAAS,CAAC;IACtC,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACvD,gBAAgB,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACrF,oBAAoB,sBAAsB,GAAG,CAAC,CAAC;IAC/C,oBAAoB,SAAS,GAAG,IAAI,CAAC;IACrC,oBAAoB,MAAM;IAC1B,iBAAiB;IACjB,aAAa;IACb,YAAY,IAAI,SAAS,EAAE;IAC3B,gBAAgB,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;IAC7G,gBAAgB,IAAI,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvG,aAAa;IACb,YAAY,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,CAAC;IACX,KAAK,CAAC,CAAC;IACP,CAAC;;IC9CD,IAAIC,UAAQ,GAAG,CAACD,SAAI,IAAIA,SAAI,CAAC,QAAQ,KAAK,YAAY;IACtD,IAAIC,UAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;IAC5C,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,KAAK,CAAC;IACN,IAAI,OAAOA,UAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF;IACA;IACA;IACA;IACA;IACA,IAAI,eAAe,GAAG,2KAA2K,CAAC;IAClM;IACA;IACA;IACA;IACA;IACA;AACA,IAAO,SAAS,qBAAqB,CAAC,QAAQ,EAAE;IAChD,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE;IACvD,QAAQ,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,QAAQ,QAAQ,KAAK,CAAC,CAAC,CAAC;IACxB;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjF,gBAAgB,MAAM;IACtB;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;IAChE,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,8DAA8D,CAAC,CAAC;IACrG;IACA,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC;IACnF;IACA,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1F,gBAAgB,MAAM;IACtB;IACA,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAChF,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7D,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;IAClG;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtF,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG;IACpB,gBAAgB,IAAI,GAAG,GAAG,CAAC,EAAE;IAC7B,oBAAoB,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IAC1F,iBAAiB;IACjB,gBAAgB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/E,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG;IACpB,gBAAgB,IAAI,GAAG,GAAG,CAAC,EAAE;IAC7B,oBAAoB,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IAC1F,iBAAiB;IACjB,gBAAgB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/E,gBAAgB,MAAM;IACtB;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACrC,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;IACnG;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9D,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9D,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9D,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9D,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,kEAAkE,CAAC,CAAC;IACzG;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE,gBAAgB,MAAM;IACtB;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;IACnG;IACA,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,CAAC,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;IACjE,gBAAgB,MAAM;IACtB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG,CAAC;IACrB,YAAY,KAAK,GAAG;IACpB,gBAAgB,MAAM,IAAI,UAAU,CAAC,sEAAsE,CAAC,CAAC;IAC7G,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,aAAa,CAAC,IAAI,EAAE;IAC7B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,wBAAwB,GAAG,wBAAwB,CAAC;IACxD,IAAI,2BAA2B,GAAG,kBAAkB,CAAC;IACrD,SAAS,yBAAyB,CAAC,GAAG,EAAE;IACxC,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAClE;IACA,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;IACpC,YAAY,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC;IACxD,YAAY,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC;IACxD,SAAS;IACT;IACA,aAAa,IAAI,EAAE,KAAK,GAAG,EAAE;IAC7B,YAAY,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC;IACxD,SAAS;IACT;IACA,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAChC,YAAY,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC;IACxD,SAAS;IACT;IACA,aAAa;IACb,YAAY,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC;IACxD,YAAY,MAAM,CAAC,wBAAwB;IAC3C,gBAAgB,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,SAAS;IACT,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,SAAS,SAAS,CAAC,GAAG,EAAE;IACxB,IAAI,QAAQ,GAAG;IACf,QAAQ,KAAK,WAAW;IACxB,YAAY,OAAO;IACnB,gBAAgB,WAAW,EAAE,MAAM;IACnC,aAAa,CAAC;IACd,QAAQ,KAAK,iBAAiB;IAC9B,YAAY,OAAO;IACnB,gBAAgB,YAAY,EAAE,YAAY;IAC1C,aAAa,CAAC;IACd,QAAQ,KAAK,aAAa;IAC1B,YAAY,OAAO;IACnB,gBAAgB,WAAW,EAAE,QAAQ;IACrC,aAAa,CAAC;IACd,QAAQ,KAAK,wBAAwB;IACrC,YAAY,OAAO;IACnB,gBAAgB,WAAW,EAAE,QAAQ;IACrC,gBAAgB,YAAY,EAAE,YAAY;IAC1C,aAAa,CAAC;IACd,QAAQ,KAAK,kBAAkB;IAC/B,YAAY,OAAO;IACnB,gBAAgB,WAAW,EAAE,YAAY;IACzC,aAAa,CAAC;IACd,QAAQ,KAAK,6BAA6B;IAC1C,YAAY,OAAO;IACnB,gBAAgB,WAAW,EAAE,YAAY;IACzC,gBAAgB,YAAY,EAAE,YAAY;IAC1C,aAAa,CAAC;IACd,QAAQ,KAAK,YAAY;IACzB,YAAY,OAAO;IACnB,gBAAgB,WAAW,EAAE,OAAO;IACpC,aAAa,CAAC;IACd,KAAK;IACL,CAAC;IACD,SAAS,oBAAoB,CAAC,GAAG,EAAE;IACnC,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,IAAI,QAAQ,EAAE;IAClB,QAAQ,OAAO,QAAQ,CAAC;IACxB,KAAK;IACL,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;IACD;IACA;IACA;AACA,IAAO,SAAS,0CAA0C,CAAC,MAAM,EAAE;IACnE,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;IACpE,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjC,QAAQ,QAAQ,KAAK,CAAC,IAAI;IAC1B,YAAY,KAAK,SAAS;IAC1B,gBAAgB,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;IACzC,gBAAgB,SAAS;IACzB,YAAY,KAAK,UAAU;IAC3B,gBAAgB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;IAC1C,gBAAgB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,gBAAgB,SAAS;IACzB,YAAY,KAAK,WAAW;IAC5B,gBAAgB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3C,gBAAgB,SAAS;IACzB,YAAY,KAAK,mBAAmB;IACpC,gBAAgB,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACjD,gBAAgB,SAAS;IACzB,YAAY,KAAK,cAAc;IAC/B,gBAAgB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;IACtC,gBAAgB,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,gBAAgB,SAAS;IACzB,YAAY,KAAK,eAAe;IAChC,gBAAgB,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5C,gBAAgB,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC;IAChD,gBAAgB,SAAS;IACzB,YAAY,KAAK,cAAc;IAC/B,gBAAgB,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5C,gBAAgB,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/C,gBAAgB,SAAS;IACzB,YAAY,KAAK,YAAY;IAC7B,gBAAgB,MAAM,GAAGA,UAAQ,CAACA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClN,gBAAgB,SAAS;IACzB,YAAY,KAAK,aAAa;IAC9B,gBAAgB,MAAM,GAAGA,UAAQ,CAACA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACnN,gBAAgB,SAAS;IACzB,YAAY,KAAK,iBAAiB;IAClC,gBAAgB,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC7C,gBAAgB,SAAS;IACzB;IACA,YAAY,KAAK,mBAAmB;IACpC,gBAAgB,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC;IACxD,gBAAgB,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9C,gBAAgB,SAAS;IACzB,YAAY,KAAK,kBAAkB;IACnC,gBAAgB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;IAChD,gBAAgB,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7C,gBAAgB,SAAS;IACzB,YAAY,KAAK,sBAAsB;IACvC,gBAAgB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;IAChD,gBAAgB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5C,gBAAgB,SAAS;IACzB,YAAY,KAAK,qBAAqB;IACtC,gBAAgB,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClD,gBAAgB,SAAS;IACzB,SAAS;IACT;IACA;IACA,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;IACvD,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;IAC1C,gBAAgB,MAAM,IAAI,UAAU,CAAC,+DAA+D,CAAC,CAAC;IACtG,aAAa;IACb,YAAY,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAClF;IACA,gBAAgB,IAAI,KAAK,KAAK,GAAG,EAAE;IACnC,oBAAoB,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACrD,iBAAiB;IACjB;IACA,qBAAqB,IAAI,EAAE,KAAK,GAAG,EAAE;IACrC,oBAAoB,MAAM,CAAC,qBAAqB,GAAG,EAAE,CAAC,MAAM,CAAC;IAC7D,iBAAiB;IACjB;IACA,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IACxC,oBAAoB,MAAM,CAAC,qBAAqB,GAAG,EAAE,CAAC,MAAM,CAAC;IAC7D,iBAAiB;IACjB;IACA,qBAAqB;IACrB,oBAAoB,MAAM,CAAC,qBAAqB,GAAG,EAAE,CAAC,MAAM,CAAC;IAC7D,oBAAoB,MAAM,CAAC,qBAAqB;IAChD,wBAAwB,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,iBAAiB;IACjB,gBAAgB,OAAO,EAAE,CAAC;IAC1B,aAAa,CAAC,CAAC;IACf,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;IACtC,gBAAgB,MAAM,GAAGA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,aAAa;IACb,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;IAC1D,YAAY,MAAM,GAAGA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,IAAI,QAAQ,EAAE;IACtB,YAAY,MAAM,GAAGA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,SAAS;IACT,KAAK;IACL,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;IC7SM,SAAS,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;IACnC,IAAI,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,wBAAwB,KAAK,KAAK,EAAE;IAC1D,QAAQ,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACtC,KAAK;IACL,IAAI,OAAO,GAAG,CAAC;IACf,CAAC;;ICXD;IACA;IACA;IACA;IACA;IACA,IAAIC,gBAAc,GAAG,CAACF,SAAI,IAAIA,SAAI,CAAC,cAAc,KAAK,YAAY;IAClE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IACF;IACA,SAAS,UAAU,CAAC,MAAM,EAAE;IAC5B,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;IACtD,QAAQ,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAChF,KAAK,CAAC,CAAC,CAAC;IACR,CAAC;IACD,SAAS,YAAY,CAAC,GAAG,EAAE;IAC3B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3B,SAAS,IAAI,EAAE;IACf,SAAS,GAAG,CAAC,UAAU,CAAC,EAAE;IAC1B,QAAQ,IAAI,EAAE,CAAC;IACf,QAAQ,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;IAC7C,KAAK,CAAC,CAAC;IACP,CAAC;IACD,IAAI,wBAAwB,GAAG,UAAU,iBAAiB,EAAE,KAAK,EAAE;IACnE,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE;IACzC,IAAI,OAAO,YAAY;IACvB,QAAQ,IAAI,EAAE,CAAC;IACf,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC;IACtB,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;IACtD,YAAY,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,SAAS;IACT,QAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,IAAI,MAAM,GAAG,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,IAAI,CAAC,MAAM,EAAE;IACrB,YAAY,MAAM,GAAG,KAAK,CAAC,EAAE,GAAG,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAEE,gBAAc,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;IACrG,YAAY,IAAI,OAAO,EAAE;IACzB,gBAAgB,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;IACxC,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,MAAM,CAAC;IACtB,KAAK,CAAC;IACN,CAAC,CAAC;;IC5CF,IAAIC,WAAS,GAAG,CAACH,SAAI,IAAIA,SAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACzD,IAAI,IAAI,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE;IACxC,QAAQ,aAAa,GAAG,MAAM,CAAC,cAAc;IAC7C,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACxF,YAAY,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,QAAQ,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,KAAK,CAAC;IACN,IAAI,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;IAC3B,QAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,QAAQ,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC/C,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7F,KAAK,CAAC;IACN,CAAC,GAAG,CAAC;IACL,IAAIE,gBAAc,GAAG,CAACF,SAAI,IAAIA,SAAI,CAAC,cAAc,KAAK,YAAY;IAClE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;AACF,IACA,IAAI,WAAW,kBAAkB,UAAU,MAAM,EAAE;IACnD,IAAIG,WAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,SAAS,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE;IAC1C,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;IACnD,QAAQ,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IACtC,QAAQ,OAAO,KAAK,CAAC;IACrB,KAAK;IACL,IAAI,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACV,SAAS,YAAY,CAAC,KAAK,EAAE;IAC7B,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;IAC1B,QAAQ,OAAO,KAAK,CAAC;IACrB,KAAK;IACL,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE;IAC7C,QAAQ,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,QAAQ,IAAI,CAAC,QAAQ;IACrB,YAAY,QAAQ,CAAC,IAAI,KAAK,CAAC;IAC/B,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,gBAAgB;IAC3C,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS;IACT,aAAa;IACb,YAAY,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACzC,SAAS;IACT,QAAQ,OAAO,GAAG,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IACD;AACA,IAAO,SAAS,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB;IAC3F;IACA,eAAe,EAAE;IACjB;IACA,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IACtD,QAAQ,OAAO;IACf,YAAY;IACZ,gBAAgB,IAAI,EAAE,CAAC;IACvB,gBAAgB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;IACnC,aAAa;IACb,SAAS,CAAC;IACV,KAAK;IACL,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;IAC3D,QAAQ,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B;IACA,QAAQ,IAAI,gBAAgB,CAAC,EAAE,CAAC,EAAE;IAClC,YAAY,MAAM,CAAC,IAAI,CAAC;IACxB,gBAAgB,IAAI,EAAE,CAAC;IACvB,gBAAgB,KAAK,EAAE,EAAE,CAAC,KAAK;IAC/B,aAAa,CAAC,CAAC;IACf,YAAY,SAAS;IACrB,SAAS;IACT;IACA;IACA,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE;IAChC,YAAY,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;IACxD,gBAAgB,MAAM,CAAC,IAAI,CAAC;IAC5B,oBAAoB,IAAI,EAAE,CAAC;IAC3B,oBAAoB,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACzF,iBAAiB,CAAC,CAAC;IACnB,aAAa;IACb,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;IAC/B;IACA,QAAQ,IAAI,EAAE,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC,EAAE;IAC5C,YAAY,MAAM,IAAI,WAAW,CAAC,qCAAqC,GAAG,OAAO,GAAG,sCAAsC,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC;IACrJ,SAAS;IACT,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE;IACnC,YAAY,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAClF,gBAAgB,KAAK;IACrB,oBAAoB,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;IAC1E,0BAA0B,MAAM,CAAC,KAAK,CAAC;IACvC,0BAA0B,EAAE,CAAC;IAC7B,aAAa;IACb,YAAY,MAAM,CAAC,IAAI,CAAC;IACxB,gBAAgB,IAAI,EAAE,CAAC;IACvB,gBAAgB,KAAK,EAAE,KAAK;IAC5B,aAAa,CAAC,CAAC;IACf,YAAY,SAAS;IACrB,SAAS;IACT;IACA;IACA;IACA,QAAQ,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;IAC/B,YAAY,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC1F,YAAY,MAAM,CAAC,IAAI,CAAC;IACxB,gBAAgB,IAAI,EAAE,CAAC;IACvB,gBAAgB,KAAK,EAAE,UAAU;IACjC,qBAAqB,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;IACtD,qBAAqB,MAAM,CAAC,KAAK,CAAC;IAClC,aAAa,CAAC,CAAC;IACf,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;IAC/B,YAAY,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ;IACpD,kBAAkB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;IACxC,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC;IAC9C,sBAAsB,qBAAqB,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAC7D,sBAAsB,SAAS,CAAC;IAChC,YAAY,MAAM,CAAC,IAAI,CAAC;IACxB,gBAAgB,IAAI,EAAE,CAAC;IACvB,gBAAgB,KAAK,EAAE,UAAU;IACjC,qBAAqB,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;IACtD,qBAAqB,MAAM,CAAC,KAAK,CAAC;IAClC,aAAa,CAAC,CAAC;IACf,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE;IACjC,YAAY,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ;IACpD,kBAAkB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1C,kBAAkB,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5C,sBAAsB,0CAA0C,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACjF,sBAAsB,SAAS,CAAC;IAChC,YAAY,MAAM,CAAC,IAAI,CAAC;IACxB,gBAAgB,IAAI,EAAE,CAAC;IACvB,gBAAgB,KAAK,EAAE,UAAU;IACjC,qBAAqB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;IACpD,qBAAqB,MAAM,CAAC,KAAK,CAAC;IAClC,aAAa,CAAC,CAAC;IACf,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE;IACjC,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5D,YAAY,IAAI,CAAC,GAAG,EAAE;IACtB,gBAAgB,MAAM,IAAI,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACjK,aAAa;IACb,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACtG,YAAY,SAAS;IACrB,SAAS;IACT,QAAQ,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE;IACjC,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IAC9C,YAAY,IAAI,CAAC,GAAG,EAAE;IACtB,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;IACvC,oBAAoB,MAAM,IAAI,WAAW,CAAC,mHAAmH,CAAC,CAAC;IAC/J,iBAAiB;IACjB,gBAAgB,IAAI,IAAI,GAAG,UAAU;IACrC,qBAAqB,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;IACrE,qBAAqB,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,gBAAgB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3D,aAAa;IACb,YAAY,IAAI,CAAC,GAAG,EAAE;IACtB,gBAAgB,MAAM,IAAI,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACjK,aAAa;IACb,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChI,YAAY,SAAS;IACrB,SAAS;IACT,KAAK;IACL,IAAI,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACD,IAAO,SAAS,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IACxE;IACA,eAAe,EAAE;IACjB,IAAI,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACrG;IACA,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;IAC5B,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9B,KAAK;IACL,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IACD;IACA,IAAI,SAAS,CAAC;IACd,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,WAAW,GAAG,gBAAgB,CAAC;IACnC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,SAAS,UAAU,GAAG;IACtB,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,CAAC;IACxC,CAAC;IACD,SAAS,6BAA6B,CAAC,IAAI,EAAE,WAAW,EAAE;IAC1D,IAAI,OAAO,IAAI;IACf,SAAS,KAAK,CAAC,WAAW,CAAC;IAC3B,SAAS,MAAM,CAAC,OAAO,CAAC;IACxB,SAAS,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACpF,SAAS,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE;IAClC,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;IACzB,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,SAAS;IACT,aAAa,IAAI,OAAO,CAAC,KAAK,QAAQ;IACtC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;IACrD,YAAY,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS;IACT,aAAa;IACb,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,SAAS;IACT,QAAQ,OAAO,GAAG,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IACD;IACA;IACA;IACA,IAAI,gBAAgB,GAAG,uEAAuE,CAAC;IAC/F,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACpC,IAAI,aAAa,GAAG;IACpB,IAAI,MAAM;IACV,IAAI,MAAM;IACV,IAAI,IAAI;IACR,IAAI,KAAK;IACT,IAAI,OAAO;IACX,IAAI,IAAI;IACR,IAAI,KAAK;IACT,IAAI,OAAO;IACX,IAAI,MAAM;IACV,IAAI,MAAM;IACV,IAAI,OAAO;IACX,IAAI,QAAQ;IACZ,IAAI,OAAO;IACX,IAAI,KAAK;IACT,CAAC,CAAC;IACF,SAAS,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IACpD,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC7B,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IAC3F;IACA,IAAI,IAAI,CAAC,OAAO,EAAE;IAClB,QAAQ,OAAO,6BAA6B,CAAC,WAAW,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;IAC7E,KAAK;IACL,IAAI,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,IAAI,aAAa,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,IAAI,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,IAAI,eAAe,IAAI,aAAa,EAAE;IAC1C,QAAQ,MAAM,IAAI,WAAW,CAAC,OAAO,GAAG,0EAA0E,CAAC,CAAC;IACpH,KAAK;IACL,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;IAC5B,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,KAAK;IACL,IAAI,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE;IACrF,QAAQ,OAAO,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,KAAK,EAAE,EAAE,CAAC,CAAC;IACX;IACA,IAAI,IAAI,CAAC,eAAe,EAAE;IAC1B,QAAQ,OAAOD,gBAAc,CAAC,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IACrF,KAAK;IACL;IACA,IAAI,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;IAC/C,QAAQ,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,KAAK;IACL,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;AACD,IAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAC3E;IACA,eAAe,EAAE;IACjB,IAAI,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACrG,IAAI,IAAI,WAAW,GAAG,EAAE,CAAC;IACzB,IAAI,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE;IAC7D,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,gBAAgB;IAC3C,YAAY,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;IACvC,SAAS;IACT,QAAQ,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,QAAQ,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACrC,QAAQ,QAAQ,GAAG,IAAI,EAAE,GAAG,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE;IACpE,KAAK,EAAE,EAAE,CAAC,CAAC;IACX;IACA,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;IAClD,QAAQ,OAAO,6BAA6B,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC5E,KAAK;IACL,IAAI,IAAI,CAAC,MAAM,EAAE;IACjB,QAAQ,MAAM,IAAI,WAAW,CAAC,kDAAkD,CAAC,CAAC;IAClF,KAAK;IACL,IAAI,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;IAC1C,QAAQ,MAAM,IAAI,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAC7E,KAAK;IACL,IAAI,IAAI,CAAC,SAAS,EAAE;IACpB,QAAQ,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IACpC,KAAK;IACL,IAAI,IAAI,OAAO,GAAG,SAAS;IAC3B,SAAS,eAAe,CAAC,0BAA0B,GAAG,WAAW,GAAG,KAAK,GAAG,gBAAgB,GAAG,sBAAsB,EAAE,WAAW,CAAC;IACnI,SAAS,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,OAAO,EAAE;IAClB,QAAQ,MAAM,IAAI,WAAW,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,CAAC;IAC5E,KAAK;IACL,IAAI,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjI;IACA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;IAC9B,QAAQ,OAAO,6BAA6B,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC5E,KAAK;IACL,IAAI,IAAI,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,OAAO,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAClH,IAAI,IAAI,iBAAiB,CAAC,MAAM,EAAE;IAClC,QAAQ,MAAM,IAAI,WAAW,CAAC,8DAA8D,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7H,KAAK;IACL;IACA,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK;IAChC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjC,SAAS,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjH,CAAC;;IC9SD;IACA;IACA;IACA;IACA;IACA,IAAID,UAAQ,GAAG,CAACD,SAAI,IAAIA,SAAI,CAAC,QAAQ,KAAK,YAAY;IACtD,IAAIC,UAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;IAC5C,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,KAAK,CAAC;IACN,IAAI,OAAOA,UAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;AACF,IAGA;IACA,SAAS,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;IAC7B,IAAI,IAAI,CAAC,EAAE,EAAE;IACb,QAAQ,OAAO,EAAE,CAAC;IAClB,KAAK;IACL,IAAI,OAAOA,UAAQ,CAACA,UAAQ,CAACA,UAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE;IAC7G,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAGA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9D,QAAQ,OAAO,GAAG,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,SAAS,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;IAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;IAClB,QAAQ,OAAO,aAAa,CAAC;IAC7B,KAAK;IACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE;IAC/D,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAQ,OAAO,GAAG,CAAC;IACnB,KAAK,EAAEA,UAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IACpC,CAAC;AACD,IAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;IAC/C,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG;IACpC,QAAQ,MAAM,EAAE,EAAE;IAClB,QAAQ,QAAQ,EAAE,EAAE;IACpB,QAAQ,WAAW,EAAE,EAAE;IACvB,KAAK,CAAC,EAAE;IACR,IAAI,OAAO;IACX,QAAQ,eAAe,EAAEG,wBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;IAChF,QAAQ,iBAAiB,EAAEA,wBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtF,QAAQ,cAAc,EAAEA,wBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IACnF,KAAK,CAAC;IACN,CAAC;AACD,AAAG,QAAC,iBAAiB,kBAAkB,YAAY;IACnD,IAAI,SAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE;IACxE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;IACzB,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAAE;IAC9E,QAAQ,IAAI,CAAC,cAAc,GAAG;IAC9B,YAAY,MAAM,EAAE,EAAE;IACtB,YAAY,QAAQ,EAAE,EAAE;IACxB,YAAY,WAAW,EAAE,EAAE;IAC3B,SAAS,CAAC;IACV,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,MAAM,EAAE;IACxC,YAAY,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpH,SAAS,CAAC;IACV,QAAQ,IAAI,CAAC,aAAa,GAAG,UAAU,MAAM,EAAE;IAC/C,YAAY,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9H,SAAS,CAAC;IACV,QAAQ,IAAI,CAAC,iBAAiB,GAAG,UAAU,MAAM,EAAE;IACnD,YAAY,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvH,SAAS,CAAC;IACV,QAAQ,IAAI,CAAC,eAAe,GAAG,YAAY,EAAE,QAAQ;IACrD,YAAY,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,SAAS,EAAE,EAAE,CAAC;IACd,QAAQ,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACxD,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IACzC,YAAY,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,YAAY,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;IAC5C,gBAAgB,MAAM,IAAI,SAAS,CAAC,6EAA6E,CAAC,CAAC;IACnH,aAAa;IACb;IACA,YAAY,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE;IAC1D,gBAAgB,wBAAwB,EAAE,KAAK;IAC/C,aAAa,CAAC,CAAC;IACf,SAAS;IACT,aAAa;IACb,YAAY,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;IAC/B,SAAS;IACT,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IACtC,YAAY,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAClF,SAAS;IACT;IACA;IACA,QAAQ,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAChF;IACA,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,QAAQ,IAAI,CAAC,UAAU;IACvB,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtF,KAAK;IACL,IAAI,iBAAiB,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;IACvF,IAAI,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;IACtC;IACA;IACA;IACA,IAAI,iBAAiB,CAAC,OAAO,GAAG;IAChC,QAAQ,MAAM,EAAE;IAChB,YAAY,QAAQ,EAAE;IACtB,gBAAgB,KAAK,EAAE,UAAU;IACjC,aAAa;IACb,YAAY,OAAO,EAAE;IACrB,gBAAgB,KAAK,EAAE,SAAS;IAChC,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE;IACd,YAAY,KAAK,EAAE;IACnB,gBAAgB,KAAK,EAAE,SAAS;IAChC,gBAAgB,GAAG,EAAE,SAAS;IAC9B,gBAAgB,IAAI,EAAE,SAAS;IAC/B,aAAa;IACb,YAAY,MAAM,EAAE;IACpB,gBAAgB,KAAK,EAAE,OAAO;IAC9B,gBAAgB,GAAG,EAAE,SAAS;IAC9B,gBAAgB,IAAI,EAAE,SAAS;IAC/B,aAAa;IACb,YAAY,IAAI,EAAE;IAClB,gBAAgB,KAAK,EAAE,MAAM;IAC7B,gBAAgB,GAAG,EAAE,SAAS;IAC9B,gBAAgB,IAAI,EAAE,SAAS;IAC/B,aAAa;IACb,YAAY,IAAI,EAAE;IAClB,gBAAgB,OAAO,EAAE,MAAM;IAC/B,gBAAgB,KAAK,EAAE,MAAM;IAC7B,gBAAgB,GAAG,EAAE,SAAS;IAC9B,gBAAgB,IAAI,EAAE,SAAS;IAC/B,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,EAAE;IACd,YAAY,KAAK,EAAE;IACnB,gBAAgB,IAAI,EAAE,SAAS;IAC/B,gBAAgB,MAAM,EAAE,SAAS;IACjC,aAAa;IACb,YAAY,MAAM,EAAE;IACpB,gBAAgB,IAAI,EAAE,SAAS;IAC/B,gBAAgB,MAAM,EAAE,SAAS;IACjC,gBAAgB,MAAM,EAAE,SAAS;IACjC,aAAa;IACb,YAAY,IAAI,EAAE;IAClB,gBAAgB,IAAI,EAAE,SAAS;IAC/B,gBAAgB,MAAM,EAAE,SAAS;IACjC,gBAAgB,MAAM,EAAE,SAAS;IACjC,gBAAgB,YAAY,EAAE,OAAO;IACrC,aAAa;IACb,YAAY,IAAI,EAAE;IAClB,gBAAgB,IAAI,EAAE,SAAS;IAC/B,gBAAgB,MAAM,EAAE,SAAS;IACjC,gBAAgB,MAAM,EAAE,SAAS;IACjC,gBAAgB,YAAY,EAAE,OAAO;IACrC,aAAa;IACb,SAAS;IACT,KAAK,CAAC;IACN,IAAI,OAAO,iBAAiB,CAAC;IAC7B,CAAC,EAAE,CAAC;;IC9JJ;IACA;IACA;IACA;IACA,EAAE;;;;;;;;;;;;;;;;;"}