@apollo/federation-internals 2.0.1 → 2.0.2-alpha.0
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/CHANGELOG.md +5 -0
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +5 -4
- package/dist/definitions.js.map +1 -1
- package/dist/error.js +7 -7
- package/dist/error.js.map +1 -1
- package/dist/federation.d.ts.map +1 -1
- package/dist/federation.js +15 -0
- package/dist/federation.js.map +1 -1
- package/dist/genErrorCodeDoc.js +12 -6
- package/dist/genErrorCodeDoc.js.map +1 -1
- package/dist/operations.d.ts +20 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +52 -1
- package/dist/operations.js.map +1 -1
- package/dist/schemaUpgrader.d.ts +8 -1
- package/dist/schemaUpgrader.d.ts.map +1 -1
- package/dist/schemaUpgrader.js +40 -1
- package/dist/schemaUpgrader.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/removeInaccessibleElements.test.ts +37 -1
- package/src/__tests__/schemaUpgrader.test.ts +38 -0
- package/src/__tests__/subgraphValidation.test.ts +74 -0
- package/src/definitions.ts +7 -5
- package/src/error.ts +7 -7
- package/src/federation.ts +50 -0
- package/src/genErrorCodeDoc.ts +13 -7
- package/src/operations.ts +68 -2
- package/src/schemaUpgrader.ts +45 -0
- package/tsconfig.test.tsbuildinfo +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/src/error.ts
CHANGED
|
@@ -183,7 +183,7 @@ const REQUIRES_UNSUPPORTED_ON_INTERFACE = DIRECTIVE_UNSUPPORTED_ON_INTERFACE.cre
|
|
|
183
183
|
|
|
184
184
|
const EXTERNAL_UNUSED = makeCodeDefinition(
|
|
185
185
|
'EXTERNAL_UNUSED',
|
|
186
|
-
'An `@external` field is not being used by any instance of `@key`, `@requires`, `@provides` or to satisfy an interface
|
|
186
|
+
'An `@external` field is not being used by any instance of `@key`, `@requires`, `@provides` or to satisfy an interface implementation.',
|
|
187
187
|
{ addedIn: FED1_CODE },
|
|
188
188
|
);
|
|
189
189
|
|
|
@@ -191,7 +191,7 @@ const TYPE_WITH_ONLY_UNUSED_EXTERNAL = makeCodeDefinition(
|
|
|
191
191
|
'TYPE_WITH_ONLY_UNUSED_EXTERNAL',
|
|
192
192
|
'A federation 1 schema has a composite type comprised only of unused external fields.'
|
|
193
193
|
+ ` Note that this error can _only_ be raised for federation 1 schema as federation 2 schema do not allow unused external fields (and errors with code ${EXTERNAL_UNUSED.code} will be raised in that case).`
|
|
194
|
-
+ ' But when federation 1 schema are automatically migrated to federation 2 ones, unused external fields are
|
|
194
|
+
+ ' But when federation 1 schema are automatically migrated to federation 2 ones, unused external fields are automatically removed, and in rare case this can leave a type empty. If that happens, an error with this code will be raised',
|
|
195
195
|
);
|
|
196
196
|
|
|
197
197
|
const PROVIDES_ON_NON_OBJECT_FIELD = makeCodeDefinition(
|
|
@@ -245,7 +245,7 @@ const NO_QUERIES = makeCodeDefinition(
|
|
|
245
245
|
|
|
246
246
|
const INTERFACE_FIELD_NO_IMPLEM = makeCodeDefinition(
|
|
247
247
|
'INTERFACE_FIELD_NO_IMPLEM',
|
|
248
|
-
'After subgraph merging, an
|
|
248
|
+
'After subgraph merging, an implementation is missing a field of one of the interface it implements (which can happen for valid subgraphs).'
|
|
249
249
|
);
|
|
250
250
|
|
|
251
251
|
const TYPE_KIND_MISMATCH = makeCodeDefinition(
|
|
@@ -267,12 +267,12 @@ const EXTERNAL_ARGUMENT_MISSING = makeCodeDefinition(
|
|
|
267
267
|
|
|
268
268
|
const EXTERNAL_ARGUMENT_TYPE_MISMATCH = makeCodeDefinition(
|
|
269
269
|
'EXTERNAL_ARGUMENT_TYPE_MISMATCH',
|
|
270
|
-
'An `@external` field declares an argument with a type that is incompatible with the corresponding argument in the declaration(s) of that field in other
|
|
270
|
+
'An `@external` field declares an argument with a type that is incompatible with the corresponding argument in the declaration(s) of that field in other subgraphs.',
|
|
271
271
|
);
|
|
272
272
|
|
|
273
273
|
const EXTERNAL_ARGUMENT_DEFAULT_MISMATCH = makeCodeDefinition(
|
|
274
274
|
'EXTERNAL_ARGUMENT_DEFAULT_MISMATCH',
|
|
275
|
-
'An `@external` field declares an argument with a default that is incompatible with the corresponding argument in the declaration(s) of that field in other
|
|
275
|
+
'An `@external` field declares an argument with a default that is incompatible with the corresponding argument in the declaration(s) of that field in other subgraphs.',
|
|
276
276
|
);
|
|
277
277
|
|
|
278
278
|
const EXTERNAL_ON_INTERFACE = makeCodeDefinition(
|
|
@@ -510,7 +510,7 @@ const codeDefByCode = Object.values(ERRORS).reduce((obj: {[code: string]: ErrorC
|
|
|
510
510
|
*/
|
|
511
511
|
export const REMOVED_ERRORS = [
|
|
512
512
|
['KEY_FIELDS_MISSING_ON_BASE', 'Keys can now use any field from any other subgraph.'],
|
|
513
|
-
['KEY_FIELDS_MISSING_EXTERNAL', 'Using `@external` for key fields is now
|
|
513
|
+
['KEY_FIELDS_MISSING_EXTERNAL', 'Using `@external` for key fields is now discouraged, unless the field is truly meant to be external.'],
|
|
514
514
|
['KEY_MISSING_ON_BASE', 'Each subgraph is now free to declare a key only if it needs it.'],
|
|
515
515
|
['MULTIPLE_KEYS_ON_EXTENSION', 'Every subgraph can have multiple keys, as necessary.'],
|
|
516
516
|
['KEY_NOT_SPECIFIED', 'Each subgraph can declare key independently of any other subgraph.'],
|
|
@@ -528,5 +528,5 @@ export const REMOVED_ERRORS = [
|
|
|
528
528
|
['VALUE_TYPE_NO_ENTITY', 'There is no strong different between entity and value types in the model (they are just usage pattern) and a type can have keys in one subgraph but not another.'],
|
|
529
529
|
['VALUE_TYPE_UNION_TYPES_MISMATCH', 'Subgraph definitions for an union are now merged by composition'],
|
|
530
530
|
['PROVIDES_FIELDS_SELECT_INVALID_TYPE', '@provides can now be used on field of interface, union and list types'],
|
|
531
|
-
['RESERVED_FIELD_USED', 'This error was previously not correctly enforced: the _service and _entities, if present, were
|
|
531
|
+
['RESERVED_FIELD_USED', 'This error was previously not correctly enforced: the _service and _entities, if present, were overridden; this is still the case'],
|
|
532
532
|
];
|
package/src/federation.ts
CHANGED
|
@@ -1013,6 +1013,56 @@ function isFedSpecLinkDirective(directive: Directive<SchemaDefinition>): directi
|
|
|
1013
1013
|
}
|
|
1014
1014
|
|
|
1015
1015
|
function completeFed1SubgraphSchema(schema: Schema): GraphQLError[] {
|
|
1016
|
+
|
|
1017
|
+
// We special case @key, @requires and @provides because we've seen existing user schema where those
|
|
1018
|
+
// have been defined in an invalid way, but in a way that fed1 wasn't rejecting. So for convenience,
|
|
1019
|
+
// if we detect one of those case, we just remove the definition and let the code afteward add the
|
|
1020
|
+
// proper definition back.
|
|
1021
|
+
// Note that, in a perfect world, we'd do this within the `SchemaUpgrader`. But the way the code
|
|
1022
|
+
// is organised, this method is called before we reach the `SchemaUpgrader`, and it doesn't seem
|
|
1023
|
+
// worth refactoring things drastically for that minor convenience.
|
|
1024
|
+
for (const spec of [keyDirectiveSpec, providesDirectiveSpec, requiresDirectiveSpec]) {
|
|
1025
|
+
const directive = schema.directive(spec.name);
|
|
1026
|
+
if (!directive) {
|
|
1027
|
+
continue;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
// We shouldn't have applications at the time of this writing because `completeSubgraphSchema`, which calls this,
|
|
1031
|
+
// is only called:
|
|
1032
|
+
// 1. during schema parsing, by `FederationBluePrint.onDirectiveDefinitionAndSchemaParsed`, and that is called
|
|
1033
|
+
// before we process any directive applications.
|
|
1034
|
+
// 2. by `setSchemaAsFed2Subgraph`, but as the name imply, this trickles to `completeFed2SubgraphSchema`, not
|
|
1035
|
+
// this one method.
|
|
1036
|
+
// In other words, there is currently no way to create a full fed1 schema first, and get that method called
|
|
1037
|
+
// second. If that changes (no real reason but...), we'd have to modify this because when we remove the
|
|
1038
|
+
// definition to re-add the "correct" version, we'd have to re-attach existing applications (doable but not
|
|
1039
|
+
// done). This assert is so we notice it quickly if that ever happens (again, unlikely, because fed1 schema
|
|
1040
|
+
// is a backward compatibility thing and there is no reason to expand that too much in the future).
|
|
1041
|
+
assert(directive.applications().length === 0, `${directive} shouldn't have had validation at that places`);
|
|
1042
|
+
|
|
1043
|
+
// The patterns we recognize and "correct" (by essentially ignoring the definition)
|
|
1044
|
+
// are:
|
|
1045
|
+
// 1. if the definition has no arguments at all.
|
|
1046
|
+
// 2. if the `fields` argument is declared as nullable.
|
|
1047
|
+
// 3. if the `fields` argument type is named "FieldSet" instead of "_FieldSet".
|
|
1048
|
+
//
|
|
1049
|
+
// Note that they all correspong to things we've seen in use schema.
|
|
1050
|
+
const fieldType = directive.argument('fields')?.type?.toString();
|
|
1051
|
+
// Note that to be on the safe side, we check that `fields` is the only argument. That's
|
|
1052
|
+
// because while fed2 accepts the optional `resolvable` arg for @key, fed1 only ever
|
|
1053
|
+
// accepted that one argument for all those directives. But if the use had definited
|
|
1054
|
+
// more arguments _and_ provided value for such extra argument in some applications,
|
|
1055
|
+
// us removing the definition would create validation errors that would be hard to
|
|
1056
|
+
// understand for the user.
|
|
1057
|
+
const fieldTypeIsWrongInKnownWays = !!fieldType
|
|
1058
|
+
&& directive.arguments().length === 1
|
|
1059
|
+
&& (fieldType === 'String' || fieldType === '_FieldSet' || fieldType === 'FieldSet');
|
|
1060
|
+
|
|
1061
|
+
if (directive.arguments().length === 0 || fieldTypeIsWrongInKnownWays) {
|
|
1062
|
+
directive.remove();
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1016
1066
|
return [
|
|
1017
1067
|
fieldSetTypeSpec.checkOrAdd(schema, '_' + fieldSetTypeSpec.name),
|
|
1018
1068
|
keyDirectiveSpec.checkOrAdd(schema),
|
package/src/genErrorCodeDoc.ts
CHANGED
|
@@ -12,10 +12,10 @@ When Apollo Gateway attempts to **compose** the schemas provided by your [subgra
|
|
|
12
12
|
* The resulting supergraph schema is valid
|
|
13
13
|
* The gateway has all of the information it needs to execute operations against the resulting schema
|
|
14
14
|
|
|
15
|
-
If Apollo Gateway encounters an error, composition fails. This document lists
|
|
15
|
+
If Apollo Gateway encounters an error, composition fails. This document lists subgraph validation and composition error codes, along with their root causes.
|
|
16
16
|
`;
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function makeMarkdownArray(
|
|
19
19
|
headers: string[],
|
|
20
20
|
rows: string[][]
|
|
21
21
|
): string {
|
|
@@ -45,12 +45,15 @@ rows.sort(sortRowsByCode);
|
|
|
45
45
|
|
|
46
46
|
const errorsSection = `## Errors
|
|
47
47
|
|
|
48
|
-
The following errors
|
|
48
|
+
The following errors might be raised during composition:
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
<div class="sticky-table">
|
|
51
|
+
|
|
52
|
+
${makeMarkdownArray(
|
|
51
53
|
[ 'Code', 'Description', 'Since', 'Comment' ],
|
|
52
54
|
rows
|
|
53
|
-
)
|
|
55
|
+
)}
|
|
56
|
+
</div>`;
|
|
54
57
|
|
|
55
58
|
const removedErrors = REMOVED_ERRORS
|
|
56
59
|
.map(([code, comment]) => ['`' + code + '`', comment])
|
|
@@ -58,9 +61,12 @@ const removedErrors = REMOVED_ERRORS
|
|
|
58
61
|
|
|
59
62
|
const removedSection = `## Removed codes
|
|
60
63
|
|
|
61
|
-
The following
|
|
64
|
+
The following error codes have been removed and are no longer generated by the most recent version of the \`@apollo/gateway\` library:
|
|
65
|
+
|
|
66
|
+
<div class="sticky-table">
|
|
62
67
|
|
|
63
|
-
|
|
68
|
+
${makeMarkdownArray(['Removed Code', 'Comment'], removedErrors)}
|
|
69
|
+
</div>`;
|
|
64
70
|
|
|
65
71
|
console.log(
|
|
66
72
|
header + '\n\n'
|
package/src/operations.ts
CHANGED
|
@@ -42,6 +42,7 @@ import {
|
|
|
42
42
|
typenameFieldName,
|
|
43
43
|
NamedType,
|
|
44
44
|
} from "./definitions";
|
|
45
|
+
import { sameType } from "./types";
|
|
45
46
|
import { assert, mapEntries, MapWithCachedArrays, MultiMap } from "./utils";
|
|
46
47
|
import { argumentsEquals, argumentsFromAST, isValidValue, valueToAST, valueToString } from "./values";
|
|
47
48
|
|
|
@@ -305,6 +306,37 @@ export function sameOperationPaths(p1: OperationPath, p2: OperationPath): boolea
|
|
|
305
306
|
return true;
|
|
306
307
|
}
|
|
307
308
|
|
|
309
|
+
export function concatOperationPaths(head: OperationPath, tail: OperationPath): OperationPath {
|
|
310
|
+
// While this is mainly a simple array concatenation, we optimize slightly by recognizing if the
|
|
311
|
+
// tail path starts by a fragment selection that is useless given the end of the head path.
|
|
312
|
+
if (head.length === 0) {
|
|
313
|
+
return tail;
|
|
314
|
+
}
|
|
315
|
+
if (tail.length === 0) {
|
|
316
|
+
return head;
|
|
317
|
+
}
|
|
318
|
+
const lastOfHead = head[head.length - 1];
|
|
319
|
+
const firstOfTail = tail[0];
|
|
320
|
+
if (isUselessFollowupElement(lastOfHead, firstOfTail)) {
|
|
321
|
+
tail = tail.slice(1);
|
|
322
|
+
}
|
|
323
|
+
return head.concat(tail);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
function isUselessFollowupElement(first: OperationElement, followup: OperationElement): boolean {
|
|
327
|
+
const typeOfFirst = first.kind === 'Field'
|
|
328
|
+
? baseType(first.definition.type!)
|
|
329
|
+
: first.typeCondition;
|
|
330
|
+
|
|
331
|
+
// The followup is useless if it's a fragment (with no directives we would want to preserve) whose type
|
|
332
|
+
// is already that of the first element.
|
|
333
|
+
return !!typeOfFirst
|
|
334
|
+
&& followup.kind === 'FragmentElement'
|
|
335
|
+
&& !!followup.typeCondition
|
|
336
|
+
&& followup.appliedDirectives.length === 0
|
|
337
|
+
&& sameType(typeOfFirst, followup.typeCondition);
|
|
338
|
+
}
|
|
339
|
+
|
|
308
340
|
export type RootOperationPath = {
|
|
309
341
|
rootKind: SchemaRootKind,
|
|
310
342
|
path: OperationPath
|
|
@@ -604,6 +636,23 @@ export class SelectionSet {
|
|
|
604
636
|
return withExpanded;
|
|
605
637
|
}
|
|
606
638
|
|
|
639
|
+
/**
|
|
640
|
+
* Returns the selection select from filtering out any selection that does not match the provided predicate.
|
|
641
|
+
*
|
|
642
|
+
* Please that this method will expand *ALL* fragments as the result of applying it's filtering. You should
|
|
643
|
+
* call `optimize` on the result if you want to re-apply some fragments.
|
|
644
|
+
*/
|
|
645
|
+
filter(predicate: (selection: Selection) => boolean): SelectionSet {
|
|
646
|
+
const filtered = new SelectionSet(this.parentType, this.fragments);
|
|
647
|
+
for (const selection of this.selections()) {
|
|
648
|
+
const filteredSelection = selection.filter(predicate);
|
|
649
|
+
if (filteredSelection) {
|
|
650
|
+
filtered.add(filteredSelection);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
return filtered;
|
|
654
|
+
}
|
|
655
|
+
|
|
607
656
|
mergeIn(selectionSet: SelectionSet) {
|
|
608
657
|
for (const selection of selectionSet.selections()) {
|
|
609
658
|
this.add(selection);
|
|
@@ -940,6 +989,16 @@ export class FieldSelection {
|
|
|
940
989
|
: new FieldSelection(this.field, optimizedSelection);
|
|
941
990
|
}
|
|
942
991
|
|
|
992
|
+
filter(predicate: (selection: Selection) => boolean): FieldSelection | undefined {
|
|
993
|
+
if (!predicate(this)) {
|
|
994
|
+
return undefined;
|
|
995
|
+
}
|
|
996
|
+
if (!this.selectionSet) {
|
|
997
|
+
return this;
|
|
998
|
+
}
|
|
999
|
+
return new FieldSelection(this.field, this.selectionSet.filter(predicate));
|
|
1000
|
+
}
|
|
1001
|
+
|
|
943
1002
|
expandFragments(names?: string[], updateSelectionSetFragments: boolean = true): FieldSelection {
|
|
944
1003
|
const expandedSelection = this.selectionSet ? this.selectionSet.expandFragments(names, updateSelectionSetFragments) : undefined;
|
|
945
1004
|
return this.selectionSet === expandedSelection
|
|
@@ -1055,7 +1114,6 @@ export abstract class FragmentSelection {
|
|
|
1055
1114
|
|
|
1056
1115
|
abstract validate(): void;
|
|
1057
1116
|
|
|
1058
|
-
|
|
1059
1117
|
usedVariables(): Variables {
|
|
1060
1118
|
return mergeVariables(this.element().variables(), this.selectionSet.usedVariables());
|
|
1061
1119
|
}
|
|
@@ -1065,6 +1123,15 @@ export abstract class FragmentSelection {
|
|
|
1065
1123
|
return this.element() === updatedFragment ? this : new InlineFragmentSelection(updatedFragment, this.selectionSet);
|
|
1066
1124
|
}
|
|
1067
1125
|
|
|
1126
|
+
filter(predicate: (selection: Selection) => boolean): InlineFragmentSelection | undefined {
|
|
1127
|
+
if (!predicate(this)) {
|
|
1128
|
+
return undefined;
|
|
1129
|
+
}
|
|
1130
|
+
// Note that we essentially expand all fragments as part of this.
|
|
1131
|
+
return new InlineFragmentSelection(this.element(), this.selectionSet.filter(predicate));
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
|
|
1068
1135
|
equals(that: Selection): boolean {
|
|
1069
1136
|
if (this === that) {
|
|
1070
1137
|
return true;
|
|
@@ -1144,7 +1211,6 @@ class InlineFragmentSelection extends FragmentSelection {
|
|
|
1144
1211
|
};
|
|
1145
1212
|
}
|
|
1146
1213
|
|
|
1147
|
-
|
|
1148
1214
|
optimize(fragments: NamedFragments): FragmentSelection {
|
|
1149
1215
|
const optimizedSelection = this.selectionSet.optimize(fragments);
|
|
1150
1216
|
const typeCondition = this.element().typeCondition;
|
package/src/schemaUpgrader.ts
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
import { ERRORS } from "./error";
|
|
8
8
|
import {
|
|
9
9
|
baseType,
|
|
10
|
+
CompositeType,
|
|
10
11
|
Directive,
|
|
11
12
|
errorCauses,
|
|
12
13
|
Extension,
|
|
@@ -33,6 +34,7 @@ import {
|
|
|
33
34
|
} from "./federation";
|
|
34
35
|
import { assert, firstOf, MultiMap } from "./utils";
|
|
35
36
|
import { FEDERATION_SPEC_TYPES } from "./federationSpec";
|
|
37
|
+
import { valueEquals } from "./values";
|
|
36
38
|
|
|
37
39
|
export type UpgradeResult = UpgradeSuccess | UpgradeFailure;
|
|
38
40
|
|
|
@@ -66,6 +68,7 @@ export type UpgradeChange =
|
|
|
66
68
|
| ProvidesOrRequiresOnInterfaceFieldRemoval
|
|
67
69
|
| ProvidesOnNonCompositeRemoval
|
|
68
70
|
| FieldsArgumentCoercionToString
|
|
71
|
+
| RemovedTagOnExternal
|
|
69
72
|
;
|
|
70
73
|
|
|
71
74
|
export class ExternalOnTypeExtensionRemoval {
|
|
@@ -198,6 +201,16 @@ export class FieldsArgumentCoercionToString {
|
|
|
198
201
|
}
|
|
199
202
|
}
|
|
200
203
|
|
|
204
|
+
export class RemovedTagOnExternal {
|
|
205
|
+
readonly id = 'REMOVED_TAG_ON_EXTERNAL' as const;
|
|
206
|
+
|
|
207
|
+
constructor(readonly application: string, readonly element: string) {}
|
|
208
|
+
|
|
209
|
+
toString() {
|
|
210
|
+
return `Removed ${this.application} application on @external "${this.element}" as the @tag application is on another definition`;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
201
214
|
export function upgradeSubgraphsIfNecessary(inputs: Subgraphs): UpgradeResult {
|
|
202
215
|
const changes: Map<string, UpgradeChanges> = new Map();
|
|
203
216
|
if (inputs.values().every((s) => s.isFed2Subgraph())) {
|
|
@@ -265,6 +278,11 @@ function resolvesField(subgraph: Subgraph, field: FieldDefinition<ObjectType>):
|
|
|
265
278
|
return !!f && (!metadata.isFieldExternal(f) || metadata.isFieldPartiallyExternal(f));
|
|
266
279
|
}
|
|
267
280
|
|
|
281
|
+
function getField(schema: Schema, typeName: string, fieldName: string): FieldDefinition<CompositeType> | undefined {
|
|
282
|
+
const type = schema.type(typeName);
|
|
283
|
+
return type && isCompositeType(type) ? type.field(fieldName) : undefined;
|
|
284
|
+
}
|
|
285
|
+
|
|
268
286
|
class SchemaUpgrader {
|
|
269
287
|
private readonly changes = new MultiMap<UpgradeChangeID, UpgradeChange>();
|
|
270
288
|
private readonly schema: Schema;
|
|
@@ -384,6 +402,8 @@ class SchemaUpgrader {
|
|
|
384
402
|
|
|
385
403
|
this.addShareable();
|
|
386
404
|
|
|
405
|
+
this.removeTagOnExternal();
|
|
406
|
+
|
|
387
407
|
// If we had errors during the upgrade, we throw them before trying to validate the resulting subgraph, because any invalidity in the
|
|
388
408
|
// migrated subgraph may well due to those migration errors and confuse users.
|
|
389
409
|
if (this.errors.length > 0) {
|
|
@@ -670,4 +690,29 @@ class SchemaUpgrader {
|
|
|
670
690
|
}
|
|
671
691
|
}
|
|
672
692
|
}
|
|
693
|
+
|
|
694
|
+
private removeTagOnExternal() {
|
|
695
|
+
const tagDirective = this.schema.directive('tag');
|
|
696
|
+
if (!tagDirective) {
|
|
697
|
+
return;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
for (const application of tagDirective.applications()) {
|
|
701
|
+
const element = application.parent;
|
|
702
|
+
if (!(element instanceof FieldDefinition)) {
|
|
703
|
+
continue;
|
|
704
|
+
}
|
|
705
|
+
if (this.external(element)) {
|
|
706
|
+
const tagIsUsedInOtherDefinition = this.otherSubgraphs
|
|
707
|
+
.map((s) => getField(s.schema, element.parent.name, element.name))
|
|
708
|
+
.filter((f) => !(f && f.hasAppliedDirective('external')))
|
|
709
|
+
.some((f) => f && f.appliedDirectivesOf('tag').some((d) => valueEquals(application.arguments(), d.arguments())));
|
|
710
|
+
|
|
711
|
+
if (tagIsUsedInOtherDefinition) {
|
|
712
|
+
this.addChange(new RemovedTagOnExternal(application.toString(), element.coordinate));
|
|
713
|
+
application.remove();
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
673
718
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/graphql/version.d.ts","../node_modules/graphql/jsutils/Maybe.d.ts","../node_modules/graphql/language/source.d.ts","../node_modules/graphql/jsutils/ObjMap.d.ts","../node_modules/graphql/jsutils/Path.d.ts","../node_modules/graphql/jsutils/PromiseOrValue.d.ts","../node_modules/graphql/language/kinds.d.ts","../node_modules/graphql/language/tokenKind.d.ts","../node_modules/graphql/language/ast.d.ts","../node_modules/graphql/language/location.d.ts","../node_modules/graphql/error/GraphQLError.d.ts","../node_modules/graphql/language/directiveLocation.d.ts","../node_modules/graphql/type/directives.d.ts","../node_modules/graphql/type/schema.d.ts","../node_modules/graphql/type/definition.d.ts","../node_modules/graphql/execution/execute.d.ts","../node_modules/graphql/graphql.d.ts","../node_modules/graphql/type/scalars.d.ts","../node_modules/graphql/type/introspection.d.ts","../node_modules/graphql/type/validate.d.ts","../node_modules/graphql/type/assertName.d.ts","../node_modules/graphql/type/index.d.ts","../node_modules/graphql/language/printLocation.d.ts","../node_modules/graphql/language/lexer.d.ts","../node_modules/graphql/language/parser.d.ts","../node_modules/graphql/language/printer.d.ts","../node_modules/graphql/language/visitor.d.ts","../node_modules/graphql/language/predicates.d.ts","../node_modules/graphql/language/index.d.ts","../node_modules/graphql/execution/subscribe.d.ts","../node_modules/graphql/execution/values.d.ts","../node_modules/graphql/execution/index.d.ts","../node_modules/graphql/subscription/index.d.ts","../node_modules/graphql/utilities/TypeInfo.d.ts","../node_modules/graphql/validation/ValidationContext.d.ts","../node_modules/graphql/validation/validate.d.ts","../node_modules/graphql/validation/specifiedRules.d.ts","../node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts","../node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts","../node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts","../node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts","../node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts","../node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts","../node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts","../node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts","../node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts","../node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts","../node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts","../node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts","../node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts","../node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts","../node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts","../node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts","../node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts","../node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts","../node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts","../node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts","../node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts","../node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts","../node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts","../node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts","../node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts","../node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts","../node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts","../node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts","../node_modules/graphql/validation/index.d.ts","../node_modules/graphql/error/syntaxError.d.ts","../node_modules/graphql/error/locatedError.d.ts","../node_modules/graphql/error/index.d.ts","../node_modules/graphql/utilities/getIntrospectionQuery.d.ts","../node_modules/graphql/utilities/getOperationAST.d.ts","../node_modules/graphql/utilities/getOperationRootType.d.ts","../node_modules/graphql/utilities/introspectionFromSchema.d.ts","../node_modules/graphql/utilities/buildClientSchema.d.ts","../node_modules/graphql/utilities/buildASTSchema.d.ts","../node_modules/graphql/utilities/extendSchema.d.ts","../node_modules/graphql/utilities/lexicographicSortSchema.d.ts","../node_modules/graphql/utilities/printSchema.d.ts","../node_modules/graphql/utilities/typeFromAST.d.ts","../node_modules/graphql/utilities/valueFromAST.d.ts","../node_modules/graphql/utilities/valueFromASTUntyped.d.ts","../node_modules/graphql/utilities/astFromValue.d.ts","../node_modules/graphql/utilities/coerceInputValue.d.ts","../node_modules/graphql/utilities/concatAST.d.ts","../node_modules/graphql/utilities/separateOperations.d.ts","../node_modules/graphql/utilities/stripIgnoredCharacters.d.ts","../node_modules/graphql/utilities/typeComparators.d.ts","../node_modules/graphql/utilities/assertValidName.d.ts","../node_modules/graphql/utilities/findBreakingChanges.d.ts","../node_modules/graphql/utilities/typedQueryDocumentNode.d.ts","../node_modules/graphql/utilities/index.d.ts","../node_modules/graphql/index.d.ts","../node_modules/graphql-tag/lib/index.d.ts","./dist/directiveAndTypeSpecification.d.ts","../node_modules/@apollo/core-schema/dist/error.d.ts","./dist/coreSpec.d.ts","./dist/utils.d.ts","./dist/definitions.d.ts","./dist/operations.d.ts","./dist/error.d.ts","./dist/print.d.ts","./dist/federation.d.ts","./dist/buildSchema.d.ts","./src/__tests__/coreSpec.test.ts","./src/__tests__/matchers/toMatchString.ts","./src/__tests__/matchers/index.ts","./src/__tests__/definitions.test.ts","./dist/values.d.ts","./dist/types.d.ts","./dist/debug.d.ts","./dist/joinSpec.d.ts","./dist/tagSpec.d.ts","./dist/inaccessibleSpec.d.ts","./dist/federationSpec.d.ts","./dist/supergraphs.d.ts","./dist/extractSubgraphsFromSupergraph.d.ts","./dist/schemaUpgrader.d.ts","./dist/suggestions.d.ts","./dist/index.d.ts","./src/__tests__/extractSubgraphsFromSupergraph.test.ts","./src/__tests__/federation.test.ts","./src/__tests__/operations.test.ts","./src/__tests__/removeInaccessibleElements.test.ts","./src/__tests__/schemaUpgrader.test.ts","./src/__tests__/subgraphValidation.test.ts","./src/__tests__/toAPISchema.test.ts","./src/__tests__/utils.test.ts","./src/__tests__/values.test.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","f473be7c909dbd10c40f013e70da40f24648b2abb01025436fe0a0eecd0e83be","c98583f02275727ead0256c97298c15fb77a1c1e473b03c3b61291c63c66d385","9a7904e39add402d71343ac8de5303e990d9abb1fc703c64991c655b718267a5","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","0dc062870d34785429bb959d9308eb73c4f3b5111e58773b986ba9f681ba9ea5","7920b8aa27a7b6a90bf9f5dc21eedac7f38ca8717ebe70495ab616eb52b3247b","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","2395a86f860ac7c413f927085844fd5b32335566d014ed400ce46931349dff66","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","391d72e39677e72ba87f890f7a6e53a1830a07bf3fdd6128fe59ac028d7817a1","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","0a13027e3939d08a00e8bf5a99500c9bcafed3d58d7da856093af83add1fb102","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","c62947664e97a5f6502834551b0a66873f5580019e1a00500fa02c2f52ef3d0e","8e45899623ebaa113802aa8932c46e506ccb47dc73b1a74cf236149c43d4f4e5","7400c1dfe7f56938af00d4ac195399e8e71d290e6d7627ebcb0228f9acfbb2bc","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","da129261494c4094bf55c761ba5f0ae4d5426d83ed5e312bc7f8600727bb8a05","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","08b603e3737ff32a685eefca3e7f21324b8b868f3322416cef759f8a54d234ef","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","c4d365a631f0a0c91f43793f8adde790ac43a6caddd52b1d04698e7fc670c63e","5dcd41aeb5f7119177adab46147589a1618f2b35bd976e6c3a20ec328f58d1bd","107b40e93c4161733d41c710e897ed21dc13996fb38e4da3bbbef94d130e9ada","c06c51bb30d3440a88d2ac22fb6b44ceb96666a1bccb80db228fb13496dcf4ab","d61cf4a59ee59199a11117604824bd7104a23872f0106e43c7325894196b510d","09089e288559272e49007b8873a4bb10ff03367314ccf1b357d9a8502e336970","d564e52eb1799b7868d15e8743f296e26439d17ae13e9299856a0a60b2a83bdd","badf732c2e6d3e65d2363bd6f2eb5614c3e0b44f96af8fcf299d14e14e6d3f73","354f2f1d78fd8f2b264355c792694baf2a6a4426d4dda3beeabee6b25a1ff9c0","225433578f05d7d3b052da479f0eadcff4d675be8d3157d5ae864056ce177989","e5e26bbea556006401e8d1cb364ec076cf29be3edc58271f02e8a0b13717a4b5","f2a1220b9e7cb83b20723cb051df79c5d42fc225f38d5067353ea7f0b9dcfcfe","6ffa7fa9affdaa2ec8104b587eec387bd16449049699cab34c4fe636fbbf4352",{"version":"f0e9582ccedc02ec2e1f1a67180ad0e1eba5229952c5e28373ed591069833beb","affectsGlobalScope":true},"ebb11e1c3b8d4a1c4300aa9b6f89990943de2e6d05589986a6b8ace43dbb4002",{"version":"41ca572ef60d3886800f4eadba6b5ffc55aaa8a0905c6056d1bf5bff510c58cb","affectsGlobalScope":true},"a9c38c0558b64b8919ee10bf38e7bfc694fab8a572c6ef410b8e6d382a14675a","88c96ac3783f83241e91e38c87b8bb5a85e22499ddf69aefdd3b5f5e9bc4a82d","012603f603e5521eae205501e1954aa94d32ca9d56879e540d586f00ca61a060","da1fd066e1e629b127562accabbb234187be6e31ba914fcd528c20b5fbba2cbd","5254c7eb26959d862d02fe22cf81fba42cc69e838df2200a826ef6276c51724a","618831709b8cfc18b25bf497e9c713ab29217c1df4089c199a38300c2267c411","34ba694a0ef4e5e2809b7b833197e00e59e3037abc674f0e0e0fa4bc75a357aa","c7903cf37d5658d3638de373b2d609fd900c000b83ce08365e58151a864f5a21","a89dcecfc252440d43023ff12ed08eb644b2ebac4e4cb90c933f687032787d82","c13b477b71ac282b8464739b6b8e9ac231ab9803830ef7a2011d061d7325502b","10bb8f5d76e2b36efbf61d821e14b16ee2eec7538948374910724d05174c7be7","3d22c9d064d32faf0d6d5d0332d1cd7c488b18c37981562103d79e5542e53c74","722280e844df3f1a349af464509a257a8482d973092f1e767d4a5c86e6acdde4","03d959cd2c259545afa4a381ccf215b1c66008a2348c0db85033101b8cab1080","d214fc22772b37de1982eb029e539bdb6adeabc8c84826cf07eac1aeea740143","9b90a4c2cf37897908c220c94301f131a74dcd53d276bf37813bec8fb4dc1abb","a7b8dea8dd6457328ee66989dd34d8eaa0bef7c977f7a3f4914889a15815eba2","0fb6cf17204813cf405c4125e966109e409c11c8955b7d16649128c98414b1bb","8c9d95d7978a39434e5ffbb773b0d09a4f37763acb47de693027852438aef873","0097e331e71cc93d99356c0643f867bfe9c626cfdc54740473e377da248940e8","2de5a450fc61279f92d53b26b250645c138bd9397eaa95d615cfb4f2c291c27b","0ce65cf5b36034006f2b315f379179f07bd5a6027f6538c7aed4ac5be6742fc7",{"version":"cb8b955fbbb257a05b2d5a2f93212c7edf033b61b9420fa700d10d39d9bd4533","affectsGlobalScope":true},"0721418a90edc5fca466672f266ab6de12cb50a9db29998fc58765481a3c82ef","97b39f33e966bcf9762bccdaca76c94825199f3fef153ebea9bdfd3fcd2413b6","78650a1b5800e82b6914260e9ca0fe9ea744e4333c3bec51b08f91525718d7fa","c41eff6b8e1f91104ae974ccd2bc37c723a462b30ca1df942b2c5b0158ef1df3","2e341737e0711c12040e83047487240b1693a6774253b8142d1a0500a805b7a1","e08e97c2865750e880fea09b150a702ccfa84163382daa0221f5597185a554bf","7ec6b45fc1f5f012ac226b44d0eeaf5a0e90947431ad7c6d1f244ba080b2870d","4a1a19573176829708dc03efea508e7c364f6fa30098a5100bd9d93fc9cd38ee","8296198bc72e7ef2221b0e140738ce56004e8d1323cd08b0ac1a15295fe911b5","baeda1fadac9fd31920480b85340ab9c4266a25ad08403dee8e15fd0751101fb","12c4e8e811f4310b0dcaa3d1f843a35dc985f78941886cad4950453ad6753959","6bdede4dc73ad9816d0beeca7413ab29523f99a98441cc9fa6c614fd97fac49d","8698062058cbdc84171bd576315a5eecab2bf46d7d034144653ae78864889683","b3e4f2772da66bac2144ca8cd63f70d211d2f970c93fcb789d03e8a046d47c93","a3586135924c800f21f739a1da43acace1acfdba124deb0871cbd6d04d7dfd1b","f74c1fae7233cd08c72bb2dc09cb0673c53fb4c3c7903ccf0094404e3f2ba6d4","4ec74fe565d13fd219884cfacf903c89477cc54148887e51c5bead4dae7dc4fd","f50f52f8fc2a5f8dfa594ff59a6273876b1734fe612e9f331ca9078fede3b304","a46d8aa9e561fb135d253e1657a0cd0f6c18377676305eb0ca28e418358b229c","5a168a15e7a423011b10da472ee3b6d92b27227c192cdaf1e09b30f58806856d","ad107fa472d28e615af522b31653e75caad12b834b257c1a83f6c4acff2de9bf",{"version":"07cfc938dfbb5a7b5ba3c363366db93d5728b0fcad1aa08a12052a1b3b72817a","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","67cf04da598e6407427a17d828e9e02d8f5ae5a8466dc73d1585073b8dc29160","fa960168e0650a987d5738376a22a1969b5dff2112b9653f9f1efddf8ba7d5bb","140b05c89cbd5fc75c4e9c1780d85dfb4ea73a2b11dd345f8f944afd002ad74f","ece46d0e5702e9c269aa71b42d02c934c10d4d24545b1d8594a8115f23a9011f","5b0df2143d96172bf207ed187627e8c58b15a1a8f97bdbc2ede942b36b39fc98","75409a3abea76ea586c6fb7f2e9f1a7dc007140e2d4ee26ab127735c4f9154e4","8e721f0a95eb26a30228d571659d2db062213bfe066a97fff7967a0c8e1d56e4","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5",{"version":"fd240b48ab1e78082c96c1faca62df02c0b8befa1fd98d031fab4f75c90feee6","affectsGlobalScope":true},"3d87bdaed72f86b91f99401e6e04729afbb5916064778cf324b3d9b51c3a6d91","8ca837d16a31d6d01b13328ca9e6a39e424b4bf294d3b73349dccacea51be730","a9d40247ec6c68a47effbb1d8acd8df288bcee7b6bf29c17cf4161e5ef609a0c","caf38c850b924a0af08a893d06f68fcae3d5a41780b50cc6df9481beeca8e9a3","7152c46a63e7f9ac7db6cd8d4dbf85d90f051a0db60e650573fae576580cbf9a","496370c58ed054e51a68517846c28a695bf84df2873556cca7fe51e297b32420",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"263da3252e029b3b62580b7a0c5e7bab07325a31c8af436ff60143cfda73b629","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true}],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"removeComments":true,"sourceMap":true,"strict":true,"target":6,"useUnknownInCatchVariables":false},"fileIdsList":[[133,139],[133,135,136,139],[68,133,136,137,138],[139,143],[68,133,135,139,140,141,142],[133,135,137,139],[137,138,139,140,141,142,143,144,149,150,151,152,153,154,155,156,157,158,159],[133,137,139,143],[139],[133,138,143],[133,139,152],[133,134,137,138,139,143,144],[133,139,142,143,144,147],[160],[134,160],[146],[139,140,144,147],[133,136,139,144,154],[143,147,158,160],[133,134,139,142,143,147,160],[139,144,183,191],[138],[134,139,140,142,144,166],[35,133],[216,221],[182,189,198],[174,182,189],[198],[180,182,189],[182],[182,198,204],[189,198,204],[182,183,184,189,198,201,204],[184,198,201,204],[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],[180,182,198],[172],[203],[196,205,207],[189,198],[189],[195,204],[182,183,198,207],[42,134],[35,36,42,43],[44,108,109],[35,42,44],[36,44],[35,37,38,39,42,44,47,48],[38,49,63,64],[35,42,47,48,49],[35,37,42,44,46,47,48],[35,36,47,48,49],[34,50,55,62,65,66,107,110,132],[35],[36,40,41],[36,40,41,42,43,45,56,57,58,59,60,61],[36,41,42],[36],[35,36,41,42,44,57],[42],[36,42,43],[40,42],[49,63],[35,37,38,39,42,47],[35,42,45,48],[38,46,47,48,51,52,53,54],[48],[35,37,42,44,46,48],[44,47],[35,42,46,47,48,60],[44],[35,42,48],[36,42,47,58],[47,111],[44,48],[42,47],[47],[35,45],[35,42],[42,47,48],[67,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],[47,48],[37,42],[35,37,42,48],[35,37,42],[35,42,44,46,47,48,60,67],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106],[60,68],[68],[35,42,44,47,67,68],[214,217],[214,217,218,219],[216],[213,220],[215]],"referencedMap":[[144,1],[137,2],[139,3],[135,1],[141,1],[157,4],[143,5],[155,6],[154,6],[160,7],[152,8],[140,1],[142,9],[158,10],[156,11],[153,6],[150,9],[149,1],[145,12],[148,13],[161,14],[162,15],[147,16],[163,17],[164,18],[165,19],[166,20],[167,21],[168,22],[169,23],[136,24],[222,25],[174,26],[175,27],[178,28],[179,29],[181,30],[182,30],[183,31],[184,32],[185,33],[186,34],[212,35],[187,30],[189,36],[192,37],[193,38],[196,30],[197,39],[198,30],[201,40],[203,41],[204,42],[206,28],[209,43],[210,28],[134,44],[44,45],[110,46],[109,47],[108,48],[49,49],[65,50],[63,51],[64,52],[50,53],[133,54],[38,55],[42,56],[62,57],[57,58],[43,59],[58,60],[61,61],[56,62],[59,61],[60,63],[66,64],[48,65],[46,66],[55,67],[52,68],[51,68],[47,69],[53,70],[67,71],[129,72],[123,73],[116,74],[115,75],[124,76],[125,61],[117,77],[130,78],[111,79],[112,80],[113,81],[132,82],[114,75],[118,78],[119,83],[126,84],[127,59],[128,83],[120,81],[131,61],[121,85],[122,86],[68,87],[107,88],[71,89],[72,89],[73,89],[74,89],[75,89],[76,89],[77,89],[78,89],[97,89],[79,89],[80,89],[81,89],[82,89],[83,89],[84,89],[104,89],[85,89],[86,89],[87,89],[102,89],[88,89],[103,89],[89,89],[100,89],[101,89],[90,89],[91,89],[92,89],[98,89],[99,89],[93,89],[94,89],[95,89],[96,89],[105,89],[106,89],[70,90],[69,91],[218,92],[220,93],[219,92],[217,94],[221,95],[216,96]],"exportedModulesMap":[[144,1],[137,2],[139,3],[135,1],[141,1],[157,4],[143,5],[155,6],[154,6],[160,7],[152,8],[140,1],[142,9],[158,10],[156,11],[153,6],[150,9],[149,1],[145,12],[148,13],[161,14],[162,15],[147,16],[163,17],[164,18],[165,19],[166,20],[167,21],[168,22],[169,23],[136,24],[222,25],[174,26],[175,27],[178,28],[179,29],[181,30],[182,30],[183,31],[184,32],[185,33],[186,34],[212,35],[187,30],[189,36],[192,37],[193,38],[196,30],[197,39],[198,30],[201,40],[203,41],[204,42],[206,28],[209,43],[210,28],[134,44],[44,45],[110,46],[109,47],[108,48],[49,49],[65,50],[63,51],[64,52],[50,53],[133,54],[38,55],[42,56],[62,57],[57,58],[43,59],[58,60],[61,61],[56,62],[59,61],[60,63],[66,64],[48,65],[46,66],[55,67],[52,68],[51,68],[47,69],[53,70],[67,71],[129,72],[123,73],[116,74],[115,75],[124,76],[125,61],[117,77],[130,78],[111,79],[112,80],[113,81],[132,82],[114,75],[118,78],[119,83],[126,84],[127,59],[128,83],[120,81],[131,61],[121,85],[122,86],[68,87],[107,88],[71,89],[72,89],[73,89],[74,89],[75,89],[76,89],[77,89],[78,89],[97,89],[79,89],[80,89],[81,89],[82,89],[83,89],[84,89],[104,89],[85,89],[86,89],[87,89],[102,89],[88,89],[103,89],[89,89],[100,89],[101,89],[90,89],[91,89],[92,89],[98,89],[99,89],[93,89],[94,89],[95,89],[96,89],[105,89],[106,89],[70,90],[69,91],[218,92],[220,93],[219,92],[217,94],[221,95],[216,96]],"semanticDiagnosticsPerFile":[144,137,151,139,135,141,157,143,155,154,160,152,140,142,158,159,156,153,150,138,149,145,148,161,162,147,146,163,164,165,166,167,168,169,136,222,170,172,173,174,175,176,177,178,179,180,181,182,183,171,211,184,185,186,212,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,213,134,44,110,109,108,49,65,63,64,50,133,35,37,38,39,42,45,62,40,57,43,58,61,56,59,36,41,60,66,54,48,46,55,52,51,47,53,67,129,123,116,115,124,125,117,130,111,112,113,132,114,118,119,126,127,128,120,131,121,122,68,107,71,72,73,74,75,76,77,78,97,79,80,81,82,83,84,104,85,86,87,102,88,103,89,100,101,90,91,92,98,99,93,94,95,96,105,106,70,69,34,214,218,220,219,217,221,216,215,7,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,1,33],"affectedFilesPendingEmit":[[144,1],[137,1],[151,1],[139,1],[135,1],[141,1],[157,1],[143,1],[155,1],[154,1],[160,1],[152,1],[140,1],[142,1],[158,1],[159,1],[156,1],[153,1],[150,1],[138,1],[149,1],[145,1],[148,1],[161,1],[162,1],[147,1],[146,1],[163,1],[164,1],[165,1],[166,1],[167,1],[168,1],[169,1],[136,1],[222,1],[170,1],[172,1],[173,1],[174,1],[175,1],[176,1],[177,1],[178,1],[179,1],[180,1],[181,1],[182,1],[183,1],[171,1],[211,1],[184,1],[185,1],[186,1],[212,1],[187,1],[188,1],[189,1],[190,1],[191,1],[192,1],[193,1],[194,1],[195,1],[196,1],[197,1],[198,1],[199,1],[200,1],[201,1],[202,1],[203,1],[204,1],[205,1],[206,1],[207,1],[208,1],[209,1],[210,1],[213,1],[134,1],[44,1],[110,1],[109,1],[108,1],[49,1],[65,1],[63,1],[64,1],[50,1],[133,1],[35,1],[37,1],[38,1],[39,1],[42,1],[45,1],[62,1],[40,1],[57,1],[43,1],[58,1],[61,1],[56,1],[59,1],[36,1],[41,1],[60,1],[66,1],[54,1],[48,1],[46,1],[55,1],[52,1],[51,1],[47,1],[53,1],[67,1],[129,1],[123,1],[116,1],[115,1],[124,1],[125,1],[117,1],[130,1],[111,1],[112,1],[113,1],[132,1],[114,1],[118,1],[119,1],[126,1],[127,1],[128,1],[120,1],[131,1],[121,1],[122,1],[68,1],[107,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[97,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[104,1],[85,1],[86,1],[87,1],[102,1],[88,1],[103,1],[89,1],[100,1],[101,1],[90,1],[91,1],[92,1],[98,1],[99,1],[93,1],[94,1],[95,1],[96,1],[105,1],[106,1],[70,1],[69,1],[34,1],[214,1],[218,1],[220,1],[219,1],[217,1],[221,1],[216,1],[215,1],[2,1],[3,1],[4,1],[5,1],[6,1]]},"version":"4.6.3"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/graphql/version.d.ts","../node_modules/graphql/jsutils/Maybe.d.ts","../node_modules/graphql/language/source.d.ts","../node_modules/graphql/jsutils/ObjMap.d.ts","../node_modules/graphql/jsutils/Path.d.ts","../node_modules/graphql/jsutils/PromiseOrValue.d.ts","../node_modules/graphql/language/kinds.d.ts","../node_modules/graphql/language/tokenKind.d.ts","../node_modules/graphql/language/ast.d.ts","../node_modules/graphql/language/location.d.ts","../node_modules/graphql/error/GraphQLError.d.ts","../node_modules/graphql/language/directiveLocation.d.ts","../node_modules/graphql/type/directives.d.ts","../node_modules/graphql/type/schema.d.ts","../node_modules/graphql/type/definition.d.ts","../node_modules/graphql/execution/execute.d.ts","../node_modules/graphql/graphql.d.ts","../node_modules/graphql/type/scalars.d.ts","../node_modules/graphql/type/introspection.d.ts","../node_modules/graphql/type/validate.d.ts","../node_modules/graphql/type/assertName.d.ts","../node_modules/graphql/type/index.d.ts","../node_modules/graphql/language/printLocation.d.ts","../node_modules/graphql/language/lexer.d.ts","../node_modules/graphql/language/parser.d.ts","../node_modules/graphql/language/printer.d.ts","../node_modules/graphql/language/visitor.d.ts","../node_modules/graphql/language/predicates.d.ts","../node_modules/graphql/language/index.d.ts","../node_modules/graphql/execution/subscribe.d.ts","../node_modules/graphql/execution/values.d.ts","../node_modules/graphql/execution/index.d.ts","../node_modules/graphql/subscription/index.d.ts","../node_modules/graphql/utilities/TypeInfo.d.ts","../node_modules/graphql/validation/ValidationContext.d.ts","../node_modules/graphql/validation/validate.d.ts","../node_modules/graphql/validation/specifiedRules.d.ts","../node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts","../node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts","../node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts","../node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts","../node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts","../node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts","../node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts","../node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts","../node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts","../node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts","../node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts","../node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts","../node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts","../node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts","../node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts","../node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts","../node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts","../node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts","../node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts","../node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts","../node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts","../node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts","../node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts","../node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts","../node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts","../node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts","../node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts","../node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts","../node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts","../node_modules/graphql/validation/index.d.ts","../node_modules/graphql/error/syntaxError.d.ts","../node_modules/graphql/error/locatedError.d.ts","../node_modules/graphql/error/index.d.ts","../node_modules/graphql/utilities/getIntrospectionQuery.d.ts","../node_modules/graphql/utilities/getOperationAST.d.ts","../node_modules/graphql/utilities/getOperationRootType.d.ts","../node_modules/graphql/utilities/introspectionFromSchema.d.ts","../node_modules/graphql/utilities/buildClientSchema.d.ts","../node_modules/graphql/utilities/buildASTSchema.d.ts","../node_modules/graphql/utilities/extendSchema.d.ts","../node_modules/graphql/utilities/lexicographicSortSchema.d.ts","../node_modules/graphql/utilities/printSchema.d.ts","../node_modules/graphql/utilities/typeFromAST.d.ts","../node_modules/graphql/utilities/valueFromAST.d.ts","../node_modules/graphql/utilities/valueFromASTUntyped.d.ts","../node_modules/graphql/utilities/astFromValue.d.ts","../node_modules/graphql/utilities/coerceInputValue.d.ts","../node_modules/graphql/utilities/concatAST.d.ts","../node_modules/graphql/utilities/separateOperations.d.ts","../node_modules/graphql/utilities/stripIgnoredCharacters.d.ts","../node_modules/graphql/utilities/typeComparators.d.ts","../node_modules/graphql/utilities/assertValidName.d.ts","../node_modules/graphql/utilities/findBreakingChanges.d.ts","../node_modules/graphql/utilities/typedQueryDocumentNode.d.ts","../node_modules/graphql/utilities/index.d.ts","../node_modules/graphql/index.d.ts","../node_modules/graphql-tag/lib/index.d.ts","./dist/directiveAndTypeSpecification.d.ts","../node_modules/@apollo/core-schema/dist/error.d.ts","./dist/coreSpec.d.ts","./dist/utils.d.ts","./dist/definitions.d.ts","./dist/operations.d.ts","./dist/error.d.ts","./dist/print.d.ts","./dist/federation.d.ts","./dist/buildSchema.d.ts","./src/__tests__/coreSpec.test.ts","./src/__tests__/matchers/toMatchString.ts","./src/__tests__/matchers/index.ts","./src/__tests__/definitions.test.ts","./dist/values.d.ts","./dist/types.d.ts","./dist/debug.d.ts","./dist/joinSpec.d.ts","./dist/tagSpec.d.ts","./dist/inaccessibleSpec.d.ts","./dist/federationSpec.d.ts","./dist/supergraphs.d.ts","./dist/extractSubgraphsFromSupergraph.d.ts","./dist/schemaUpgrader.d.ts","./dist/suggestions.d.ts","./dist/index.d.ts","./src/__tests__/extractSubgraphsFromSupergraph.test.ts","./src/__tests__/federation.test.ts","./src/__tests__/operations.test.ts","./src/__tests__/removeInaccessibleElements.test.ts","./src/__tests__/schemaUpgrader.test.ts","./src/__tests__/subgraphValidation.test.ts","./src/__tests__/toAPISchema.test.ts","./src/__tests__/utils.test.ts","./src/__tests__/values.test.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","f473be7c909dbd10c40f013e70da40f24648b2abb01025436fe0a0eecd0e83be","c98583f02275727ead0256c97298c15fb77a1c1e473b03c3b61291c63c66d385","9a7904e39add402d71343ac8de5303e990d9abb1fc703c64991c655b718267a5","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","0dc062870d34785429bb959d9308eb73c4f3b5111e58773b986ba9f681ba9ea5","7920b8aa27a7b6a90bf9f5dc21eedac7f38ca8717ebe70495ab616eb52b3247b","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","2395a86f860ac7c413f927085844fd5b32335566d014ed400ce46931349dff66","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","391d72e39677e72ba87f890f7a6e53a1830a07bf3fdd6128fe59ac028d7817a1","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","0a13027e3939d08a00e8bf5a99500c9bcafed3d58d7da856093af83add1fb102","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","c62947664e97a5f6502834551b0a66873f5580019e1a00500fa02c2f52ef3d0e","8e45899623ebaa113802aa8932c46e506ccb47dc73b1a74cf236149c43d4f4e5","7400c1dfe7f56938af00d4ac195399e8e71d290e6d7627ebcb0228f9acfbb2bc","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","da129261494c4094bf55c761ba5f0ae4d5426d83ed5e312bc7f8600727bb8a05","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","08b603e3737ff32a685eefca3e7f21324b8b868f3322416cef759f8a54d234ef","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","c4d365a631f0a0c91f43793f8adde790ac43a6caddd52b1d04698e7fc670c63e","5dcd41aeb5f7119177adab46147589a1618f2b35bd976e6c3a20ec328f58d1bd","107b40e93c4161733d41c710e897ed21dc13996fb38e4da3bbbef94d130e9ada","c06c51bb30d3440a88d2ac22fb6b44ceb96666a1bccb80db228fb13496dcf4ab","d61cf4a59ee59199a11117604824bd7104a23872f0106e43c7325894196b510d","09089e288559272e49007b8873a4bb10ff03367314ccf1b357d9a8502e336970","d564e52eb1799b7868d15e8743f296e26439d17ae13e9299856a0a60b2a83bdd","e516f9eaa5e08637fa5169d1649d5696afe49bcbb4e15f65b8394e343eab8b08","354f2f1d78fd8f2b264355c792694baf2a6a4426d4dda3beeabee6b25a1ff9c0","225433578f05d7d3b052da479f0eadcff4d675be8d3157d5ae864056ce177989","e5e26bbea556006401e8d1cb364ec076cf29be3edc58271f02e8a0b13717a4b5","f2a1220b9e7cb83b20723cb051df79c5d42fc225f38d5067353ea7f0b9dcfcfe","6ffa7fa9affdaa2ec8104b587eec387bd16449049699cab34c4fe636fbbf4352",{"version":"f0e9582ccedc02ec2e1f1a67180ad0e1eba5229952c5e28373ed591069833beb","affectsGlobalScope":true},"ebb11e1c3b8d4a1c4300aa9b6f89990943de2e6d05589986a6b8ace43dbb4002",{"version":"41ca572ef60d3886800f4eadba6b5ffc55aaa8a0905c6056d1bf5bff510c58cb","affectsGlobalScope":true},"a9c38c0558b64b8919ee10bf38e7bfc694fab8a572c6ef410b8e6d382a14675a","88c96ac3783f83241e91e38c87b8bb5a85e22499ddf69aefdd3b5f5e9bc4a82d","012603f603e5521eae205501e1954aa94d32ca9d56879e540d586f00ca61a060","da1fd066e1e629b127562accabbb234187be6e31ba914fcd528c20b5fbba2cbd","5254c7eb26959d862d02fe22cf81fba42cc69e838df2200a826ef6276c51724a","618831709b8cfc18b25bf497e9c713ab29217c1df4089c199a38300c2267c411","34ba694a0ef4e5e2809b7b833197e00e59e3037abc674f0e0e0fa4bc75a357aa","c7903cf37d5658d3638de373b2d609fd900c000b83ce08365e58151a864f5a21","a89dcecfc252440d43023ff12ed08eb644b2ebac4e4cb90c933f687032787d82","1338a88a9a3de326952a5e5aed43a8be7522f2e43cdf36814f5d641e632f954d","10bb8f5d76e2b36efbf61d821e14b16ee2eec7538948374910724d05174c7be7","3d22c9d064d32faf0d6d5d0332d1cd7c488b18c37981562103d79e5542e53c74","722280e844df3f1a349af464509a257a8482d973092f1e767d4a5c86e6acdde4","03d959cd2c259545afa4a381ccf215b1c66008a2348c0db85033101b8cab1080","d214fc22772b37de1982eb029e539bdb6adeabc8c84826cf07eac1aeea740143","1e28eedd5528744ab590b625451fe73e2020076a88f70f9204a0f04bc559c89a","06e49287250cc75645124815e1fe64b7ec431c9255eaf962df28020d0b6a54e3","28bf426fd85375f87346cd9c403493700ea7a4fa814be7a7b93d0a18e529f78e","8c9d95d7978a39434e5ffbb773b0d09a4f37763acb47de693027852438aef873","0097e331e71cc93d99356c0643f867bfe9c626cfdc54740473e377da248940e8","2de5a450fc61279f92d53b26b250645c138bd9397eaa95d615cfb4f2c291c27b","0ce65cf5b36034006f2b315f379179f07bd5a6027f6538c7aed4ac5be6742fc7",{"version":"cb8b955fbbb257a05b2d5a2f93212c7edf033b61b9420fa700d10d39d9bd4533","affectsGlobalScope":true},"0721418a90edc5fca466672f266ab6de12cb50a9db29998fc58765481a3c82ef","97b39f33e966bcf9762bccdaca76c94825199f3fef153ebea9bdfd3fcd2413b6","78650a1b5800e82b6914260e9ca0fe9ea744e4333c3bec51b08f91525718d7fa","c41eff6b8e1f91104ae974ccd2bc37c723a462b30ca1df942b2c5b0158ef1df3","2e341737e0711c12040e83047487240b1693a6774253b8142d1a0500a805b7a1","e08e97c2865750e880fea09b150a702ccfa84163382daa0221f5597185a554bf","7ec6b45fc1f5f012ac226b44d0eeaf5a0e90947431ad7c6d1f244ba080b2870d","4a1a19573176829708dc03efea508e7c364f6fa30098a5100bd9d93fc9cd38ee","8296198bc72e7ef2221b0e140738ce56004e8d1323cd08b0ac1a15295fe911b5","baeda1fadac9fd31920480b85340ab9c4266a25ad08403dee8e15fd0751101fb","12c4e8e811f4310b0dcaa3d1f843a35dc985f78941886cad4950453ad6753959","6bdede4dc73ad9816d0beeca7413ab29523f99a98441cc9fa6c614fd97fac49d","8698062058cbdc84171bd576315a5eecab2bf46d7d034144653ae78864889683","b3e4f2772da66bac2144ca8cd63f70d211d2f970c93fcb789d03e8a046d47c93","a3586135924c800f21f739a1da43acace1acfdba124deb0871cbd6d04d7dfd1b","f74c1fae7233cd08c72bb2dc09cb0673c53fb4c3c7903ccf0094404e3f2ba6d4","4ec74fe565d13fd219884cfacf903c89477cc54148887e51c5bead4dae7dc4fd","05c9d79ec82f450b137eb3abcafd27fc2327b6708a814ac9a145d2a7104a798c","a46d8aa9e561fb135d253e1657a0cd0f6c18377676305eb0ca28e418358b229c","5a168a15e7a423011b10da472ee3b6d92b27227c192cdaf1e09b30f58806856d","ad107fa472d28e615af522b31653e75caad12b834b257c1a83f6c4acff2de9bf",{"version":"07cfc938dfbb5a7b5ba3c363366db93d5728b0fcad1aa08a12052a1b3b72817a","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","67cf04da598e6407427a17d828e9e02d8f5ae5a8466dc73d1585073b8dc29160","fa960168e0650a987d5738376a22a1969b5dff2112b9653f9f1efddf8ba7d5bb","140b05c89cbd5fc75c4e9c1780d85dfb4ea73a2b11dd345f8f944afd002ad74f","ece46d0e5702e9c269aa71b42d02c934c10d4d24545b1d8594a8115f23a9011f","5b0df2143d96172bf207ed187627e8c58b15a1a8f97bdbc2ede942b36b39fc98","75409a3abea76ea586c6fb7f2e9f1a7dc007140e2d4ee26ab127735c4f9154e4","8e721f0a95eb26a30228d571659d2db062213bfe066a97fff7967a0c8e1d56e4","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5",{"version":"fd240b48ab1e78082c96c1faca62df02c0b8befa1fd98d031fab4f75c90feee6","affectsGlobalScope":true},"3d87bdaed72f86b91f99401e6e04729afbb5916064778cf324b3d9b51c3a6d91","8ca837d16a31d6d01b13328ca9e6a39e424b4bf294d3b73349dccacea51be730","a9d40247ec6c68a47effbb1d8acd8df288bcee7b6bf29c17cf4161e5ef609a0c","caf38c850b924a0af08a893d06f68fcae3d5a41780b50cc6df9481beeca8e9a3","7152c46a63e7f9ac7db6cd8d4dbf85d90f051a0db60e650573fae576580cbf9a","496370c58ed054e51a68517846c28a695bf84df2873556cca7fe51e297b32420",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"263da3252e029b3b62580b7a0c5e7bab07325a31c8af436ff60143cfda73b629","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true}],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"removeComments":true,"sourceMap":true,"strict":true,"target":6,"useUnknownInCatchVariables":false},"fileIdsList":[[133,139],[133,135,136,139],[68,133,136,137,138],[139,143],[68,133,135,139,140,141,142],[133,135,137,139],[137,138,139,140,141,142,143,144,149,150,151,152,153,154,155,156,157,158,159],[133,137,139,143],[139],[133,138,143],[133,139,152],[133,134,137,138,139,143,144],[133,139,142,143,144,147],[160],[134,160],[146],[139,140,144,147],[133,136,139,144,154],[139,143,147,158,160],[133,134,139,142,143,147,160],[139,144,183,191],[138],[134,139,140,142,144,166],[35,133],[216,221],[182,189,198],[174,182,189],[198],[180,182,189],[182],[182,198,204],[189,198,204],[182,183,184,189,198,201,204],[184,198,201,204],[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],[180,182,198],[172],[203],[196,205,207],[189,198],[189],[195,204],[182,183,198,207],[42,134],[35,36,42,43],[44,108,109],[35,42,44],[36,44],[35,37,38,39,42,44,47,48],[38,49,63,64],[35,42,47,48,49],[35,37,42,44,46,47,48],[35,36,47,48,49],[34,50,55,62,65,66,107,110,132],[35],[36,40,41],[36,40,41,42,43,45,56,57,58,59,60,61],[36,41,42],[36],[35,36,41,42,44,57],[42],[36,42,43],[40,42],[49,63],[35,37,38,39,42,47],[35,42,45,48],[38,46,47,48,51,52,53,54],[48],[35,37,42,44,46,48],[44,47],[35,42,46,47,48,60],[44],[35,42,48],[36,42,47,58],[47,111],[44,48],[42,47],[47],[35,45],[35,42],[42,47,48],[67,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],[47,48],[37,42],[35,37,42,48],[35,37,42],[35,42,44,46,47,48,60,67],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106],[60,68],[68],[35,42,44,47,67,68],[214,217],[214,217,218,219],[216],[213,220],[215]],"referencedMap":[[144,1],[137,2],[139,3],[135,1],[141,1],[157,4],[143,5],[155,6],[154,6],[160,7],[152,8],[140,1],[142,9],[158,10],[156,11],[153,6],[150,9],[149,1],[145,12],[148,13],[161,14],[162,15],[147,16],[163,17],[164,18],[165,19],[166,20],[167,21],[168,22],[169,23],[136,24],[222,25],[174,26],[175,27],[178,28],[179,29],[181,30],[182,30],[183,31],[184,32],[185,33],[186,34],[212,35],[187,30],[189,36],[192,37],[193,38],[196,30],[197,39],[198,30],[201,40],[203,41],[204,42],[206,28],[209,43],[210,28],[134,44],[44,45],[110,46],[109,47],[108,48],[49,49],[65,50],[63,51],[64,52],[50,53],[133,54],[38,55],[42,56],[62,57],[57,58],[43,59],[58,60],[61,61],[56,62],[59,61],[60,63],[66,64],[48,65],[46,66],[55,67],[52,68],[51,68],[47,69],[53,70],[67,71],[129,72],[123,73],[116,74],[115,75],[124,76],[125,61],[117,77],[130,78],[111,79],[112,80],[113,81],[132,82],[114,75],[118,78],[119,83],[126,84],[127,59],[128,83],[120,81],[131,61],[121,85],[122,86],[68,87],[107,88],[71,89],[72,89],[73,89],[74,89],[75,89],[76,89],[77,89],[78,89],[97,89],[79,89],[80,89],[81,89],[82,89],[83,89],[84,89],[104,89],[85,89],[86,89],[87,89],[102,89],[88,89],[103,89],[89,89],[100,89],[101,89],[90,89],[91,89],[92,89],[98,89],[99,89],[93,89],[94,89],[95,89],[96,89],[105,89],[106,89],[70,90],[69,91],[218,92],[220,93],[219,92],[217,94],[221,95],[216,96]],"exportedModulesMap":[[144,1],[137,2],[139,3],[135,1],[141,1],[157,4],[143,5],[155,6],[154,6],[160,7],[152,8],[140,1],[142,9],[158,10],[156,11],[153,6],[150,9],[149,1],[145,12],[148,13],[161,14],[162,15],[147,16],[163,17],[164,18],[165,19],[166,20],[167,21],[168,22],[169,23],[136,24],[222,25],[174,26],[175,27],[178,28],[179,29],[181,30],[182,30],[183,31],[184,32],[185,33],[186,34],[212,35],[187,30],[189,36],[192,37],[193,38],[196,30],[197,39],[198,30],[201,40],[203,41],[204,42],[206,28],[209,43],[210,28],[134,44],[44,45],[110,46],[109,47],[108,48],[49,49],[65,50],[63,51],[64,52],[50,53],[133,54],[38,55],[42,56],[62,57],[57,58],[43,59],[58,60],[61,61],[56,62],[59,61],[60,63],[66,64],[48,65],[46,66],[55,67],[52,68],[51,68],[47,69],[53,70],[67,71],[129,72],[123,73],[116,74],[115,75],[124,76],[125,61],[117,77],[130,78],[111,79],[112,80],[113,81],[132,82],[114,75],[118,78],[119,83],[126,84],[127,59],[128,83],[120,81],[131,61],[121,85],[122,86],[68,87],[107,88],[71,89],[72,89],[73,89],[74,89],[75,89],[76,89],[77,89],[78,89],[97,89],[79,89],[80,89],[81,89],[82,89],[83,89],[84,89],[104,89],[85,89],[86,89],[87,89],[102,89],[88,89],[103,89],[89,89],[100,89],[101,89],[90,89],[91,89],[92,89],[98,89],[99,89],[93,89],[94,89],[95,89],[96,89],[105,89],[106,89],[70,90],[69,91],[218,92],[220,93],[219,92],[217,94],[221,95],[216,96]],"semanticDiagnosticsPerFile":[144,137,151,139,135,141,157,143,155,154,160,152,140,142,158,159,156,153,150,138,149,145,148,161,162,147,146,163,164,165,166,167,168,169,136,222,170,172,173,174,175,176,177,178,179,180,181,182,183,171,211,184,185,186,212,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,213,134,44,110,109,108,49,65,63,64,50,133,35,37,38,39,42,45,62,40,57,43,58,61,56,59,36,41,60,66,54,48,46,55,52,51,47,53,67,129,123,116,115,124,125,117,130,111,112,113,132,114,118,119,126,127,128,120,131,121,122,68,107,71,72,73,74,75,76,77,78,97,79,80,81,82,83,84,104,85,86,87,102,88,103,89,100,101,90,91,92,98,99,93,94,95,96,105,106,70,69,34,214,218,220,219,217,221,216,215,7,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,1,33],"affectedFilesPendingEmit":[[144,1],[137,1],[151,1],[139,1],[135,1],[141,1],[157,1],[143,1],[155,1],[154,1],[160,1],[152,1],[140,1],[142,1],[158,1],[159,1],[156,1],[153,1],[150,1],[138,1],[149,1],[145,1],[148,1],[161,1],[162,1],[147,1],[146,1],[163,1],[164,1],[165,1],[166,1],[167,1],[168,1],[169,1],[136,1],[222,1],[170,1],[172,1],[173,1],[174,1],[175,1],[176,1],[177,1],[178,1],[179,1],[180,1],[181,1],[182,1],[183,1],[171,1],[211,1],[184,1],[185,1],[186,1],[212,1],[187,1],[188,1],[189,1],[190,1],[191,1],[192,1],[193,1],[194,1],[195,1],[196,1],[197,1],[198,1],[199,1],[200,1],[201,1],[202,1],[203,1],[204,1],[205,1],[206,1],[207,1],[208,1],[209,1],[210,1],[213,1],[134,1],[44,1],[110,1],[109,1],[108,1],[49,1],[65,1],[63,1],[64,1],[50,1],[133,1],[35,1],[37,1],[38,1],[39,1],[42,1],[45,1],[62,1],[40,1],[57,1],[43,1],[58,1],[61,1],[56,1],[59,1],[36,1],[41,1],[60,1],[66,1],[54,1],[48,1],[46,1],[55,1],[52,1],[51,1],[47,1],[53,1],[67,1],[129,1],[123,1],[116,1],[115,1],[124,1],[125,1],[117,1],[130,1],[111,1],[112,1],[113,1],[132,1],[114,1],[118,1],[119,1],[126,1],[127,1],[128,1],[120,1],[131,1],[121,1],[122,1],[68,1],[107,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[97,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[104,1],[85,1],[86,1],[87,1],[102,1],[88,1],[103,1],[89,1],[100,1],[101,1],[90,1],[91,1],[92,1],[98,1],[99,1],[93,1],[94,1],[95,1],[96,1],[105,1],[106,1],[70,1],[69,1],[34,1],[214,1],[218,1],[220,1],[219,1],[217,1],[221,1],[216,1],[215,1],[2,1],[3,1],[4,1],[5,1],[6,1]]},"version":"4.6.3"}
|