{"version":3,"file":"fde1f0092abd4359eadd63e5a4e5ce06b0521854-53a16f97377a96d06e2b.js","mappings":"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","sources":["webpack://gears-of-war-website/./node_modules/decode-uri-component/index.js","webpack://gears-of-war-website/./node_modules/filter-obj/index.js","webpack://gears-of-war-website/./node_modules/graphql/error/syntaxError.mjs","webpack://gears-of-war-website/./node_modules/graphql/language/tokenKind.mjs","webpack://gears-of-war-website/./node_modules/graphql/language/source.mjs","webpack://gears-of-war-website/./node_modules/graphql/language/directiveLocation.mjs","webpack://gears-of-war-website/./node_modules/graphql/language/lexer.mjs","webpack://gears-of-war-website/./node_modules/graphql/language/parser.mjs","webpack://gears-of-war-website/./node_modules/graphql-tag/lib/index.js","webpack://gears-of-war-website/./node_modules/query-string/index.js","webpack://gears-of-war-website/./node_modules/split-on-first/index.js","webpack://gears-of-war-website/./node_modules/strict-uri-encode/index.js","webpack://gears-of-war-website/./node_modules/tcweb-material-components/core/section/index.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/parser/index.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/data/OperationData.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/data/MutationData.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/data/QueryData.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/hooks/utils/useBaseQuery.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/hooks/utils/useDeepMemo.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/hooks/utils/useAfterFastRefresh.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/components/Query.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/hooks/useQuery.js","webpack://gears-of-war-website/./src/components/common/withPreview.js","webpack://gears-of-war-website/./node_modules/@apollo/client/react/hooks/useMutation.js","webpack://gears-of-war-website/./src/assets/images/scratch-line.svg","webpack://gears-of-war-website/./src/components/notifications/postBanner.js","webpack://gears-of-war-website/./src/components/common/postCard.js","webpack://gears-of-war-website/./src/components/common/postControls.js","webpack://gears-of-war-website/./src/assets/images/scratch-container-rectangle-1.svg","webpack://gears-of-war-website/./src/assets/images/scratch-container-rectangle-2.svg","webpack://gears-of-war-website/./src/assets/images/backgrounds/secondary/bg-secondary-xs.jpg","webpack://gears-of-war-website/./src/components/common/relatedPosts.js","webpack://gears-of-war-website/./src/templates/post.js","webpack://gears-of-war-website/./src/assets/images/jackbot.png"],"sourcesContent":["'use strict';\n\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\nfunction decodeComponents(components, split) {\n try {\n // Try to decode the entire string first\n return [decodeURIComponent(components.join(''))];\n } catch (err) {\n // Do nothing\n }\n if (components.length === 1) {\n return components;\n }\n split = split || 1;\n\n // Split the array in 2 parts\n var left = components.slice(0, split);\n var right = components.slice(split);\n return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\nfunction decode(input) {\n try {\n return decodeURIComponent(input);\n } catch (err) {\n var tokens = input.match(singleMatcher) || [];\n for (var i = 1; i < tokens.length; i++) {\n input = decodeComponents(tokens, i).join('');\n tokens = input.match(singleMatcher) || [];\n }\n return input;\n }\n}\nfunction customDecodeURIComponent(input) {\n // Keep track of all the replacements and prefill the map with the `BOM`\n var replaceMap = {\n '%FE%FF': '\\uFFFD\\uFFFD',\n '%FF%FE': '\\uFFFD\\uFFFD'\n };\n var match = multiMatcher.exec(input);\n while (match) {\n try {\n // Decode as big chunks as possible\n replaceMap[match[0]] = decodeURIComponent(match[0]);\n } catch (err) {\n var result = decode(match[0]);\n if (result !== match[0]) {\n replaceMap[match[0]] = result;\n }\n }\n match = multiMatcher.exec(input);\n }\n\n // Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n replaceMap['%C2'] = '\\uFFFD';\n var entries = Object.keys(replaceMap);\n for (var i = 0; i < entries.length; i++) {\n // Replace all decoded components\n var key = entries[i];\n input = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n }\n return input;\n}\nmodule.exports = function (encodedURI) {\n if (typeof encodedURI !== 'string') {\n throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n }\n try {\n encodedURI = encodedURI.replace(/\\+/g, ' ');\n\n // Try the built in decoder first\n return decodeURIComponent(encodedURI);\n } catch (err) {\n // Fallback to a more advanced decoder\n return customDecodeURIComponent(encodedURI);\n }\n};","'use strict';\n\nmodule.exports = function (obj, predicate) {\n var ret = {};\n var keys = Object.keys(obj);\n var isArr = Array.isArray(predicate);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var val = obj[key];\n if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n ret[key] = val;\n }\n }\n return ret;\n};","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n var _proto = Lexer.prototype;\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n return token;\n };\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\nfunction printCharCode(code) {\n return (\n // NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF :\n // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) :\n // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n break;\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n return readString(source, pos, _line, _col, prev);\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && (\n // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n return position;\n }\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) &&\n // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n ++position;\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n switch (code) {\n case 34:\n value += '\"';\n break;\n case 47:\n value += '/';\n break;\n case 92:\n value += '\\\\';\n break;\n case 98:\n value += '\\b';\n break;\n case 102:\n value += '\\f';\n break;\n case 110:\n value += '\\n';\n break;\n case 114:\n value += '\\r';\n break;\n case 116:\n value += '\\t';\n break;\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n ++position;\n chunkStart = position;\n }\n }\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n ++lexer.line;\n lexer.lineStart = position;\n } else if (\n // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 ||\n // _\n code >= 48 && code <= 57 ||\n // 0-9\n code >= 65 && code <= 90 ||\n // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n var _proto = Parser.prototype;\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n case 'fragment':\n return this.parseFragmentDefinition();\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n var operation = this.parseOperationType();\n var name;\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n switch (operationToken.value) {\n case 'query':\n return 'query';\n case 'mutation':\n return 'mutation';\n case 'subscription':\n return 'subscription';\n }\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n case TokenKind.INT:\n this._lexer.advance();\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n case TokenKind.FLOAT:\n this._lexer.advance();\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n case TokenKind.NAME:\n this._lexer.advance();\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n break;\n }\n throw this.unexpected();\n };\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n this._lexer.advance();\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n var start = this._lexer.token;\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n var start = this._lexer.token;\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n return type;\n }\n /**\n * NamedType : Name\n */;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n case 'scalar':\n return this.parseScalarTypeDefinition();\n case 'type':\n return this.parseObjectTypeDefinition();\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n case 'union':\n return this.parseUnionTypeDefinition();\n case 'enum':\n return this.parseEnumTypeDefinition();\n case 'input':\n return this.parseInputObjectTypeDefinition();\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n throw this.unexpected(keywordToken);\n };\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n return types;\n }\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n this._lexer.advance();\n return [];\n }\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n case 'scalar':\n return this.parseScalarTypeExtension();\n case 'type':\n return this.parseObjectTypeExtension();\n case 'interface':\n return this.parseInterfaceTypeExtension();\n case 'union':\n return this.parseUnionTypeExtension();\n case 'enum':\n return this.parseEnumTypeExtension();\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n if (directives.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n if (token.kind === kind) {\n this._lexer.advance();\n return token;\n }\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n if (token.kind === kind) {\n this._lexer.advance();\n return token;\n }\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n return true;\n }\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n return nodes;\n }\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n return nodes;\n };\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}","import { __assign } from \"tslib\";\nimport { parse } from 'graphql';\nvar docCache = new Map();\nvar fragmentSourceMap = new Map();\nvar printFragmentWarnings = true;\nvar experimentalFragmentVariables = false;\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\nfunction processFragments(ast) {\n var seenKeys = new Set();\n var definitions = [];\n ast.definitions.forEach(function (fragmentDefinition) {\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);\n var sourceKeySet = fragmentSourceMap.get(fragmentName);\n if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\" + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\" + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n } else if (!sourceKeySet) {\n fragmentSourceMap.set(fragmentName, sourceKeySet = new Set());\n }\n sourceKeySet.add(sourceKey);\n if (!seenKeys.has(sourceKey)) {\n seenKeys.add(sourceKey);\n definitions.push(fragmentDefinition);\n }\n } else {\n definitions.push(fragmentDefinition);\n }\n });\n return __assign(__assign({}, ast), {\n definitions: definitions\n });\n}\nfunction stripLoc(doc) {\n var workSet = new Set(doc.definitions);\n workSet.forEach(function (node) {\n if (node.loc) delete node.loc;\n Object.keys(node).forEach(function (key) {\n var value = node[key];\n if (value && typeof value === 'object') {\n workSet.add(value);\n }\n });\n });\n var loc = doc.loc;\n if (loc) {\n delete loc.startToken;\n delete loc.endToken;\n }\n return doc;\n}\nfunction parseDocument(source) {\n var cacheKey = normalize(source);\n if (!docCache.has(cacheKey)) {\n var parsed = parse(source, {\n experimentalFragmentVariables: experimentalFragmentVariables,\n allowLegacyFragmentVariables: experimentalFragmentVariables\n });\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n docCache.set(cacheKey, stripLoc(processFragments(parsed)));\n }\n return docCache.get(cacheKey);\n}\nexport function gql(literals) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof literals === 'string') {\n literals = [literals];\n }\n var result = literals[0];\n args.forEach(function (arg, i) {\n if (arg && arg.kind === 'Document') {\n result += arg.loc.source.body;\n } else {\n result += arg;\n }\n result += literals[i + 1];\n });\n return parseDocument(result);\n}\nexport function resetCaches() {\n docCache.clear();\n fragmentSourceMap.clear();\n}\nexport function disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\nexport function enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\nexport function disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\nvar extras = {\n gql: gql,\n resetCaches: resetCaches,\n disableFragmentWarnings: disableFragmentWarnings,\n enableExperimentalFragmentVariables: enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables: disableExperimentalFragmentVariables\n};\n(function (gql_1) {\n gql_1.gql = extras.gql, gql_1.resetCaches = extras.resetCaches, gql_1.disableFragmentWarnings = extras.disableFragmentWarnings, gql_1.enableExperimentalFragmentVariables = extras.enableExperimentalFragmentVariables, gql_1.disableExperimentalFragmentVariables = extras.disableExperimentalFragmentVariables;\n})(gql || (gql = {}));\ngql[\"default\"] = gql;\nexport default gql;","'use strict';\n\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\nconst isNullOrUndefined = value => value === null || value === undefined;\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\nfunction encoderForArrayFormat(options) {\n switch (options.arrayFormat) {\n case 'index':\n return key => (result, value) => {\n const index = result.length;\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n if (value === null) {\n return [...result, [encode(key, options), '[', index, ']'].join('')];\n }\n return [...result, [encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')];\n };\n case 'bracket':\n return key => (result, value) => {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n if (value === null) {\n return [...result, [encode(key, options), '[]'].join('')];\n }\n return [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n };\n case 'colon-list-separator':\n return key => (result, value) => {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n if (value === null) {\n return [...result, [encode(key, options), ':list='].join('')];\n }\n return [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n };\n case 'comma':\n case 'separator':\n case 'bracket-separator':\n {\n const keyValueSep = options.arrayFormat === 'bracket-separator' ? '[]=' : '=';\n return key => (result, value) => {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n // Translate null to an empty string so that it doesn't serialize as 'null'\n value = value === null ? '' : value;\n if (result.length === 0) {\n return [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n }\n return [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n };\n }\n default:\n return key => (result, value) => {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n if (value === null) {\n return [...result, encode(key, options)];\n }\n return [...result, [encode(key, options), '=', encode(value, options)].join('')];\n };\n }\n}\nfunction parserForArrayFormat(options) {\n let result;\n switch (options.arrayFormat) {\n case 'index':\n return (key, value, accumulator) => {\n result = /\\[(\\d*)\\]$/.exec(key);\n key = key.replace(/\\[\\d*\\]$/, '');\n if (!result) {\n accumulator[key] = value;\n return;\n }\n if (accumulator[key] === undefined) {\n accumulator[key] = {};\n }\n accumulator[key][result[1]] = value;\n };\n case 'bracket':\n return (key, value, accumulator) => {\n result = /(\\[\\])$/.exec(key);\n key = key.replace(/\\[\\]$/, '');\n if (!result) {\n accumulator[key] = value;\n return;\n }\n if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n accumulator[key] = [].concat(accumulator[key], value);\n };\n case 'colon-list-separator':\n return (key, value, accumulator) => {\n result = /(:list)$/.exec(key);\n key = key.replace(/:list$/, '');\n if (!result) {\n accumulator[key] = value;\n return;\n }\n if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n accumulator[key] = [].concat(accumulator[key], value);\n };\n case 'comma':\n case 'separator':\n return (key, value, accumulator) => {\n const isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n const isEncodedArray = typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator);\n value = isEncodedArray ? decode(value, options) : value;\n const newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n accumulator[key] = newValue;\n };\n case 'bracket-separator':\n return (key, value, accumulator) => {\n const isArray = /(\\[\\])$/.test(key);\n key = key.replace(/\\[\\]$/, '');\n if (!isArray) {\n accumulator[key] = value ? decode(value, options) : value;\n return;\n }\n const arrayValue = value === null ? [] : value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n if (accumulator[key] === undefined) {\n accumulator[key] = arrayValue;\n return;\n }\n accumulator[key] = [].concat(accumulator[key], arrayValue);\n };\n default:\n return (key, value, accumulator) => {\n if (accumulator[key] === undefined) {\n accumulator[key] = value;\n return;\n }\n accumulator[key] = [].concat(accumulator[key], value);\n };\n }\n}\nfunction validateArrayFormatSeparator(value) {\n if (typeof value !== 'string' || value.length !== 1) {\n throw new TypeError('arrayFormatSeparator must be single character string');\n }\n}\nfunction encode(value, options) {\n if (options.encode) {\n return options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n }\n return value;\n}\nfunction decode(value, options) {\n if (options.decode) {\n return decodeComponent(value);\n }\n return value;\n}\nfunction keysSorter(input) {\n if (Array.isArray(input)) {\n return input.sort();\n }\n if (typeof input === 'object') {\n return keysSorter(Object.keys(input)).sort((a, b) => Number(a) - Number(b)).map(key => input[key]);\n }\n return input;\n}\nfunction removeHash(input) {\n const hashStart = input.indexOf('#');\n if (hashStart !== -1) {\n input = input.slice(0, hashStart);\n }\n return input;\n}\nfunction getHash(url) {\n let hash = '';\n const hashStart = url.indexOf('#');\n if (hashStart !== -1) {\n hash = url.slice(hashStart);\n }\n return hash;\n}\nfunction extract(input) {\n input = removeHash(input);\n const queryStart = input.indexOf('?');\n if (queryStart === -1) {\n return '';\n }\n return input.slice(queryStart + 1);\n}\nfunction parseValue(value, options) {\n if (options.parseNumbers && !Number.isNaN(Number(value)) && typeof value === 'string' && value.trim() !== '') {\n value = Number(value);\n } else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n value = value.toLowerCase() === 'true';\n }\n return value;\n}\nfunction parse(query, options) {\n options = Object.assign({\n decode: true,\n sort: true,\n arrayFormat: 'none',\n arrayFormatSeparator: ',',\n parseNumbers: false,\n parseBooleans: false\n }, options);\n validateArrayFormatSeparator(options.arrayFormatSeparator);\n const formatter = parserForArrayFormat(options);\n\n // Create an object with no prototype\n const ret = Object.create(null);\n if (typeof query !== 'string') {\n return ret;\n }\n query = query.trim().replace(/^[?#&]/, '');\n if (!query) {\n return ret;\n }\n for (const param of query.split('&')) {\n if (param === '') {\n continue;\n }\n let [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n // Missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n value = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n formatter(decode(key, options), value, ret);\n }\n for (const key of Object.keys(ret)) {\n const value = ret[key];\n if (typeof value === 'object' && value !== null) {\n for (const k of Object.keys(value)) {\n value[k] = parseValue(value[k], options);\n }\n } else {\n ret[key] = parseValue(value, options);\n }\n }\n if (options.sort === false) {\n return ret;\n }\n return (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n const value = ret[key];\n if (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n // Sort object keys, not values\n result[key] = keysSorter(value);\n } else {\n result[key] = value;\n }\n return result;\n }, Object.create(null));\n}\nexports.extract = extract;\nexports.parse = parse;\nexports.stringify = (object, options) => {\n if (!object) {\n return '';\n }\n options = Object.assign({\n encode: true,\n strict: true,\n arrayFormat: 'none',\n arrayFormatSeparator: ','\n }, options);\n validateArrayFormatSeparator(options.arrayFormatSeparator);\n const shouldFilter = key => options.skipNull && isNullOrUndefined(object[key]) || options.skipEmptyString && object[key] === '';\n const formatter = encoderForArrayFormat(options);\n const objectCopy = {};\n for (const key of Object.keys(object)) {\n if (!shouldFilter(key)) {\n objectCopy[key] = object[key];\n }\n }\n const keys = Object.keys(objectCopy);\n if (options.sort !== false) {\n keys.sort(options.sort);\n }\n return keys.map(key => {\n const value = object[key];\n if (value === undefined) {\n return '';\n }\n if (value === null) {\n return encode(key, options);\n }\n if (Array.isArray(value)) {\n if (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n return encode(key, options) + '[]';\n }\n return value.reduce(formatter(key), []).join('&');\n }\n return encode(key, options) + '=' + encode(value, options);\n }).filter(x => x.length > 0).join('&');\n};\nexports.parseUrl = (url, options) => {\n options = Object.assign({\n decode: true\n }, options);\n const [url_, hash] = splitOnFirst(url, '#');\n return Object.assign({\n url: url_.split('?')[0] || '',\n query: parse(extract(url), options)\n }, options && options.parseFragmentIdentifier && hash ? {\n fragmentIdentifier: decode(hash, options)\n } : {});\n};\nexports.stringifyUrl = (object, options) => {\n options = Object.assign({\n encode: true,\n strict: true,\n [encodeFragmentIdentifier]: true\n }, options);\n const url = removeHash(object.url).split('?')[0] || '';\n const queryFromUrl = exports.extract(object.url);\n const parsedQueryFromUrl = exports.parse(queryFromUrl, {\n sort: false\n });\n const query = Object.assign(parsedQueryFromUrl, object.query);\n let queryString = exports.stringify(query, options);\n if (queryString) {\n queryString = `?${queryString}`;\n }\n let hash = getHash(object.url);\n if (object.fragmentIdentifier) {\n hash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n }\n return `${url}${queryString}${hash}`;\n};\nexports.pick = (input, filter, options) => {\n options = Object.assign({\n parseFragmentIdentifier: true,\n [encodeFragmentIdentifier]: false\n }, options);\n const {\n url,\n query,\n fragmentIdentifier\n } = exports.parseUrl(input, options);\n return exports.stringifyUrl({\n url,\n query: filterObject(query, filter),\n fragmentIdentifier\n }, options);\n};\nexports.exclude = (input, filter, options) => {\n const exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n return exports.pick(input, exclusionFilter, options);\n};","'use strict';\n\nmodule.exports = (string, separator) => {\n if (!(typeof string === 'string' && typeof separator === 'string')) {\n throw new TypeError('Expected the arguments to be of type `string`');\n }\n if (separator === '') {\n return [string];\n }\n const separatorIndex = string.indexOf(separator);\n if (separatorIndex === -1) {\n return [string];\n }\n return [string.slice(0, separatorIndex), string.slice(separatorIndex + separator.length)];\n};","'use strict';\n\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _isString = _interopRequireDefault(require(\"lodash/isString\"));\nvar _trim = _interopRequireDefault(require(\"lodash/trim\"));\nvar _styles = require(\"@material-ui/core/styles\");\nvar _clsx4 = _interopRequireDefault(require(\"clsx\"));\nvar _box = _interopRequireDefault(require(\"../box\"));\nvar _count = _interopRequireDefault(require(\"../poly/count\"));\nvar _reactMap = _interopRequireDefault(require(\"../poly/reactMap\"));\nvar _excluded = [\"children\", \"className\", \"isSubSection\", \"itemMargins\"];\nvar useClasses = (0, _styles.makeStyles)(function (theme) {\n return {\n root: {\n display: 'flex',\n flexDirection: 'column',\n textAlign: 'left',\n width: '100%'\n },\n defaultItem: {\n marginTop: 0,\n marginBottom: 0\n },\n item: function item(_ref) {\n var _ref2;\n var itemMargins = _ref.itemMargins;\n return _ref2 = {\n marginTop: 0,\n marginBottom: itemMargins.mobile || '30px'\n }, (0, _defineProperty2.default)(_ref2, theme.breakpoints.up('sm'), {\n marginBottom: itemMargins.tablet || '30px'\n }), (0, _defineProperty2.default)(_ref2, theme.breakpoints.up('md'), {\n marginBottom: itemMargins.desktop || '50px'\n }), _ref2;\n },\n subSection: (0, _defineProperty2.default)({\n padding: 0\n }, theme.breakpoints.up('md'), {\n padding: 0\n })\n };\n}, {\n classNamePrefix: 'TCUISection'\n});\nvar Section = function Section(_ref3) {\n var children = _ref3.children,\n className = _ref3.className,\n isSubSection = _ref3.isSubSection,\n itemMargins = _ref3.itemMargins,\n rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded);\n var _classes = useClasses({\n itemMargins: itemMargins\n });\n return /*#__PURE__*/_react.default.createElement(_box.default, (0, _extends2.default)({}, rest, {\n className: (0, _clsx4.default)(_classes.root, (0, _defineProperty2.default)({}, _classes.subSection, isSubSection), className)\n }), (0, _reactMap.default)(function (child, i, flattenedChildren) {\n if (!(0, _isString.default)(child)) {\n var _clsx2;\n return /*#__PURE__*/_react.default.cloneElement(child, {\n className: (0, _clsx4.default)(_classes.defaultItem, (_clsx2 = {}, (0, _defineProperty2.default)(_clsx2, _classes.item, i + 1 !== _react.default.Children.count(flattenedChildren)), (0, _defineProperty2.default)(_clsx2, _classes.subSection, child.type === Section), _clsx2), child.props.className)\n });\n }\n if ((0, _count.default)((0, _trim.default)(child)) > 0) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: (0, _clsx4.default)((0, _defineProperty2.default)({}, _classes.item, i + 1 !== _react.default.Children.count(flattenedChildren)))\n }, child);\n }\n return null;\n }, children));\n};\nSection.propTypes = {\n children: _propTypes.default.node,\n className: _propTypes.default.string,\n isSubSection: _propTypes.default.bool,\n itemMargins: _propTypes.default.shape({\n mobile: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n tablet: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n desktop: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])\n })\n};\nSection.defaultProps = {\n children: null,\n className: null,\n isSubSection: false,\n itemMargins: {\n mobile: '30px',\n tablet: '30px',\n desktop: '50px'\n }\n};\nvar _default = Section;\nexports.default = _default;","import { invariant } from 'ts-invariant';\nexport var DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nvar cache = new Map();\nexport function operationName(type) {\n var name;\n switch (type) {\n case DocumentType.Query:\n name = 'Query';\n break;\n case DocumentType.Mutation:\n name = 'Mutation';\n break;\n case DocumentType.Subscription:\n name = 'Subscription';\n break;\n }\n return name;\n}\nexport function parser(document) {\n var cached = cache.get(document);\n if (cached) return cached;\n var variables, type, name;\n __DEV__ ? invariant(!!document && !!document.kind, \"Argument of \" + document + \" passed to parser was not a valid GraphQL \" + \"DocumentNode. You may need to use 'graphql-tag' or another method \" + \"to convert your operation into a document\") : invariant(!!document && !!document.kind, 38);\n var fragments = document.definitions.filter(function (x) {\n return x.kind === 'FragmentDefinition';\n });\n var queries = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'query';\n });\n var mutations = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'mutation';\n });\n var subscriptions = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'subscription';\n });\n __DEV__ ? invariant(!fragments.length || queries.length || mutations.length || subscriptions.length, \"Passing only a fragment to 'graphql' is not yet supported. \" + \"You must include a query, subscription or mutation as well\") : invariant(!fragments.length || queries.length || mutations.length || subscriptions.length, 39);\n __DEV__ ? invariant(queries.length + mutations.length + subscriptions.length <= 1, \"react-apollo only supports a query, subscription, or a mutation per HOC. \" + (document + \" had \" + queries.length + \" queries, \" + subscriptions.length + \" \") + (\"subscriptions and \" + mutations.length + \" mutations. \") + \"You can use 'compose' to join multiple operation types to a component\") : invariant(queries.length + mutations.length + subscriptions.length <= 1, 40);\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length) type = DocumentType.Subscription;\n var definitions = queries.length ? queries : mutations.length ? mutations : subscriptions;\n __DEV__ ? invariant(definitions.length === 1, \"react-apollo only supports one definition per HOC. \" + document + \" had \" + (definitions.length + \" definitions. \") + \"You can use 'compose' to join multiple operation types to a component\") : invariant(definitions.length === 1, 41);\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n if (definition.name && definition.name.kind === 'Name') {\n name = definition.name.value;\n } else {\n name = 'data';\n }\n var payload = {\n name: name,\n type: type,\n variables: variables\n };\n cache.set(document, payload);\n return payload;\n}","import { equal } from '@wry/equality';\nimport { invariant } from 'ts-invariant';\nimport { parser, operationName } from \"../parser/index.js\";\nvar OperationData = function () {\n function OperationData(options, context) {\n this.isMounted = false;\n this.previousOptions = {};\n this.context = {};\n this.options = {};\n this.options = options || {};\n this.context = context || {};\n }\n OperationData.prototype.getOptions = function () {\n return this.options;\n };\n OperationData.prototype.setOptions = function (newOptions, storePrevious) {\n if (storePrevious === void 0) {\n storePrevious = false;\n }\n if (storePrevious && !equal(this.options, newOptions)) {\n this.previousOptions = this.options;\n }\n this.options = newOptions;\n };\n OperationData.prototype.unmount = function () {\n this.isMounted = false;\n };\n OperationData.prototype.refreshClient = function () {\n var client = this.options && this.options.client || this.context && this.context.client;\n __DEV__ ? invariant(!!client, 'Could not find \"client\" in the context or passed in as an option. ' + 'Wrap the root component in an , or pass an ' + 'ApolloClient instance in via options.') : invariant(!!client, 32);\n var isNew = false;\n if (client !== this.client) {\n isNew = true;\n this.client = client;\n this.cleanup();\n }\n return {\n client: this.client,\n isNew: isNew\n };\n };\n OperationData.prototype.verifyDocumentType = function (document, type) {\n var operation = parser(document);\n var requiredOperationName = operationName(type);\n var usedOperationName = operationName(operation.type);\n __DEV__ ? invariant(operation.type === type, \"Running a \" + requiredOperationName + \" requires a graphql \" + (requiredOperationName + \", but a \" + usedOperationName + \" was used instead.\")) : invariant(operation.type === type, 33);\n };\n return OperationData;\n}();\nexport { OperationData };","import { __assign, __extends } from \"tslib\";\nimport { equal } from '@wry/equality';\nimport { DocumentType } from \"../parser/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { OperationData } from \"./OperationData.js\";\nimport { mergeOptions } from \"../../core/index.js\";\nvar MutationData = function (_super) {\n __extends(MutationData, _super);\n function MutationData(_a) {\n var options = _a.options,\n context = _a.context,\n result = _a.result,\n setResult = _a.setResult;\n var _this = _super.call(this, options, context) || this;\n _this.runMutation = function (mutationFunctionOptions) {\n if (mutationFunctionOptions === void 0) {\n mutationFunctionOptions = {};\n }\n _this.onMutationStart();\n var mutationId = _this.generateNewMutationId();\n return _this.mutate(mutationFunctionOptions).then(function (response) {\n _this.onMutationCompleted(response, mutationId);\n return response;\n }).catch(function (error) {\n var onError = _this.getOptions().onError;\n _this.onMutationError(error, mutationId);\n if (onError) {\n onError(error);\n return {\n data: undefined,\n errors: error\n };\n } else {\n throw error;\n }\n });\n };\n _this.verifyDocumentType(options.mutation, DocumentType.Mutation);\n _this.result = result;\n _this.setResult = setResult;\n _this.mostRecentMutationId = 0;\n return _this;\n }\n MutationData.prototype.execute = function (result) {\n this.isMounted = true;\n this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation);\n return [this.runMutation, __assign(__assign({}, result), {\n client: this.refreshClient().client\n })];\n };\n MutationData.prototype.afterExecute = function () {\n this.isMounted = true;\n return this.unmount.bind(this);\n };\n MutationData.prototype.cleanup = function () {};\n MutationData.prototype.mutate = function (options) {\n return this.refreshClient().client.mutate(mergeOptions(this.getOptions(), options));\n };\n MutationData.prototype.onMutationStart = function () {\n if (!this.result.loading && !this.getOptions().ignoreResults) {\n this.updateResult({\n loading: true,\n error: undefined,\n data: undefined,\n called: true\n });\n }\n };\n MutationData.prototype.onMutationCompleted = function (response, mutationId) {\n var _a = this.getOptions(),\n onCompleted = _a.onCompleted,\n ignoreResults = _a.ignoreResults;\n var data = response.data,\n errors = response.errors;\n var error = errors && errors.length > 0 ? new ApolloError({\n graphQLErrors: errors\n }) : undefined;\n var callOncomplete = function () {\n return onCompleted ? onCompleted(data) : null;\n };\n if (this.isMostRecentMutation(mutationId) && !ignoreResults) {\n this.updateResult({\n called: true,\n loading: false,\n data: data,\n error: error\n });\n }\n callOncomplete();\n };\n MutationData.prototype.onMutationError = function (error, mutationId) {\n if (this.isMostRecentMutation(mutationId)) {\n this.updateResult({\n loading: false,\n error: error,\n data: undefined,\n called: true\n });\n }\n };\n MutationData.prototype.generateNewMutationId = function () {\n return ++this.mostRecentMutationId;\n };\n MutationData.prototype.isMostRecentMutation = function (mutationId) {\n return this.mostRecentMutationId === mutationId;\n };\n MutationData.prototype.updateResult = function (result) {\n if (this.isMounted && (!this.previousResult || !equal(this.previousResult, result))) {\n this.setResult(result);\n this.previousResult = result;\n return result;\n }\n };\n return MutationData;\n}(OperationData);\nexport { MutationData };","import { __assign, __extends } from \"tslib\";\nimport { equal } from '@wry/equality';\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus } from \"../../core/index.js\";\nimport { DocumentType } from \"../parser/index.js\";\nimport { OperationData } from \"./OperationData.js\";\nvar QueryData = function (_super) {\n __extends(QueryData, _super);\n function QueryData(_a) {\n var options = _a.options,\n context = _a.context,\n onNewData = _a.onNewData;\n var _this = _super.call(this, options, context) || this;\n _this.runLazy = false;\n _this.previous = Object.create(null);\n _this.runLazyQuery = function (options) {\n _this.cleanup();\n _this.runLazy = true;\n _this.lazyOptions = options;\n _this.onNewData();\n };\n _this.obsRefetch = function (variables) {\n var _a;\n return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.refetch(variables);\n };\n _this.obsFetchMore = function (fetchMoreOptions) {\n var _a;\n return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.fetchMore(fetchMoreOptions);\n };\n _this.obsUpdateQuery = function (mapFn) {\n var _a;\n return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.updateQuery(mapFn);\n };\n _this.obsStartPolling = function (pollInterval) {\n var _a;\n (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.startPolling(pollInterval);\n };\n _this.obsStopPolling = function () {\n var _a;\n (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.stopPolling();\n };\n _this.obsSubscribeToMore = function (options) {\n var _a;\n return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.subscribeToMore(options);\n };\n _this.onNewData = onNewData;\n return _this;\n }\n QueryData.prototype.execute = function () {\n this.refreshClient();\n var _a = this.getOptions(),\n skip = _a.skip,\n query = _a.query;\n if (skip || query !== this.previous.query) {\n this.removeQuerySubscription();\n this.removeObservable(!skip);\n this.previous.query = query;\n }\n this.updateObservableQuery();\n return this.getExecuteSsrResult() || this.getExecuteResult();\n };\n QueryData.prototype.executeLazy = function () {\n return !this.runLazy ? [this.runLazyQuery, {\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: false,\n data: undefined\n }] : [this.runLazyQuery, this.execute()];\n };\n QueryData.prototype.fetchData = function () {\n var _this = this;\n var options = this.getOptions();\n if (options.skip || options.ssr === false) return false;\n return new Promise(function (resolve) {\n return _this.startQuerySubscription(resolve);\n });\n };\n QueryData.prototype.afterExecute = function (_a) {\n var _b = _a === void 0 ? {} : _a,\n _c = _b.lazy,\n lazy = _c === void 0 ? false : _c;\n this.isMounted = true;\n var options = this.getOptions();\n if (this.currentObservable && !this.ssrInitiated() && !this.client.disableNetworkFetches) {\n this.startQuerySubscription();\n }\n if (!lazy || this.runLazy) {\n this.handleErrorOrCompleted();\n }\n this.previousOptions = options;\n return this.unmount.bind(this);\n };\n QueryData.prototype.cleanup = function () {\n this.removeQuerySubscription();\n this.removeObservable(true);\n delete this.previous.result;\n };\n QueryData.prototype.getOptions = function () {\n var options = _super.prototype.getOptions.call(this);\n if (this.lazyOptions) {\n options.variables = __assign(__assign({}, options.variables), this.lazyOptions.variables);\n options.context = __assign(__assign({}, options.context), this.lazyOptions.context);\n }\n if (this.runLazy) {\n delete options.skip;\n }\n return options;\n };\n QueryData.prototype.ssrInitiated = function () {\n return this.context && this.context.renderPromises;\n };\n QueryData.prototype.getExecuteSsrResult = function () {\n var _a = this.getOptions(),\n ssr = _a.ssr,\n skip = _a.skip;\n var ssrDisabled = ssr === false;\n var fetchDisabled = this.refreshClient().client.disableNetworkFetches;\n var ssrLoading = __assign({\n loading: true,\n networkStatus: NetworkStatus.loading,\n called: true,\n data: undefined,\n stale: false,\n client: this.client\n }, this.observableQueryFields());\n if (ssrDisabled && (this.ssrInitiated() || fetchDisabled)) {\n this.previous.result = ssrLoading;\n return ssrLoading;\n }\n if (this.ssrInitiated()) {\n var result = this.getExecuteResult() || ssrLoading;\n if (result.loading && !skip) {\n this.context.renderPromises.addQueryPromise(this, function () {\n return null;\n });\n }\n return result;\n }\n };\n QueryData.prototype.prepareObservableQueryOptions = function () {\n var options = this.getOptions();\n this.verifyDocumentType(options.query, DocumentType.Query);\n var displayName = options.displayName || 'Query';\n if (this.ssrInitiated() && (options.fetchPolicy === 'network-only' || options.fetchPolicy === 'cache-and-network')) {\n options.fetchPolicy = 'cache-first';\n }\n return __assign(__assign({}, options), {\n displayName: displayName,\n context: options.context\n });\n };\n QueryData.prototype.initializeObservableQuery = function () {\n if (this.ssrInitiated()) {\n this.currentObservable = this.context.renderPromises.getSSRObservable(this.getOptions());\n }\n if (!this.currentObservable) {\n var observableQueryOptions = this.prepareObservableQueryOptions();\n this.previous.observableQueryOptions = __assign(__assign({}, observableQueryOptions), {\n children: void 0\n });\n this.currentObservable = this.refreshClient().client.watchQuery(__assign({}, observableQueryOptions));\n if (this.ssrInitiated()) {\n this.context.renderPromises.registerSSRObservable(this.currentObservable, observableQueryOptions);\n }\n }\n };\n QueryData.prototype.updateObservableQuery = function () {\n if (!this.currentObservable) {\n this.initializeObservableQuery();\n return;\n }\n var newObservableQueryOptions = __assign(__assign({}, this.prepareObservableQueryOptions()), {\n children: void 0\n });\n if (this.getOptions().skip) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n return;\n }\n if (!equal(newObservableQueryOptions, this.previous.observableQueryOptions)) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n this.currentObservable.setOptions(newObservableQueryOptions).catch(function () {});\n }\n };\n QueryData.prototype.startQuerySubscription = function (onNewData) {\n var _this = this;\n if (onNewData === void 0) {\n onNewData = this.onNewData;\n }\n if (this.currentSubscription || this.getOptions().skip) return;\n this.currentSubscription = this.currentObservable.subscribe({\n next: function (_a) {\n var loading = _a.loading,\n networkStatus = _a.networkStatus,\n data = _a.data;\n var previousResult = _this.previous.result;\n if (previousResult && previousResult.loading === loading && previousResult.networkStatus === networkStatus && equal(previousResult.data, data)) {\n return;\n }\n onNewData();\n },\n error: function (error) {\n _this.resubscribeToQuery();\n if (!error.hasOwnProperty('graphQLErrors')) throw error;\n var previousResult = _this.previous.result;\n if (previousResult && previousResult.loading || !equal(error, _this.previous.error)) {\n _this.previous.error = error;\n onNewData();\n }\n }\n });\n };\n QueryData.prototype.resubscribeToQuery = function () {\n this.removeQuerySubscription();\n var currentObservable = this.currentObservable;\n if (currentObservable) {\n var lastError = currentObservable.getLastError();\n var lastResult = currentObservable.getLastResult();\n currentObservable.resetLastResults();\n this.startQuerySubscription();\n Object.assign(currentObservable, {\n lastError: lastError,\n lastResult: lastResult\n });\n }\n };\n QueryData.prototype.getExecuteResult = function () {\n var result = this.observableQueryFields();\n var options = this.getOptions();\n if (options.skip) {\n result = __assign(__assign({}, result), {\n data: undefined,\n error: undefined,\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: true\n });\n } else if (this.currentObservable) {\n var currentResult = this.currentObservable.getCurrentResult();\n var data = currentResult.data,\n loading = currentResult.loading,\n partial = currentResult.partial,\n networkStatus = currentResult.networkStatus,\n errors = currentResult.errors;\n var error = currentResult.error;\n if (errors && errors.length > 0) {\n error = new ApolloError({\n graphQLErrors: errors\n });\n }\n result = __assign(__assign({}, result), {\n data: data,\n loading: loading,\n networkStatus: networkStatus,\n error: error,\n called: true\n });\n if (loading) {} else if (error) {\n Object.assign(result, {\n data: (this.currentObservable.getLastResult() || {}).data\n });\n } else {\n var fetchPolicy = this.currentObservable.options.fetchPolicy;\n var partialRefetch = options.partialRefetch;\n if (partialRefetch && partial && (!data || Object.keys(data).length === 0) && fetchPolicy !== 'cache-only') {\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.loading\n });\n result.refetch();\n return result;\n }\n }\n }\n result.client = this.client;\n this.setOptions(options, true);\n var previousResult = this.previous.result;\n this.previous.loading = previousResult && previousResult.loading || false;\n result.previousData = previousResult && (previousResult.data || previousResult.previousData);\n this.previous.result = result;\n this.currentObservable && this.currentObservable.resetQueryStoreErrors();\n return result;\n };\n QueryData.prototype.handleErrorOrCompleted = function () {\n if (!this.currentObservable || !this.previous.result) return;\n var _a = this.previous.result,\n data = _a.data,\n loading = _a.loading,\n error = _a.error;\n if (!loading) {\n var _b = this.getOptions(),\n query = _b.query,\n variables = _b.variables,\n onCompleted = _b.onCompleted,\n onError = _b.onError,\n skip = _b.skip;\n if (this.previousOptions && !this.previous.loading && equal(this.previousOptions.query, query) && equal(this.previousOptions.variables, variables)) {\n return;\n }\n if (onCompleted && !error && !skip) {\n onCompleted(data);\n } else if (onError && error) {\n onError(error);\n }\n }\n };\n QueryData.prototype.removeQuerySubscription = function () {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n delete this.currentSubscription;\n }\n };\n QueryData.prototype.removeObservable = function (andDelete) {\n if (this.currentObservable) {\n this.currentObservable[\"tearDownQuery\"]();\n if (andDelete) {\n delete this.currentObservable;\n }\n }\n };\n QueryData.prototype.observableQueryFields = function () {\n var _a;\n return {\n variables: (_a = this.currentObservable) === null || _a === void 0 ? void 0 : _a.variables,\n refetch: this.obsRefetch,\n fetchMore: this.obsFetchMore,\n updateQuery: this.obsUpdateQuery,\n startPolling: this.obsStartPolling,\n stopPolling: this.obsStopPolling,\n subscribeToMore: this.obsSubscribeToMore\n };\n };\n return QueryData;\n}(OperationData);\nexport { QueryData };","import { __assign } from \"tslib\";\nimport { useContext, useEffect, useReducer, useRef } from 'react';\nimport { QueryData } from \"../../data/index.js\";\nimport { useDeepMemo } from \"./useDeepMemo.js\";\nimport { getApolloContext } from \"../../context/index.js\";\nimport { useAfterFastRefresh } from \"./useAfterFastRefresh.js\";\nexport function useBaseQuery(query, options, lazy) {\n if (lazy === void 0) {\n lazy = false;\n }\n var context = useContext(getApolloContext());\n var _a = useReducer(function (x) {\n return x + 1;\n }, 0),\n tick = _a[0],\n forceUpdate = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), {\n query: query\n }) : {\n query: query\n };\n var queryDataRef = useRef();\n var queryData = queryDataRef.current || (queryDataRef.current = new QueryData({\n options: updatedOptions,\n context: context,\n onNewData: function () {\n if (!queryData.ssrInitiated()) {\n Promise.resolve().then(function () {\n return queryDataRef.current && queryDataRef.current.isMounted && forceUpdate();\n });\n } else {\n forceUpdate();\n }\n }\n }));\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n var memo = {\n options: __assign(__assign({}, updatedOptions), {\n onError: void 0,\n onCompleted: void 0\n }),\n context: context,\n tick: tick\n };\n var result = useDeepMemo(function () {\n return lazy ? queryData.executeLazy() : queryData.execute();\n }, memo);\n var queryResult = lazy ? result[1] : result;\n if (__DEV__) {\n useAfterFastRefresh(forceUpdate);\n }\n useEffect(function () {\n return function () {\n queryData.cleanup();\n queryDataRef.current = void 0;\n };\n }, []);\n useEffect(function () {\n return queryData.afterExecute({\n lazy: lazy\n });\n }, [queryResult.loading, queryResult.networkStatus, queryResult.error, queryResult.data, queryData.currentObservable]);\n return result;\n}","import { useRef } from 'react';\nimport { equal } from '@wry/equality';\nexport function useDeepMemo(memoFn, key) {\n var ref = useRef();\n if (!ref.current || !equal(key, ref.current.key)) {\n ref.current = {\n key: key,\n value: memoFn()\n };\n }\n return ref.current.value;\n}","import { useEffect, useRef } from \"react\";\nexport function useAfterFastRefresh(effectFn) {\n if (__DEV__) {\n var didRefresh_1 = useRef(false);\n useEffect(function () {\n return function () {\n didRefresh_1.current = true;\n };\n }, []);\n useEffect(function () {\n if (didRefresh_1.current === true) {\n didRefresh_1.current = false;\n effectFn();\n }\n }, []);\n }\n}","import { __rest } from \"tslib\";\nimport * as PropTypes from 'prop-types';\nimport { useQuery } from \"../hooks/index.js\";\nexport function Query(props) {\n var children = props.children,\n query = props.query,\n options = __rest(props, [\"children\", \"query\"]);\n var result = useQuery(query, options);\n return result ? children(result) : null;\n}\nQuery.propTypes = {\n client: PropTypes.object,\n children: PropTypes.func.isRequired,\n fetchPolicy: PropTypes.string,\n notifyOnNetworkStatusChange: PropTypes.bool,\n onCompleted: PropTypes.func,\n onError: PropTypes.func,\n pollInterval: PropTypes.number,\n query: PropTypes.object.isRequired,\n variables: PropTypes.object,\n ssr: PropTypes.bool,\n partialRefetch: PropTypes.bool,\n returnPartialData: PropTypes.bool\n};","import { useBaseQuery } from \"./utils/useBaseQuery.js\";\nexport function useQuery(query, options) {\n return useBaseQuery(query, options, false);\n}","import React, { useState } from 'react';\r\nimport queryString from 'query-string';\r\nimport get from 'tcweb-material-components/core/poly/get';\r\nimport { useMutation } from \"@apollo/client\";\r\nimport { ApolloClient, InMemoryCache, createHttpLink } from \"@apollo/client\"\r\nimport { Query } from '@apollo/react-components';\r\nimport gql from 'graphql-tag';\r\nimport { ApolloProvider } from '@apollo/client'\r\nimport Cookie from 'js-cookie'\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport PageTemplate from '../../templates/page';\r\nimport PostTemplate from '../../templates/post';\r\n\r\nimport LayoutContent from '../../components/layout/layoutContent'\r\n\r\n// TODO\r\nconst LOGIN_JWT = gql`\r\n mutation LoginUser {\r\n login( input: {\r\n clientMutationId: \"uniqueId\",\r\n username: \"${process.env.GATSBY_WORDPRESS_JWT_USERNAME}\",\r\n password: \"${process.env.GATSBY_WORDPRESS_JWT_PASSWORD}\"\r\n } ) {\r\n authToken\r\n }\r\n }\r\n`;\r\n\r\n//sends a header if there is a token in cookies, if not sends null\r\nconst apolloHeader = Cookie.get('token') ? `Bearer ${Cookie.get('token')}` : null\r\n\r\nconst defaultApolloOptions = {\r\n cache: new InMemoryCache(),\r\n uri: `${process.env.GATSBY_WORDPRESS_DOMAIN}/graphql`,\r\n headers: {\r\n authorization: apolloHeader\r\n },\r\n}\r\n\r\n\r\nconst Helper = ({query, id, postType, extraProps}) => {\r\n const [completed, setCompleted] = useState(false)\r\n const [login, { data: loginData, loading: loginLogin, error: errorLogin }] = useMutation(LOGIN_JWT, /*{ errorPolicy: \"all\" }, */ {\r\n onCompleted({login}) {\r\n if (login) {\r\n localStorage.setItem('token', get(login, 'authToken') );\r\n const fiveMinutes = new Date(new Date().getTime() + 5 * 60 * 1000)\r\n Cookie.set('token',get(login, 'authToken'), {expires: fiveMinutes})\r\n setCompleted(true)\r\n }\r\n }\r\n });\r\n if(!completed) login()\r\n\r\n //pleasant loading stage 1\r\n if (loginLogin) return (\r\n \r\n
\r\n <>Fetching data...\r\n \r\n
\r\n
\r\n )\r\n if (errorLogin) return

Error: ${errorLogin.message}

;\r\n return (\r\n <>\r\n {!!completed &&\r\n \r\n {({ data, loading, error }) => {\r\n //pleasant loading stage 2\r\n if (loading) return (\r\n \r\n
\r\n <>Processing data...\r\n \r\n
\r\n
\r\n )\r\n\r\n if (error) return

Error: ${error.message}

;\r\n const title = get(data, `${postType}.title`, '')\r\n const content = get(data, `${postType}.content`, '')\r\n\r\n //switch between PageTemplate or PostTemplate depending on postType\r\n if (postType === 'page') {\r\n const newProps = {...extraProps}\r\n newProps.data.page.content = content\r\n newProps.data.page.title = title\r\n\r\n return (\r\n
\r\n \r\n
\r\n )\r\n } else {\r\n const newProps = {...extraProps}\r\n\r\n newProps.data.page.content = content\r\n newProps.data.page.title = title\r\n return (\r\n \r\n )\r\n }\r\n }}\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nconst withPreview = (args = { preview: false, postPreview: false }) => Component => {\r\n const preview = (props) => {\r\n const client = new ApolloClient({ ...defaultApolloOptions })\r\n const parsed = queryString.parse(props.location.search);\r\n const { postType, postId } = parsed;\r\n // Id needs to be an int for preview query.\r\n const id = parseInt(postId, 10);\r\n /**\r\n * If no preview param, return the component with the preview props as false.\r\n */\r\n if (!args.preview || !postType) {\r\n return (\r\n <>\r\n Failed to load\r\n \r\n );\r\n }\r\n /**\r\n * Otherwise, run our Apollo query.\r\n */\r\n if (postType === 'post') {\r\n return(\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n };\r\n return preview;\r\n};\r\n\r\nexport default withPreview;","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { MutationData } from \"../data/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nexport function useMutation(mutation, options) {\n var context = useContext(getApolloContext());\n var _a = useState({\n called: false,\n loading: false\n }),\n result = _a[0],\n setResult = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), {\n mutation: mutation\n }) : {\n mutation: mutation\n };\n var mutationDataRef = useRef();\n function getMutationDataRef() {\n if (!mutationDataRef.current) {\n mutationDataRef.current = new MutationData({\n options: updatedOptions,\n context: context,\n result: result,\n setResult: setResult\n });\n }\n return mutationDataRef.current;\n }\n var mutationData = getMutationDataRef();\n mutationData.setOptions(updatedOptions);\n mutationData.context = context;\n useEffect(function () {\n return mutationData.afterExecute();\n });\n return mutationData.execute(result);\n}","export default __webpack_public_path__ + \"static/scratch-line-6ed2716630344ae13c39477866571e88.svg\";","import React, { useContext } from 'react'\nimport { useTranslation, Trans } from 'react-i18next'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\nimport Image from 'tcweb-material-components/core/image'\nimport Box from 'tcweb-material-components/core/box'\nimport Section from 'tcweb-material-components/core/section'\nimport Facebook from 'tcweb-material-components/core/social/facebook'\nimport Instagram from 'tcweb-material-components/core/social/instagram'\nimport Twitch from 'tcweb-material-components/core/social/twitch'\nimport Twitter from 'tcweb-material-components/core/social/twitter'\nimport YouTube from 'tcweb-material-components/core/social/youtube'\n\nimport Link from '../common/link'\nimport PushNotificationContext from '../context/pushNotificationContext'\nimport jackbot from '../../assets/images/jackbot.png'\nimport scratchLine from '../../assets/images/scratch-line.svg'\n\nconst PUSH_NOTIFICATION_ENABLED = !!process.env.GATSBY_FEATURE_PUSH_NOTIFICATION && JSON.parse(process.env.GATSBY_FEATURE_PUSH_NOTIFICATION.toLowerCase()) === true\n\nconst useClasses = makeStyles(({ gutters, breakpoints }) => ({\n image: {\n [breakpoints.down('sm')]: {\n margin: 'auto',\n width: '75%',\n paddingBottom: '20px',\n },\n [breakpoints.only('sm')]: {\n width: '50%'\n },\n [breakpoints.up('lg')]: {\n height: 'auto',\n maxWidth: '25vw'\n }\n },\n imageContainer: {\n padding: '20px',\n [breakpoints.only('md')]: {\n display: 'none'\n },\n [breakpoints.up('lg')]: {\n padding: '0 20px 0 0',\n display: 'flex',\n alignItems: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: gutters.page.lg\n }\n },\n optInContainer: {\n paddingBottom: '25px',\n backgroundImage: `url(${scratchLine})`,\n backgroundPosition: 'bottom',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n '& > *:not(:last-child)': {\n marginBottom: '20px',\n [breakpoints.up('md')]: {\n marginBottom: '30px'\n }\n }\n },\n scratchBorder: {\n width: '100%'\n },\n socialIcon: {\n margin: '0 10px'\n }\n}))\n\nconst PostBanner = () => {\n const { t } = useTranslation()\n const { subscription, canReceivePushNotification } = useContext(PushNotificationContext)\n const _classes = useClasses()\n\n return (\n \n {(!subscription && canReceivePushNotification && PUSH_NOTIFICATION_ENABLED) &&\n \n {t('Jackbot\n \n }\n \n \n {(!subscription && canReceivePushNotification && PUSH_NOTIFICATION_ENABLED) && (\n \n {t('Get Notified')}\n {t(\"Don't miss out on news updates with web push notifications\")}\n {t('Opt-in now')}\n \n )}\n
\n {t('Follow us for the latest in the world of Gears of War')}\n \n \n \n \n \n \n \n \n {t('Help Center')}]}\n />\n \n
\n \n
\n \n )\n}\n\nexport default PostBanner\n","import React from 'react'\r\nimport get from 'tcweb-material-components/core/poly/get'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport Box from 'tcweb-material-components/core/box'\r\nimport Typography from '@material-ui/core/Typography'\r\nimport { GatsbyImage } from \"gatsby-plugin-image\";\r\nimport classnames from 'classnames'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport PlaceholderImage from './placeholderImg'\r\nimport Link from './link'\r\n\r\nexport const IMAGE_HEIGHT_MOBILE = '110px'\r\nexport const IMAGE_HEIGHT_DESKTOP = '110px'\r\nexport const IMAGE_POSITION_START = 'start'\r\nexport const IMAGE_POSITION_END = 'end'\r\n\r\nconst useClasses = makeStyles(({ breakpoints }) => ({\r\n container: { maxWidth: 'inherit' },\r\n image: {\r\n lineHeight: 1,\r\n height: ({ imageSizes }) => `${imageSizes.mobile || IMAGE_HEIGHT_MOBILE} !important`,\r\n width: ({ imageSizes }) => `${imageSizes.mobile || IMAGE_HEIGHT_MOBILE} !important`,\r\n objectFit: 'cover',\r\n [breakpoints.up('lg')]: {\r\n height: ({ imageSizes }) => `${imageSizes.desktop || IMAGE_HEIGHT_DESKTOP} !important`,\r\n width: ({ imageSizes }) => `calc((${imageSizes.desktop || IMAGE_HEIGHT_DESKTOP} / 9) * 16) !important`\r\n }\r\n },\r\n}))\r\n\r\nconst PostCard = ({\r\n heading,\r\n subHeading,\r\n headingVariant,\r\n ariaLabel,\r\n to,\r\n image,\r\n imageSizes,\r\n imagePosition,\r\n disableImage,\r\n forceSquareImage,\r\n iconComponent,\r\n classes,\r\n textContainerProps,\r\n variant,\r\n ...rest\r\n}) => {\r\n const _classes = useClasses({ imageSizes: imageSizes })\r\n const { subHeading: subHeadingClass, heading: headingClass, image: imageClass, container: containerClass, ...buttonClasses } = classes\r\n const ImageComponent = !!image ? (\r\n \r\n ) : (\r\n \r\n )\r\n\r\n return (\r\n \r\n \r\n {!!iconComponent && iconComponent}\r\n {imagePosition === IMAGE_POSITION_START && ImageComponent}\r\n \r\n {subHeading &&\r\n \r\n {subHeading}\r\n \r\n }\r\n {heading &&\r\n \r\n {heading}\r\n \r\n }\r\n \r\n {imagePosition === IMAGE_POSITION_END && ImageComponent}\r\n \r\n )\r\n}\r\n\r\nPostCard.propTypes = {\r\n heading: PropTypes.string.isRequired,\r\n subHeading: PropTypes.string.isRequired,\r\n headingVariant: PropTypes.string,\r\n ariaLabel: PropTypes.string.isRequired,\r\n to: PropTypes.string.isRequired,\r\n image: PropTypes.object,\r\n imageSizes: PropTypes.shape({\r\n mobile: PropTypes.string,\r\n desktop: PropTypes.string\r\n }),\r\n imagePosition: PropTypes.oneOf([IMAGE_POSITION_START, IMAGE_POSITION_END]),\r\n forceSquareImage: PropTypes.bool,\r\n iconComponent: PropTypes.node,\r\n className: PropTypes.string,\r\n classes: PropTypes.shape({\r\n root: PropTypes.string,\r\n headings: PropTypes.string,\r\n subHeading: PropTypes.string,\r\n image: PropTypes.string\r\n }),\r\n textContainerProps: PropTypes.object\r\n}\r\n\r\nPostCard.defaultProps = {\r\n headingVariant: \"h2\",\r\n forceSquareImage: false,\r\n iconComponent: null,\r\n image: null,\r\n imagePosition: IMAGE_POSITION_END,\r\n imageSizes: {\r\n mobile: IMAGE_HEIGHT_MOBILE,\r\n desktop: IMAGE_HEIGHT_DESKTOP\r\n },\r\n textContainerProps: null\r\n}\r\n\r\nexport default PostCard\r\n","import React from 'react'\nimport get from 'tcweb-material-components/core/poly/get'\nimport { useTranslation } from 'react-i18next'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Box from 'tcweb-material-components/core/box'\n\nimport { getLocaleFromWPMLLocale } from '../../utilities/locale'\nimport PostCard, { IMAGE_HEIGHT_MOBILE, IMAGE_POSITION_START } from './postCard'\nimport { decodeText } from '../../utilities/helpers'\n\nconst IMAGE_HEIGHT_DESKTOP = '130px'\n\nconst useClasses = makeStyles(({ palette, breakpoints, accessibility: { highContrast }, gutters }) => ({\n root: {\n display: 'flex',\n backgroundColor: palette.common.black,\n justifyContent: 'center',\n [breakpoints.down('sm')]: {\n flexDirection: 'column'\n }\n },\n linkRoot: {\n width: '100%',\n height: '100%',\n maxWidth: 'none',\n padding: 0,\n borderTop: `1px solid ${palette.secondary.border}`,\n borderBottom: `1px solid ${palette.secondary.border}`,\n '&:hover, &:focus': {\n outline: 'none',\n textDecoration: 'none',\n backgroundColor: palette.common.black,\n '& h2': {\n color: palette.primary.light,\n textDecoration: 'underline'\n }\n },\n },\n linkLabel: {\n display: 'block'\n },\n linkContainer: {\n flex: 1,\n margin: 'auto',\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: palette.common.black,\n color: palette.common.white,\n [highContrast.mediaQuery('black-on-white')]:{\n '& svg': {\n color: palette.common.black\n }\n },\n [breakpoints.up('md')]: {\n flex: ({ hasPrev, hasNext }) => (!hasPrev || !hasNext) ? 1 : 0.5\n }\n },\n leftLink: {\n justifyContent: 'flex-start',\n paddingRight: 0,\n paddingLeft: gutters.page.sm,\n borderBottom: `1px solid ${palette.secondary.border}`,\n '& div': {\n textAlign: 'left'\n },\n '& svg': {\n marginRight: gutters.page.sm,\n [breakpoints.up('md')]: {\n marginRight: gutters.page.md,\n },\n },\n [breakpoints.up('md')]: {\n maxWidth: ({ hasNext }) => !hasNext && '760px',\n paddingLeft: ({ hasNext }) => hasNext ? gutters.page.md : 0,\n border: 'none',\n borderRight: ({ hasNext }) => hasNext && `1px solid ${palette.secondary.border}`\n }\n },\n reverse: { flexDirection: 'row-reverse' },\n rightLink: ({ hasPrev }) => ({\n justifyContent: 'flex-end',\n paddingLeft: 0,\n paddingRight: gutters.page.sm,\n '& div': {\n textAlign: 'right',\n },\n '& svg': {\n marginLeft: gutters.page.sm,\n [breakpoints.up('md')]: {\n marginLeft: gutters.page.md,\n },\n },\n [breakpoints.up('md')]: {\n maxWidth: !hasPrev && '760px',\n paddingRight: hasPrev ? gutters.page.md : 0,\n '& div': {\n textAlign: hasPrev ? 'right' : 'left'\n }\n },\n }),\n content: {\n padding: '0 20px',\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n height: IMAGE_HEIGHT_MOBILE,\n [breakpoints.up('lg')]: {\n padding: '0 30px',\n height: IMAGE_HEIGHT_DESKTOP\n }\n },\n label: {\n color: '#757575'\n },\n heading: {\n display: '-webkit-box',\n '-webkit-line-clamp': 2,\n '-webkit-box-orient': 'vertical',\n overflow: 'hidden',\n [breakpoints.up('sm')]: {\n '-webkit-line-clamp': 1\n }\n },\n rotate: { transition: 'transform 200ms', transform: 'rotate(180deg)' }\n}))\n\nconst PostControls = ({ next, prev, isTranslation, locale, ...rest }) => {\n const _classes = useClasses({ hasNext: !!next, hasPrev: !!prev })\n const { t } = useTranslation()\n\n if (!next && !prev) return null\n\n const prevTranslation = get(prev, 'translated', []).find(t => getLocaleFromWPMLLocale(t.locale.locale) === locale)\n const nextTranslation = get(next, 'translated', []).find(t => getLocaleFromWPMLLocale(t.locale.locale) === locale)\n const prevTitle = get(prevTranslation, 'title', '') || get(prev, 'title', '')\n const nextTitle = get(nextTranslation, 'title', '') || get(next, 'title', '')\n\n return (\n <>\n \n {prev && (\n }\n />\n )}\n\n {next && (\n }\n />\n )}\n \n \n )\n}\n\nexport default PostControls\n","export default __webpack_public_path__ + \"static/scratch-container-rectangle-1-6ebcb6b74566bf77ac36e9de6d247fc4.svg\";","export default __webpack_public_path__ + \"static/scratch-container-rectangle-2-7c5c2f85d09bec1cb7add6d848ef88e2.svg\";","export default __webpack_public_path__ + \"static/bg-secondary-xs-ace4de16164d2fdbbe1fa3041616626b.jpg\";","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Box from 'tcweb-material-components/core/box'\nimport map from 'tcweb-material-components/core/poly/map'\nimport Typography from '@material-ui/core/Typography'\nimport scratchMaskEven from '../../assets/images/scratch-container-rectangle-1.svg'\nimport scratchMaskOdd from '../../assets/images/scratch-container-rectangle-2.svg'\nimport bg from '../../assets/images/backgrounds/secondary/bg-secondary-xs.jpg'\nimport useLocation from '../../hooks/useLocation'\nimport find from 'tcweb-material-components/core/poly/find'\nimport get from 'tcweb-material-components/core/poly/get'\n\nimport { defaultLocale, getLocaleFromWPMLLocale } from '../../utilities/locale'\nimport PostCard, { IMAGE_HEIGHT_DESKTOP, IMAGE_HEIGHT_MOBILE } from './postCard'\nimport { decodeText } from '../../utilities/helpers'\n\nconst useClasses = makeStyles(({ palette, breakpoints }) => ({\n root: {\n background: `url(${bg})`,\n paddingRight: 0,\n maxWidth: 'none',\n '&:not(:last-child)': { borderBottom: `1px solid #b4b4b4` },\n '&:hover, &:focus': {\n outline: 'none',\n textDecoration: 'none',\n background: `url(${bg})`,\n '& h2': {\n textDecoration: 'underline'\n }\n },\n [breakpoints.up('md')]: {\n '&:not(:last-child)': { borderBottom: 'none' },\n padding: '30px',\n marginBottom: '15px',\n '&:nth-child(even)': { maskBoxImage: `url(${scratchMaskEven})` },\n '&:nth-child(odd)': { maskBoxImage: `url(${scratchMaskOdd})` },\n }\n },\n relatedPostsItem: {\n display: 'flex',\n justifyContent: 'space-between',\n '& div:first-child': {\n minHeight: IMAGE_HEIGHT_MOBILE,\n width: `calc(100% - ${IMAGE_HEIGHT_MOBILE})`,\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n [breakpoints.up('md')]: {\n width: `calc(100% - ((${IMAGE_HEIGHT_DESKTOP} / 9) * 16))`,\n }\n },\n },\n subHeading: { color: palette.text.primary }\n}))\n\n\nconst RelatedPosts = ({ postList, ...rest }) => {\n const _classes = useClasses()\n const { t } = useTranslation()\n const { locale } = useLocation()\n\n // Use loc'd title if available\n map((post) => {\n let localizedPost = find((p) => getLocaleFromWPMLLocale(p.locale.locale) === locale, get(post, 'translated'))\n if(locale !== defaultLocale && !!localizedPost){\n post.title = localizedPost.title\n }\n }, postList)\n\n\n return (!!postList && postList.length > 0) && (\n \n {t('Related Posts')}\n \n {map((post, i) => (\n \n ), postList)}\n \n \n )\n}\n\nexport default RelatedPosts\n","import React from 'react'\r\nimport Helmet from 'react-helmet'\r\nimport { graphql } from 'gatsby'\r\nimport parse from 'html-react-parser'\r\nimport get from 'tcweb-material-components/core/poly/get'\r\nimport find from 'tcweb-material-components/core/poly/find'\r\nimport orderBy from 'lodash/orderBy'\r\nimport { makeStyles } from '@material-ui/core/styles'\r\nimport Box from 'tcweb-material-components/core/box'\r\nimport Section from 'tcweb-material-components/core/section'\r\nimport count from 'tcweb-material-components/core/poly/count'\r\nimport classNames from 'classnames'\r\nimport { gql } from '@apollo/client'\r\n\r\nimport { decodeText } from '../utilities/helpers'\r\nimport PostBanner from '../components/notifications/postBanner'\r\nimport TableOfContents from '../components/common/tableOfContents'\r\nimport PostControls from '../components/common/postControls'\r\nimport RelatedPosts from '../components/common/relatedPosts'\r\nimport LayoutContent from '../components/layout/layoutContent'\r\nimport options from './components/'\r\nimport { defaultWPMLLocale } from '../utilities/locale'\r\nimport withPreview from '../components/common/withPreview'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'row-reverse'\r\n },\r\n content: {\r\n paddingTop: '3em',\r\n paddingBottom: '4em',\r\n paddingRight: theme.gutters.page.xs,\r\n paddingLeft: theme.gutters.page.xs,\r\n [theme.breakpoints.only('sm')]: {\r\n paddingRight: theme.gutters.page.md,\r\n paddingLeft: theme.gutters.page.md\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n margin: 'auto auto',\r\n width: '50%'\r\n },\r\n '& .alignfull': {\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: '-50%',\r\n width: 'calc(100% + 100%)',\r\n maxWidth: 'calc(100% + 100%)'\r\n }\r\n },\r\n '& .alignwide': {\r\n [theme.breakpoints.up('md')]: {\r\n marginLeft: `calc(-50% + ${theme.gutters.page.lg})`,\r\n width: `calc(100% + (100%) - 2*${theme.gutters.page.lg})`,\r\n maxWidth: `calc(100% + (100%) - 2*${theme.gutters.page.lg})`\r\n }\r\n }\r\n },\r\n featuredImage: {\r\n maxHeight: `${(!!global && !!global.window ? global.window.innerHeight : 500) * 0.65}px`\r\n },\r\n featuredImageDefault: {\r\n width: '100%'\r\n },\r\n featuredImageDefaultContainer: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n title: {\r\n marginTop: '.25em',\r\n marginBottom: '.25em'\r\n }\r\n}))\r\n\r\nconst PostTemplate = ({ isDraft, ...props }) => {\r\n const title = get(props, 'data.page.title', '')\r\n const content = get(props, 'data.page.content', '')\r\n const excerpt = get(props, 'data.page.excerpt', '')\r\n const formattedDate = get(props, 'data.page.formattedDate', '')\r\n const englishNode = find(i => get(i, 'locale.locale') === defaultWPMLLocale, get(props, 'data.page.translated', []))\r\n\r\n const { data } = props\r\n const classes = useStyles()\r\n\r\n const cleanExcerpt = (!!excerpt && decodeText(excerpt)) || ''\r\n\r\n const pageContent = (\r\n
\r\n \r\n

\r\n
\r\n
{parse(content, options)}
\r\n
\r\n

\r\n )\r\n\r\n // TOC\r\n const hasToc = get(englishNode, 'toc.hasTableOfContents', get(data, 'page.toc.hasTableOfContents'))\r\n const tocItems = orderBy(get(props, 'pageContext.tableOfContents'), ['order', 'date'], ['asc', 'asc'])\r\n const showToc = hasToc && count(tocItems) > 0\r\n\r\n return (\r\n \r\n \r\n {showToc ? (\r\n \r\n {pageContent}\r\n \r\n \r\n ) : (\r\n pageContent\r\n )}\r\n {/* */}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const pageQuery = graphql`\r\n query($id: String, $prevId: String, $nextId: String) {\r\n page: wpSitePost(id: { eq: $id }) {\r\n title\r\n content\r\n excerpt\r\n formattedDate: date(formatString: \"MMM D, YYYY\")\r\n featuredImage {\r\n node {\r\n altText\r\n localFile {\r\n childImageSharp {\r\n gatsbyImageData(height: 260, placeholder: NONE, layout: FIXED)\r\n }\r\n }\r\n }\r\n }\r\n # toc { hasTableOfContents }\r\n translated {\r\n title\r\n excerpt\r\n formattedDate: date(formatString: \"MMM D, YYYY\")\r\n locale {\r\n locale\r\n }\r\n # toc { hasTableOfContents }\r\n }\r\n related {\r\n title\r\n slug\r\n date\r\n formattedDate: date(formatString: \"MMM D, YYYY\")\r\n featuredImage {\r\n node {\r\n altText\r\n localFile {\r\n childImageSharp {\r\n gatsbyImageData(height: 260, placeholder: NONE, layout: FIXED)\r\n }\r\n }\r\n }\r\n }\r\n translated {\r\n title\r\n locale {\r\n locale\r\n }\r\n }\r\n }\r\n }\r\n prevPost: wpSitePost(id: { eq: $prevId }) {\r\n title\r\n slug\r\n featuredImage {\r\n node {\r\n altText\r\n localFile {\r\n childImageSharp{\r\n gatsbyImageData(height: 260, placeholder: NONE, layout: FIXED)\r\n }\r\n }\r\n }\r\n }\r\n translated {\r\n title\r\n locale {\r\n locale\r\n }\r\n }\r\n }\r\n nextPost: wpSitePost(id: { eq: $nextId }) {\r\n title\r\n slug\r\n featuredImage {\r\n node {\r\n altText\r\n localFile {\r\n childImageSharp{\r\n gatsbyImageData(height: 260, placeholder: NONE, layout: FIXED)\r\n }\r\n }\r\n }\r\n }\r\n translated {\r\n title\r\n locale {\r\n locale\r\n }\r\n }\r\n }\r\n site {\r\n siteMetadata {\r\n socialAlt\r\n siteUrl\r\n }\r\n }\r\n }\r\n`\r\n\r\nexport default PostTemplate\r\n","export default __webpack_public_path__ + \"static/jackbot-34947af23d2b23cb79330c1c1d24a88e.png\";"],"names":["token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","err","length","left","slice","right","Array","prototype","concat","call","decode","input","tokens","match","i","module","exports","encodedURI","TypeError","replace","replaceMap","exec","result","entries","Object","keys","key","customDecodeURIComponent","obj","predicate","ret","isArr","isArray","val","indexOf","syntaxError","source","position","description","GraphQLError","undefined","freeze","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","NAME","INT","FLOAT","STRING","BLOCK_STRING","COMMENT","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","Source","body","name","arguments","locationOffset","line","column","devAssert","inspect","this","Constructor","protoProps","staticProps","get","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION","SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","Lexer","startOfFileToken","lastToken","lineStart","_proto","advance","lookahead","kind","_token$next","next","readToken","printCharCode","code","isNaN","JSON","stringify","String","fromCharCode","toString","toUpperCase","lexer","prev","bodyLength","pos","end","charCodeAt","_line","_col","readComment","readBlockString","readString","readNumber","readName","unexpectedCharacterMessage","col","start","firstCode","isFloat","readDigits","isNameStart","a","b","c","d","chunkStart","value","charCode","char2hex","invalidSequence","rawValue","Parser","options","sourceObj","instanceOf","isSource","_lexer","_options","parseName","expectToken","loc","parseDocument","DOCUMENT","definitions","many","parseDefinition","peek","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","OPERATION_DEFINITION","operation","variableDefinitions","directives","selectionSet","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","variable","parseVariable","type","parseTypeReference","defaultValue","expectOptionalToken","parseValueLiteral","VARIABLE","SELECTION_SET","selections","parseSelection","parseFragment","parseField","alias","nameOrAlias","parseArguments","isConst","item","parseConstArgument","parseArgument","ARGUMENT","hasTypeCondition","expectOptionalKeyword","parseFragmentName","typeCondition","parseNamedType","_this$_options","expectKeyword","experimentalFragmentVariables","parseList","parseObject","parseStringLiteral","BOOLEAN","NULL","block","_this","LIST","values","any","_this2","fields","parseObjectField","OBJECT_FIELD","push","parseDirective","DIRECTIVE","LIST_TYPE","NON_NULL_TYPE","NAMED_TYPE","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","operationTypes","parseOperationTypeDefinition","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","interfaces","parseImplementsInterfaces","parseFieldsDefinition","OBJECT_TYPE_DEFINITION","_this$_options2","allowLegacySDLImplementsInterfaces","types","delimitedMany","_this$_options3","allowLegacySDLEmptyFields","parseFieldDefinition","args","parseArgumentDefs","parseInputValueDef","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","parseUnionMemberTypes","UNION_TYPE_DEFINITION","parseEnumValuesDefinition","ENUM_TYPE_DEFINITION","parseEnumValueDefinition","ENUM_VALUE_DEFINITION","parseInputFieldsDefinition","INPUT_OBJECT_TYPE_DEFINITION","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","repeatable","locations","parseDirectiveLocations","DIRECTIVE_DEFINITION","parseDirectiveLocation","startToken","_this$_options4","noLocation","getTokenKindDesc","getTokenDesc","atToken","openKind","parseFn","closeKind","nodes","delimiterKind","isPunctuatorTokenKind","docCache","Map","fragmentSourceMap","printFragmentWarnings","normalize","string","trim","processFragments","ast","seenKeys","Set","forEach","fragmentDefinition","fragmentName","sourceKey","substring","sourceKeySet","has","console","warn","set","add","cacheKey","parsed","parse","allowLegacyFragmentVariables","Error","doc","workSet","node","endToken","stripLoc","gql","literals","_i","arg","gql_1","extras","clear","resetCaches","disableFragmentWarnings","enableExperimentalFragmentVariables","disableExperimentalFragmentVariables","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","strict","encodeURIComponent","keysSorter","sort","Number","map","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","parseBooleans","toLowerCase","query","assign","arrayFormat","arrayFormatSeparator","formatter","accumulator","includes","isEncodedArray","newValue","test","arrayValue","parserForArrayFormat","create","param","k","reduce","Boolean","object","shouldFilter","skipNull","skipEmptyString","index","keyValueSep","encoderForArrayFormat","objectCopy","filter","x","parseUrl","url","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","separator","separatorIndex","str","_interopRequireDefault","_extends2","_objectWithoutProperties2","_defineProperty2","_react","_propTypes","_isString","_trim","_styles","_clsx4","_box","_count","_reactMap","_excluded","useClasses","makeStyles","theme","root","display","flexDirection","textAlign","width","defaultItem","marginTop","marginBottom","_ref","_ref2","itemMargins","mobile","default","breakpoints","up","tablet","desktop","subSection","padding","classNamePrefix","Section","_ref3","children","className","isSubSection","rest","_classes","createElement","child","flattenedChildren","_clsx2","Children","count","cloneElement","propTypes","bool","shape","oneOfType","number","defaultProps","_default","DocumentType","cache","operationName","Query","Mutation","Subscription","OperationData","context","isMounted","previousOptions","getOptions","setOptions","newOptions","storePrevious","unmount","refreshClient","client","__DEV__","isNew","cleanup","verifyDocumentType","document","variables","cached","fragments","queries","mutations","subscriptions","definition","payload","parser","requiredOperationName","usedOperationName","MutationData","_super","_a","setResult","runMutation","mutationFunctionOptions","onMutationStart","mutationId","generateNewMutationId","mutate","then","response","onMutationCompleted","catch","error","onError","onMutationError","data","errors","mutation","mostRecentMutationId","execute","afterExecute","bind","loading","ignoreResults","updateResult","called","onCompleted","graphQLErrors","isMostRecentMutation","previousResult","QueryData","onNewData","runLazy","previous","runLazyQuery","lazyOptions","obsRefetch","currentObservable","refetch","obsFetchMore","fetchMoreOptions","fetchMore","obsUpdateQuery","mapFn","updateQuery","obsStartPolling","pollInterval","startPolling","obsStopPolling","stopPolling","obsSubscribeToMore","subscribeToMore","skip","removeQuerySubscription","removeObservable","updateObservableQuery","getExecuteSsrResult","getExecuteResult","executeLazy","networkStatus","ready","fetchData","ssr","Promise","resolve","startQuerySubscription","_c","lazy","ssrInitiated","disableNetworkFetches","handleErrorOrCompleted","renderPromises","ssrDisabled","fetchDisabled","ssrLoading","stale","observableQueryFields","addQueryPromise","prepareObservableQueryOptions","displayName","fetchPolicy","initializeObservableQuery","getSSRObservable","observableQueryOptions","watchQuery","registerSSRObservable","newObservableQueryOptions","currentSubscription","subscribe","resubscribeToQuery","hasOwnProperty","lastError","getLastError","lastResult","getLastResult","resetLastResults","currentResult","getCurrentResult","partial","partialRefetch","previousData","resetQueryStoreErrors","_b","unsubscribe","andDelete","useBaseQuery","useContext","useReducer","tick","forceUpdate","updatedOptions","queryDataRef","useRef","queryData","current","memoFn","ref","memo","queryResult","effectFn","didRefresh_1","useEffect","useAfterFastRefresh","useQuery","isRequired","notifyOnNetworkStatusChange","returnPartialData","LOGIN_JWT","process","apolloHeader","Cookie","defaultApolloOptions","InMemoryCache","uri","headers","authorization","Helper","id","postType","extraProps","completed","setCompleted","useState","login","loginData","loginLogin","errorLogin","localStorage","setItem","fiveMinutes","Date","getTime","expires","mutationDataRef","mutationData","React","LayoutContent","style","height","justifyContent","alignItems","CircularProgress","message","title","content","newProps","_objectSpread","page","PageTemplate","PostTemplate","preview","postPreview","Component","ApolloClient","location","search","postId","parseInt","ApolloProvider","GATSBY_FEATURE_PUSH_NOTIFICATION","gutters","image","down","margin","paddingBottom","only","maxWidth","imageContainer","top","bottom","lg","optInContainer","backgroundImage","scratchLine","backgroundPosition","backgroundRepeat","scratchBorder","socialIcon","IMAGE_HEIGHT_MOBILE","IMAGE_HEIGHT_DESKTOP","IMAGE_POSITION_START","container","lineHeight","imageSizes","objectFit","_ref4","_ref5","PostCard","_ref6","heading","subHeading","headingVariant","ariaLabel","to","imagePosition","disableImage","forceSquareImage","iconComponent","classes","textContainerProps","variant","_objectWithoutProperties","subHeadingClass","headingClass","imageClass","containerClass","buttonClasses","_excluded2","ImageComponent","GatsbyImage","alt","classnames","PlaceholderImage","Link","_extends","Box","Typography","palette","accessibility","highContrast","backgroundColor","common","black","linkRoot","borderTop","secondary","border","borderBottom","outline","textDecoration","color","primary","light","linkLabel","linkContainer","flex","white","mediaQuery","hasPrev","hasNext","leftLink","paddingRight","paddingLeft","sm","marginRight","md","borderRight","reverse","rightLink","marginLeft","label","overflow","rotate","transition","transform","_ref7","isTranslation","locale","t","useTranslation","prevTranslation","find","getLocaleFromWPMLLocale","nextTranslation","prevTitle","nextTitle","articleTitle","decodeText","path","slug","FontAwesomeIcon","size","icon","background","bg","maskBoxImage","scratchMaskEven","scratchMaskOdd","relatedPostsItem","minHeight","text","postList","useLocation","post","localizedPost","p","defaultLocale","paddingY","xs","align","formattedDate","useStyles","paddingTop","featuredImage","maxHeight","global","window","innerHeight","featuredImageDefault","featuredImageDefaultContainer","isDraft","excerpt","englishNode","defaultWPMLLocale","cleanExcerpt","pageContent","dangerouslySetInnerHTML","__html","hasToc","tocItems","orderBy","showToc","mainClass","classNames","postContent","setBackgroundImage","Helmet","meta","property","TableOfContents","items","PostControls","prevPost","nextPost","pageContext","RelatedPosts"],"sourceRoot":""}