@graphql-tools/schema 7.1.0-alpha-796c16fa.0 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/buildSchemaFromTypeDefinitions.d.ts +1 -2
- package/checkForResolveTypeResolver.d.ts +1 -1
- package/concatenateTypeDefs.d.ts +1 -1
- package/es5/buildSchemaFromTypeDefinitions.d.ts +1 -2
- package/es5/checkForResolveTypeResolver.d.ts +1 -1
- package/es5/concatenateTypeDefs.d.ts +1 -1
- package/es5/extensionDefinitions.d.ts +14 -2
- package/es5/index.cjs.js +86 -64
- package/es5/index.cjs.js.map +1 -1
- package/es5/index.d.ts +1 -1
- package/es5/index.esm.js +86 -65
- package/es5/index.esm.js.map +1 -1
- package/es5/makeExecutableSchema.d.ts +1 -1
- package/es5/package.json +2 -2
- package/es5/types.d.ts +10 -1
- package/extensionDefinitions.d.ts +14 -2
- package/index.cjs.js +85 -63
- package/index.cjs.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.esm.js +85 -64
- package/index.esm.js.map +1 -1
- package/makeExecutableSchema.d.ts +1 -1
- package/package.json +2 -2
- package/types.d.ts +10 -1
package/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../dist/schema/src/addSchemaLevelResolver.js","../../../dist/schema/src/assertResolversPresent.js","../../../dist/schema/src/attachDirectiveResolvers.js","../../../dist/schema/src/extensionDefinitions.js","../../../dist/schema/src/concatenateTypeDefs.js","../../../dist/schema/src/buildSchemaFromTypeDefinitions.js","../../../dist/schema/src/chainResolvers.js","../../../dist/schema/src/decorateWithLogger.js","../../../dist/schema/src/checkForResolveTypeResolver.js","../../../dist/schema/src/extendResolversFromInterfaces.js","../../../dist/schema/src/addResolversToSchema.js","../../../dist/schema/src/addErrorLoggingToSchema.js","../../../dist/schema/src/addCatchUndefinedToSchema.js","../../../dist/schema/src/makeExecutableSchema.js"],"sourcesContent":["import { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\n// wraps all resolvers of query, mutation or subscription fields\n// with the provided function to simulate a root schema level resolver\nexport function addSchemaLevelResolver(schema, fn) {\n // TODO test that schema is a schema, fn is a function\n const fnToRunOnlyOnce = runAtMostOncePerRequest(fn);\n return mapSchema(schema, {\n [MapperKind.ROOT_FIELD]: (fieldConfig, _fieldName, typeName, schema) => {\n // XXX this should run at most once per request to simulate a true root resolver\n // for graphql-js this is an approximation that works with queries but not mutations\n // XXX if the type is a subscription, a same query AST will be ran multiple times so we\n // deactivate here the runOnce if it's a subscription. This may not be optimal though...\n const subscription = schema.getSubscriptionType();\n if (subscription != null && subscription.name === typeName) {\n return {\n ...fieldConfig,\n resolve: wrapResolver(fieldConfig.resolve, fn),\n };\n }\n return {\n ...fieldConfig,\n resolve: wrapResolver(fieldConfig.resolve, fnToRunOnlyOnce),\n };\n },\n });\n}\n// XXX badly named function. this doesn't really wrap, it just chains resolvers...\nfunction wrapResolver(innerResolver, outerResolver) {\n return (obj, args, ctx, info) => resolveMaybePromise(outerResolver(obj, args, ctx, info), root => {\n if (innerResolver != null) {\n return innerResolver(root, args, ctx, info);\n }\n return defaultFieldResolver(root, args, ctx, info);\n });\n}\nfunction isPromise(maybePromise) {\n return maybePromise && typeof maybePromise.then === 'function';\n}\n// resolvers can be synchronous or asynchronous. if all resolvers\n// in an operation return synchronously, the execution should return\n// synchronously. the maybe-sync/maybe-async nature of resolvers should be\n// preserved\nfunction resolveMaybePromise(maybePromise, fulfillmentCallback) {\n if (isPromise(maybePromise)) {\n return maybePromise.then(fulfillmentCallback);\n }\n return fulfillmentCallback(maybePromise);\n}\n// XXX this function only works for resolvers\n// XXX very hacky way to remember if the function\n// already ran for this request. This will only work\n// if people don't actually cache the operation.\n// if they do cache the operation, they will have to\n// manually remove the __runAtMostOnce before every request.\nfunction runAtMostOncePerRequest(fn) {\n let value;\n const randomNumber = Math.random();\n return (root, args, ctx, info) => {\n if (!info.operation['__runAtMostOnce']) {\n info.operation['__runAtMostOnce'] = {};\n }\n if (!info.operation['__runAtMostOnce'][randomNumber]) {\n info.operation['__runAtMostOnce'][randomNumber] = true;\n value = fn(root, args, ctx, info);\n }\n return value;\n };\n}\n//# sourceMappingURL=addSchemaLevelResolver.js.map","import { getNamedType, isScalarType } from 'graphql';\nimport { forEachField } from '@graphql-tools/utils';\nexport function assertResolversPresent(schema, resolverValidationOptions = {}) {\n const { requireResolversForArgs, requireResolversForNonScalar, requireResolversForAllFields, } = resolverValidationOptions;\n if (requireResolversForAllFields && (requireResolversForArgs || requireResolversForNonScalar)) {\n throw new TypeError('requireResolversForAllFields takes precedence over the more specific assertions. ' +\n 'Please configure either requireResolversForAllFields or requireResolversForArgs / ' +\n 'requireResolversForNonScalar, but not a combination of them.');\n }\n forEachField(schema, (field, typeName, fieldName) => {\n // requires a resolver for *every* field.\n if (requireResolversForAllFields) {\n expectResolver('requireResolversForAllFields', requireResolversForAllFields, field, typeName, fieldName);\n }\n // requires a resolver on every field that has arguments\n if (requireResolversForArgs && field.args.length > 0) {\n expectResolver('requireResolversForArgs', requireResolversForArgs, field, typeName, fieldName);\n }\n // requires a resolver on every field that returns a non-scalar type\n if (requireResolversForNonScalar !== 'ignore' && !isScalarType(getNamedType(field.type))) {\n expectResolver('requireResolversForNonScalar', requireResolversForNonScalar, field, typeName, fieldName);\n }\n });\n}\nfunction expectResolver(validator, behavior, field, typeName, fieldName) {\n if (!field.resolve) {\n const message = `Resolver missing for \"${typeName}.${fieldName}\".\nTo disable this validator, use:\n resolverValidationOptions: {\n ${validator}: 'ignore'\n }`;\n if (behavior === 'error') {\n throw new Error(message);\n }\n if (behavior === 'warn') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n return;\n }\n if (typeof field.resolve !== 'function') {\n throw new Error(`Resolver \"${typeName}.${fieldName}\" must be a function`);\n }\n}\n//# sourceMappingURL=assertResolversPresent.js.map","import { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind, getDirectives } from '@graphql-tools/utils';\nexport function attachDirectiveResolvers(schema, directiveResolvers) {\n if (typeof directiveResolvers !== 'object') {\n throw new Error(`Expected directiveResolvers to be of type object, got ${typeof directiveResolvers}`);\n }\n if (Array.isArray(directiveResolvers)) {\n throw new Error('Expected directiveResolvers to be of type object, got Array');\n }\n return mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: fieldConfig => {\n const newFieldConfig = { ...fieldConfig };\n const directives = getDirectives(schema, fieldConfig);\n Object.keys(directives).forEach(directiveName => {\n if (directiveResolvers[directiveName]) {\n const resolver = directiveResolvers[directiveName];\n const originalResolver = newFieldConfig.resolve != null ? newFieldConfig.resolve : defaultFieldResolver;\n const directiveArgs = directives[directiveName];\n newFieldConfig.resolve = (source, originalArgs, context, info) => {\n return resolver(() => new Promise((resolve, reject) => {\n const result = originalResolver(source, originalArgs, context, info);\n if (result instanceof Error) {\n reject(result);\n }\n resolve(result);\n }), source, directiveArgs, context, info);\n };\n }\n });\n return newFieldConfig;\n },\n });\n}\n//# sourceMappingURL=attachDirectiveResolvers.js.map","import { Kind } from 'graphql';\nexport function extractExtensionDefinitions(ast) {\n const extensionDefs = ast.definitions.filter((def) => def.kind === Kind.OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.INTERFACE_TYPE_EXTENSION ||\n def.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.UNION_TYPE_EXTENSION ||\n def.kind === Kind.ENUM_TYPE_EXTENSION ||\n def.kind === Kind.SCALAR_TYPE_EXTENSION ||\n def.kind === Kind.SCHEMA_EXTENSION);\n return {\n ...ast,\n definitions: extensionDefs,\n };\n}\nexport function filterExtensionDefinitions(ast) {\n const extensionDefs = ast.definitions.filter((def) => def.kind !== Kind.OBJECT_TYPE_EXTENSION &&\n def.kind !== Kind.INTERFACE_TYPE_EXTENSION &&\n def.kind !== Kind.INPUT_OBJECT_TYPE_EXTENSION &&\n def.kind !== Kind.UNION_TYPE_EXTENSION &&\n def.kind !== Kind.ENUM_TYPE_EXTENSION &&\n def.kind !== Kind.SCALAR_TYPE_EXTENSION &&\n def.kind !== Kind.SCHEMA_EXTENSION);\n return {\n ...ast,\n definitions: extensionDefs,\n };\n}\n//# sourceMappingURL=extensionDefinitions.js.map","import { print } from 'graphql';\nexport function concatenateTypeDefs(typeDefinitionsAry, calledFunctionRefs = []) {\n let resolvedTypeDefinitions = [];\n typeDefinitionsAry.forEach((typeDef) => {\n if (typeof typeDef === 'function') {\n if (calledFunctionRefs.indexOf(typeDef) === -1) {\n calledFunctionRefs.push(typeDef);\n resolvedTypeDefinitions = resolvedTypeDefinitions.concat(concatenateTypeDefs(typeDef(), calledFunctionRefs));\n }\n }\n else if (typeof typeDef === 'string') {\n resolvedTypeDefinitions.push(typeDef.trim());\n }\n else if (typeDef.kind !== undefined) {\n resolvedTypeDefinitions.push(print(typeDef).trim());\n }\n else {\n const type = typeof typeDef;\n throw new Error(`typeDef array must contain only strings, documents, or functions, got ${type}`);\n }\n });\n return uniq(resolvedTypeDefinitions.map(x => x.trim())).join('\\n');\n}\nfunction uniq(array) {\n return array.reduce((accumulator, currentValue) => accumulator.indexOf(currentValue) === -1 ? [...accumulator, currentValue] : accumulator, []);\n}\n//# sourceMappingURL=concatenateTypeDefs.js.map","import { extendSchema, buildASTSchema } from 'graphql';\nimport { parseGraphQLSDL } from '@graphql-tools/utils';\nimport { extractExtensionDefinitions, filterExtensionDefinitions } from './extensionDefinitions';\nimport { concatenateTypeDefs } from './concatenateTypeDefs';\nexport function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions) {\n const document = buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions);\n const typesAst = filterExtensionDefinitions(document);\n const backcompatOptions = { commentDescriptions: true };\n let schema = buildASTSchema(typesAst, backcompatOptions);\n const extensionsAst = extractExtensionDefinitions(document);\n if (extensionsAst.definitions.length > 0) {\n schema = extendSchema(schema, extensionsAst, backcompatOptions);\n }\n return schema;\n}\nexport function isDocumentNode(typeDefinitions) {\n return typeDefinitions.kind !== undefined;\n}\nexport function buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions) {\n let document;\n if (typeof typeDefinitions === 'string') {\n document = parseGraphQLSDL('', typeDefinitions, parseOptions).document;\n }\n else if (Array.isArray(typeDefinitions)) {\n document = parseGraphQLSDL('', concatenateTypeDefs(typeDefinitions), parseOptions).document;\n }\n else if (isDocumentNode(typeDefinitions)) {\n document = typeDefinitions;\n }\n else {\n const type = typeof typeDefinitions;\n throw new Error(`typeDefs must be a string, array or schema AST, got ${type}`);\n }\n return document;\n}\n//# sourceMappingURL=buildSchemaFromTypeDefinitions.js.map","import { defaultFieldResolver } from 'graphql';\nexport function chainResolvers(resolvers) {\n return (root, args, ctx, info) => resolvers.reduce((prev, curResolver) => {\n if (curResolver != null) {\n return curResolver(prev, args, ctx, info);\n }\n return defaultFieldResolver(prev, args, ctx, info);\n }, root);\n}\n//# sourceMappingURL=chainResolvers.js.map","import { defaultFieldResolver } from 'graphql';\n/*\n * fn: The function to decorate with the logger\n * logger: an object instance of type Logger\n * hint: an optional hint to add to the error's message\n */\nexport function decorateWithLogger(fn, logger, hint) {\n const resolver = fn != null ? fn : defaultFieldResolver;\n const logError = (e) => {\n // TODO: clone the error properly\n const newE = new Error();\n newE.stack = e.stack;\n /* istanbul ignore else: always get the hint from addErrorLoggingToSchema */\n if (hint) {\n newE['originalMessage'] = e.message;\n newE.message = `Error in resolver ${hint}\\n${e.message}`;\n }\n logger.log(newE);\n };\n return (root, args, ctx, info) => {\n try {\n const result = resolver(root, args, ctx, info);\n // If the resolver returns a Promise log any Promise rejects.\n if (result && typeof result.then === 'function' && typeof result.catch === 'function') {\n result.catch((reason) => {\n // make sure that it's an error we're logging.\n const error = reason instanceof Error ? reason : new Error(reason);\n logError(error);\n // We don't want to leave an unhandled exception so pass on error.\n return reason;\n });\n }\n return result;\n }\n catch (e) {\n logError(e);\n // we want to pass on the error, just in case.\n throw e;\n }\n };\n}\n//# sourceMappingURL=decorateWithLogger.js.map","import { MapperKind, mapSchema } from '@graphql-tools/utils';\n// If we have any union or interface types throw if no there is no resolveType resolver\nexport function checkForResolveTypeResolver(schema, requireResolversForResolveType) {\n mapSchema(schema, {\n [MapperKind.ABSTRACT_TYPE]: type => {\n if (!type.resolveType && requireResolversForResolveType) {\n const message = `Type \"${type.name}\" is missing a \"__resolveType\" resolver. Pass 'ignore' into ` +\n '\"resolverValidationOptions.requireResolversForResolveType\" to disable this error.';\n if (requireResolversForResolveType === 'error') {\n throw new Error(message);\n }\n if (requireResolversForResolveType === 'warn') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n }\n return undefined;\n },\n });\n}\n//# sourceMappingURL=checkForResolveTypeResolver.js.map","export function extendResolversFromInterfaces(schema, resolvers) {\n const typeNames = Object.keys({\n ...schema.getTypeMap(),\n ...resolvers,\n });\n const extendedResolvers = {};\n typeNames.forEach(typeName => {\n const type = schema.getType(typeName);\n if ('getInterfaces' in type) {\n const allInterfaceResolvers = type\n .getInterfaces()\n .map(iFace => resolvers[iFace.name])\n .filter(interfaceResolvers => interfaceResolvers != null);\n extendedResolvers[typeName] = {};\n allInterfaceResolvers.forEach(interfaceResolvers => {\n Object.keys(interfaceResolvers).forEach(fieldName => {\n if (fieldName === '__isTypeOf' || !fieldName.startsWith('__')) {\n extendedResolvers[typeName][fieldName] = interfaceResolvers[fieldName];\n }\n });\n });\n const typeResolvers = resolvers[typeName];\n extendedResolvers[typeName] = {\n ...extendedResolvers[typeName],\n ...typeResolvers,\n };\n }\n else {\n const typeResolvers = resolvers[typeName];\n if (typeResolvers != null) {\n extendedResolvers[typeName] = typeResolvers;\n }\n }\n });\n return extendedResolvers;\n}\n//# sourceMappingURL=extendResolversFromInterfaces.js.map","import { GraphQLEnumType, isSchema, GraphQLScalarType, GraphQLUnionType, GraphQLInterfaceType, GraphQLObjectType, isSpecifiedScalarType, isScalarType, isEnumType, isUnionType, isInterfaceType, isObjectType, } from 'graphql';\nimport { mapSchema, MapperKind, forEachDefaultValue, serializeInputValue, healSchema, parseInputValue, forEachField, } from '@graphql-tools/utils';\nimport { checkForResolveTypeResolver } from './checkForResolveTypeResolver';\nimport { extendResolversFromInterfaces } from './extendResolversFromInterfaces';\nexport function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInputValidationOptions) {\n const options = isSchema(schemaOrOptions)\n ? {\n schema: schemaOrOptions,\n resolvers: legacyInputResolvers,\n resolverValidationOptions: legacyInputValidationOptions,\n }\n : schemaOrOptions;\n let { schema, resolvers: inputResolvers, defaultFieldResolver, resolverValidationOptions = {}, inheritResolversFromInterfaces = false, updateResolversInPlace = false, } = options;\n const { requireResolversToMatchSchema = 'error', requireResolversForResolveType } = resolverValidationOptions;\n const resolvers = inheritResolversFromInterfaces\n ? extendResolversFromInterfaces(schema, inputResolvers)\n : inputResolvers;\n Object.keys(resolvers).forEach(typeName => {\n const resolverValue = resolvers[typeName];\n const resolverType = typeof resolverValue;\n if (typeName === '__schema') {\n if (resolverType !== 'function') {\n throw new Error(`\"${typeName}\" defined in resolvers, but has invalid value \"${resolverValue}\". A schema resolver's value must be of type object or function.`);\n }\n }\n else {\n if (resolverType !== 'object') {\n throw new Error(`\"${typeName}\" defined in resolvers, but has invalid value \"${resolverValue}\". The resolver's value must be of type object.`);\n }\n const type = schema.getType(typeName);\n if (type == null) {\n if (requireResolversToMatchSchema === 'ignore') {\n return;\n }\n throw new Error(`\"${typeName}\" defined in resolvers, but not in schema`);\n }\n else if (isSpecifiedScalarType(type)) {\n // allow -- without recommending -- overriding of specified scalar types\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n type[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else {\n type[fieldName] = resolverValue[fieldName];\n }\n });\n }\n else if (isEnumType(type)) {\n const values = type.getValues();\n Object.keys(resolverValue).forEach(fieldName => {\n if (!fieldName.startsWith('__') &&\n !values.some(value => value.name === fieldName) &&\n requireResolversToMatchSchema &&\n requireResolversToMatchSchema !== 'ignore') {\n throw new Error(`${type.name}.${fieldName} was defined in resolvers, but not present within ${type.name}`);\n }\n });\n }\n else if (isUnionType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (!fieldName.startsWith('__') &&\n requireResolversToMatchSchema &&\n requireResolversToMatchSchema !== 'ignore') {\n throw new Error(`${type.name}.${fieldName} was defined in resolvers, but ${type.name} is not an object or interface type`);\n }\n });\n }\n else if (isObjectType(type) || isInterfaceType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (!fieldName.startsWith('__')) {\n const fields = type.getFields();\n const field = fields[fieldName];\n if (field == null && requireResolversToMatchSchema && requireResolversToMatchSchema !== 'ignore') {\n throw new Error(`${typeName}.${fieldName} defined in resolvers, but not in schema`);\n }\n const fieldResolve = resolverValue[fieldName];\n if (typeof fieldResolve !== 'function' && typeof fieldResolve !== 'object') {\n throw new Error(`Resolver ${typeName}.${fieldName} must be object or function`);\n }\n }\n });\n }\n }\n });\n schema = updateResolversInPlace\n ? addResolversToExistingSchema(schema, resolvers, defaultFieldResolver)\n : createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver);\n checkForResolveTypeResolver(schema, requireResolversForResolveType);\n return schema;\n}\nfunction addResolversToExistingSchema(schema, resolvers, defaultFieldResolver) {\n const typeMap = schema.getTypeMap();\n Object.keys(resolvers).forEach(typeName => {\n if (typeName !== '__schema') {\n const type = schema.getType(typeName);\n const resolverValue = resolvers[typeName];\n if (isScalarType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (fieldName.startsWith('__')) {\n type[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && type.astNode != null) {\n type.astNode = {\n ...type.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : type.astNode.description,\n directives: ((_d = type.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && type.extensionASTNodes != null) {\n type.extensionASTNodes = ((_h = []) !== null && _h !== void 0 ? _h : type.extensionASTNodes).concat((_k = (_j = resolverValue) === null || _j === void 0 ? void 0 : _j.extensionASTNodes) !== null && _k !== void 0 ? _k : []);\n }\n else if (fieldName === 'extensions' &&\n type.extensions != null &&\n resolverValue.extensions != null) {\n type.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else {\n type[fieldName] = resolverValue[fieldName];\n }\n });\n }\n else if (isEnumType(type)) {\n const config = type.toConfig();\n const enumValueConfigMap = config.values;\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = {\n ...config.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description,\n directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n type.extensions != null &&\n resolverValue.extensions != null) {\n type.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else if (enumValueConfigMap[fieldName]) {\n enumValueConfigMap[fieldName].value = resolverValue[fieldName];\n }\n });\n typeMap[typeName] = new GraphQLEnumType(config);\n }\n else if (isUnionType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n type[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n }\n else if (isObjectType(type) || isInterfaceType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n // this is for isTypeOf and resolveType and all the other stuff.\n type[fieldName.substring(2)] = resolverValue[fieldName];\n return;\n }\n const fields = type.getFields();\n const field = fields[fieldName];\n if (field != null) {\n const fieldResolve = resolverValue[fieldName];\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n field.resolve = fieldResolve;\n }\n else {\n setFieldProperties(field, fieldResolve);\n }\n }\n });\n }\n }\n });\n // serialize all default values prior to healing fields with new scalar/enum types.\n forEachDefaultValue(schema, serializeInputValue);\n // schema may have new scalar/enum types that require healing\n healSchema(schema);\n // reparse all default values with new parsing functions.\n forEachDefaultValue(schema, parseInputValue);\n if (defaultFieldResolver != null) {\n forEachField(schema, field => {\n if (!field.resolve) {\n field.resolve = defaultFieldResolver;\n }\n });\n }\n return schema;\n}\nfunction createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver) {\n schema = mapSchema(schema, {\n [MapperKind.SCALAR_TYPE]: type => {\n const config = type.toConfig();\n const resolverValue = resolvers[type.name];\n if (!isSpecifiedScalarType(type) && resolverValue != null) {\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = {\n ...config.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description,\n directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else {\n config[fieldName] = resolverValue[fieldName];\n }\n });\n return new GraphQLScalarType(config);\n }\n },\n [MapperKind.ENUM_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n const config = type.toConfig();\n const enumValueConfigMap = config.values;\n if (resolverValue != null) {\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = {\n ...config.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description,\n directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else if (enumValueConfigMap[fieldName]) {\n enumValueConfigMap[fieldName].value = resolverValue[fieldName];\n }\n });\n return new GraphQLEnumType(config);\n }\n },\n [MapperKind.UNION_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n const config = type.toConfig();\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLUnionType(config);\n }\n },\n [MapperKind.OBJECT_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n const config = type.toConfig();\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLObjectType(config);\n }\n },\n [MapperKind.INTERFACE_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n const config = type.toConfig();\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLInterfaceType(config);\n }\n },\n [MapperKind.COMPOSITE_FIELD]: (fieldConfig, fieldName, typeName) => {\n const resolverValue = resolvers[typeName];\n if (resolverValue != null) {\n const fieldResolve = resolverValue[fieldName];\n if (fieldResolve != null) {\n const newFieldConfig = { ...fieldConfig };\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n newFieldConfig.resolve = fieldResolve;\n }\n else {\n setFieldProperties(newFieldConfig, fieldResolve);\n }\n return newFieldConfig;\n }\n }\n },\n });\n if (defaultFieldResolver != null) {\n schema = mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: fieldConfig => ({\n ...fieldConfig,\n resolve: fieldConfig.resolve != null ? fieldConfig.resolve : defaultFieldResolver,\n }),\n });\n }\n return schema;\n}\nfunction setFieldProperties(field, propertiesObj) {\n Object.keys(propertiesObj).forEach(propertyName => {\n field[propertyName] = propertiesObj[propertyName];\n });\n}\n//# sourceMappingURL=addResolversToSchema.js.map","import { mapSchema, MapperKind } from '@graphql-tools/utils';\nimport { decorateWithLogger } from './decorateWithLogger';\nexport function addErrorLoggingToSchema(schema, logger) {\n if (!logger) {\n throw new Error('Must provide a logger');\n }\n if (typeof logger.log !== 'function') {\n throw new Error('Logger.log must be a function');\n }\n return mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: (fieldConfig, fieldName, typeName) => ({\n ...fieldConfig,\n resolve: decorateWithLogger(fieldConfig.resolve, logger, `${typeName}.${fieldName}`),\n }),\n });\n}\n//# sourceMappingURL=addErrorLoggingToSchema.js.map","import { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nfunction decorateToCatchUndefined(fn, hint) {\n const resolve = fn == null ? defaultFieldResolver : fn;\n return (root, args, ctx, info) => {\n const result = resolve(root, args, ctx, info);\n if (typeof result === 'undefined') {\n throw new Error(`Resolver for \"${hint}\" returned undefined`);\n }\n return result;\n };\n}\nexport function addCatchUndefinedToSchema(schema) {\n return mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: (fieldConfig, fieldName, typeName) => ({\n ...fieldConfig,\n resolve: decorateToCatchUndefined(fieldConfig.resolve, `${typeName}.${fieldName}`),\n }),\n });\n}\n//# sourceMappingURL=addCatchUndefinedToSchema.js.map","import { mergeDeep, SchemaDirectiveVisitor, pruneSchema } from '@graphql-tools/utils';\nimport { addResolversToSchema } from './addResolversToSchema';\nimport { attachDirectiveResolvers } from './attachDirectiveResolvers';\nimport { assertResolversPresent } from './assertResolversPresent';\nimport { addSchemaLevelResolver } from './addSchemaLevelResolver';\nimport { buildSchemaFromTypeDefinitions } from './buildSchemaFromTypeDefinitions';\nimport { addErrorLoggingToSchema } from './addErrorLoggingToSchema';\nimport { addCatchUndefinedToSchema } from './addCatchUndefinedToSchema';\n/**\n * Builds a schema from the provided type definitions and resolvers.\n *\n * The type definitions are written using Schema Definition Language (SDL). They\n * can be provided as a string, a `DocumentNode`, a function, or an array of any\n * of these. If a function is provided, it will be passed no arguments and\n * should return an array of strings or `DocumentNode`s.\n *\n * Note: You can use `graphql-tag` to not only parse a string into a\n * `DocumentNode` but also to provide additional syntax highlighting in your\n * editor (with the appropriate editor plugin).\n *\n * ```js\n * const typeDefs = gql`\n * type Query {\n * posts: [Post]\n * author(id: Int!): Author\n * }\n * `;\n * ```\n *\n * The `resolvers` object should be a map of type names to nested object, which\n * themselves map the type's fields to their appropriate resolvers.\n * See the [Resolvers](/docs/resolvers) section of the documentation for more details.\n *\n * ```js\n * const resolvers = {\n * Query: {\n * posts: (obj, args, ctx, info) => getAllPosts(),\n * author: (obj, args, ctx, info) => getAuthorById(args.id)\n * }\n * };\n * ```\n *\n * Once you've defined both the `typeDefs` and `resolvers`, you can create your\n * schema:\n *\n * ```js\n * const schema = makeExecutableSchema({\n * typeDefs,\n * resolvers,\n * })\n * ```\n */\nexport function makeExecutableSchema({ typeDefs, resolvers = {}, logger, allowUndefinedInResolve = true, resolverValidationOptions = {}, directiveResolvers, schemaDirectives, schemaTransforms = [], parseOptions = {}, inheritResolversFromInterfaces = false, pruningOptions, }) {\n // Validate and clean up arguments\n if (typeof resolverValidationOptions !== 'object') {\n throw new Error('Expected `resolverValidationOptions` to be an object');\n }\n if (!typeDefs) {\n throw new Error('Must provide typeDefs');\n }\n // We allow passing in an array of resolver maps, in which case we merge them\n const resolverMap = Array.isArray(resolvers) ? resolvers.reduce(mergeDeep, {}) : resolvers;\n // Arguments are now validated and cleaned up\n let schema = buildSchemaFromTypeDefinitions(typeDefs, parseOptions);\n schema = addResolversToSchema({\n schema,\n resolvers: resolverMap,\n resolverValidationOptions,\n inheritResolversFromInterfaces,\n });\n if (Object.keys(resolverValidationOptions).length > 0) {\n assertResolversPresent(schema, resolverValidationOptions);\n }\n if (!allowUndefinedInResolve) {\n schema = addCatchUndefinedToSchema(schema);\n }\n if (logger != null) {\n schema = addErrorLoggingToSchema(schema, logger);\n }\n if (typeof resolvers['__schema'] === 'function') {\n // TODO a bit of a hack now, better rewrite generateSchema to attach it there.\n // not doing that now, because I'd have to rewrite a lot of tests.\n schema = addSchemaLevelResolver(schema, resolvers['__schema']);\n }\n schemaTransforms.forEach(schemaTransform => {\n schema = schemaTransform(schema);\n });\n // directive resolvers are implemented using SchemaDirectiveVisitor.visitSchemaDirectives\n // schema visiting modifies the schema in place\n if (directiveResolvers != null) {\n schema = attachDirectiveResolvers(schema, directiveResolvers);\n }\n if (schemaDirectives != null) {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);\n }\n return pruningOptions ? pruneSchema(schema, pruningOptions) : schema;\n}\n//# sourceMappingURL=makeExecutableSchema.js.map"],"names":[],"mappings":";;;AAEA;AACA;AACO,SAAS,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE;AACnD;AACA,IAAI,MAAM,eAAe,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACxD,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK;AAChF;AACA;AACA;AACA;AACA,YAAY,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;AAC9D,YAAY,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE;AACxE,gBAAgB,OAAO;AACvB,oBAAoB,GAAG,WAAW;AAClC,oBAAoB,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;AAClE,iBAAiB,CAAC;AAClB,aAAa;AACb,YAAY,OAAO;AACnB,gBAAgB,GAAG,WAAW;AAC9B,gBAAgB,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC;AAC3E,aAAa,CAAC;AACd,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE;AACpD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,mBAAmB,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;AACtG,QAAQ,IAAI,aAAa,IAAI,IAAI,EAAE;AACnC,YAAY,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACxD,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,SAAS,CAAC,YAAY,EAAE;AACjC,IAAI,OAAO,YAAY,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,UAAU,CAAC;AACnE,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,EAAE;AAChE,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;AACjC,QAAQ,OAAO,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,IAAI,IAAI,KAAK,CAAC;AACd,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACvC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;AAChD,YAAY,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;AACnD,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,EAAE;AAC9D,YAAY,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AACnE,YAAY,KAAK,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK,CAAC;AACN;;AClEO,SAAS,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,EAAE,EAAE;AAC/E,IAAI,MAAM,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,4BAA4B,GAAG,GAAG,yBAAyB,CAAC;AAC/H,IAAI,IAAI,4BAA4B,KAAK,uBAAuB,IAAI,4BAA4B,CAAC,EAAE;AACnG,QAAQ,MAAM,IAAI,SAAS,CAAC,mFAAmF;AAC/G,YAAY,oFAAoF;AAChG,YAAY,8DAA8D,CAAC,CAAC;AAC5E,KAAK;AACL,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,KAAK;AACzD;AACA,QAAQ,IAAI,4BAA4B,EAAE;AAC1C,YAAY,cAAc,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrH,SAAS;AACT;AACA,QAAQ,IAAI,uBAAuB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9D,YAAY,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3G,SAAS;AACT;AACA,QAAQ,IAAI,4BAA4B,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;AAClG,YAAY,cAAc,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrH,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE;AACzE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACxB,QAAQ,MAAM,OAAO,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;AACvE;AACA;AACA,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,CAAC,CAAC;AACL,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE;AAClC,YAAY,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;AACjC;AACA,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,SAAS;AACT,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AAC7C,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAClF,KAAK;AACL;;ACzCO,SAAS,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AACrE,IAAI,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;AAChD,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,sDAAsD,EAAE,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC9G,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;AAC3C,QAAQ,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,IAAI;AAClD,YAAY,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;AACtD,YAAY,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,YAAY,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI;AAC7D,gBAAgB,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE;AACvD,oBAAoB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;AACvE,oBAAoB,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,IAAI,IAAI,GAAG,cAAc,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAC5H,oBAAoB,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACpE,oBAAoB,cAAc,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,KAAK;AACtF,wBAAwB,OAAO,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC/E,4BAA4B,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACjG,4BAA4B,IAAI,MAAM,YAAY,KAAK,EAAE;AACzD,gCAAgC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/C,6BAA6B;AAC7B,4BAA4B,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5C,yBAAyB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,cAAc,CAAC;AAClC,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;AC/BO,SAAS,2BAA2B,CAAC,GAAG,EAAE;AACjD,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB;AACjG,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,wBAAwB;AAClD,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,2BAA2B;AACrD,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB;AAC9C,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB;AAC7C,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB;AAC/C,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC5C,IAAI,OAAO;AACX,QAAQ,GAAG,GAAG;AACd,QAAQ,WAAW,EAAE,aAAa;AAClC,KAAK,CAAC;AACN,CAAC;AACM,SAAS,0BAA0B,CAAC,GAAG,EAAE;AAChD,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB;AACjG,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,wBAAwB;AAClD,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,2BAA2B;AACrD,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB;AAC9C,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB;AAC7C,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB;AAC/C,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC5C,IAAI,OAAO;AACX,QAAQ,GAAG,GAAG;AACd,QAAQ,WAAW,EAAE,aAAa;AAClC,KAAK,CAAC;AACN;;ACzBO,SAAS,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,EAAE,EAAE;AACjF,IAAI,IAAI,uBAAuB,GAAG,EAAE,CAAC;AACrC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAC5C,QAAQ,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AAC3C,YAAY,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;AAC5D,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,gBAAgB,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC7H,aAAa;AACb,SAAS;AACT,aAAa,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC9C,YAAY,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACzD,SAAS;AACT,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7C,YAAY,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,SAAS;AACT,aAAa;AACb,YAAY,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC;AACxC,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sEAAsE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7G,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AACD,SAAS,IAAI,CAAC,KAAK,EAAE;AACrB,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,KAAK,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,YAAY,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;AACpJ;;ACrBO,SAAS,8BAA8B,CAAC,eAAe,EAAE,YAAY,EAAE;AAC9E,IAAI,MAAM,QAAQ,GAAG,gCAAgC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AACrF,IAAI,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AAC1D,IAAI,MAAM,iBAAiB,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AAC5D,IAAI,IAAI,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC7D,IAAI,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAChE,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,QAAQ,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;AACxE,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACM,SAAS,cAAc,CAAC,eAAe,EAAE;AAChD,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,SAAS,CAAC;AAC9C,CAAC;AACM,SAAS,gCAAgC,CAAC,eAAe,EAAE,YAAY,EAAE;AAChF,IAAI,IAAI,QAAQ,CAAC;AACjB,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;AAC7C,QAAQ,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;AAC/E,KAAK;AACL,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC7C,QAAQ,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;AACpG,KAAK;AACL,SAAS,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE;AAC9C,QAAQ,QAAQ,GAAG,eAAe,CAAC;AACnC,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,OAAO,eAAe,CAAC;AAC5C,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oDAAoD,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC;AACpB;;ACjCO,SAAS,cAAc,CAAC,SAAS,EAAE;AAC1C,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK;AAC9E,QAAQ,IAAI,WAAW,IAAI,IAAI,EAAE;AACjC,YAAY,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtD,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,KAAK,EAAE,IAAI,CAAC,CAAC;AACb;;ACPA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;AACrD,IAAI,MAAM,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,oBAAoB,CAAC;AAC5D,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK;AAC5B;AACA,QAAQ,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC7B;AACA,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AAChD,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,QAAQ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAQ,IAAI;AACZ,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D;AACA,YAAY,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;AACnG,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK;AACzC;AACA,oBAAoB,MAAM,KAAK,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AACvF,oBAAoB,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC;AACA,oBAAoB,OAAO,MAAM,CAAC;AAClC,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,OAAO,CAAC,EAAE;AAClB,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB;AACA,YAAY,MAAM,CAAC,CAAC;AACpB,SAAS;AACT,KAAK,CAAC;AACN;;ACvCA;AACO,SAAS,2BAA2B,CAAC,MAAM,EAAE,8BAA8B,EAAE;AACpF,IAAI,SAAS,CAAC,MAAM,EAAE;AACtB,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,IAAI;AAC5C,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,8BAA8B,EAAE;AACrE,gBAAgB,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,4DAA4D,CAAC;AAChH,oBAAoB,mFAAmF,CAAC;AACxG,gBAAgB,IAAI,8BAA8B,KAAK,OAAO,EAAE;AAChE,oBAAoB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7C,iBAAiB;AACjB,gBAAgB,IAAI,8BAA8B,KAAK,MAAM,EAAE;AAC/D;AACA,oBAAoB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,SAAS,CAAC;AAC7B,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;ACnBO,SAAS,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE;AACjE,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;AAClC,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE;AAC9B,QAAQ,GAAG,SAAS;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACjC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AAClC,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,eAAe,IAAI,IAAI,EAAE;AACrC,YAAY,MAAM,qBAAqB,GAAG,IAAI;AAC9C,iBAAiB,aAAa,EAAE;AAChC,iBAAiB,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,iBAAiB,MAAM,CAAC,kBAAkB,IAAI,kBAAkB,IAAI,IAAI,CAAC,CAAC;AAC1E,YAAY,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAC7C,YAAY,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,IAAI;AAChE,gBAAgB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AACrE,oBAAoB,IAAI,SAAS,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnF,wBAAwB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC/F,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,iBAAiB,CAAC,QAAQ,CAAC,GAAG;AAC1C,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC9C,gBAAgB,GAAG,aAAa;AAChC,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,iBAAiB,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;AAC5D,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,iBAAiB,CAAC;AAC7B;;AC/BO,SAAS,oBAAoB,CAAC,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE;AAC1G,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC7C,UAAU;AACV,YAAY,MAAM,EAAE,eAAe;AACnC,YAAY,SAAS,EAAE,oBAAoB;AAC3C,YAAY,yBAAyB,EAAE,4BAA4B;AACnE,SAAS;AACT,UAAU,eAAe,CAAC;AAC1B,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,oBAAoB,EAAE,yBAAyB,GAAG,EAAE,EAAE,8BAA8B,GAAG,KAAK,EAAE,sBAAsB,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC;AACvL,IAAI,MAAM,EAAE,6BAA6B,GAAG,OAAO,EAAE,8BAA8B,EAAE,GAAG,yBAAyB,CAAC;AAClH,IAAI,MAAM,SAAS,GAAG,8BAA8B;AACpD,UAAU,6BAA6B,CAAC,MAAM,EAAE,cAAc,CAAC;AAC/D,UAAU,cAAc,CAAC;AACzB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;AAC/C,QAAQ,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,QAAQ,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC;AAClD,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE;AACrC,YAAY,IAAI,YAAY,KAAK,UAAU,EAAE;AAC7C,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,+CAA+C,EAAE,aAAa,CAAC,gEAAgE,CAAC,CAAC,CAAC;AAC/K,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,IAAI,YAAY,KAAK,QAAQ,EAAE;AAC3C,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,+CAA+C,EAAE,aAAa,CAAC,+CAA+C,CAAC,CAAC,CAAC;AAC9J,aAAa;AACb,YAAY,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,YAAY,IAAI,IAAI,IAAI,IAAI,EAAE;AAC9B,gBAAgB,IAAI,6BAA6B,KAAK,QAAQ,EAAE;AAChE,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,yCAAyC,CAAC,CAAC,CAAC;AACzF,aAAa;AACb,iBAAiB,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;AAClD;AACA,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACnE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAChD,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AACnD,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;AACvE,wBAAwB,6BAA6B;AACrD,wBAAwB,6BAA6B,KAAK,QAAQ,EAAE;AACpE,wBAAwB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,kDAAkD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnI,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;AACxC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AACnD,wBAAwB,6BAA6B;AACrD,wBAAwB,6BAA6B,KAAK,QAAQ,EAAE;AACpE,wBAAwB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,+BAA+B,EAAE,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACnJ,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;AAClE,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACrD,wBAAwB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACxD,wBAAwB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACxD,wBAAwB,IAAI,KAAK,IAAI,IAAI,IAAI,6BAA6B,IAAI,6BAA6B,KAAK,QAAQ,EAAE;AAC1H,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,wCAAwC,CAAC,CAAC,CAAC;AAChH,yBAAyB;AACzB,wBAAwB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACtE,wBAAwB,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;AACpG,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC5G,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,GAAG,sBAAsB;AACnC,UAAU,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC;AAC/E,UAAU,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAChF,IAAI,2BAA2B,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;AACxE,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;AAC/E,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACxC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;AAC/C,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE;AACrC,YAAY,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;AACpC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC/D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;AAC9E,wBAAwB,IAAI,CAAC,OAAO,GAAG;AACvC,4BAA4B,GAAG,IAAI,CAAC,OAAO;AAC3C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;AACzO,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAC9R,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;AAClG,wBAAwB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACvP,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI;AAC/C,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACvG,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACnE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;AACzD,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAChF,wBAAwB,MAAM,CAAC,OAAO,GAAG;AACzC,4BAA4B,GAAG,MAAM,CAAC,OAAO;AAC7C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC3O,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChS,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;AACpG,wBAAwB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9M,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI;AAC/C,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACvG,qBAAqB;AACrB,yBAAyB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAC5D,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACvF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AAChE,aAAa;AACb,iBAAiB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;AACxC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;AAClE,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD;AACA,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,wBAAwB,OAAO;AAC/B,qBAAqB;AACrB,oBAAoB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACpD,oBAAoB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACpD,oBAAoB,IAAI,KAAK,IAAI,IAAI,EAAE;AACvC,wBAAwB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACtE,wBAAwB,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AAChE;AACA,4BAA4B,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AACzD,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACpE,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP;AACA,IAAI,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACrD;AACA,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AACvB;AACA,IAAI,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACjD,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE;AACtC,QAAQ,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI;AACtC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAChC,gBAAgB,KAAK,CAAC,OAAO,GAAG,oBAAoB,CAAC;AACrD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;AAC/E,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;AAC/B,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI;AAC1C,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3C,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,aAAa,IAAI,IAAI,EAAE;AACvE,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAChF,wBAAwB,MAAM,CAAC,OAAO,GAAG;AACzC,4BAA4B,GAAG,MAAM,CAAC,OAAO;AAC7C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC3O,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChS,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;AACpG,wBAAwB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9M,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,MAAM,CAAC,UAAU,IAAI,IAAI;AACjD,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACzG,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACrE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,IAAI;AACxC,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3C,YAAY,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;AACrD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAChF,wBAAwB,MAAM,CAAC,OAAO,GAAG;AACzC,4BAA4B,GAAG,MAAM,CAAC,OAAO;AAC7C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC3O,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChS,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;AACpG,wBAAwB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9M,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,MAAM,CAAC,UAAU,IAAI,IAAI;AACjD,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACzG,qBAAqB;AACrB,yBAAyB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAC5D,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACvF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,IAAI;AACzC,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI;AAC1C,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,IAAI;AAC7C,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,KAAK;AAC5E,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAC9D,gBAAgB,IAAI,YAAY,IAAI,IAAI,EAAE;AAC1C,oBAAoB,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;AAC9D,oBAAoB,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AAC5D;AACA,wBAAwB,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC;AAC9D,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACzE,qBAAqB;AACrB,oBAAoB,OAAO,cAAc,CAAC;AAC1C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE;AACtC,QAAQ,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;AACnC,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,KAAK;AACvD,gBAAgB,GAAG,WAAW;AAC9B,gBAAgB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,GAAG,oBAAoB;AACjG,aAAa,CAAC;AACd,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE;AAClD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI;AACvD,QAAQ,KAAK,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAC1D,KAAK,CAAC,CAAC;AACP;;ACvUO,SAAS,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE;AACxD,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;AAC1C,QAAQ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,MAAM;AAC1E,YAAY,GAAG,WAAW;AAC1B,YAAY,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAChG,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP;;ACbA,SAAS,wBAAwB,CAAC,EAAE,EAAE,IAAI,EAAE;AAC5C,IAAI,MAAM,OAAO,GAAG,EAAE,IAAI,IAAI,GAAG,oBAAoB,GAAG,EAAE,CAAC;AAC3D,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtD,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC3C,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACzE,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN,CAAC;AACM,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,MAAM;AAC1E,YAAY,GAAG,WAAW;AAC1B,YAAY,OAAO,EAAE,wBAAwB,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9F,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,IAAI,EAAE,yBAAyB,GAAG,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,8BAA8B,GAAG,KAAK,EAAE,cAAc,GAAG,EAAE;AACpR;AACA,IAAI,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE;AACvD,QAAQ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAChF,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,QAAQ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACjD,KAAK;AACL;AACA,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;AAC/F;AACA,IAAI,IAAI,MAAM,GAAG,8BAA8B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACxE,IAAI,MAAM,GAAG,oBAAoB,CAAC;AAClC,QAAQ,MAAM;AACd,QAAQ,SAAS,EAAE,WAAW;AAC9B,QAAQ,yBAAyB;AACjC,QAAQ,8BAA8B;AACtC,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3D,QAAQ,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAClC,QAAQ,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;AACxB,QAAQ,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,IAAI,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;AACrD;AACA;AACA,QAAQ,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,gBAAgB,CAAC,OAAO,CAAC,eAAe,IAAI;AAChD,QAAQ,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACzC,KAAK,CAAC,CAAC;AACP;AACA;AACA,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;AACpC,QAAQ,MAAM,GAAG,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AACtE,KAAK;AACL,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAClC,QAAQ,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,OAAO,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,CAAC;AACzE;;;;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../dist/schema/src/addSchemaLevelResolver.js","../../../dist/schema/src/assertResolversPresent.js","../../../dist/schema/src/attachDirectiveResolvers.js","../../../dist/schema/src/extensionDefinitions.js","../../../dist/schema/src/concatenateTypeDefs.js","../../../dist/schema/src/buildSchemaFromTypeDefinitions.js","../../../dist/schema/src/chainResolvers.js","../../../dist/schema/src/decorateWithLogger.js","../../../dist/schema/src/checkForResolveTypeResolver.js","../../../dist/schema/src/extendResolversFromInterfaces.js","../../../dist/schema/src/addResolversToSchema.js","../../../dist/schema/src/addErrorLoggingToSchema.js","../../../dist/schema/src/addCatchUndefinedToSchema.js","../../../dist/schema/src/makeExecutableSchema.js"],"sourcesContent":["import { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\n// wraps all resolvers of query, mutation or subscription fields\n// with the provided function to simulate a root schema level resolver\nexport function addSchemaLevelResolver(schema, fn) {\n // TODO test that schema is a schema, fn is a function\n const fnToRunOnlyOnce = runAtMostOncePerRequest(fn);\n return mapSchema(schema, {\n [MapperKind.ROOT_FIELD]: (fieldConfig, _fieldName, typeName, schema) => {\n // XXX this should run at most once per request to simulate a true root resolver\n // for graphql-js this is an approximation that works with queries but not mutations\n // XXX if the type is a subscription, a same query AST will be ran multiple times so we\n // deactivate here the runOnce if it's a subscription. This may not be optimal though...\n const subscription = schema.getSubscriptionType();\n if (subscription != null && subscription.name === typeName) {\n return {\n ...fieldConfig,\n resolve: wrapResolver(fieldConfig.resolve, fn),\n };\n }\n return {\n ...fieldConfig,\n resolve: wrapResolver(fieldConfig.resolve, fnToRunOnlyOnce),\n };\n },\n });\n}\n// XXX badly named function. this doesn't really wrap, it just chains resolvers...\nfunction wrapResolver(innerResolver, outerResolver) {\n return (obj, args, ctx, info) => resolveMaybePromise(outerResolver(obj, args, ctx, info), root => {\n if (innerResolver != null) {\n return innerResolver(root, args, ctx, info);\n }\n return defaultFieldResolver(root, args, ctx, info);\n });\n}\nfunction isPromise(maybePromise) {\n return maybePromise && typeof maybePromise.then === 'function';\n}\n// resolvers can be synchronous or asynchronous. if all resolvers\n// in an operation return synchronously, the execution should return\n// synchronously. the maybe-sync/maybe-async nature of resolvers should be\n// preserved\nfunction resolveMaybePromise(maybePromise, fulfillmentCallback) {\n if (isPromise(maybePromise)) {\n return maybePromise.then(fulfillmentCallback);\n }\n return fulfillmentCallback(maybePromise);\n}\n// XXX this function only works for resolvers\n// XXX very hacky way to remember if the function\n// already ran for this request. This will only work\n// if people don't actually cache the operation.\n// if they do cache the operation, they will have to\n// manually remove the __runAtMostOnce before every request.\nfunction runAtMostOncePerRequest(fn) {\n let value;\n const randomNumber = Math.random();\n return (root, args, ctx, info) => {\n if (!info.operation['__runAtMostOnce']) {\n info.operation['__runAtMostOnce'] = {};\n }\n if (!info.operation['__runAtMostOnce'][randomNumber]) {\n info.operation['__runAtMostOnce'][randomNumber] = true;\n value = fn(root, args, ctx, info);\n }\n return value;\n };\n}\n//# sourceMappingURL=addSchemaLevelResolver.js.map","import { getNamedType, isScalarType } from 'graphql';\nimport { forEachField } from '@graphql-tools/utils';\nexport function assertResolversPresent(schema, resolverValidationOptions = {}) {\n const { requireResolversForArgs, requireResolversForNonScalar, requireResolversForAllFields, } = resolverValidationOptions;\n if (requireResolversForAllFields && (requireResolversForArgs || requireResolversForNonScalar)) {\n throw new TypeError('requireResolversForAllFields takes precedence over the more specific assertions. ' +\n 'Please configure either requireResolversForAllFields or requireResolversForArgs / ' +\n 'requireResolversForNonScalar, but not a combination of them.');\n }\n forEachField(schema, (field, typeName, fieldName) => {\n // requires a resolver for *every* field.\n if (requireResolversForAllFields) {\n expectResolver('requireResolversForAllFields', requireResolversForAllFields, field, typeName, fieldName);\n }\n // requires a resolver on every field that has arguments\n if (requireResolversForArgs && field.args.length > 0) {\n expectResolver('requireResolversForArgs', requireResolversForArgs, field, typeName, fieldName);\n }\n // requires a resolver on every field that returns a non-scalar type\n if (requireResolversForNonScalar !== 'ignore' && !isScalarType(getNamedType(field.type))) {\n expectResolver('requireResolversForNonScalar', requireResolversForNonScalar, field, typeName, fieldName);\n }\n });\n}\nfunction expectResolver(validator, behavior, field, typeName, fieldName) {\n if (!field.resolve) {\n const message = `Resolver missing for \"${typeName}.${fieldName}\".\nTo disable this validator, use:\n resolverValidationOptions: {\n ${validator}: 'ignore'\n }`;\n if (behavior === 'error') {\n throw new Error(message);\n }\n if (behavior === 'warn') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n return;\n }\n if (typeof field.resolve !== 'function') {\n throw new Error(`Resolver \"${typeName}.${fieldName}\" must be a function`);\n }\n}\n//# sourceMappingURL=assertResolversPresent.js.map","import { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind, getDirectives } from '@graphql-tools/utils';\nexport function attachDirectiveResolvers(schema, directiveResolvers) {\n if (typeof directiveResolvers !== 'object') {\n throw new Error(`Expected directiveResolvers to be of type object, got ${typeof directiveResolvers}`);\n }\n if (Array.isArray(directiveResolvers)) {\n throw new Error('Expected directiveResolvers to be of type object, got Array');\n }\n return mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: fieldConfig => {\n const newFieldConfig = { ...fieldConfig };\n const directives = getDirectives(schema, fieldConfig);\n Object.keys(directives).forEach(directiveName => {\n if (directiveResolvers[directiveName]) {\n const resolver = directiveResolvers[directiveName];\n const originalResolver = newFieldConfig.resolve != null ? newFieldConfig.resolve : defaultFieldResolver;\n const directiveArgs = directives[directiveName];\n newFieldConfig.resolve = (source, originalArgs, context, info) => {\n return resolver(() => new Promise((resolve, reject) => {\n const result = originalResolver(source, originalArgs, context, info);\n if (result instanceof Error) {\n reject(result);\n }\n resolve(result);\n }), source, directiveArgs, context, info);\n };\n }\n });\n return newFieldConfig;\n },\n });\n}\n//# sourceMappingURL=attachDirectiveResolvers.js.map","import { Kind } from 'graphql';\nconst isExtensionNode = (def) => def.kind === Kind.OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.INTERFACE_TYPE_EXTENSION ||\n def.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||\n def.kind === Kind.UNION_TYPE_EXTENSION ||\n def.kind === Kind.ENUM_TYPE_EXTENSION ||\n def.kind === Kind.SCALAR_TYPE_EXTENSION ||\n def.kind === Kind.SCHEMA_EXTENSION;\nexport function filterAndExtractExtensionDefinitions(ast) {\n const extensionDefs = [];\n const typesDefs = [];\n ast.definitions.forEach(def => {\n if (isExtensionNode(def)) {\n extensionDefs.push(def);\n }\n else {\n typesDefs.push(def);\n }\n });\n return {\n typesAst: {\n ...ast,\n definitions: typesDefs,\n },\n extensionsAst: {\n ...ast,\n definitions: extensionDefs,\n },\n };\n}\nexport function filterExtensionDefinitions(ast) {\n const { typesAst } = filterAndExtractExtensionDefinitions(ast);\n return typesAst;\n}\nexport function extractExtensionDefinitions(ast) {\n const { extensionsAst } = filterAndExtractExtensionDefinitions(ast);\n return extensionsAst;\n}\n//# sourceMappingURL=extensionDefinitions.js.map","import { print } from 'graphql';\nexport function concatenateTypeDefs(typeDefinitionsAry, calledFunctionRefs = new Set()) {\n const resolvedTypeDefinitions = new Set();\n typeDefinitionsAry.forEach((typeDef) => {\n if (typeof typeDef === 'function') {\n if (!calledFunctionRefs.has(typeDef)) {\n calledFunctionRefs.add(typeDef);\n resolvedTypeDefinitions.add(concatenateTypeDefs(typeDef(), calledFunctionRefs));\n }\n }\n else if (typeof typeDef === 'string') {\n resolvedTypeDefinitions.add(typeDef.trim());\n }\n else if (typeDef.kind !== undefined) {\n resolvedTypeDefinitions.add(print(typeDef).trim());\n }\n else {\n const type = typeof typeDef;\n throw new Error(`typeDef array must contain only strings, documents, or functions, got ${type}`);\n }\n });\n return [...resolvedTypeDefinitions].join('\\n');\n}\n//# sourceMappingURL=concatenateTypeDefs.js.map","import { extendSchema, buildASTSchema } from 'graphql';\nimport { parseGraphQLSDL, isDocumentNode } from '@graphql-tools/utils';\nimport { filterAndExtractExtensionDefinitions } from './extensionDefinitions';\nimport { concatenateTypeDefs } from './concatenateTypeDefs';\nexport function buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions, noExtensionExtraction) {\n const document = buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions);\n if (noExtensionExtraction) {\n return buildASTSchema(document);\n }\n const { typesAst, extensionsAst } = filterAndExtractExtensionDefinitions(document);\n const backcompatOptions = { commentDescriptions: true };\n let schema = buildASTSchema(typesAst, backcompatOptions);\n if (extensionsAst.definitions.length > 0) {\n schema = extendSchema(schema, extensionsAst, backcompatOptions);\n }\n return schema;\n}\nexport function buildDocumentFromTypeDefinitions(typeDefinitions, parseOptions) {\n let document;\n if (typeof typeDefinitions === 'string') {\n document = parseGraphQLSDL('', typeDefinitions, parseOptions).document;\n }\n else if (Array.isArray(typeDefinitions)) {\n document = parseGraphQLSDL('', concatenateTypeDefs(typeDefinitions), parseOptions).document;\n }\n else if (isDocumentNode(typeDefinitions)) {\n document = typeDefinitions;\n }\n else {\n const type = typeof typeDefinitions;\n throw new Error(`typeDefs must be a string, array or schema AST, got ${type}`);\n }\n return document;\n}\n//# sourceMappingURL=buildSchemaFromTypeDefinitions.js.map","import { defaultFieldResolver } from 'graphql';\nexport function chainResolvers(resolvers) {\n return (root, args, ctx, info) => resolvers.reduce((prev, curResolver) => {\n if (curResolver != null) {\n return curResolver(prev, args, ctx, info);\n }\n return defaultFieldResolver(prev, args, ctx, info);\n }, root);\n}\n//# sourceMappingURL=chainResolvers.js.map","import { defaultFieldResolver } from 'graphql';\n/*\n * fn: The function to decorate with the logger\n * logger: an object instance of type Logger\n * hint: an optional hint to add to the error's message\n */\nexport function decorateWithLogger(fn, logger, hint) {\n const resolver = fn != null ? fn : defaultFieldResolver;\n const logError = (e) => {\n // TODO: clone the error properly\n const newE = new Error();\n newE.stack = e.stack;\n /* istanbul ignore else: always get the hint from addErrorLoggingToSchema */\n if (hint) {\n newE['originalMessage'] = e.message;\n newE.message = `Error in resolver ${hint}\\n${e.message}`;\n }\n logger.log(newE);\n };\n return (root, args, ctx, info) => {\n try {\n const result = resolver(root, args, ctx, info);\n // If the resolver returns a Promise log any Promise rejects.\n if (result && typeof result.then === 'function' && typeof result.catch === 'function') {\n result.catch((reason) => {\n // make sure that it's an error we're logging.\n const error = reason instanceof Error ? reason : new Error(reason);\n logError(error);\n // We don't want to leave an unhandled exception so pass on error.\n return reason;\n });\n }\n return result;\n }\n catch (e) {\n logError(e);\n // we want to pass on the error, just in case.\n throw e;\n }\n };\n}\n//# sourceMappingURL=decorateWithLogger.js.map","import { MapperKind, mapSchema } from '@graphql-tools/utils';\n// If we have any union or interface types throw if no there is no resolveType resolver\nexport function checkForResolveTypeResolver(schema, requireResolversForResolveType) {\n mapSchema(schema, {\n [MapperKind.ABSTRACT_TYPE]: type => {\n if (!type.resolveType) {\n const message = `Type \"${type.name}\" is missing a \"__resolveType\" resolver. Pass 'ignore' into ` +\n '\"resolverValidationOptions.requireResolversForResolveType\" to disable this error.';\n if (requireResolversForResolveType === 'error') {\n throw new Error(message);\n }\n if (requireResolversForResolveType === 'warn') {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n }\n return undefined;\n },\n });\n}\n//# sourceMappingURL=checkForResolveTypeResolver.js.map","export function extendResolversFromInterfaces(schema, resolvers) {\n const typeNames = Object.keys({\n ...schema.getTypeMap(),\n ...resolvers,\n });\n const extendedResolvers = {};\n typeNames.forEach(typeName => {\n const type = schema.getType(typeName);\n if ('getInterfaces' in type) {\n const allInterfaceResolvers = type\n .getInterfaces()\n .map(iFace => resolvers[iFace.name])\n .filter(interfaceResolvers => interfaceResolvers != null);\n extendedResolvers[typeName] = {};\n allInterfaceResolvers.forEach(interfaceResolvers => {\n Object.keys(interfaceResolvers).forEach(fieldName => {\n if (fieldName === '__isTypeOf' || !fieldName.startsWith('__')) {\n extendedResolvers[typeName][fieldName] = interfaceResolvers[fieldName];\n }\n });\n });\n const typeResolvers = resolvers[typeName];\n extendedResolvers[typeName] = {\n ...extendedResolvers[typeName],\n ...typeResolvers,\n };\n }\n else {\n const typeResolvers = resolvers[typeName];\n if (typeResolvers != null) {\n extendedResolvers[typeName] = typeResolvers;\n }\n }\n });\n return extendedResolvers;\n}\n//# sourceMappingURL=extendResolversFromInterfaces.js.map","import { GraphQLEnumType, isSchema, GraphQLScalarType, GraphQLUnionType, GraphQLInterfaceType, GraphQLObjectType, isSpecifiedScalarType, isScalarType, isEnumType, isUnionType, isInterfaceType, isObjectType, } from 'graphql';\nimport { mapSchema, MapperKind, forEachDefaultValue, serializeInputValue, healSchema, parseInputValue, forEachField, } from '@graphql-tools/utils';\nimport { checkForResolveTypeResolver } from './checkForResolveTypeResolver';\nimport { extendResolversFromInterfaces } from './extendResolversFromInterfaces';\nexport function addResolversToSchema(schemaOrOptions, legacyInputResolvers, legacyInputValidationOptions) {\n const options = isSchema(schemaOrOptions)\n ? {\n schema: schemaOrOptions,\n resolvers: legacyInputResolvers,\n resolverValidationOptions: legacyInputValidationOptions,\n }\n : schemaOrOptions;\n let { schema, resolvers: inputResolvers, defaultFieldResolver, resolverValidationOptions = {}, inheritResolversFromInterfaces = false, updateResolversInPlace = false, } = options;\n const { requireResolversToMatchSchema = 'error', requireResolversForResolveType } = resolverValidationOptions;\n const resolvers = inheritResolversFromInterfaces\n ? extendResolversFromInterfaces(schema, inputResolvers)\n : inputResolvers;\n Object.keys(resolvers).forEach(typeName => {\n const resolverValue = resolvers[typeName];\n const resolverType = typeof resolverValue;\n if (typeName === '__schema') {\n if (resolverType !== 'function') {\n throw new Error(`\"${typeName}\" defined in resolvers, but has invalid value \"${resolverValue}\". A schema resolver's value must be of type object or function.`);\n }\n }\n else {\n if (resolverType !== 'object') {\n throw new Error(`\"${typeName}\" defined in resolvers, but has invalid value \"${resolverValue}\". The resolver's value must be of type object.`);\n }\n const type = schema.getType(typeName);\n if (type == null) {\n if (requireResolversToMatchSchema === 'ignore') {\n return;\n }\n throw new Error(`\"${typeName}\" defined in resolvers, but not in schema`);\n }\n else if (isSpecifiedScalarType(type)) {\n // allow -- without recommending -- overriding of specified scalar types\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n type[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else {\n type[fieldName] = resolverValue[fieldName];\n }\n });\n }\n else if (isEnumType(type)) {\n const values = type.getValues();\n Object.keys(resolverValue).forEach(fieldName => {\n if (!fieldName.startsWith('__') &&\n !values.some(value => value.name === fieldName) &&\n requireResolversToMatchSchema &&\n requireResolversToMatchSchema !== 'ignore') {\n throw new Error(`${type.name}.${fieldName} was defined in resolvers, but not present within ${type.name}`);\n }\n });\n }\n else if (isUnionType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (!fieldName.startsWith('__') &&\n requireResolversToMatchSchema &&\n requireResolversToMatchSchema !== 'ignore') {\n throw new Error(`${type.name}.${fieldName} was defined in resolvers, but ${type.name} is not an object or interface type`);\n }\n });\n }\n else if (isObjectType(type) || isInterfaceType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (!fieldName.startsWith('__')) {\n const fields = type.getFields();\n const field = fields[fieldName];\n if (field == null && requireResolversToMatchSchema && requireResolversToMatchSchema !== 'ignore') {\n throw new Error(`${typeName}.${fieldName} defined in resolvers, but not in schema`);\n }\n const fieldResolve = resolverValue[fieldName];\n if (typeof fieldResolve !== 'function' && typeof fieldResolve !== 'object') {\n throw new Error(`Resolver ${typeName}.${fieldName} must be object or function`);\n }\n }\n });\n }\n }\n });\n schema = updateResolversInPlace\n ? addResolversToExistingSchema(schema, resolvers, defaultFieldResolver)\n : createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver);\n if (requireResolversForResolveType || requireResolversForResolveType !== 'ignore') {\n checkForResolveTypeResolver(schema, requireResolversForResolveType);\n }\n return schema;\n}\nfunction addResolversToExistingSchema(schema, resolvers, defaultFieldResolver) {\n const typeMap = schema.getTypeMap();\n Object.keys(resolvers).forEach(typeName => {\n if (typeName !== '__schema') {\n const type = schema.getType(typeName);\n const resolverValue = resolvers[typeName];\n if (isScalarType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (fieldName.startsWith('__')) {\n type[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && type.astNode != null) {\n type.astNode = {\n ...type.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : type.astNode.description,\n directives: ((_d = type.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && type.extensionASTNodes != null) {\n type.extensionASTNodes = ((_h = []) !== null && _h !== void 0 ? _h : type.extensionASTNodes).concat((_k = (_j = resolverValue) === null || _j === void 0 ? void 0 : _j.extensionASTNodes) !== null && _k !== void 0 ? _k : []);\n }\n else if (fieldName === 'extensions' &&\n type.extensions != null &&\n resolverValue.extensions != null) {\n type.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else {\n type[fieldName] = resolverValue[fieldName];\n }\n });\n }\n else if (isEnumType(type)) {\n const config = type.toConfig();\n const enumValueConfigMap = config.values;\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = {\n ...config.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description,\n directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n type.extensions != null &&\n resolverValue.extensions != null) {\n type.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else if (enumValueConfigMap[fieldName]) {\n enumValueConfigMap[fieldName].value = resolverValue[fieldName];\n }\n });\n typeMap[typeName] = new GraphQLEnumType(config);\n }\n else if (isUnionType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n type[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n }\n else if (isObjectType(type) || isInterfaceType(type)) {\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n // this is for isTypeOf and resolveType and all the other stuff.\n type[fieldName.substring(2)] = resolverValue[fieldName];\n return;\n }\n const fields = type.getFields();\n const field = fields[fieldName];\n if (field != null) {\n const fieldResolve = resolverValue[fieldName];\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n field.resolve = fieldResolve;\n }\n else {\n setFieldProperties(field, fieldResolve);\n }\n }\n });\n }\n }\n });\n // serialize all default values prior to healing fields with new scalar/enum types.\n forEachDefaultValue(schema, serializeInputValue);\n // schema may have new scalar/enum types that require healing\n healSchema(schema);\n // reparse all default values with new parsing functions.\n forEachDefaultValue(schema, parseInputValue);\n if (defaultFieldResolver != null) {\n forEachField(schema, field => {\n if (!field.resolve) {\n field.resolve = defaultFieldResolver;\n }\n });\n }\n return schema;\n}\nfunction createNewSchemaWithResolvers(schema, resolvers, defaultFieldResolver) {\n schema = mapSchema(schema, {\n [MapperKind.SCALAR_TYPE]: type => {\n const config = type.toConfig();\n const resolverValue = resolvers[type.name];\n if (!isSpecifiedScalarType(type) && resolverValue != null) {\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = {\n ...config.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description,\n directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else {\n config[fieldName] = resolverValue[fieldName];\n }\n });\n return new GraphQLScalarType(config);\n }\n },\n [MapperKind.ENUM_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n const config = type.toConfig();\n const enumValueConfigMap = config.values;\n if (resolverValue != null) {\n Object.keys(resolverValue).forEach(fieldName => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n else if (fieldName === 'astNode' && config.astNode != null) {\n config.astNode = {\n ...config.astNode,\n description: (_c = (_b = (_a = resolverValue) === null || _a === void 0 ? void 0 : _a.astNode) === null || _b === void 0 ? void 0 : _b.description) !== null && _c !== void 0 ? _c : config.astNode.description,\n directives: ((_d = config.astNode.directives) !== null && _d !== void 0 ? _d : []).concat((_g = (_f = (_e = resolverValue) === null || _e === void 0 ? void 0 : _e.astNode) === null || _f === void 0 ? void 0 : _f.directives) !== null && _g !== void 0 ? _g : []),\n };\n }\n else if (fieldName === 'extensionASTNodes' && config.extensionASTNodes != null) {\n config.extensionASTNodes = config.extensionASTNodes.concat((_j = (_h = resolverValue) === null || _h === void 0 ? void 0 : _h.extensionASTNodes) !== null && _j !== void 0 ? _j : []);\n }\n else if (fieldName === 'extensions' &&\n config.extensions != null &&\n resolverValue.extensions != null) {\n config.extensions = Object.assign({}, type.extensions, resolverValue.extensions);\n }\n else if (enumValueConfigMap[fieldName]) {\n enumValueConfigMap[fieldName].value = resolverValue[fieldName];\n }\n });\n return new GraphQLEnumType(config);\n }\n },\n [MapperKind.UNION_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n const config = type.toConfig();\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLUnionType(config);\n }\n },\n [MapperKind.OBJECT_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n const config = type.toConfig();\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLObjectType(config);\n }\n },\n [MapperKind.INTERFACE_TYPE]: type => {\n const resolverValue = resolvers[type.name];\n if (resolverValue != null) {\n const config = type.toConfig();\n Object.keys(resolverValue).forEach(fieldName => {\n if (fieldName.startsWith('__')) {\n config[fieldName.substring(2)] = resolverValue[fieldName];\n }\n });\n return new GraphQLInterfaceType(config);\n }\n },\n [MapperKind.COMPOSITE_FIELD]: (fieldConfig, fieldName, typeName) => {\n const resolverValue = resolvers[typeName];\n if (resolverValue != null) {\n const fieldResolve = resolverValue[fieldName];\n if (fieldResolve != null) {\n const newFieldConfig = { ...fieldConfig };\n if (typeof fieldResolve === 'function') {\n // for convenience. Allows shorter syntax in resolver definition file\n newFieldConfig.resolve = fieldResolve;\n }\n else {\n setFieldProperties(newFieldConfig, fieldResolve);\n }\n return newFieldConfig;\n }\n }\n },\n });\n if (defaultFieldResolver != null) {\n schema = mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: fieldConfig => ({\n ...fieldConfig,\n resolve: fieldConfig.resolve != null ? fieldConfig.resolve : defaultFieldResolver,\n }),\n });\n }\n return schema;\n}\nfunction setFieldProperties(field, propertiesObj) {\n Object.keys(propertiesObj).forEach(propertyName => {\n field[propertyName] = propertiesObj[propertyName];\n });\n}\n//# sourceMappingURL=addResolversToSchema.js.map","import { mapSchema, MapperKind } from '@graphql-tools/utils';\nimport { decorateWithLogger } from './decorateWithLogger';\nexport function addErrorLoggingToSchema(schema, logger) {\n if (!logger) {\n throw new Error('Must provide a logger');\n }\n if (typeof logger.log !== 'function') {\n throw new Error('Logger.log must be a function');\n }\n return mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: (fieldConfig, fieldName, typeName) => ({\n ...fieldConfig,\n resolve: decorateWithLogger(fieldConfig.resolve, logger, `${typeName}.${fieldName}`),\n }),\n });\n}\n//# sourceMappingURL=addErrorLoggingToSchema.js.map","import { defaultFieldResolver } from 'graphql';\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nfunction decorateToCatchUndefined(fn, hint) {\n const resolve = fn == null ? defaultFieldResolver : fn;\n return (root, args, ctx, info) => {\n const result = resolve(root, args, ctx, info);\n if (typeof result === 'undefined') {\n throw new Error(`Resolver for \"${hint}\" returned undefined`);\n }\n return result;\n };\n}\nexport function addCatchUndefinedToSchema(schema) {\n return mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: (fieldConfig, fieldName, typeName) => ({\n ...fieldConfig,\n resolve: decorateToCatchUndefined(fieldConfig.resolve, `${typeName}.${fieldName}`),\n }),\n });\n}\n//# sourceMappingURL=addCatchUndefinedToSchema.js.map","import { mergeDeep, SchemaDirectiveVisitor, pruneSchema } from '@graphql-tools/utils';\nimport { addResolversToSchema } from './addResolversToSchema';\nimport { attachDirectiveResolvers } from './attachDirectiveResolvers';\nimport { assertResolversPresent } from './assertResolversPresent';\nimport { addSchemaLevelResolver } from './addSchemaLevelResolver';\nimport { buildSchemaFromTypeDefinitions } from './buildSchemaFromTypeDefinitions';\nimport { addErrorLoggingToSchema } from './addErrorLoggingToSchema';\nimport { addCatchUndefinedToSchema } from './addCatchUndefinedToSchema';\n/**\n * Builds a schema from the provided type definitions and resolvers.\n *\n * The type definitions are written using Schema Definition Language (SDL). They\n * can be provided as a string, a `DocumentNode`, a function, or an array of any\n * of these. If a function is provided, it will be passed no arguments and\n * should return an array of strings or `DocumentNode`s.\n *\n * Note: You can use `graphql-tag` to not only parse a string into a\n * `DocumentNode` but also to provide additional syntax highlighting in your\n * editor (with the appropriate editor plugin).\n *\n * ```js\n * const typeDefs = gql`\n * type Query {\n * posts: [Post]\n * author(id: Int!): Author\n * }\n * `;\n * ```\n *\n * The `resolvers` object should be a map of type names to nested object, which\n * themselves map the type's fields to their appropriate resolvers.\n * See the [Resolvers](/docs/resolvers) section of the documentation for more details.\n *\n * ```js\n * const resolvers = {\n * Query: {\n * posts: (obj, args, ctx, info) => getAllPosts(),\n * author: (obj, args, ctx, info) => getAuthorById(args.id)\n * }\n * };\n * ```\n *\n * Once you've defined both the `typeDefs` and `resolvers`, you can create your\n * schema:\n *\n * ```js\n * const schema = makeExecutableSchema({\n * typeDefs,\n * resolvers,\n * })\n * ```\n */\nexport function makeExecutableSchema({ typeDefs, resolvers = {}, logger, allowUndefinedInResolve = true, resolverValidationOptions = {}, directiveResolvers, schemaDirectives, schemaTransforms: userProvidedSchemaTransforms, parseOptions = {}, inheritResolversFromInterfaces = false, pruningOptions, updateResolversInPlace = false, noExtensionExtraction = false, }) {\n // Validate and clean up arguments\n if (typeof resolverValidationOptions !== 'object') {\n throw new Error('Expected `resolverValidationOptions` to be an object');\n }\n if (!typeDefs) {\n throw new Error('Must provide typeDefs');\n }\n // Arguments are now validated and cleaned up\n const schemaTransforms = [\n schema => {\n // We allow passing in an array of resolver maps, in which case we merge them\n const resolverMap = Array.isArray(resolvers) ? resolvers.reduce(mergeDeep, {}) : resolvers;\n const schemaWithResolvers = addResolversToSchema({\n schema,\n resolvers: resolverMap,\n resolverValidationOptions,\n inheritResolversFromInterfaces,\n updateResolversInPlace,\n });\n if (Object.keys(resolverValidationOptions).length > 0) {\n assertResolversPresent(schemaWithResolvers, resolverValidationOptions);\n }\n return schemaWithResolvers;\n },\n ];\n if (!allowUndefinedInResolve) {\n schemaTransforms.push(addCatchUndefinedToSchema);\n }\n if (logger != null) {\n schemaTransforms.push(schema => addErrorLoggingToSchema(schema, logger));\n }\n if (typeof resolvers['__schema'] === 'function') {\n // TODO a bit of a hack now, better rewrite generateSchema to attach it there.\n // not doing that now, because I'd have to rewrite a lot of tests.\n schemaTransforms.push(schema => addSchemaLevelResolver(schema, resolvers['__schema']));\n }\n if (userProvidedSchemaTransforms) {\n schemaTransforms.push(schema => userProvidedSchemaTransforms.reduce((s, schemaTransform) => schemaTransform(s), schema));\n }\n // directive resolvers are implemented using SchemaDirectiveVisitor.visitSchemaDirectives\n // schema visiting modifies the schema in place\n if (directiveResolvers != null) {\n schemaTransforms.push(schema => attachDirectiveResolvers(schema, directiveResolvers));\n }\n if (schemaDirectives != null) {\n schemaTransforms.push(schema => {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);\n return schema;\n });\n }\n if (pruningOptions) {\n schemaTransforms.push(pruneSchema);\n }\n const schemaFromTypeDefs = buildSchemaFromTypeDefinitions(typeDefs, parseOptions, noExtensionExtraction);\n return schemaTransforms.reduce((schema, schemaTransform) => schemaTransform(schema), schemaFromTypeDefs);\n}\n//# sourceMappingURL=makeExecutableSchema.js.map"],"names":[],"mappings":";;;AAEA;AACA;AACO,SAAS,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE;AACnD;AACA,IAAI,MAAM,eAAe,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACxD,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK;AAChF;AACA;AACA;AACA;AACA,YAAY,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;AAC9D,YAAY,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE;AACxE,gBAAgB,OAAO;AACvB,oBAAoB,GAAG,WAAW;AAClC,oBAAoB,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;AAClE,iBAAiB,CAAC;AAClB,aAAa;AACb,YAAY,OAAO;AACnB,gBAAgB,GAAG,WAAW;AAC9B,gBAAgB,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC;AAC3E,aAAa,CAAC;AACd,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE;AACpD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,mBAAmB,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;AACtG,QAAQ,IAAI,aAAa,IAAI,IAAI,EAAE;AACnC,YAAY,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACxD,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,SAAS,CAAC,YAAY,EAAE;AACjC,IAAI,OAAO,YAAY,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,UAAU,CAAC;AACnE,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,EAAE;AAChE,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;AACjC,QAAQ,OAAO,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,IAAI,IAAI,KAAK,CAAC;AACd,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACvC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;AAChD,YAAY,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;AACnD,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,EAAE;AAC9D,YAAY,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AACnE,YAAY,KAAK,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK,CAAC;AACN;;AClEO,SAAS,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,EAAE,EAAE;AAC/E,IAAI,MAAM,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,4BAA4B,GAAG,GAAG,yBAAyB,CAAC;AAC/H,IAAI,IAAI,4BAA4B,KAAK,uBAAuB,IAAI,4BAA4B,CAAC,EAAE;AACnG,QAAQ,MAAM,IAAI,SAAS,CAAC,mFAAmF;AAC/G,YAAY,oFAAoF;AAChG,YAAY,8DAA8D,CAAC,CAAC;AAC5E,KAAK;AACL,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,KAAK;AACzD;AACA,QAAQ,IAAI,4BAA4B,EAAE;AAC1C,YAAY,cAAc,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrH,SAAS;AACT;AACA,QAAQ,IAAI,uBAAuB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9D,YAAY,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3G,SAAS;AACT;AACA,QAAQ,IAAI,4BAA4B,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;AAClG,YAAY,cAAc,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrH,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE;AACzE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACxB,QAAQ,MAAM,OAAO,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC;AACvE;AACA;AACA,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,CAAC,CAAC;AACL,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE;AAClC,YAAY,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;AACjC;AACA,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,SAAS;AACT,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AAC7C,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAClF,KAAK;AACL;;ACzCO,SAAS,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AACrE,IAAI,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;AAChD,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,sDAAsD,EAAE,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC9G,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;AAC3C,QAAQ,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,IAAI;AAClD,YAAY,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;AACtD,YAAY,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,YAAY,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI;AAC7D,gBAAgB,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE;AACvD,oBAAoB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;AACvE,oBAAoB,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,IAAI,IAAI,GAAG,cAAc,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAC5H,oBAAoB,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACpE,oBAAoB,cAAc,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,KAAK;AACtF,wBAAwB,OAAO,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC/E,4BAA4B,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACjG,4BAA4B,IAAI,MAAM,YAAY,KAAK,EAAE;AACzD,gCAAgC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/C,6BAA6B;AAC7B,4BAA4B,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5C,yBAAyB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,cAAc,CAAC;AAClC,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;AC/BA,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB;AACxE,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,wBAAwB;AAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,2BAA2B;AACjD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB;AAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB;AACzC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB;AAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC;AAChC,SAAS,oCAAoC,CAAC,GAAG,EAAE;AAC1D,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC;AAC7B,IAAI,MAAM,SAAS,GAAG,EAAE,CAAC;AACzB,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;AACnC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;AAClC,YAAY,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,aAAa;AACb,YAAY,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE;AAClB,YAAY,GAAG,GAAG;AAClB,YAAY,WAAW,EAAE,SAAS;AAClC,SAAS;AACT,QAAQ,aAAa,EAAE;AACvB,YAAY,GAAG,GAAG;AAClB,YAAY,WAAW,EAAE,aAAa;AACtC,SAAS;AACT,KAAK,CAAC;AACN,CAAC;AACM,SAAS,0BAA0B,CAAC,GAAG,EAAE;AAChD,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,oCAAoC,CAAC,GAAG,CAAC,CAAC;AACnE,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC;AACM,SAAS,2BAA2B,CAAC,GAAG,EAAE;AACjD,IAAI,MAAM,EAAE,aAAa,EAAE,GAAG,oCAAoC,CAAC,GAAG,CAAC,CAAC;AACxE,IAAI,OAAO,aAAa,CAAC;AACzB;;ACpCO,SAAS,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,GAAG,EAAE,EAAE;AACxF,IAAI,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAE,CAAC;AAC9C,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAC5C,QAAQ,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AAC3C,YAAY,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AAClD,gBAAgB,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAChD,gBAAgB,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAChG,aAAa;AACb,SAAS;AACT,aAAa,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC9C,YAAY,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxD,SAAS;AACT,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7C,YAAY,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,SAAS;AACT,aAAa;AACb,YAAY,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC;AACxC,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sEAAsE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7G,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,CAAC,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD;;AClBO,SAAS,8BAA8B,CAAC,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE;AACrG,IAAI,MAAM,QAAQ,GAAG,gCAAgC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AACrF,IAAI,IAAI,qBAAqB,EAAE;AAC/B,QAAQ,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,oCAAoC,CAAC,QAAQ,CAAC,CAAC;AACvF,IAAI,MAAM,iBAAiB,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AAC5D,IAAI,IAAI,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC7D,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,QAAQ,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;AACxE,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACM,SAAS,gCAAgC,CAAC,eAAe,EAAE,YAAY,EAAE;AAChF,IAAI,IAAI,QAAQ,CAAC;AACjB,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;AAC7C,QAAQ,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;AAC/E,KAAK;AACL,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC7C,QAAQ,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;AACpG,KAAK;AACL,SAAS,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE;AAC9C,QAAQ,QAAQ,GAAG,eAAe,CAAC;AACnC,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,OAAO,eAAe,CAAC;AAC5C,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oDAAoD,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC;AACpB;;AChCO,SAAS,cAAc,CAAC,SAAS,EAAE;AAC1C,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK;AAC9E,QAAQ,IAAI,WAAW,IAAI,IAAI,EAAE;AACjC,YAAY,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtD,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,KAAK,EAAE,IAAI,CAAC,CAAC;AACb;;ACPA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;AACrD,IAAI,MAAM,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,oBAAoB,CAAC;AAC5D,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK;AAC5B;AACA,QAAQ,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC7B;AACA,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AAChD,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,QAAQ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAQ,IAAI;AACZ,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D;AACA,YAAY,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;AACnG,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK;AACzC;AACA,oBAAoB,MAAM,KAAK,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AACvF,oBAAoB,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC;AACA,oBAAoB,OAAO,MAAM,CAAC;AAClC,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,OAAO,CAAC,EAAE;AAClB,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB;AACA,YAAY,MAAM,CAAC,CAAC;AACpB,SAAS;AACT,KAAK,CAAC;AACN;;ACvCA;AACO,SAAS,2BAA2B,CAAC,MAAM,EAAE,8BAA8B,EAAE;AACpF,IAAI,SAAS,CAAC,MAAM,EAAE;AACtB,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,IAAI;AAC5C,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACnC,gBAAgB,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,4DAA4D,CAAC;AAChH,oBAAoB,mFAAmF,CAAC;AACxG,gBAAgB,IAAI,8BAA8B,KAAK,OAAO,EAAE;AAChE,oBAAoB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7C,iBAAiB;AACjB,gBAAgB,IAAI,8BAA8B,KAAK,MAAM,EAAE;AAC/D;AACA,oBAAoB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,SAAS,CAAC;AAC7B,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;ACnBO,SAAS,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE;AACjE,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;AAClC,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE;AAC9B,QAAQ,GAAG,SAAS;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACjC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AAClC,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,eAAe,IAAI,IAAI,EAAE;AACrC,YAAY,MAAM,qBAAqB,GAAG,IAAI;AAC9C,iBAAiB,aAAa,EAAE;AAChC,iBAAiB,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,iBAAiB,MAAM,CAAC,kBAAkB,IAAI,kBAAkB,IAAI,IAAI,CAAC,CAAC;AAC1E,YAAY,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAC7C,YAAY,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,IAAI;AAChE,gBAAgB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AACrE,oBAAoB,IAAI,SAAS,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnF,wBAAwB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC/F,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,iBAAiB,CAAC,QAAQ,CAAC,GAAG;AAC1C,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC9C,gBAAgB,GAAG,aAAa;AAChC,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,iBAAiB,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;AAC5D,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,iBAAiB,CAAC;AAC7B;;AC/BO,SAAS,oBAAoB,CAAC,eAAe,EAAE,oBAAoB,EAAE,4BAA4B,EAAE;AAC1G,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC7C,UAAU;AACV,YAAY,MAAM,EAAE,eAAe;AACnC,YAAY,SAAS,EAAE,oBAAoB;AAC3C,YAAY,yBAAyB,EAAE,4BAA4B;AACnE,SAAS;AACT,UAAU,eAAe,CAAC;AAC1B,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,oBAAoB,EAAE,yBAAyB,GAAG,EAAE,EAAE,8BAA8B,GAAG,KAAK,EAAE,sBAAsB,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC;AACvL,IAAI,MAAM,EAAE,6BAA6B,GAAG,OAAO,EAAE,8BAA8B,EAAE,GAAG,yBAAyB,CAAC;AAClH,IAAI,MAAM,SAAS,GAAG,8BAA8B;AACpD,UAAU,6BAA6B,CAAC,MAAM,EAAE,cAAc,CAAC;AAC/D,UAAU,cAAc,CAAC;AACzB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;AAC/C,QAAQ,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,QAAQ,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC;AAClD,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE;AACrC,YAAY,IAAI,YAAY,KAAK,UAAU,EAAE;AAC7C,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,+CAA+C,EAAE,aAAa,CAAC,gEAAgE,CAAC,CAAC,CAAC;AAC/K,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,IAAI,YAAY,KAAK,QAAQ,EAAE;AAC3C,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,+CAA+C,EAAE,aAAa,CAAC,+CAA+C,CAAC,CAAC,CAAC;AAC9J,aAAa;AACb,YAAY,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,YAAY,IAAI,IAAI,IAAI,IAAI,EAAE;AAC9B,gBAAgB,IAAI,6BAA6B,KAAK,QAAQ,EAAE;AAChE,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,yCAAyC,CAAC,CAAC,CAAC;AACzF,aAAa;AACb,iBAAiB,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;AAClD;AACA,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACnE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAChD,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AACnD,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;AACvE,wBAAwB,6BAA6B;AACrD,wBAAwB,6BAA6B,KAAK,QAAQ,EAAE;AACpE,wBAAwB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,kDAAkD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnI,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;AACxC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AACnD,wBAAwB,6BAA6B;AACrD,wBAAwB,6BAA6B,KAAK,QAAQ,EAAE;AACpE,wBAAwB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,+BAA+B,EAAE,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACnJ,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;AAClE,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACrD,wBAAwB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACxD,wBAAwB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACxD,wBAAwB,IAAI,KAAK,IAAI,IAAI,IAAI,6BAA6B,IAAI,6BAA6B,KAAK,QAAQ,EAAE;AAC1H,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,wCAAwC,CAAC,CAAC,CAAC;AAChH,yBAAyB;AACzB,wBAAwB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACtE,wBAAwB,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;AACpG,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC5G,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,GAAG,sBAAsB;AACnC,UAAU,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC;AAC/E,UAAU,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAChF,IAAI,IAAI,8BAA8B,IAAI,8BAA8B,KAAK,QAAQ,EAAE;AACvF,QAAQ,2BAA2B,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;AAC5E,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;AAC/E,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACxC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;AAC/C,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE;AACrC,YAAY,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClD,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;AACpC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC/D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;AAC9E,wBAAwB,IAAI,CAAC,OAAO,GAAG;AACvC,4BAA4B,GAAG,IAAI,CAAC,OAAO;AAC3C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;AACzO,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAC9R,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;AAClG,wBAAwB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACvP,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI;AAC/C,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACvG,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACnE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;AACzD,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAChF,wBAAwB,MAAM,CAAC,OAAO,GAAG;AACzC,4BAA4B,GAAG,MAAM,CAAC,OAAO;AAC7C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC3O,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChS,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;AACpG,wBAAwB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9M,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI;AAC/C,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACvG,qBAAqB;AACrB,yBAAyB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAC5D,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACvF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AAChE,aAAa;AACb,iBAAiB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;AACxC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;AAClE,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD;AACA,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAChF,wBAAwB,OAAO;AAC/B,qBAAqB;AACrB,oBAAoB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACpD,oBAAoB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACpD,oBAAoB,IAAI,KAAK,IAAI,IAAI,EAAE;AACvC,wBAAwB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACtE,wBAAwB,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AAChE;AACA,4BAA4B,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AACzD,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACpE,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP;AACA,IAAI,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACrD;AACA,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AACvB;AACA,IAAI,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACjD,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE;AACtC,QAAQ,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI;AACtC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAChC,gBAAgB,KAAK,CAAC,OAAO,GAAG,oBAAoB,CAAC;AACrD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;AAC/E,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;AAC/B,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI;AAC1C,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3C,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,aAAa,IAAI,IAAI,EAAE;AACvE,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAChF,wBAAwB,MAAM,CAAC,OAAO,GAAG;AACzC,4BAA4B,GAAG,MAAM,CAAC,OAAO;AAC7C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC3O,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChS,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;AACpG,wBAAwB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9M,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,MAAM,CAAC,UAAU,IAAI,IAAI;AACjD,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACzG,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACrE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,IAAI;AACxC,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3C,YAAY,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;AACrD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;AAChF,wBAAwB,MAAM,CAAC,OAAO,GAAG;AACzC,4BAA4B,GAAG,MAAM,CAAC,OAAO;AAC7C,4BAA4B,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC3O,4BAA4B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChS,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;AACpG,wBAAwB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9M,qBAAqB;AACrB,yBAAyB,IAAI,SAAS,KAAK,YAAY;AACvD,wBAAwB,MAAM,CAAC,UAAU,IAAI,IAAI;AACjD,wBAAwB,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;AAC1D,wBAAwB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACzG,qBAAqB;AACrB,yBAAyB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAC5D,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACvF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,IAAI;AACzC,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI;AAC1C,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,IAAI;AAC7C,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI;AAChE,oBAAoB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpD,wBAAwB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAClF,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxD,aAAa;AACb,SAAS;AACT,QAAQ,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,KAAK;AAC5E,YAAY,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAC9D,gBAAgB,IAAI,YAAY,IAAI,IAAI,EAAE;AAC1C,oBAAoB,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;AAC9D,oBAAoB,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AAC5D;AACA,wBAAwB,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC;AAC9D,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACzE,qBAAqB;AACrB,oBAAoB,OAAO,cAAc,CAAC;AAC1C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE;AACtC,QAAQ,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;AACnC,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,WAAW,KAAK;AACvD,gBAAgB,GAAG,WAAW;AAC9B,gBAAgB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,GAAG,oBAAoB;AACjG,aAAa,CAAC;AACd,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE;AAClD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI;AACvD,QAAQ,KAAK,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAC1D,KAAK,CAAC,CAAC;AACP;;ACzUO,SAAS,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE;AACxD,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;AAC1C,QAAQ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,MAAM;AAC1E,YAAY,GAAG,WAAW;AAC1B,YAAY,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAChG,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP;;ACbA,SAAS,wBAAwB,CAAC,EAAE,EAAE,IAAI,EAAE;AAC5C,IAAI,MAAM,OAAO,GAAG,EAAE,IAAI,IAAI,GAAG,oBAAoB,GAAG,EAAE,CAAC;AAC3D,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtD,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC3C,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACzE,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN,CAAC;AACM,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,MAAM;AAC1E,YAAY,GAAG,WAAW;AAC1B,YAAY,OAAO,EAAE,wBAAwB,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9F,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,IAAI,EAAE,yBAAyB,GAAG,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,YAAY,GAAG,EAAE,EAAE,8BAA8B,GAAG,KAAK,EAAE,cAAc,EAAE,sBAAsB,GAAG,KAAK,EAAE,qBAAqB,GAAG,KAAK,GAAG,EAAE;AAC5W;AACA,IAAI,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE;AACvD,QAAQ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAChF,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,QAAQ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACjD,KAAK;AACL;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,MAAM,IAAI;AAClB;AACA,YAAY,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;AACvG,YAAY,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAC7D,gBAAgB,MAAM;AACtB,gBAAgB,SAAS,EAAE,WAAW;AACtC,gBAAgB,yBAAyB;AACzC,gBAAgB,8BAA8B;AAC9C,gBAAgB,sBAAsB;AACtC,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACnE,gBAAgB,sBAAsB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;AACvF,aAAa;AACb,YAAY,OAAO,mBAAmB,CAAC;AACvC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAClC,QAAQ,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;AACxB,QAAQ,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACjF,KAAK;AACL,IAAI,IAAI,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;AACrD;AACA;AACA,QAAQ,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/F,KAAK;AACL,IAAI,IAAI,4BAA4B,EAAE;AACtC,QAAQ,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACjI,KAAK;AACL;AACA;AACA,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;AACpC,QAAQ,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9F,KAAK;AACL,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAClC,QAAQ,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI;AACxC,YAAY,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACnF,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3C,KAAK;AACL,IAAI,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,QAAQ,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;AAC7G,IAAI,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,eAAe,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAC7G;;;;"}
|
|
@@ -43,4 +43,4 @@ import { IExecutableSchemaDefinition } from './types';
|
|
|
43
43
|
* })
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
|
-
export declare function makeExecutableSchema<TContext = any>({ typeDefs, resolvers, logger, allowUndefinedInResolve, resolverValidationOptions, directiveResolvers, schemaDirectives, schemaTransforms, parseOptions, inheritResolversFromInterfaces, pruningOptions, }: IExecutableSchemaDefinition<TContext>): import("graphql").GraphQLSchema;
|
|
46
|
+
export declare function makeExecutableSchema<TContext = any>({ typeDefs, resolvers, logger, allowUndefinedInResolve, resolverValidationOptions, directiveResolvers, schemaDirectives, schemaTransforms: userProvidedSchemaTransforms, parseOptions, inheritResolversFromInterfaces, pruningOptions, updateResolversInPlace, noExtensionExtraction, }: IExecutableSchemaDefinition<TContext>): import("graphql").GraphQLSchema;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-tools/schema",
|
|
3
|
-
"version": "7.1.
|
|
3
|
+
"version": "7.1.2",
|
|
4
4
|
"description": "A set of utils for faster development of GraphQL tools",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"graphql": "^14.0.0 || ^15.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@graphql-tools/utils": "^7.
|
|
10
|
+
"@graphql-tools/utils": "^7.1.2",
|
|
11
11
|
"tslib": "~2.0.1"
|
|
12
12
|
},
|
|
13
13
|
"repository": "git@github.com:ardatan/graphql-tools.git",
|
package/types.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export interface IExecutableSchemaDefinition<TContext = any> {
|
|
|
41
41
|
/**
|
|
42
42
|
* An array of schema transformation functions
|
|
43
43
|
*/
|
|
44
|
-
schemaTransforms?:
|
|
44
|
+
schemaTransforms?: ExecutableSchemaTransformation[];
|
|
45
45
|
/**
|
|
46
46
|
* Additional options for parsing the type definitions if they are provided
|
|
47
47
|
* as a string
|
|
@@ -56,4 +56,13 @@ export interface IExecutableSchemaDefinition<TContext = any> {
|
|
|
56
56
|
* Additional options for removing unused types from the schema
|
|
57
57
|
*/
|
|
58
58
|
pruningOptions?: PruneSchemaOptions;
|
|
59
|
+
/**
|
|
60
|
+
* Do not create a schema again and use the one from `buildASTSchema`
|
|
61
|
+
*/
|
|
62
|
+
updateResolversInPlace?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Do not extract and apply extensions seperately and leave it to `buildASTSchema`
|
|
65
|
+
*/
|
|
66
|
+
noExtensionExtraction?: boolean;
|
|
59
67
|
}
|
|
68
|
+
export declare type ExecutableSchemaTransformation = (schema: GraphQLSchema) => GraphQLSchema;
|