Initial Save

This commit is contained in:
jackbeeby
2025-03-28 12:30:19 +11:00
parent e381994f19
commit d8773925e8
9910 changed files with 982718 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
import { GraphQLError } from "graphql";
export declare class GraphQLSchemaValidationError extends Error {
errors: ReadonlyArray<GraphQLError>;
constructor(errors: ReadonlyArray<GraphQLError>);
}
//# sourceMappingURL=GraphQLSchemaValidationError.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GraphQLSchemaValidationError.d.ts","sourceRoot":"","sources":["../../src/schema/GraphQLSchemaValidationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,4BAA6B,SAAQ,KAAK;IAClC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC;gBAAnC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC;CAOvD"}

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GraphQLSchemaValidationError = void 0;
class GraphQLSchemaValidationError extends Error {
constructor(errors) {
super();
this.errors = errors;
this.name = this.constructor.name;
Error.captureStackTrace(this, this.constructor);
this.message = errors.map((error) => error.message).join("\n\n");
}
}
exports.GraphQLSchemaValidationError = GraphQLSchemaValidationError;
//# sourceMappingURL=GraphQLSchemaValidationError.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GraphQLSchemaValidationError.js","sourceRoot":"","sources":["../../src/schema/GraphQLSchemaValidationError.ts"],"names":[],"mappings":";;;AAEA,MAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAmB,MAAmC;QACpD,KAAK,EAAE,CAAC;QADS,WAAM,GAAN,MAAM,CAA6B;QAGpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;CACF;AARD,oEAQC"}

View File

@@ -0,0 +1,10 @@
import { DocumentNode, GraphQLSchema } from "graphql";
import { GraphQLResolverMap } from "./resolverMap";
export interface GraphQLSchemaModule {
typeDefs: DocumentNode;
resolvers?: GraphQLResolverMap<any>;
}
export declare function modulesFromSDL(modulesOrSDL: (GraphQLSchemaModule | DocumentNode)[] | DocumentNode): GraphQLSchemaModule[];
export declare function buildSchemaFromSDL(modulesOrSDL: (GraphQLSchemaModule | DocumentNode)[] | DocumentNode, schemaToExtend?: GraphQLSchema): GraphQLSchema;
export declare function addResolversToSchema(schema: GraphQLSchema, resolvers: GraphQLResolverMap<any>): void;
//# sourceMappingURL=buildSchemaFromSDL.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"buildSchemaFromSDL.d.ts","sourceRoot":"","sources":["../../src/schema/buildSchemaFromSDL.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAEZ,aAAa,EAkBd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAgBnD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;CACrC;AA0BD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,CAAC,mBAAmB,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY,GAClE,mBAAmB,EAAE,CAYvB;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,CAAC,mBAAmB,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY,EACnE,cAAc,CAAC,EAAE,aAAa,GAC7B,aAAa,CA+If;AAWD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAoEnC"}

View File

@@ -0,0 +1,217 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.addResolversToSchema = exports.buildSchemaFromSDL = exports.modulesFromSDL = void 0;
const graphql_1 = require("graphql");
const validate_1 = require("graphql/validation/validate");
const graphql_2 = require("../utilities/graphql");
const GraphQLSchemaValidationError_1 = require("./GraphQLSchemaValidationError");
const specifiedRules_1 = require("graphql/validation/specifiedRules");
const flat_1 = __importDefault(require("core-js-pure/features/array/flat"));
const validation_1 = require("graphql/validation");
const mapValues_1 = require("../utilities/mapValues");
const skippedSDLRules = [
validation_1.KnownTypeNamesRule,
validation_1.UniqueDirectivesPerLocationRule,
];
try {
const PossibleTypeExtensions = require("graphql/validation/rules/PossibleTypeExtensions").PossibleTypeExtensions;
if (PossibleTypeExtensions) {
skippedSDLRules.push(PossibleTypeExtensions);
}
}
catch (e) {
}
const sdlRules = specifiedRules_1.specifiedSDLRules.filter((rule) => !skippedSDLRules.includes(rule));
function modulesFromSDL(modulesOrSDL) {
if (Array.isArray(modulesOrSDL)) {
return modulesOrSDL.map((moduleOrSDL) => {
if ((0, graphql_2.isNode)(moduleOrSDL) && (0, graphql_2.isDocumentNode)(moduleOrSDL)) {
return { typeDefs: moduleOrSDL };
}
else {
return moduleOrSDL;
}
});
}
else {
return [{ typeDefs: modulesOrSDL }];
}
}
exports.modulesFromSDL = modulesFromSDL;
function buildSchemaFromSDL(modulesOrSDL, schemaToExtend) {
const modules = modulesFromSDL(modulesOrSDL);
const documentAST = (0, graphql_1.concatAST)(modules.map((module) => module.typeDefs));
const errors = (0, validate_1.validateSDL)(documentAST, schemaToExtend, sdlRules);
if (errors.length > 0) {
throw new GraphQLSchemaValidationError_1.GraphQLSchemaValidationError(errors);
}
const definitionsMap = Object.create(null);
const extensionsMap = Object.create(null);
const directiveDefinitions = [];
const schemaDefinitions = [];
const schemaExtensions = [];
const schemaDirectives = [];
for (const definition of documentAST.definitions) {
if ((0, graphql_1.isTypeDefinitionNode)(definition)) {
const typeName = definition.name.value;
if (definitionsMap[typeName]) {
definitionsMap[typeName].push(definition);
}
else {
definitionsMap[typeName] = [definition];
}
}
else if ((0, graphql_1.isTypeExtensionNode)(definition)) {
const typeName = definition.name.value;
if (extensionsMap[typeName]) {
extensionsMap[typeName].push(definition);
}
else {
extensionsMap[typeName] = [definition];
}
}
else if (definition.kind === graphql_1.Kind.DIRECTIVE_DEFINITION) {
directiveDefinitions.push(definition);
}
else if (definition.kind === graphql_1.Kind.SCHEMA_DEFINITION) {
schemaDefinitions.push(definition);
schemaDirectives.push(...(definition.directives ? definition.directives : []));
}
else if (definition.kind === graphql_1.Kind.SCHEMA_EXTENSION) {
schemaExtensions.push(definition);
}
}
let schema = schemaToExtend
? schemaToExtend
: new graphql_1.GraphQLSchema({
query: undefined,
});
const missingTypeDefinitions = [];
for (const [extendedTypeName, extensions] of Object.entries(extensionsMap)) {
if (!definitionsMap[extendedTypeName]) {
const extension = extensions[0];
const kind = extension.kind;
const definition = {
kind: extKindToDefKind[kind],
name: extension.name,
};
missingTypeDefinitions.push(definition);
}
}
schema = (0, graphql_1.extendSchema)(schema, {
kind: graphql_1.Kind.DOCUMENT,
definitions: [
...(0, flat_1.default)(Object.values(definitionsMap)),
...missingTypeDefinitions,
...directiveDefinitions,
],
}, {
assumeValidSDL: true,
});
schema = (0, graphql_1.extendSchema)(schema, {
kind: graphql_1.Kind.DOCUMENT,
definitions: (0, flat_1.default)(Object.values(extensionsMap)),
}, {
assumeValidSDL: true,
});
let operationTypeMap;
if (schemaDefinitions.length > 0 || schemaExtensions.length > 0) {
operationTypeMap = {};
const operationTypes = (0, flat_1.default)([...schemaDefinitions, ...schemaExtensions]
.map((node) => node.operationTypes)
.filter(isNotNullOrUndefined));
for (const { operation, type } of operationTypes) {
operationTypeMap[operation] = type.name.value;
}
}
else {
operationTypeMap = {
query: "Query",
mutation: "Mutation",
subscription: "Subscription",
};
}
schema = new graphql_1.GraphQLSchema(Object.assign(Object.assign(Object.assign({}, schema.toConfig()), (0, mapValues_1.mapValues)(operationTypeMap, (typeName) => typeName
? schema.getType(typeName)
: undefined)), { astNode: {
kind: graphql_1.Kind.SCHEMA_DEFINITION,
directives: schemaDirectives,
operationTypes: [],
} }));
for (const module of modules) {
if (!module.resolvers)
continue;
addResolversToSchema(schema, module.resolvers);
}
return schema;
}
exports.buildSchemaFromSDL = buildSchemaFromSDL;
const extKindToDefKind = {
[graphql_1.Kind.SCALAR_TYPE_EXTENSION]: graphql_1.Kind.SCALAR_TYPE_DEFINITION,
[graphql_1.Kind.OBJECT_TYPE_EXTENSION]: graphql_1.Kind.OBJECT_TYPE_DEFINITION,
[graphql_1.Kind.INTERFACE_TYPE_EXTENSION]: graphql_1.Kind.INTERFACE_TYPE_DEFINITION,
[graphql_1.Kind.UNION_TYPE_EXTENSION]: graphql_1.Kind.UNION_TYPE_DEFINITION,
[graphql_1.Kind.ENUM_TYPE_EXTENSION]: graphql_1.Kind.ENUM_TYPE_DEFINITION,
[graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION]: graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION,
};
function addResolversToSchema(schema, resolvers) {
for (const [typeName, fieldConfigs] of Object.entries(resolvers)) {
const type = schema.getType(typeName);
if ((0, graphql_1.isAbstractType)(type)) {
for (const [fieldName, fieldConfig] of Object.entries(fieldConfigs)) {
if (fieldName.startsWith("__")) {
type[fieldName.substring(2)] = fieldConfig;
}
}
}
if ((0, graphql_1.isScalarType)(type)) {
for (const fn in fieldConfigs) {
type[fn] = fieldConfigs[fn];
}
}
if ((0, graphql_1.isEnumType)(type)) {
const values = type.getValues();
const newValues = {};
values.forEach((value) => {
let newValue = fieldConfigs[value.name];
if (newValue === undefined) {
newValue = value.name;
}
newValues[value.name] = {
value: newValue,
deprecationReason: value.deprecationReason,
description: value.description,
astNode: value.astNode,
extensions: undefined,
};
});
Object.assign(type, new graphql_1.GraphQLEnumType(Object.assign(Object.assign({}, type.toConfig()), { values: newValues })));
}
if (!(0, graphql_1.isObjectType)(type))
continue;
const fieldMap = type.getFields();
for (const [fieldName, fieldConfig] of Object.entries(fieldConfigs)) {
if (fieldName.startsWith("__")) {
type[fieldName.substring(2)] = fieldConfig;
continue;
}
const field = fieldMap[fieldName];
if (!field)
continue;
if (typeof fieldConfig === "function") {
field.resolve = fieldConfig;
}
else {
field.resolve = fieldConfig.resolve;
}
}
}
}
exports.addResolversToSchema = addResolversToSchema;
function isNotNullOrUndefined(value) {
return value !== null && typeof value !== "undefined";
}
//# sourceMappingURL=buildSchemaFromSDL.js.map

File diff suppressed because one or more lines are too long

6
node_modules/apollo-graphql/lib/schema/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
export * from "./buildSchemaFromSDL";
export * from "./GraphQLSchemaValidationError";
export * from "./transformSchema";
export * from "./resolverMap";
export * from "./resolveObject";
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}

22
node_modules/apollo-graphql/lib/schema/index.js generated vendored Normal file
View File

@@ -0,0 +1,22 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./buildSchemaFromSDL"), exports);
__exportStar(require("./GraphQLSchemaValidationError"), exports);
__exportStar(require("./transformSchema"), exports);
__exportStar(require("./resolverMap"), exports);
__exportStar(require("./resolveObject"), exports);
//# sourceMappingURL=index.js.map

1
node_modules/apollo-graphql/lib/schema/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,iEAA+C;AAC/C,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC"}

View File

@@ -0,0 +1,11 @@
import { GraphQLResolveInfo, FieldNode } from "graphql";
export declare type GraphQLObjectResolver<TSource, TContext> = (source: TSource, fields: Record<string, ReadonlyArray<FieldNode>>, context: TContext, info: GraphQLResolveInfo) => any;
declare module "graphql/type/definition" {
interface GraphQLObjectType {
resolveObject?: GraphQLObjectResolver<any, any>;
}
interface GraphQLObjectTypeConfig<TSource, TContext> {
resolveObject?: GraphQLObjectResolver<TSource, TContext>;
}
}
//# sourceMappingURL=resolveObject.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"resolveObject.d.ts","sourceRoot":"","sources":["../../src/schema/resolveObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAExD,oBAAY,qBAAqB,CAAC,OAAO,EAAE,QAAQ,IAAI,CACrD,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,EAChD,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,kBAAkB,KACrB,GAAG,CAAC;AAET,OAAO,QAAQ,yBAAyB,CAAC;IACvC,UAAU,iBAAiB;QACzB,aAAa,CAAC,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACjD;IAED,UAAU,uBAAuB,CAAC,OAAO,EAAE,QAAQ;QACjD,aAAa,CAAC,EAAE,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC1D;CACF"}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=resolveObject.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"resolveObject.js","sourceRoot":"","sources":["../../src/schema/resolveObject.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,12 @@
import { GraphQLFieldResolver, GraphQLScalarType } from "graphql";
export interface GraphQLResolverMap<TContext = {}> {
[typeName: string]: {
[fieldName: string]: GraphQLFieldResolver<any, TContext> | {
requires?: string;
resolve: GraphQLFieldResolver<any, TContext>;
};
} | GraphQLScalarType | {
[enumValue: string]: string | number;
};
}
//# sourceMappingURL=resolverMap.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"resolverMap.d.ts","sourceRoot":"","sources":["../../src/schema/resolverMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,EAAE;IAC/C,CAAC,QAAQ,EAAE,MAAM,GACb;QACE,CAAC,SAAS,EAAE,MAAM,GACd,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,GACnC;YACE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC9C,CAAC;KACP,GACD,iBAAiB,GACjB;QACE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KACtC,CAAC;CACP"}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=resolverMap.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"resolverMap.js","sourceRoot":"","sources":["../../src/schema/resolverMap.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
import { GraphQLSchema, GraphQLNamedType } from "graphql";
declare type TypeTransformer = (type: GraphQLNamedType) => GraphQLNamedType | null | undefined;
export declare function transformSchema(schema: GraphQLSchema, transformType: TypeTransformer): GraphQLSchema;
export {};
//# sourceMappingURL=transformSchema.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"transformSchema.d.ts","sourceRoot":"","sources":["../../src/schema/transformSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAqBjB,MAAM,SAAS,CAAC;AAGjB,aAAK,eAAe,GAAG,CACrB,IAAI,EAAE,gBAAgB,KACnB,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;AAEzC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,eAAe,GAC7B,aAAa,CA+Hf"}

View File

@@ -0,0 +1,71 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformSchema = void 0;
const graphql_1 = require("graphql");
const mapValues_1 = require("../utilities/mapValues");
function transformSchema(schema, transformType) {
const typeMap = Object.create(null);
for (const oldType of Object.values(schema.getTypeMap())) {
if ((0, graphql_1.isIntrospectionType)(oldType))
continue;
const result = transformType(oldType);
if (result === null)
continue;
const newType = result || oldType;
typeMap[newType.name] = recreateNamedType(newType);
}
const schemaConfig = schema.toConfig();
return new graphql_1.GraphQLSchema(Object.assign(Object.assign({}, schemaConfig), { types: Object.values(typeMap), query: replaceMaybeType(schemaConfig.query), mutation: replaceMaybeType(schemaConfig.mutation), subscription: replaceMaybeType(schemaConfig.subscription), directives: replaceDirectives(schemaConfig.directives) }));
function recreateNamedType(type) {
if ((0, graphql_1.isObjectType)(type)) {
const config = type.toConfig();
return new graphql_1.GraphQLObjectType(Object.assign(Object.assign({}, config), { interfaces: () => config.interfaces.map(replaceNamedType), fields: () => replaceFields(config.fields) }));
}
else if ((0, graphql_1.isInterfaceType)(type)) {
const config = type.toConfig();
return new graphql_1.GraphQLInterfaceType(Object.assign(Object.assign({}, config), { interfaces: () => config.interfaces.map(replaceNamedType), fields: () => replaceFields(config.fields) }));
}
else if ((0, graphql_1.isUnionType)(type)) {
const config = type.toConfig();
return new graphql_1.GraphQLUnionType(Object.assign(Object.assign({}, config), { types: () => config.types.map(replaceNamedType) }));
}
else if ((0, graphql_1.isInputObjectType)(type)) {
const config = type.toConfig();
return new graphql_1.GraphQLInputObjectType(Object.assign(Object.assign({}, config), { fields: () => replaceInputFields(config.fields) }));
}
return type;
}
function replaceType(type) {
if ((0, graphql_1.isListType)(type)) {
return new graphql_1.GraphQLList(replaceType(type.ofType));
}
else if ((0, graphql_1.isNonNullType)(type)) {
return new graphql_1.GraphQLNonNull(replaceType(type.ofType));
}
return replaceNamedType(type);
}
function replaceNamedType(type) {
const newType = typeMap[type.name];
return newType ? newType : type;
}
function replaceMaybeType(type) {
return type ? replaceNamedType(type) : undefined;
}
function replaceFields(fieldsMap) {
return (0, mapValues_1.mapValues)(fieldsMap, (field) => (Object.assign(Object.assign({}, field), { type: replaceType(field.type), args: field.args ? replaceArgs(field.args) : undefined })));
}
function replaceInputFields(fieldsMap) {
return (0, mapValues_1.mapValues)(fieldsMap, (field) => (Object.assign(Object.assign({}, field), { type: replaceType(field.type) })));
}
function replaceArgs(args) {
return (0, mapValues_1.mapValues)(args, (arg) => (Object.assign(Object.assign({}, arg), { type: replaceType(arg.type) })));
}
function replaceDirectives(directives) {
return directives.map((directive) => {
const config = directive.toConfig();
return new graphql_1.GraphQLDirective(Object.assign(Object.assign({}, config), { args: replaceArgs(config.args) }));
});
}
}
exports.transformSchema = transformSchema;
//# sourceMappingURL=transformSchema.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"transformSchema.js","sourceRoot":"","sources":["../../src/schema/transformSchema.ts"],"names":[],"mappings":"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"}