graphql-jit 0.8.0 → 0.8.1

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/dist/ast.d.ts CHANGED
@@ -1,8 +1,15 @@
1
1
  import { ArgumentNode, ASTNode, DirectiveNode, FieldNode, GraphQLArgument, GraphQLDirective, GraphQLField, GraphQLInputType, GraphQLObjectType, SelectionSetNode, SourceLocation, ValueNode, VariableNode } from "graphql";
2
2
  import { CompilationContext } from "./execution";
3
- import { Maybe } from "./types";
3
+ import { resolveFieldDef } from "./compat";
4
4
  export interface JitFieldNode extends FieldNode {
5
+ /**
6
+ * @deprecated Use __internalShouldIncludePath instead
7
+ * @see __internalShouldIncludePath
8
+ */
5
9
  __internalShouldInclude?: string;
10
+ __internalShouldIncludePath?: {
11
+ [path: string]: string;
12
+ };
6
13
  }
7
14
  export interface FieldsAndNodes {
8
15
  [key: string]: JitFieldNode[];
@@ -17,20 +24,15 @@ export interface FieldsAndNodes {
17
24
  */
18
25
  export declare function collectFields(compilationContext: CompilationContext, runtimeType: GraphQLObjectType, selectionSet: SelectionSetNode, fields: FieldsAndNodes, visitedFragmentNames: {
19
26
  [key: string]: boolean;
20
- }): FieldsAndNodes;
21
- /**
22
- * Resolves the field on the given source object. In particular, this
23
- * figures out the value that the field returns by calling its resolve function,
24
- * then calls completeValue to complete promises, serialize scalars, or execute
25
- * the sub-selection-set for objects.
26
- */
27
- export declare function resolveFieldDef(compilationContext: CompilationContext, parentType: GraphQLObjectType, fieldNodes: FieldNode[]): Maybe<GraphQLField<any, any>>;
27
+ }, parentResponsePath?: ObjectPath): FieldsAndNodes;
28
+ export { resolveFieldDef };
28
29
  /**
29
30
  * A memoized collection of relevant subfields in the context of the return
30
31
  * type. Memoizing ensures the subfields are not repeatedly calculated, which
31
32
  * saves overhead when resolving lists of values.
32
33
  */
33
- export declare const collectSubfields: (compilationContext: CompilationContext, returnType: GraphQLObjectType, fieldNodes: FieldNode[]) => {
34
+ export declare const collectSubfields: typeof _collectSubfields;
35
+ declare function _collectSubfields(compilationContext: CompilationContext, returnType: GraphQLObjectType, fieldNodes: FieldNode[], parentResponsePath?: ObjectPath): {
34
36
  [key: string]: FieldNode[];
35
37
  };
36
38
  declare type ResponsePathType = "variable" | "literal" | "meta";
@@ -76,4 +78,18 @@ export declare function flattenPath(path: ObjectPath): Array<{
76
78
  key: string;
77
79
  type: ResponsePathType;
78
80
  }>;
79
- export {};
81
+ /**
82
+ * Serialize a path for use in the skip/include directives.
83
+ *
84
+ * @param path The path to serialize
85
+ * @returns The path serialized as a string, with the root path first.
86
+ */
87
+ export declare function serializeObjectPathForSkipInclude(path: ObjectPath | undefined): string;
88
+ /**
89
+ * join two path segments to a dot notation, handling empty strings
90
+ *
91
+ * @param a path segment
92
+ * @param b path segment
93
+ * @returns combined path in dot notation
94
+ */
95
+ export declare function joinSkipIncludePath(a: string, b: string): string;
package/dist/ast.js CHANGED
@@ -3,14 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.flattenPath = exports.addPath = exports.computeLocations = exports.valueFromAST = exports.getArgumentDefs = exports.collectSubfields = exports.resolveFieldDef = exports.collectFields = void 0;
6
+ exports.joinSkipIncludePath = exports.serializeObjectPathForSkipInclude = exports.flattenPath = exports.addPath = exports.computeLocations = exports.valueFromAST = exports.getArgumentDefs = exports.collectSubfields = exports.resolveFieldDef = exports.collectFields = void 0;
7
7
  const generate_function_1 = __importDefault(require("generate-function"));
8
8
  const graphql_1 = require("graphql");
9
- const execute_1 = require("graphql/execution/execute");
10
9
  const language_1 = require("graphql/language");
11
10
  const type_1 = require("graphql/type");
12
11
  const execution_1 = require("./execution");
13
12
  const inspect_1 = __importDefault(require("./inspect"));
13
+ const compat_1 = require("./compat");
14
+ Object.defineProperty(exports, "resolveFieldDef", { enumerable: true, get: function () { return compat_1.resolveFieldDef; } });
15
+ const memoize_1 = require("./memoize");
14
16
  const inspect = (0, inspect_1.default)();
15
17
  /**
16
18
  * Given a selectionSet, adds all of the fields in that selection to
@@ -20,16 +22,16 @@ const inspect = (0, inspect_1.default)();
20
22
  * returns an Interface or Union type, the "runtime type" will be the actual
21
23
  * Object type returned by that field.
22
24
  */
23
- function collectFields(compilationContext, runtimeType, selectionSet, fields, visitedFragmentNames) {
24
- return collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields, visitedFragmentNames);
25
+ function collectFields(compilationContext, runtimeType, selectionSet, fields, visitedFragmentNames, parentResponsePath) {
26
+ return collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields, visitedFragmentNames, undefined, serializeObjectPathForSkipInclude(parentResponsePath));
25
27
  }
26
28
  exports.collectFields = collectFields;
27
29
  /**
28
30
  * Implementation of collectFields defined above with extra parameters
29
31
  * used for recursion and need not be exposed publically
30
32
  */
31
- function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields, visitedFragmentNames, previousShouldInclude = "") {
32
- var _a;
33
+ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields, visitedFragmentNames, previousShouldInclude = "", parentResponsePath = "") {
34
+ var _a, _b, _c;
33
35
  for (const selection of selectionSet.selections) {
34
36
  switch (selection.kind) {
35
37
  case language_1.Kind.FIELD: {
@@ -38,6 +40,16 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
38
40
  fields[name] = [];
39
41
  }
40
42
  const fieldNode = selection;
43
+ // the current path of the field
44
+ // This is used to generate per path skip/include code
45
+ // because the same field can be reached from different paths (e.g. fragment reuse)
46
+ const currentPath = joinSkipIncludePath(parentResponsePath,
47
+ // use alias(instead of selection.name.value) if available as the responsePath used for lookup uses alias
48
+ name);
49
+ // `should include`s generated for the current fieldNode
50
+ const compiledSkipInclude = compileSkipInclude(compilationContext, selection);
51
+ if (!fieldNode.__internalShouldIncludePath)
52
+ fieldNode.__internalShouldIncludePath = {};
41
53
  /**
42
54
  * Carry over fragment's skip and include code
43
55
  *
@@ -54,7 +66,10 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
54
66
  * -----------------------------
55
67
  * `should include`s generated for the current fieldNode
56
68
  */
57
- fieldNode.__internalShouldInclude = joinShouldIncludeCompilations((_a = fieldNode.__internalShouldInclude) !== null && _a !== void 0 ? _a : "", previousShouldInclude, compileSkipInclude(compilationContext, selection));
69
+ fieldNode.__internalShouldIncludePath[currentPath] =
70
+ joinShouldIncludeCompilations((_b = (_a = fieldNode.__internalShouldIncludePath) === null || _a === void 0 ? void 0 : _a[currentPath]) !== null && _b !== void 0 ? _b : "", previousShouldInclude, compiledSkipInclude);
71
+ // @deprecated
72
+ fieldNode.__internalShouldInclude = joinShouldIncludeCompilations((_c = fieldNode.__internalShouldInclude) !== null && _c !== void 0 ? _c : "", previousShouldInclude, compiledSkipInclude);
58
73
  /**
59
74
  * We augment the entire subtree as the parent object's skip/include
60
75
  * directives influence the child even if the child doesn't have
@@ -62,20 +77,24 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
62
77
  *
63
78
  * Refer the function definition for example.
64
79
  */
65
- augmentFieldNodeTree(compilationContext, fieldNode);
80
+ augmentFieldNodeTree(compilationContext, fieldNode, currentPath);
66
81
  fields[name].push(fieldNode);
67
82
  break;
68
83
  }
69
- case language_1.Kind.INLINE_FRAGMENT:
84
+ case language_1.Kind.INLINE_FRAGMENT: {
70
85
  if (!doesFragmentConditionMatch(compilationContext, selection, runtimeType)) {
71
86
  continue;
72
87
  }
88
+ // current fragment's shouldInclude
89
+ const compiledSkipInclude = compileSkipInclude(compilationContext, selection);
90
+ // recurse
73
91
  collectFieldsImpl(compilationContext, runtimeType, selection.selectionSet, fields, visitedFragmentNames, joinShouldIncludeCompilations(
74
92
  // `should include`s from previous fragments
75
93
  previousShouldInclude,
76
94
  // current fragment's shouldInclude
77
- compileSkipInclude(compilationContext, selection)));
95
+ compiledSkipInclude), parentResponsePath);
78
96
  break;
97
+ }
79
98
  case language_1.Kind.FRAGMENT_SPREAD: {
80
99
  const fragName = selection.name.value;
81
100
  if (visitedFragmentNames[fragName]) {
@@ -87,11 +106,14 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
87
106
  !doesFragmentConditionMatch(compilationContext, fragment, runtimeType)) {
88
107
  continue;
89
108
  }
109
+ // current fragment's shouldInclude
110
+ const compiledSkipInclude = compileSkipInclude(compilationContext, selection);
111
+ // recurse
90
112
  collectFieldsImpl(compilationContext, runtimeType, fragment.selectionSet, fields, visitedFragmentNames, joinShouldIncludeCompilations(
91
113
  // `should include`s from previous fragments
92
114
  previousShouldInclude,
93
115
  // current fragment's shouldInclude
94
- compileSkipInclude(compilationContext, selection)));
116
+ compiledSkipInclude), parentResponsePath);
95
117
  break;
96
118
  }
97
119
  }
@@ -143,40 +165,50 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
143
165
  *
144
166
  * @param rootFieldNode {JitFieldNode} The root field to traverse from for
145
167
  * adding __internalShouldInclude to all sub field nodes.
168
+ *
169
+ * @param parentResponsePath {string} The response path of the parent field.
146
170
  */
147
- function augmentFieldNodeTree(compilationContext, rootFieldNode) {
171
+ function augmentFieldNodeTree(compilationContext, rootFieldNode, parentResponsePath) {
148
172
  var _a, _b;
149
173
  for (const selection of (_b = (_a = rootFieldNode.selectionSet) === null || _a === void 0 ? void 0 : _a.selections) !== null && _b !== void 0 ? _b : []) {
150
- handle(rootFieldNode, selection);
174
+ handle(rootFieldNode, selection, false, parentResponsePath);
151
175
  }
152
176
  /**
153
177
  * Recursively traverse through sub-selection and combine `shouldInclude`s
154
178
  * from parent and current ones.
155
179
  */
156
- function handle(parentFieldNode, selection, comesFromFragmentSpread = false) {
157
- var _a, _b, _c, _d;
180
+ function handle(parentFieldNode, selection, comesFromFragmentSpread = false, parentResponsePath) {
181
+ var _a, _b, _c, _d, _e, _f, _g, _h;
158
182
  switch (selection.kind) {
159
183
  case language_1.Kind.FIELD: {
160
184
  const jitFieldNode = selection;
185
+ const currentPath = joinSkipIncludePath(parentResponsePath,
186
+ // use alias(instead of selection.name.value) if available as the responsePath used for lookup uses alias
187
+ getFieldEntryKey(jitFieldNode));
161
188
  if (!comesFromFragmentSpread) {
162
- jitFieldNode.__internalShouldInclude = joinShouldIncludeCompilations((_a = parentFieldNode.__internalShouldInclude) !== null && _a !== void 0 ? _a : "", (_b = jitFieldNode.__internalShouldInclude) !== null && _b !== void 0 ? _b : "");
189
+ if (!jitFieldNode.__internalShouldIncludePath)
190
+ jitFieldNode.__internalShouldIncludePath = {};
191
+ jitFieldNode.__internalShouldIncludePath[currentPath] =
192
+ joinShouldIncludeCompilations((_b = (_a = parentFieldNode.__internalShouldIncludePath) === null || _a === void 0 ? void 0 : _a[parentResponsePath]) !== null && _b !== void 0 ? _b : "", (_d = (_c = jitFieldNode.__internalShouldIncludePath) === null || _c === void 0 ? void 0 : _c[currentPath]) !== null && _d !== void 0 ? _d : "");
193
+ // @deprecated
194
+ jitFieldNode.__internalShouldInclude = joinShouldIncludeCompilations((_e = parentFieldNode.__internalShouldInclude) !== null && _e !== void 0 ? _e : "", (_f = jitFieldNode.__internalShouldInclude) !== null && _f !== void 0 ? _f : "");
163
195
  }
164
196
  // go further down the query tree
165
- for (const selection of (_d = (_c = jitFieldNode.selectionSet) === null || _c === void 0 ? void 0 : _c.selections) !== null && _d !== void 0 ? _d : []) {
166
- handle(jitFieldNode, selection);
197
+ for (const selection of (_h = (_g = jitFieldNode.selectionSet) === null || _g === void 0 ? void 0 : _g.selections) !== null && _h !== void 0 ? _h : []) {
198
+ handle(jitFieldNode, selection, false, currentPath);
167
199
  }
168
200
  break;
169
201
  }
170
202
  case language_1.Kind.INLINE_FRAGMENT: {
171
203
  for (const subSelection of selection.selectionSet.selections) {
172
- handle(parentFieldNode, subSelection, true);
204
+ handle(parentFieldNode, subSelection, true, parentResponsePath);
173
205
  }
174
206
  break;
175
207
  }
176
208
  case language_1.Kind.FRAGMENT_SPREAD: {
177
209
  const fragment = compilationContext.fragments[selection.name.value];
178
210
  for (const subSelection of fragment.selectionSet.selections) {
179
- handle(parentFieldNode, subSelection, true);
211
+ handle(parentFieldNode, subSelection, true, parentResponsePath);
180
212
  }
181
213
  }
182
214
  }
@@ -293,7 +325,7 @@ function compileSkipIncludeDirective(compilationContext, directive) {
293
325
  var _a;
294
326
  const ifNode = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find((it) => it.name.value === "if");
295
327
  if (ifNode == null) {
296
- throw new graphql_1.GraphQLError(`Directive '${directive.name.value}' is missing required arguments: 'if'`, [directive]);
328
+ throw new graphql_1.GraphQLError(`Directive '${directive.name.value}' is missing required arguments: 'if'`, (0, compat_1.getGraphQLErrorOptions)([directive]));
297
329
  }
298
330
  switch (ifNode.value.kind) {
299
331
  case language_1.Kind.VARIABLE:
@@ -302,7 +334,7 @@ function compileSkipIncludeDirective(compilationContext, directive) {
302
334
  case language_1.Kind.BOOLEAN:
303
335
  return `${ifNode.value.value.toString()}`;
304
336
  default:
305
- throw new graphql_1.GraphQLError(`Argument 'if' on Directive '${directive.name.value}' has an invalid value (${(0, graphql_1.valueFromASTUntyped)(ifNode.value)}). Expected type 'Boolean!'`, [ifNode]);
337
+ throw new graphql_1.GraphQLError(`Argument 'if' on Directive '${directive.name.value}' has an invalid value (${(0, graphql_1.valueFromASTUntyped)(ifNode.value)}). Expected type 'Boolean!'`, (0, compat_1.getGraphQLErrorOptions)([ifNode]));
306
338
  }
307
339
  }
308
340
  /**
@@ -318,9 +350,7 @@ function validateSkipIncludeVariableType(compilationContext, variable) {
318
350
  var _a;
319
351
  const variableDefinition = (_a = compilationContext.operation.variableDefinitions) === null || _a === void 0 ? void 0 : _a.find((it) => it.variable.name.value === variable.name.value);
320
352
  if (variableDefinition == null) {
321
- throw new graphql_1.GraphQLError(`Variable '${variable.name.value}' is not defined`, [
322
- variable
323
- ]);
353
+ throw new graphql_1.GraphQLError(`Variable '${variable.name.value}' is not defined`, (0, compat_1.getGraphQLErrorOptions)([variable]));
324
354
  }
325
355
  // Part of Spec text: https://spec.graphql.org/June2018/#sec-All-Variable-Usages-are-Allowed
326
356
  if (!(
@@ -332,7 +362,7 @@ function validateSkipIncludeVariableType(compilationContext, variable) {
332
362
  (variableDefinition.type.kind === language_1.Kind.NAMED_TYPE &&
333
363
  variableDefinition.type.name.value === "Boolean" &&
334
364
  variableDefinition.defaultValue != null)))) {
335
- throw new graphql_1.GraphQLError(`Variable '${variable.name.value}' of type '${typeNodeToString(variableDefinition.type)}' used in position expecting type 'Boolean!'`, [variableDefinition]);
365
+ throw new graphql_1.GraphQLError(`Variable '${variable.name.value}' of type '${typeNodeToString(variableDefinition.type)}' used in position expecting type 'Boolean!'`, (0, compat_1.getGraphQLErrorOptions)([variableDefinition]));
336
366
  }
337
367
  }
338
368
  /**
@@ -376,70 +406,23 @@ function doesFragmentConditionMatch(compilationContext, fragment, type) {
376
406
  function getFieldEntryKey(node) {
377
407
  return node.alias ? node.alias.value : node.name.value;
378
408
  }
379
- /**
380
- * Resolves the field on the given source object. In particular, this
381
- * figures out the value that the field returns by calling its resolve function,
382
- * then calls completeValue to complete promises, serialize scalars, or execute
383
- * the sub-selection-set for objects.
384
- */
385
- function resolveFieldDef(compilationContext, parentType, fieldNodes) {
386
- const fieldNode = fieldNodes[0];
387
- if (graphql_1.versionInfo.major < 16) {
388
- const fieldName = fieldNode.name.value;
389
- return (0, execute_1.getFieldDef)(compilationContext.schema, parentType, fieldName);
390
- }
391
- return (0, execute_1.getFieldDef)(compilationContext.schema, parentType, fieldNode);
392
- }
393
- exports.resolveFieldDef = resolveFieldDef;
394
409
  /**
395
410
  * A memoized collection of relevant subfields in the context of the return
396
411
  * type. Memoizing ensures the subfields are not repeatedly calculated, which
397
412
  * saves overhead when resolving lists of values.
398
413
  */
399
- exports.collectSubfields = memoize3(_collectSubfields);
400
- function _collectSubfields(compilationContext, returnType, fieldNodes) {
414
+ exports.collectSubfields = (0, memoize_1.memoize4)(_collectSubfields);
415
+ function _collectSubfields(compilationContext, returnType, fieldNodes, parentResponsePath) {
401
416
  let subFieldNodes = Object.create(null);
402
417
  const visitedFragmentNames = Object.create(null);
403
418
  for (const fieldNode of fieldNodes) {
404
419
  const selectionSet = fieldNode.selectionSet;
405
420
  if (selectionSet) {
406
- subFieldNodes = collectFields(compilationContext, returnType, selectionSet, subFieldNodes, visitedFragmentNames);
421
+ subFieldNodes = collectFields(compilationContext, returnType, selectionSet, subFieldNodes, visitedFragmentNames, parentResponsePath);
407
422
  }
408
423
  }
409
424
  return subFieldNodes;
410
425
  }
411
- function memoize3(fn) {
412
- let cache0;
413
- function memoized(a1, a2, a3) {
414
- if (!cache0) {
415
- cache0 = new WeakMap();
416
- }
417
- let cache1 = cache0.get(a1);
418
- let cache2;
419
- if (cache1) {
420
- cache2 = cache1.get(a2);
421
- if (cache2) {
422
- const cachedValue = cache2.get(a3);
423
- if (cachedValue !== undefined) {
424
- return cachedValue;
425
- }
426
- }
427
- }
428
- else {
429
- cache1 = new WeakMap();
430
- cache0.set(a1, cache1);
431
- }
432
- if (!cache2) {
433
- cache2 = new WeakMap();
434
- cache1.set(a2, cache2);
435
- }
436
- // eslint-disable-next-line prefer-rest-params
437
- const newValue = fn(...arguments);
438
- cache2.set(a3, newValue);
439
- return newValue;
440
- }
441
- return memoized;
442
- }
443
426
  /**
444
427
  * Prepares an object map of argument values given a list of argument
445
428
  * definitions and list of argument AST nodes.
@@ -477,7 +460,7 @@ function getArgumentDefs(def, node) {
477
460
  // Note: ValuesOfCorrectType validation should catch this before
478
461
  // execution. This is a runtime check to ensure execution does not
479
462
  // continue with an invalid argument value.
480
- throw new graphql_1.GraphQLError(`Argument "${name}" of type "${argType}" has invalid value ${(0, graphql_1.print)(argumentNode.value)}.`, argumentNode.value);
463
+ throw new graphql_1.GraphQLError(`Argument "${name}" of type "${argType}" has invalid value ${(0, graphql_1.print)(argumentNode.value)}.`, (0, compat_1.getGraphQLErrorOptions)(argumentNode.value));
481
464
  }
482
465
  if (isASTValueWithVariables(coercedValue)) {
483
466
  missing.push(...coercedValue.variables.map(({ valueNode, path }) => ({
@@ -494,7 +477,7 @@ function getArgumentDefs(def, node) {
494
477
  ? `Argument "${name}" of non-null type ` +
495
478
  `"${argType}" must not be null.`
496
479
  : `Argument "${name}" of required type ` +
497
- `"${argType}" was not provided.`, node);
480
+ `"${argType}" was not provided.`, (0, compat_1.getGraphQLErrorOptions)(node));
498
481
  }
499
482
  }
500
483
  return { values, missing };
@@ -682,6 +665,41 @@ function flattenPath(path) {
682
665
  return flattened;
683
666
  }
684
667
  exports.flattenPath = flattenPath;
668
+ /**
669
+ * Serialize a path for use in the skip/include directives.
670
+ *
671
+ * @param path The path to serialize
672
+ * @returns The path serialized as a string, with the root path first.
673
+ */
674
+ function serializeObjectPathForSkipInclude(path) {
675
+ let serialized = "";
676
+ let curr = path;
677
+ while (curr) {
678
+ if (curr.type === "literal") {
679
+ serialized = joinSkipIncludePath(curr.key, serialized);
680
+ }
681
+ curr = curr.prev;
682
+ }
683
+ return serialized;
684
+ }
685
+ exports.serializeObjectPathForSkipInclude = serializeObjectPathForSkipInclude;
686
+ /**
687
+ * join two path segments to a dot notation, handling empty strings
688
+ *
689
+ * @param a path segment
690
+ * @param b path segment
691
+ * @returns combined path in dot notation
692
+ */
693
+ function joinSkipIncludePath(a, b) {
694
+ if (a) {
695
+ if (b) {
696
+ return `${a}.${b}`;
697
+ }
698
+ return a;
699
+ }
700
+ return b;
701
+ }
702
+ exports.joinSkipIncludePath = joinSkipIncludePath;
685
703
  function isInvalid(value) {
686
704
  // eslint-disable-next-line no-self-compare
687
705
  return value === undefined || value !== value;
package/dist/ast.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAsC;AACtC,qCA6BiB;AACjB,uDAAwD;AACxD,+CAAiE;AACjE,uCAA8C;AAC9C,2CAAwE;AACxE,wDAAsC;AAWtC,MAAM,OAAO,GAAG,IAAA,iBAAa,GAAE,CAAC;AAEhC;;;;;;;GAOG;AACH,SAAgB,aAAa,CAC3B,kBAAsC,EACtC,WAA8B,EAC9B,YAA8B,EAC9B,MAAsB,EACtB,oBAAgD;IAEhD,OAAO,iBAAiB,CACtB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,MAAM,EACN,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAdD,sCAcC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,kBAAsC,EACtC,WAA8B,EAC9B,YAA8B,EAC9B,MAAsB,EACtB,oBAAgD,EAChD,qBAAqB,GAAG,EAAE;;IAE1B,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,UAAU,EAAE;QAC/C,QAAQ,SAAS,CAAC,IAAI,EAAE;YACtB,KAAK,eAAI,CAAC,KAAK,CAAC,CAAC;gBACf,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;iBACnB;gBACD,MAAM,SAAS,GAAiB,SAAS,CAAC;gBAE1C;;;;;;;;;;;;;;;mBAeG;gBACH,SAAS,CAAC,uBAAuB,GAAG,6BAA6B,CAC/D,MAAA,SAAS,CAAC,uBAAuB,mCAAI,EAAE,EACvC,qBAAqB,EACrB,kBAAkB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAClD,CAAC;gBAEF;;;;;;mBAMG;gBACH,oBAAoB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;gBAEpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,MAAM;aACP;YAED,KAAK,eAAI,CAAC,eAAe;gBACvB,IACE,CAAC,0BAA0B,CACzB,kBAAkB,EAClB,SAAS,EACT,WAAW,CACZ,EACD;oBACA,SAAS;iBACV;gBACD,iBAAiB,CACf,kBAAkB,EAClB,WAAW,EACX,SAAS,CAAC,YAAY,EACtB,MAAM,EACN,oBAAoB,EACpB,6BAA6B;gBAC3B,4CAA4C;gBAC5C,qBAAqB;gBACrB,mCAAmC;gBACnC,kBAAkB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAClD,CACF,CAAC;gBACF,MAAM;YAER,KAAK,eAAI,CAAC,eAAe,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE;oBAClC,SAAS;iBACV;gBACD,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACxD,IACE,CAAC,QAAQ;oBACT,CAAC,0BAA0B,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,EACtE;oBACA,SAAS;iBACV;gBACD,iBAAiB,CACf,kBAAkB,EAClB,WAAW,EACX,QAAQ,CAAC,YAAY,EACrB,MAAM,EACN,oBAAoB,EACpB,6BAA6B;gBAC3B,4CAA4C;gBAC5C,qBAAqB;gBACrB,mCAAmC;gBACnC,kBAAkB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAClD,CACF,CAAC;gBACF,MAAM;aACP;SACF;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,SAAS,oBAAoB,CAC3B,kBAAsC,EACtC,aAA2B;;IAE3B,KAAK,MAAM,SAAS,IAAI,MAAA,MAAA,aAAa,CAAC,YAAY,0CAAE,UAAU,mCAAI,EAAE,EAAE;QACpE,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;KAClC;IAED;;;OAGG;IACH,SAAS,MAAM,CACb,eAA6B,EAC7B,SAAwB,EACxB,uBAAuB,GAAG,KAAK;;QAE/B,QAAQ,SAAS,CAAC,IAAI,EAAE;YACtB,KAAK,eAAI,CAAC,KAAK,CAAC,CAAC;gBACf,MAAM,YAAY,GAAiB,SAAS,CAAC;gBAC7C,IAAI,CAAC,uBAAuB,EAAE;oBAC5B,YAAY,CAAC,uBAAuB,GAAG,6BAA6B,CAClE,MAAA,eAAe,CAAC,uBAAuB,mCAAI,EAAE,EAC7C,MAAA,YAAY,CAAC,uBAAuB,mCAAI,EAAE,CAC3C,CAAC;iBACH;gBACD,iCAAiC;gBACjC,KAAK,MAAM,SAAS,IAAI,MAAA,MAAA,YAAY,CAAC,YAAY,0CAAE,UAAU,mCAAI,EAAE,EAAE;oBACnE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;iBACjC;gBACD,MAAM;aACP;YACD,KAAK,eAAI,CAAC,eAAe,CAAC,CAAC;gBACzB,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE;oBAC5D,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;iBAC7C;gBACD,MAAM;aACP;YACD,KAAK,eAAI,CAAC,eAAe,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAK,MAAM,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE;oBAC3D,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;iBAC7C;aACF;SACF;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,6BAA6B,CAAC,GAAG,YAAsB;IAC9D,oEAAoE;IACpE,4DAA4D;IAC5D,uCAAuC;IACvC,EAAE;IACF,6EAA6E;IAC7E,sEAAsE;IACtE,UAAU;IACV,EAAE;IACF,mEAAmE;IACnE,gGAAgG;IAEhG,uBAAuB;IACvB,IAAI,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAE3D,wCAAwC;IACxC,oBAAoB,GAAI,EAAe,CAAC,MAAM,CAC5C,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3E,CAAC;IACF,oBAAoB;IACpB,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACjE,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,kBAAsC,EACtC,IAAmB;IAEnB,MAAM,GAAG,GAAG,IAAA,2BAAK,GAAE,CAAC;IAEpB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,iCAAiC,CACnE,kBAAkB,EAClB,IAAI,CACL,CAAC;IAEF;;;;;;;;;;OAUG;IACH,IAAI,SAAS,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;QAC7C,GAAG,CAAC,GAAG,SAAS,iBAAiB,YAAY,WAAW,CAAC,CAAC;KAC3D;SAAM,IAAI,SAAS,IAAI,IAAI,EAAE;QAC5B,GAAG,CAAC,IAAI,SAAS,aAAa,CAAC,CAAC;KACjC;SAAM,IAAI,YAAY,IAAI,IAAI,EAAE;QAC/B,GAAG,CAAC,IAAI,YAAY,YAAY,CAAC,CAAC;KACnC;SAAM;QACL,GAAG,CAAC,MAAM,CAAC,CAAC;KACb;IAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAS,iCAAiC,CACxC,kBAAsC,EACtC,IAAmB;;IAEnB,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,8BAAoB,CAAC,IAAI,CACpD,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAC5C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,iCAAuB,CAAC,IAAI,CACvD,CAAC;IAEF,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC,2BAA2B,CAAC,kBAAkB,EAAE,aAAa,CAAC;QAChE,CAAC,CAAC,uDAAuD;YACvD,4DAA4D;YAC5D,cAAc;YACd,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,gBAAgB;QACnC,CAAC,CAAC,2BAA2B,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;QACnE,CAAC,CAAC,uDAAuD;YACvD,4DAA4D;YAC5D,cAAc;YACd,IAAI,CAAC;IAET,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,kBAAsC,EACtC,SAAwB;;IAExB,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACzE,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,MAAM,IAAI,sBAAY,CACpB,cAAc,SAAS,CAAC,IAAI,CAAC,KAAK,uCAAuC,EACzE,CAAC,SAAS,CAAC,CACZ,CAAC;KACH;IAED,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;QACzB,KAAK,eAAI,CAAC,QAAQ;YAChB,+BAA+B,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAClE,OAAO,GAAG,iCAAqB,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QAClE,KAAK,eAAI,CAAC,OAAO;YACf,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5C;YACE,MAAM,IAAI,sBAAY,CACpB,+BACE,SAAS,CAAC,IAAI,CAAC,KACjB,2BAA2B,IAAA,6BAAmB,EAC5C,MAAM,CAAC,KAAK,CACb,6BAA6B,EAC9B,CAAC,MAAM,CAAC,CACT,CAAC;KACL;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,+BAA+B,CACtC,kBAAsC,EACtC,QAAsB;;IAEtB,MAAM,kBAAkB,GACtB,MAAA,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,0CAAE,IAAI,CACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CACvD,CAAC;IACJ,IAAI,kBAAkB,IAAI,IAAI,EAAE;QAC9B,MAAM,IAAI,sBAAY,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,kBAAkB,EAAE;YACzE,QAAQ;SACT,CAAC,CAAC;KACJ;IAED,4FAA4F;IAC5F,IACE,CAAC;IACC,wDAAwD;IACxD,CACE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,eAAI,CAAC,aAAa;QAClD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAI,CAAC,UAAU;QACrD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QACxD,6EAA6E;QAC7E,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,eAAI,CAAC,UAAU;YAC/C,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;YAChD,kBAAkB,CAAC,YAAY,IAAI,IAAI,CAAC,CAC3C,CACF,EACD;QACA,MAAM,IAAI,sBAAY,CACpB,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,cAAc,gBAAgB,CAC5D,kBAAkB,CAAC,IAAI,CACxB,8CAA8C,EAC/C,CAAC,kBAAkB,CAAC,CACrB,CAAC;KACH;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACtC,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,eAAI,CAAC,UAAU;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,KAAK,eAAI,CAAC,aAAa;YACrB,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3C,KAAK,eAAI,CAAC,SAAS;YACjB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7C;AACH,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,kBAAsC,EACtC,QAAqD,EACrD,IAAuB;IAEvB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC;IACjD,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,eAAe,GAAG,IAAA,qBAAW,EACjC,kBAAkB,CAAC,MAAM,EACzB,iBAAiB,CAClB,CAAC;IACF,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,IAAA,qBAAc,EAAC,eAAe,CAAC,EAAE;QACnC,OAAO,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;KACnE;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAe;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAC7B,kBAAsC,EACtC,UAA6B,EAC7B,UAAuB;IAEvB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,qBAAW,CAAC,KAAK,GAAG,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACvC,OAAO,IAAA,qBAAW,EAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAgB,CAAC,CAAC;KAC7E;IAED,OAAO,IAAA,qBAAW,EAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAgB,CAAC,CAAC;AAC9E,CAAC;AAbD,0CAaC;AAED;;;;GAIG;AACU,QAAA,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAE5D,SAAS,iBAAiB,CACxB,kBAAsC,EACtC,UAA6B,EAC7B,UAAuB;IAEvB,IAAI,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC5C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,aAAa,CAC3B,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,CACrB,CAAC;SACH;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,QAAQ,CACf,EAImC;IAMnC,IAAI,MAAyB,CAAC;IAE9B,SAAS,QAAQ,CAAC,EAAO,EAAE,EAAO,EAAE,EAAO;QACzC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;SACxB;QACD,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,EAAE;YACV,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,MAAM,EAAE;gBACV,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,WAAW,KAAK,SAAS,EAAE;oBAC7B,OAAO,WAAW,CAAC;iBACpB;aACF;SACF;aAAM;YACL,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SACxB;QACD,8CAA8C;QAC9C,MAAM,QAAQ,GAAI,EAAU,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAyBD;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,GAA8C,EAC9C,IAA+B;IAE/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;YACrC,uCAAuC;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;SACpC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,EAAE;YAC7D,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,YAAY,CAAC,KAAK;gBAC7B,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;gBACzC,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;aACrD,CAAC,CAAC;SACJ;aAAM,IAAI,YAAY,EAAE;YACvB,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,gEAAgE;gBAChE,kEAAkE;gBAClE,2CAA2C;gBAC3C,MAAM,IAAI,sBAAY,CACpB,aAAa,IAAI,cAAc,OAAO,uBAAuB,IAAA,eAAK,EAChE,YAAY,CAAC,KAAK,CACnB,GAAG,EACJ,YAAY,CAAC,KAAK,CACnB,CAAC;aACH;YAED,IAAI,uBAAuB,CAAC,YAAY,CAAC,EAAE;gBACzC,OAAO,CAAC,IAAI,CACV,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtD,SAAS;oBACT,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;iBACrC,CAAC,CAAC,CACJ,CAAC;aACH;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;SACnC;QACD,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE;YACzE,mEAAmE;YACnE,8CAA8C;YAC9C,MAAM,IAAI,sBAAY,CACpB,YAAY;gBACV,CAAC,CAAC,aAAa,IAAI,qBAAqB;oBACtC,IAAI,OAAO,qBAAqB;gBAClC,CAAC,CAAC,aAAa,IAAI,qBAAqB;oBACtC,IAAI,OAAO,qBAAqB,EACpC,IAAI,CACL,CAAC;SACH;KACF;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AA/DD,0CA+DC;AAOD,SAAS,uBAAuB,CAAC,CAAM;IACrC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvB,CAAC;AAMD,SAAgB,YAAY,CAC1B,SAAoB,EACpB,IAAsB;IAEtB,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE;QACvB,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE;YAChC,OAAO,CAAC,0CAA0C;SACnD;QACD,OAAO,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7C;IAED,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE;QAChC,+CAA+C;QAC/C,OAAO;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;KACH;IAED,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;KACrE;IAED,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE;YAChC,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,MAAM,SAAS,GAA0B,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,EAAE;oBACnC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC;wBACb,SAAS,EAAE,QAAQ;wBACnB,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;qBAClD,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACnD,IAAI,CAAC,SAAS,EAAE;wBACd,OAAO,CAAC,0CAA0C;qBACnD;oBACD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE;wBACtC,SAAS,CAAC,IAAI,CACZ,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;4BACnD,SAAS;4BACT,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;yBAC7C,CAAC,CAAC,CACJ,CAAC;qBACH;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;SAC5C;QACD,8CAA8C;QAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,0CAA0C;SACnD;QACD,IAAI,uBAAuB,CAAC,YAAY,CAAC,EAAE;YACzC,OAAO;gBACL,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC3B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9D,SAAS;oBACT,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;iBACpC,CAAC,CAAC;aACJ,CAAC;SACH;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;KACxC;IAED,IAAI,IAAA,2BAAiB,EAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,MAAM,EAAE;YAClC,OAAO,CAAC,0CAA0C;SACnD;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE;gBACpC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;aAC7C;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS;aACV;YACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,CAAC,0CAA0C;aACnD;YACD,IAAI,uBAAuB,CAAC,UAAU,CAAC,EAAE;gBACvC,SAAS,CAAC,IAAI,CACZ,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACpD,SAAS;oBACT,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;iBAC3C,CAAC,CAAC,CACJ,CAAC;aACH;YACD,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SAC3C;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KACzC;IAED,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE;QACpB,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE;YAChC,OAAO,CAAC,0CAA0C;SACnD;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,CAAC,0CAA0C;SACnD;QACD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;KACnC;IAED,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE;QACtB,8DAA8D;QAC9D,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,MAAW,CAAC;QAChB,IAAI;YACF,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,2BAA2B;gBAC3B,OAAO,CAAC,KAAK,CACX,uFAAuF,CACxF,CAAC;aACH;YACD,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SAC3C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,0CAA0C;SACnD;QACD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;YACrB,OAAO,CAAC,0CAA0C;SACnD;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC1B;IAED,gEAAgE;IAChE,0BAA0B;IAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AA5ID,oCA4IC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,MAAM,CACb,IAAsB,EACtB,KAA0B;IAE1B,OAAO,IAAI,CAAC,MAAM;IAChB,wCAAwC;IACxC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACjC,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,IAAA,qBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAsB,CAAC,CAAC;AAC7B,CAAC;AAPD,4CAOC;AAED,SAAgB,OAAO,CACrB,YAAoC,EACpC,GAAW,EACX,OAAyB,SAAS;IAElC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAND,0BAMC;AAED,SAAgB,WAAW,CACzB,IAAgB;IAEhB,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,IAAI,GAA2B,IAAI,CAAC;IACxC,OAAO,IAAI,EAAE;QACX,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,kCAUC;AAED,SAAS,SAAS,CAAC,KAAU;IAC3B,2CAA2C;IAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
package/dist/compat.d.ts CHANGED
@@ -1,7 +1,13 @@
1
- import * as GraphQL from "graphql";
1
+ import { GraphQLSchema, GraphQLError, FieldNode, GraphQLField } from "graphql";
2
+ import { GraphQLObjectType } from "graphql/type/definition";
3
+ import { Maybe } from "graphql/jsutils/Maybe";
4
+ import { ASTNode, OperationDefinitionNode } from "graphql/language/ast";
5
+ import { GraphQLFormattedError } from "graphql/error";
6
+ import { CompilationContext } from "./execution";
7
+ /**
8
+ * A helper file to support backward compatibility for different versions of graphql-js.
9
+ */
2
10
  /**
3
- * A helper to support backward compatibility for different versions of graphql-js.
4
- *
5
11
  * v15 does not have schema.getRootType
6
12
  * v16 has both
7
13
  * v17 will not have getOperationRootType
@@ -13,4 +19,25 @@ import * as GraphQL from "graphql";
13
19
  *
14
20
  * GraphQL v17 would remove getOperationRootType.
15
21
  */
16
- export declare function getOperationRootType(schema: GraphQL.GraphQLSchema, operation: GraphQL.OperationDefinitionNode): any;
22
+ export declare function getOperationRootType(schema: GraphQLSchema, operation: OperationDefinitionNode): GraphQLObjectType;
23
+ /**
24
+ * v16 and lower versions don't have .toJSON method on GraphQLError
25
+ * v17 does have .toJSON and doesn't have "formatError" export anymore
26
+ */
27
+ export declare function formatError(error: GraphQLError): GraphQLFormattedError;
28
+ /**
29
+ * v17 dropped support for positional arguments in GraphQLError constructor
30
+ * https://github.com/graphql/graphql-js/pull/3577
31
+ */
32
+ export declare function getGraphQLErrorOptions(nodes: Maybe<ReadonlyArray<ASTNode> | ASTNode>): ConstructorParameters<typeof GraphQLError>[1];
33
+ /**
34
+ * Resolves the field on the given source object. In particular, this
35
+ * figures out the value that the field returns by calling its resolve function,
36
+ * then calls completeValue to complete promises, serialize scalars, or execute
37
+ * the sub-selection-set for objects.
38
+ *
39
+ * v15 has getFieldDef that accepts field name
40
+ * v16 has getFieldDef that accepts field node
41
+ * v17 drops getFieldDef support and adds getField method
42
+ */
43
+ export declare function resolveFieldDef(compilationContext: CompilationContext, parentType: GraphQLObjectType, fieldNodes: FieldNode[]): Maybe<GraphQLField<any, any>>;
package/dist/compat.js CHANGED
@@ -19,11 +19,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.getOperationRootType = void 0;
23
- const GraphQL = __importStar(require("graphql"));
22
+ exports.resolveFieldDef = exports.getGraphQLErrorOptions = exports.formatError = exports.getOperationRootType = void 0;
23
+ const graphql_1 = require("graphql");
24
+ const errorUtilities = __importStar(require("graphql/error"));
25
+ const utilities = __importStar(require("graphql/utilities"));
26
+ const execute = __importStar(require("graphql/execution/execute"));
27
+ /**
28
+ * A helper file to support backward compatibility for different versions of graphql-js.
29
+ */
24
30
  /**
25
- * A helper to support backward compatibility for different versions of graphql-js.
26
- *
27
31
  * v15 does not have schema.getRootType
28
32
  * v16 has both
29
33
  * v17 will not have getOperationRootType
@@ -36,13 +40,58 @@ const GraphQL = __importStar(require("graphql"));
36
40
  * GraphQL v17 would remove getOperationRootType.
37
41
  */
38
42
  function getOperationRootType(schema, operation) {
39
- if (GraphQL.getOperationRootType) {
40
- return GraphQL.getOperationRootType(schema, operation);
43
+ if (graphql_1.versionInfo.major < 16) {
44
+ return utilities.getOperationRootType(schema, operation);
41
45
  }
42
- else {
43
- // the use of any is to support graphql v15 types which will not use this codepath
44
- return schema.getRootType(operation.operation);
46
+ const type = schema.getRootType(operation.operation);
47
+ if (!type) {
48
+ throw new Error(`No root type for operation ${operation.operation}`);
45
49
  }
50
+ return type;
46
51
  }
47
52
  exports.getOperationRootType = getOperationRootType;
53
+ /**
54
+ * v16 and lower versions don't have .toJSON method on GraphQLError
55
+ * v17 does have .toJSON and doesn't have "formatError" export anymore
56
+ */
57
+ function formatError(error) {
58
+ if (graphql_1.versionInfo.major < 16) {
59
+ return errorUtilities.formatError(error);
60
+ }
61
+ return error.toJSON();
62
+ }
63
+ exports.formatError = formatError;
64
+ /**
65
+ * v17 dropped support for positional arguments in GraphQLError constructor
66
+ * https://github.com/graphql/graphql-js/pull/3577
67
+ */
68
+ function getGraphQLErrorOptions(nodes) {
69
+ if (graphql_1.versionInfo.major < 16) {
70
+ return nodes;
71
+ }
72
+ return { nodes };
73
+ }
74
+ exports.getGraphQLErrorOptions = getGraphQLErrorOptions;
75
+ /**
76
+ * Resolves the field on the given source object. In particular, this
77
+ * figures out the value that the field returns by calling its resolve function,
78
+ * then calls completeValue to complete promises, serialize scalars, or execute
79
+ * the sub-selection-set for objects.
80
+ *
81
+ * v15 has getFieldDef that accepts field name
82
+ * v16 has getFieldDef that accepts field node
83
+ * v17 drops getFieldDef support and adds getField method
84
+ */
85
+ function resolveFieldDef(compilationContext, parentType, fieldNodes) {
86
+ const fieldNode = fieldNodes[0];
87
+ if (graphql_1.versionInfo.major < 16) {
88
+ const fieldName = fieldNode.name.value;
89
+ return execute.getFieldDef(compilationContext.schema, parentType, fieldName);
90
+ }
91
+ if (graphql_1.versionInfo.major < 17) {
92
+ return execute.getFieldDef(compilationContext.schema, parentType, fieldNode);
93
+ }
94
+ return compilationContext.schema.getField(parentType, fieldNode.name.value);
95
+ }
96
+ exports.resolveFieldDef = resolveFieldDef;
48
97
  //# sourceMappingURL=compat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAClC,MAA6B,EAC7B,SAA0C;IAE1C,IAAI,OAAO,CAAC,oBAAoB,EAAE;QAChC,OAAO,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACxD;SAAM;QACL,kFAAkF;QAClF,OAAQ,MAAc,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC;KAC1D;AACH,CAAC;AAVD,oDAUC"}
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAMiB;AAKjB,8DAAgD;AAChD,6DAA+C;AAG/C,mEAAqD;AAErD;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAClC,MAAqB,EACrB,SAAkC;IAElC,IAAI,qBAAW,CAAC,KAAK,GAAG,EAAE,EAAE;QAC1B,OAAQ,SAAiB,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACnE;IAED,MAAM,IAAI,GAAI,MAAc,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE9D,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;KACtE;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,oDAeC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAmB;IAC7C,IAAI,qBAAW,CAAC,KAAK,GAAG,EAAE,EAAE;QAC1B,OAAQ,cAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACnD;IAED,OAAQ,KAAa,CAAC,MAAM,EAAE,CAAC;AACjC,CAAC;AAND,kCAMC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,KAA8C;IAE9C,IAAI,qBAAW,CAAC,KAAK,GAAG,EAAE,EAAE;QAC1B,OAAO,KAAY,CAAC;KACrB;IAED,OAAO,EAAE,KAAK,EAAS,CAAC;AAC1B,CAAC;AARD,wDAQC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAC7B,kBAAsC,EACtC,UAA6B,EAC7B,UAAuB;IAEvB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,qBAAW,CAAC,KAAK,GAAG,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACvC,OAAQ,OAAe,CAAC,WAAW,CACjC,kBAAkB,CAAC,MAAM,EACzB,UAAU,EACV,SAAgB,CACjB,CAAC;KACH;IAED,IAAI,qBAAW,CAAC,KAAK,GAAG,EAAE,EAAE;QAC1B,OAAQ,OAAe,CAAC,WAAW,CACjC,kBAAkB,CAAC,MAAM,EACzB,UAAU,EACV,SAAgB,CACjB,CAAC;KACH;IAED,OAAQ,kBAAkB,CAAC,MAAc,CAAC,QAAQ,CAChD,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,KAAK,CACrB,CAAC;AACJ,CAAC;AA5BD,0CA4BC"}
@@ -18,6 +18,18 @@ export interface CompilerOptions {
18
18
  [key: string]: (v: any) => any;
19
19
  };
20
20
  resolverInfoEnricher?: (inp: ResolveInfoEnricherInput) => object;
21
+ /**
22
+ * This option is a temporary workaround to rollout and test the new skip/include behavior.
23
+ * It will be removed in the next version along with the old behavior.
24
+ *
25
+ * Set this to true if you face issues with skip/include in fragment spreads.
26
+ *
27
+ * default: false
28
+ *
29
+ * @see https://github.com/zalando-incubator/graphql-jit/pull/197
30
+ *
31
+ */
32
+ useExperimentalPathBasedSkipInclude: boolean;
21
33
  }
22
34
  interface ExecutionContext {
23
35
  promiseCounter: number;
package/dist/execution.js CHANGED
@@ -9,13 +9,13 @@ const generate_function_1 = __importDefault(require("generate-function"));
9
9
  const graphql_1 = require("graphql");
10
10
  const Path_1 = require("graphql/jsutils/Path");
11
11
  const ast_1 = require("./ast");
12
- const compat_1 = require("./compat");
13
12
  const error_1 = require("./error");
14
13
  const inspect_1 = __importDefault(require("./inspect"));
15
14
  const json_1 = require("./json");
16
15
  const non_null_1 = require("./non-null");
17
16
  const resolve_info_1 = require("./resolve-info");
18
17
  const variables_1 = require("./variables");
18
+ const compat_1 = require("./compat");
19
19
  const inspect = (0, inspect_1.default)();
20
20
  // prefix for the variable used ot cache validation results
21
21
  const SAFETY_CHECK_PREFIX = "__validNode";
@@ -54,7 +54,7 @@ function compileQuery(schema, document, operationName, partialOptions) {
54
54
  throw new Error("resolverInfoEnricher must be a function");
55
55
  }
56
56
  try {
57
- const options = Object.assign({ disablingCapturingStackErrors: false, customJSONSerializer: false, disableLeafSerialization: false, customSerializers: {} }, partialOptions);
57
+ const options = Object.assign({ disablingCapturingStackErrors: false, customJSONSerializer: false, disableLeafSerialization: false, customSerializers: {}, useExperimentalPathBasedSkipInclude: false }, partialOptions);
58
58
  // If a valid context cannot be created due to incorrect arguments,
59
59
  // a "Response" with only errors is returned.
60
60
  const context = buildCompilationContext(schema, document, options, operationName);
@@ -364,7 +364,7 @@ function compileType(context, parentType, type, fieldNodes, originPaths, destina
364
364
  body += compileLeafType(context, type, originPaths, fieldNodes, previousPath, errorDestination);
365
365
  }
366
366
  else if ((0, graphql_1.isObjectType)(type)) {
367
- const fieldMap = (0, ast_1.collectSubfields)(context, type, fieldNodes);
367
+ const fieldMap = (0, ast_1.collectSubfields)(context, type, fieldNodes, previousPath);
368
368
  body += compileObjectType(context, type, fieldNodes, originPaths, destinationPaths, previousPath, errorDestination, fieldMap, false);
369
369
  }
370
370
  else if ((0, graphql_1.isAbstractType)(type)) {
@@ -456,12 +456,20 @@ function compileObjectType(context, type, fieldNodes, originPaths, destinationPa
456
456
  *
457
457
  * `compilationFor($c1) || compilationFor($c2)`
458
458
  */
459
- body(`
460
- (
461
- ${fieldNodes
459
+ const serializedResponsePath = (0, ast_1.joinSkipIncludePath)((0, ast_1.serializeObjectPathForSkipInclude)(responsePath), name);
460
+ const oldFieldCondition = fieldNodes
462
461
  .map((it) => it.__internalShouldInclude)
463
462
  .filter((it) => it)
464
- .join(" || ") || /* if(true) - default */ "true"}
463
+ .join(" || ") || /* if(true) - default */ "true";
464
+ const fieldCondition = fieldNodes
465
+ .map((it) => { var _a; return (_a = it.__internalShouldIncludePath) === null || _a === void 0 ? void 0 : _a[serializedResponsePath]; })
466
+ .filter((it) => it)
467
+ .join(" || ") || /* if(true) - default */ "true";
468
+ body(`
469
+ (
470
+ ${context.options.useExperimentalPathBasedSkipInclude
471
+ ? fieldCondition
472
+ : oldFieldCondition}
465
473
  )
466
474
  `);
467
475
  // Inline __typename
@@ -1050,7 +1058,7 @@ function compileSubscriptionOperation(context, type, fieldMap, queryFn) {
1050
1058
  const fieldName = fieldNode.name.value;
1051
1059
  const field = (0, ast_1.resolveFieldDef)(context, type, fieldNodes);
1052
1060
  if (!field) {
1053
- throw new graphql_1.GraphQLError(`The subscription field "${fieldName}" is not defined.`, fieldNodes);
1061
+ throw new graphql_1.GraphQLError(`The subscription field "${fieldName}" is not defined.`, (0, compat_1.getGraphQLErrorOptions)(fieldNodes));
1054
1062
  }
1055
1063
  const responsePath = (0, ast_1.addPath)(undefined, fieldName);
1056
1064
  const resolveInfoName = createResolveInfoName(responsePath);
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":";;;;;;AACA,8EAA2C;AAC3C,0EAAsC;AACtC,qCA4BiB;AAEjB,+CAAmD;AAGnD,+BAce;AACf,mCAA0D;AAC1D,wDAAsC;AACtC,iCAA2C;AAC3C,yCAA4D;AAC5D,iDAGwB;AAExB,2CAIqB;AACrB,qCAAwE;AAExE,MAAM,OAAO,GAAG,IAAA,iBAAa,GAAE,CAAC;AAgGhC,2DAA2D;AAC3D,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAC9C,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AACvD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAClC,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAChD,MAAM,wBAAwB,GAAG,WAAW,CAAC;AAC7C,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAChD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACjD,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,UAAU,CAAC;AACtC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AA0B7C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAI1B,MAAqB,EACrB,QAAgD,EAChD,aAAsB,EACtB,cAAyC;IAEzC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,0BAA0B,CAAC,CAAC;KAC/D;IACD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,IACE,cAAc;QACd,cAAc,CAAC,oBAAoB;QACnC,OAAO,cAAc,CAAC,oBAAoB,KAAK,UAAU,EACzD;QACA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IACD,IAAI;QACF,MAAM,OAAO,mBACX,6BAA6B,EAAE,KAAK,EACpC,oBAAoB,EAAE,KAAK,EAC3B,wBAAwB,EAAE,KAAK,EAC/B,iBAAiB,EAAE,EAAE,EACrB,mCAAmC,EAAE,KAAK,IACvC,cAAc,CAClB,CAAC;QAEF,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,OAAO,GAAG,uBAAuB,CACrC,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,CACd,CAAC;QAEF,IAAI,SAA6B,CAAC;QAClC,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,MAAM,UAAU,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAC9C,SAAS,GAAG,IAAA,6BAAQ,EAAC,UAAU,CAAC,CAAC;SAClC;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;SAC5B;QACD,MAAM,YAAY,GAAG,IAAA,kCAAsB,EACzC,MAAM,EACN,OAAO,CAAC,SAAS,CAAC,mBAAmB,IAAI,EAAE,CAC5C,CAAC;QAEF,MAAM,IAAI,GAAG,IAAA,6BAAoB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAA,mBAAa,EAC5B,OAAO,EACP,IAAI,EACJ,OAAO,CAAC,SAAS,CAAC,YAAY,EAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CACpB,CAAC;QAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,aAAa,GAA0B;YAC3C,KAAK,EAAE,gBAAgB,CACrB,OAAO,EACP,QAAQ;YACR,uCAAuC;YACvC,IAAI,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE,EACxC,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI;gBAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;gBAC9B,CAAC,CAAC,SAAS,CACd;YACD,SAAS;SACV,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,cAAc,EAAE;YAClD,aAAa,CAAC,SAAS,GAAG,oBAAoB,CAC5C,OAAO,EACP,QAAQ,EACR,4BAA4B,CAC1B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,CAAC,KAAK,CACpB,EACD,YAAY,EACZ,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI;gBAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;gBAC9B,CAAC,CAAC,SAAS,CACd,CAAC;SACH;QAED,IAAK,OAAe,CAAC,KAAK,EAAE;YAC1B,wDAAwD;YACxD,wCAAwC;YACxC,aAAa,CAAC,kDAAkD;gBAC9D,YAAY,CAAC;SAChB;QACD,OAAO,aAAmD,CAAC;KAC5D;IAAC,OAAO,GAAQ,EAAE;QACjB,OAAO;YACL,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC;SAC7B,CAAC;KACH;AACH,CAAC;AA5GD,oCA4GC;AAED,SAAgB,eAAe,CAG7B,KAAY;IACZ,OAAO,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC;AAC/D,CAAC;AALD,0CAKC;AAED,kCAAkC;AAClC,SAAgB,gBAAgB,CAC9B,kBAAsC,EACtC,QAAsB,EACtB,IAA6D,EAC7D,iBAA4E,EAC5E,aAAsB;IAEtB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GACtE,kBAAkB,CAAC;IACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,EAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,aAAa,IAAI,OAAO,CAAC;IAExC,oBAAoB;IACpB;;;;;;;;;OASG;IACH,mBAAmB;IACnB,MAAM,GAAG,GAAG;QACV,CAAC,MAAM,CAAC,CACN,SAAc,EACd,OAAY,EACZ,SAAwC;YAExC,+CAA+C;YAC/C,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAE3D,mDAAmD;YACnD,IAAI,IAAA,gCAAoB,EAAC,eAAe,CAAC,EAAE;gBACzC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;aAC3C;YACD,MAAM,gBAAgB,GAAqB;gBACzC,SAAS;gBACT,OAAO;gBACP,SAAS,EAAE,eAAe,CAAC,OAAO;gBAClC,OAAO;gBACP,OAAO;gBACP,YAAY,EAAE,oBAAe;gBAC7B,SAAS;gBACT,aAAa;gBACb,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,OAAO;gBACP,cAAc,EAAE,CAAC;gBACjB,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;aACX,CAAC;YACF,2CAA2C;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACjD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;gBACrB,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACvC;YACD,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAjED,4CAiEC;AAED,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,UAAU,EACV,MAAM,EACN,OAAO,EACU;IACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACtC,CAAC;KACH;SAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,OAAO;YACL,IAAI;YACJ,MAAM;SACP,CAAC;KACH;IACD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,IAAuB,EACvB,QAAwB;IAExB,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC;IACnE,MAAM,QAAQ,GAAG,iBAAiB,CAChC,OAAO,EACP,IAAI,EACJ,EAAE,EACF,CAAC,gBAAgB,CAAC,EAClB,CAAC,gBAAgB,CAAC,EAClB,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,IAAI,CACL,CAAC;IACF,IAAI,IAAI,GAAG,mBAAmB,wBAAwB;;CAEvD,CAAC;IACA,IAAI,eAAe,EAAE;QACnB,IAAI,IAAI,GAAG,wBAAwB,cAAc,CAAC;KACnD;IACD,IAAI,IAAI,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,gBAAgB,MAAM,QAAQ,IAAI,CAAC;IAC9C,IAAI,eAAe,EAAE;QACnB,IAAI,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI;MACN,wBAAwB;MACxB,cAAc;;;;;;;;;UASV,wBAAwB;QAC1B,wBAAwB;QACxB,wBAAwB,aAAa,wBAAwB;;;;UAI3D,sBAAsB;sCACM,wBAAwB;;GAE3D,CAAC;KACD;SAAM;QACL,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI;;;UAGF,sBAAsB;sCACM,cAAc;MAC9C,CAAC;KACJ;IACD,IAAI,IAAI;;;IAGN,CAAC;IACH,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,OAA2B;IACxD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;QAChD,IAAI,IAAI;YACA,mBAAmB,GAAG,KAAK;UAC7B,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9C,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA2B,EAC3B,aAA4B,EAC5B,QAAiB;IAEjB,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,IAAI,EACL,GAAG,aAAa,CAAC;IAElB,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,CAC1B,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,CAAC,WAAW,CAAC,EACb,CAAC,GAAG,kBAAkB,IAAI,IAAI,EAAE,CAAC,EACjC,YAAY,CACb,CAAC;IACF,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,EACP,GAAG,IAAI,GAAG,YAAY,SAAS,CAChC,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,iBAAiB,CACtC,OAAO,EACP,UAAU,EACV,YAAY,EACZ,yCAAyC,EACzC,KAAK,CACN,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CACpC,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,CACb,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,GAAG,wBAAwB,cAAc,YAAY;YAChE,kBAAkB,IAAI,YAAY,IAAI,mBAAmB,KAAK,aAAa,GAAG,CAAC;IACzF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,gBAAgB,CACnC,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;IACF,MAAM,IAAI,GAAG;MACT,YAAY;UACR,SAAS;;;oBAGC,YAAY;;UAEtB,mBAAmB,CAAC,SAAS,CAAC,SAAS,cAAc;;YAEnD,gBAAgB,CAAC,SAAS,CAAC;QAC/B,cAAc,EAAE;;UAEd,eAAe,IAAI,wBAAwB,KAAK,gBAAgB,aAAa,aAAa;UAC1F,WAAW,EAAE;;;YAGX,mBAAmB,CAAC,SAAS,CAAC,SAAS,cAAc;;YAErD,mBAAmB,CAAC,SAAS,CAAC,SAAS,UAAU;;UAEnD,WAAW,EAAE;;;UAGb,eAAe,IAAI,wBAAwB,KAAK,gBAAgB,cAAc,aAAa;;MAE/F,CAAC;IACL,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;eACjB,eAAe,IAAI,wBAAwB,KAAK,kBAAkB,KAAK,WAAW,KAAK,aAAa;QAC3G,0BAA0B,CAAC,UAAU,CAAC;QACtC,kBAAkB,IAAI,IAAI,MAAM,QAAQ;QACxC,qBAAqB,CAAC,UAAU,CAAC;QACjC,QAAQ,IAAI,EAAE;;GAEnB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,OAA2B;IAChE,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;QAChD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QACtD,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,EACP,GAAG,IAAI,GAAG,YAAY,UAAU,CACjC,CAAC;QACF,IAAI,IAAI;YACA,mBAAmB,GAAG,KAAK;UAC7B,wBAAwB,eAAe,eAAe;;KAE3D,CAAC;QACF,MAAM,QAAQ,GAAG;UACX,sBAAsB;QACxB,cAAc,IAAI,wBAAwB;;KAE7C,CAAC;QACF,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;iBACjB,eAAe,IAAI,wBAAwB;UAClD,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC;;OAEzD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAClB,OAA2B,EAC3B,UAA6B,EAC7B,IAAiB,EACjB,UAAuB,EACvB,WAAqB,EACrB,gBAA0B,EAC1B,YAAwB;IAExB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,GAAG,GAAG,UAAU,aAAa,CAAC;IACtC,IAAI,gBAAgB,CAAC;IACrB,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE;QACvB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,YAAY,GAAG,8CACnB,UAAU,CAAC,IACb,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;QACtC,IAAI,IAAI,IAAI,uBAAuB,SAAS,iBAAiB,CAC3D,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,CACb,YAAY,CAAC;QACd,gBAAgB,GAAG,uBAAuB,CAAC;KAC5C;SAAM;QACL,IAAI,IAAI,SAAS,CAAC;QAClB,gBAAgB,GAAG,kBAAkB,CAAC;KACvC;IACD,IAAI,IAAI,GAAG,CAAC;IACZ,4BAA4B;IAC5B,MAAM,SAAS,GAAG,GAAG,UAAU,sBAAsB,UAAU,cAAc,UAAU,EAAE,CAAC;IAC1F,IAAI,IAAI,GAAG,UAAU,wBAAwB,gBAAgB,SAAS,iBAAiB,CACrF,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,CACX,aAAa,CAAC;IAEf,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE;QACpB,IAAI,IAAI,eAAe,CACrB,OAAO,EACP,IAAI,EACJ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gBAAgB,CACjB,CAAC;KACH;SAAM,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAA,sBAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC3E,IAAI,IAAI,iBAAiB,CACvB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,KAAK,CACN,CAAC;KACH;SAAM,IAAI,IAAA,wBAAc,EAAC,IAAI,CAAC,EAAE;QAC/B,IAAI,IAAI,mBAAmB,CACzB,OAAO,EACP,UAAU,EACV,IAAI,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,CACjB,CAAC;KACH;SAAM,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,IAAI,eAAe,CACrB,OAAO,EACP,UAAU,EACV,IAAI,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,CACjB,CAAC;KACH;SAAM;QACL,0BAA0B;QAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KACzD;IACD,IAAI,IAAI,GAAG,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,OAA2B,EAC3B,IAAqB,EACrB,WAAqB,EACrB,UAAuB,EACvB,YAAwB,EACxB,gBAAwB;IAExB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IACE,OAAO,CAAC,OAAO,CAAC,wBAAwB;QACxC,CAAC,IAAI,YAAY,yBAAe,IAAI,IAAA,+BAAqB,EAAC,IAAI,CAAC,CAAC,EAChE;QACA,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;KACpC;SAAM;QACL,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,aAAa,CACjD,IAAI,EACJ,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7C,CAAC;QACF,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,sBAAsB,GAAG,sBAAsB,CACnD,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAC5D,CAAC;QACF,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;eACnB,sBAAsB,IAAI,wBAAwB,cAAc,aAAa;MACtF,gBAAgB,SAAS,iBAAiB,CAC1C,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,CACV;KACA,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,wBAAwB,gBAAgB,cAAc,IAAI,wBAAwB,KAAK,WAAW,CAAC,IAAI,CAChH,GAAG,CACJ,KAAK,sBAAsB,KAAK,aAAa,GAAG,CAAC;KACnD;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CACxB,OAA2B,EAC3B,IAAuB,EACvB,UAA0B,EAC1B,WAAqB,EACrB,gBAA0B,EAC1B,YAAoC,EACpC,gBAAwB,EACxB,QAAwB,EACxB,WAAoB;IAEpB,MAAM,IAAI,GAAG,IAAA,2BAAK,GAAE,CAAC;IAErB,iCAAiC;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,WAAW,EAAE;QACvD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D,IAAI,CACF,IAAI,wBAAwB,eAC1B,IAAI,CAAC,IACP,cAAc,WAAW,CAAC,IAAI,CAC5B,GAAG,CACJ,QAAQ,gBAAgB,SAAS,iBAAiB,CACjD,OAAO,EACP,UAAU,EACV,YAAmB,EACnB,6BACE,IAAI,CAAC,IACP,iBAAiB,mBAAmB,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CACrE,YAAY,CACd,CAAC;KACH;IAED,eAAe;IACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAA,qBAAe,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE;YACV,0DAA0D;YAC1D,wDAAwD;YACxD,SAAS;SACV;QAED,oBAAoB;QACpB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;QAEpB;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,MAAM,sBAAsB,GAAG,IAAA,yBAAmB,EAChD,IAAA,uCAAiC,EAAC,YAAY,CAAC,EAC/C,IAAI,CACL,CAAC;QAEF,MAAM,iBAAiB,GACrB,UAAU;aACP,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,uBAAuB,CAAC;aACvC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,MAAM,CAAC;QAErD,MAAM,cAAc,GAClB,UAAU;aACP,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,2BAA2B,0CAAG,sBAAsB,CAAC,CAAA,EAAA,CAAC;aACrE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,MAAM,CAAC;QAErD,IAAI,CAAC;;UAGC,OAAO,CAAC,OAAO,CAAC,mCAAmC;YACjD,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,iBACN;;KAEH,CAAC,CAAC;QAEH,oBAAoB;QACpB,0CAA0C;QAC1C,IAAI,KAAK,KAAK,8BAAoB,EAAE;YAClC,wEAAwE;YACxE,uBAAuB;YACvB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;YACtC,SAAS;SACV;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;SACpD;QACD,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,IAAI;gBACJ,YAAY,EAAE,IAAA,aAAO,EAAC,YAAY,EAAE,IAAI,CAAC;gBACzC,WAAW;gBACX,gBAAgB;gBAChB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU;gBACV,IAAI,EAAE,IAAA,qBAAe,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC;YACrE,IAAI,CACF;;gBAEQ,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;;;;gBAIjD,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;;;SAGxD,CACF,CAAC;SACH;aAAM;YACL,cAAc;YACd,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CACF,WAAW,CACT,OAAO,EACP,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,UAAU,EACV,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9B,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAC7B,IAAA,aAAO,EAAC,YAAY,EAAE,IAAI,CAAC,CAC5B,CACF,CAAC;YACF,kBAAkB;YAClB,IAAI,CAAC,aAAa,CAAC,CAAC;SACrB;QACD,sBAAsB;QACtB,IAAI,CAAC,GAAG,CAAC,CAAC;KACX;IAED,aAAa;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,+BAA+B;IAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,UAA6B,EAC7B,IAAyB,EACzB,UAAuB,EACvB,WAAqB,EACrB,YAAwB,EACxB,gBAAwB;IAExB,IAAI,WAA0C,CAAC;IAC/C,IAAI,IAAI,CAAC,WAAW,EAAE;QACpB,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;KAChC;SAAM;QACL,WAAW,GAAG,CAAC,KAAU,EAAE,OAAY,EAAE,IAAwB,EAAE,EAAE,CACnE,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;IACD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM;SAClC,gBAAgB,CAAC,IAAI,CAAC;SACtB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClB,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CACxB,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,CAAC,YAAY,CAAC,EACd,IAAA,aAAO,EAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAC/C,CAAC;QACF,OAAO,SAAS,UAAU,CAAC,IAAI;oBACjB,0BAA0B,CAAC,UAAU,CAAC;uCACnB,MAAM;oBACzB,qBAAqB,CAAC,UAAU,CAAC;;gBAErC,CAAC;IACb,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,aAAa,GAAG,WAAW,CAAC;IAClC,MAAM,aAAa,GAAG,sDAAsD,IAAI,CAAC,IAAI,OAAO,CAAC;IAC7F,4BAA4B;IAC5B,MAAM,oBAAoB;IACxB,uDAAuD;IACvD,iEAAiE;QACjE,IAAI,CAAC,IAAI;QACT,KAAK,CAAC;IACR,MAAM,WAAW,GAAG,GAAG,aAAa,MAAM,oBAAoB,qBAC5D,IAAI,CAAC,IACP,wDACE,UAAU,CAAC,IACb,IAAI,iBAAiB,CAAC,UAAU,CAAC,gBAC/B,IAAI,CAAC,IACP,sHAAsH,CAAC;IACvH,2BAA2B;IAC3B,OAAO;;;QAGD,gBAAgB,SAAS,iBAAiB,CAC9C,OAAO,EACP,UAAU,EACV,YAAY,EACZ,yCAAyC,EACzC,KAAK,CACN;;;;QAIK,gBAAgB,SAAS,iBAAiB,CAC9C,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,CACd;;;YAGS,aAAa;aACZ,aAAa;QAClB,cAAc;;QAEd,gBAAgB,SAAS,iBAAiB,CAC9C,OAAO,EACP,UAAU,EACV,YAAY,EACZ,WAAW,CACZ;;;;MAIG,wBAAwB,kBAAkB,gBAAgB,IAAI,WAAW,CAAC,IAAI,CAChF,GAAG,CACJ;MACG,mBAAmB;MACnB,gBAAgB,CAChB,OAAO,EACP,UAAU,EACV,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,UAAU,EACV,YAAY,CACb,IAAI,CAAC;AACV,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CACtB,OAA2B,EAC3B,UAA6B,EAC7B,IAA8B,EAC9B,UAAuB,EACvB,mBAA6B,EAC7B,YAAwB,EACxB,gBAAwB;IAExB,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACzD,gEAAgE;IAChE,MAAM,QAAQ,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAC1B,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,CAAC,eAAe,CAAC,EACjB,CAAC,GAAG,kBAAkB,OAAO,QAAQ,GAAG,CAAC,EACzC,IAAA,aAAO,EAAC,YAAY,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC,CACpD,CAAC;IAEF,MAAM,YAAY,GAAG,sDACnB,UAAU,CAAC,IACb,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,gBAAgB,SAAS,iBAAiB,CAC9D,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,CACb,UAAU,CAAC;IACZ,MAAM,cAAc,GAAG,iBAAiB,CACtC,OAAO,EACP,UAAU,EACV,IAAA,aAAO,EAAC,YAAY,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC,EACnD,yCAAyC,EACzC,KAAK,CACN,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,sBAAsB,CACxC,OAAO,EACP,GAAG,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAClE,CAAC;IACF,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;aACvB,WAAW,IAAI,wBAAwB,KAAK,kBAAkB,oBAAoB,YAAY;MACrG,kBAAkB;MAClB,kBAAkB,OAAO,QAAQ,OAAO,QAAQ;MAChD,cAAc;;GAEjB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,EACP,GAAG,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAC9D,CAAC;IACF,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;aACvB,cAAc,IAAI,wBAAwB,uBAAuB,QAAQ,kBAAkB,aAAa;UAC3G,gBAAgB,CAAC,eAAe,CAAC;QACnC,cAAc,EAAE;;UAEd,WAAW,IAAI,wBAAwB,0BAA0B,YAAY;UAC7E,WAAW,EAAE;;;;YAIX,mBAAmB,CAAC,SAAS,CAAC,SAAS,cAAc;;YAErD,mBAAmB,CAAC,SAAS,CAAC,SAAS,UAAU;;UAEnD,WAAW,EAAE;;;SAGd,WAAW,IAAI,wBAAwB,iCAAiC,YAAY;;;GAG1F,CAAC,CAAC;IACH,OAAO,WAAW,IAAI,2BAA2B,IAAI,wCAAwC,SAAS;IACpG,oBAAoB,IAAI,wBAAwB,KAAK,IAAI,KAAK,cAAc,KAAK,aAAa,GAAG,CAAC;AACtG,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CACd,OAAyB,EACzB,QAAgC,EAChC,EAMQ,EACR,GAAG,GAAa;IAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;QACxB,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;QACtC,EAAE,KAAK,CAAC;KACT;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,oBAAoB,GACxB,8DAA8D,CAAC;AACjE,MAAM,mBAAmB,GACvB,6DAA6D,CAAC;AAChE,MAAM,SAAS,GAAG,mDAAmD,CAAC;AACtE,MAAM,UAAU,GAAG,oDAAoD,CAAC;AAExE,SAAS,oBAAoB,CAAY,GAAQ,EAAE,KAAU;IAC3D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE;QACtB,OAAO,mBAAmB,CAAC;KAC5B;IAED,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;QACvB,OAAO,oBAAoB,CAAC;KAC7B;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;QAC7B,OAAO,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;KACzC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,oBAAoB,CAAC;SAC7C,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;SACjD,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,mBAAmB,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC;SAChE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,oBAAoB,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;SAClE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,UAAU,EAAE,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,UAA6B,EAC7B,SAA4B,EAC5B,SAAiB,EACjB,UAAuB,EACvB,YAAwB;IAExB,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEjD,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAA,qCAAsB,EAC5D;QACE,MAAM;QACN,SAAS;QACT,SAAS;QACT,UAAU;QACV,SAAS;QACT,SAAS;QACT,UAAU;KACX,EACD,OAAO,CAAC,OAAO,CAAC,oBAAoB,CACrC,CAAC;IACF,OAAO,GAAG,wBAAwB,iBAAiB,eAAe,IAAI,gBAAgB,KAAK,6BAAqB,KAAK,qBAAqB,CACxI,YAAY,CACb,GAAG,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,OAAO,GAAG,UAAU,MAAM,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAkB;IAClD,OAAO,GAAG,UAAU,WAAW,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,IAAiB;IACrD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,QAAQ,CAAC;KACjB;IACD,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,UAAU,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;SACpC;aAAM;YACL,0BAA0B;YAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,IAAe,EACf,WAAmB,EACnB,SAAiB,EACjB,UAA6B,EAC7B,IAAgB;IAEhB,0CAA0C;IAC1C,IAAI,IAAI,GAAG;QACL,SAAS;UACP,WAAW,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;GACpD,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACzD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,IAAI,4CAA4C,6BAAqB,MAAM,OAAO,OAAO,CAAC;QAC9F,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAA,uBAAa,EAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzE,MAAM,OAAO,GAAG,cACd,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAC/B,uBAAuB,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YAC1F,IAAI,IAAI,OAAO,6BAAqB,KAClC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAC1B;QACE,gBAAgB,SAAS,iBAAiB,CAC1C,OAAO,EACP,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAC9B,IAAI,EACJ,OAAO,CACR;QACC,SAAS;QACT,CAAC;SACJ;QACD,IAAI,IAAI;MACN,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,6BAAqB,KACjE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAC1B;MACE,CAAC;QACH,qDAAqD;QACrD,sBAAsB;QACtB,IACE,QAAQ,CAAC,QAAQ;YACjB,IAAA,uBAAa,EAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAChD,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,EACvD;YACA,MAAM,OAAO,GAAG,cACd,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAC/B,uBAAuB,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,iCAAiC,OAAO,4CAA4C,CAAC;YACxJ,IAAI,IAAI;QACN,gBAAgB,SAAS,iBAAiB,CAC1C,OAAO,EACP,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAC9B,IAAI,EACJ,OAAO,CACR;QACC,SAAS;UACP,CAAC;SACN;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,0BAA0B,CACjC,OAA2B,EAC3B,YAAY,GAAG,KAAK;IAEpB,OAAO,OAAO,CAAC,QAAQ;SACpB,GAAG,CACF,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;cACJ,mBAAmB,GAAG,GAAG,MAAM,YAAY;OAClD,CACF;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAClC,OAA2B;IAE3B,uCAAY,OAAO,KAAE,QAAQ,EAAE,EAAE,IAAG;AACtC,CAAC;AAED,SAAgB,SAAS,CAAC,KAAU;IAClC,OAAO,CACL,KAAK,IAAI,IAAI;QACb,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC;AAND,8BAMC;AAED,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,GAAG,KAAK,sBAAsB,KAAK,2BAA2B,KAAK,sBAAsB,CAAC;AACnG,CAAC;AAFD,4CAEC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,IAAgB;IACpD,MAAM,SAAS,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9C,0CAA0C;QAC1C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YAChC,SAAS;SACV;QACD,GAAG;YACD,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;gBAC1B,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAC9B;IACD,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,OAAO,IAAA,uBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAC5E,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAgB;IAC7C,OAAO,CACL,IAAA,iBAAW,EAAC,IAAI,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACjB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CACtB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAA4B;IACzD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,WAAW,CAAC;KACpB;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;QACxB,mEAAmE;QACnE,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;IACD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC;IACrC,OAAO;YACG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YACjD,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,MAA2C,EAC3C,gBAA+C;IAE/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,SAAS,GAAG,gBAAgB,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,SAAS,cAAc,CAC5B,OAAyB,EACzB,CAAM,EACN,OAAqE,EACrE,GAAG,GAAa;QAEhB,IAAI;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBACpB,OAAO,CACL,OAAO,EACP,6BAA6B,IAAI,mBAAmB,CAAC,EAAE,EACvD,GAAG,GAAG,CACP,CAAC;gBACF,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,CACL,OAAO,EACP,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACd,6BAA6B,IAAI,yBAAyB,EAC5D,GAAG,GAAG,CACP,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAC3B,KAAU,EACV,YAAiB,EACjB,IAAwB,EACxB,YAAiC;IAEjC,gCAAgC;IAChC,IACE,KAAK,IAAI,IAAI;QACb,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EACpC;QACA,OAAO,KAAK,CAAC,UAAU,CAAC;KACzB;IAED,sCAAsC;IACtC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;QAChC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAEhE,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,oDAAoD,KAAK,EAAE,CAC5D,CAAC;aACH;iBAAM,IAAI,cAAc,EAAE;gBACzB,OAAO,IAAI,CAAC,IAAI,CAAC;aAClB;SACF;KACF;IAED,MAAM,IAAI,KAAK,CACb,0DAA0D,YAAY,CAAC,IAAI,kBAAkB;QAC3F,OAAO,CAAC,KAAK,CAAC,CACjB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,MAAqB,EACrB,QAAsB,EACtB,OAAwB,EACxB,aAAsB;IAEtB,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,SAAyC,CAAC;IAC9C,IAAI,4BAA4B,GAAG,KAAK,CAAC;IACzC,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE;QAC7C,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAI,CAAC,oBAAoB;gBAC5B,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oBAC/B,4BAA4B,GAAG,IAAI,CAAC;iBACrC;qBAAM,IACL,CAAC,aAAa;oBACd,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,EAC5D;oBACA,SAAS,GAAG,UAAU,CAAC;iBACxB;gBACD,MAAM;YACR,KAAK,cAAI,CAAC,mBAAmB;gBAC3B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;gBAC9C,MAAM;SACT;KACF;IAED,IAAI,CAAC,SAAS,EAAE;QACd,IAAI,aAAa,EAAE;YACjB,MAAM,IAAI,sBAAY,CAAC,4BAA4B,aAAa,IAAI,CAAC,CAAC;SACvE;aAAM;YACL,MAAM,IAAI,sBAAY,CAAC,4BAA4B,CAAC,CAAC;SACtD;KACF;SAAM,IAAI,4BAA4B,EAAE;QACvC,MAAM,IAAI,sBAAY,CACpB,oEAAoE,CACrE,CAAC;KACH;IAED,OAAO;QACL,MAAM;QACN,SAAS;QACT,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,SAAS;QACT,OAAO;QACP,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,EAAE;QACpB,oBAAoB,EAAE,IAAI,GAAG,EAAE;QAC/B,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC,CAAC;QACT,cAAc,EAAE,EAAE;QAClB,MAAM;KAC0B,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;QAC3D,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA2B,EAAE,IAAY;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA2B,EAC3B,KAAgB,EAChB,IAAgB,EAChB,OAAe,EACf,aAAsB;IAEtB,OAAO,OAAO,aAAa,IAAI,OAAO;MAClC,IAAI,CAAC,SAAS,CAAC,IAAA,sBAAgB,EAAC,KAAK,CAAC,CAAC;QACrC,4BAA4B,CAAC,IAAI,CAAC;QAClC,aAAa,IAAI,WAAW;QAC5B,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,IAAY;IACvD,OAAO,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,GAAG,cAAc,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,GAAG,YAAY,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;SAEA,sBAAsB;GAC5B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;QACD,sBAAsB;UACpB,sBAAsB;QACxB,cAAc,IAAI,wBAAwB;;GAE/C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1C;IACD,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,GAAU;IAChC,OAAO,GAAG,YAAY,sBAAY;QAChC,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAK,oBAAuB,CAC1B,GAAG,CAAC,OAAO,EACV,GAAW,CAAC,SAAS,EACrB,GAAW,CAAC,IAAI,EACjB,GAAG,CACJ,CAAC;AACR,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAU;IAC3B,2CAA2C;IAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA2B;IACtD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,IAAI,IAAI,IAAI,CAAC;SACd;QACD,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,OAAO,GAAG,0BAA0B,GAAG,SAAS,EAAE,CAAC;AACrD,CAAC;AAED,SAAgB,eAAe,CAC7B,GAAY;IAEZ,OAAO,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC;AACjE,CAAC;AAJD,0CAIC;AAED,SAAS,4BAA4B,CACnC,OAA2B,EAC3B,IAAuB,EACvB,QAAwB,EACxB,OAA+B;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAA,qBAAe,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,sBAAY,CACpB,2BAA2B,SAAS,mBAAmB,EACvD,IAAA,+BAAsB,EAAC,UAAU,CAAC,CACnC,CAAC;KACH;IAED,MAAM,YAAY,GAAG,IAAA,aAAO,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IAEnC,KAAK,UAAU,mBAAmB,CAAC,gBAAkC;QACnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,CAChE,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,SAAS,EAC1B,YAAY,CACb,CAAC;QAEF,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAClC,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,OAAO,EACxB,WAAW,CACZ,CAAA,CAAC;YACF,IAAI,WAAW,YAAY,KAAK,EAAE;gBAChC,MAAM,WAAW,CAAC;aACnB;YACD,OAAO,WAAW,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAA,sBAAY,EAChB,KAAK,EACL,WAAW,CAAC,UAAU,EACtB,IAAA,kBAAW,EAAC,WAAW,CAAC,IAAI,CAAC,CAC9B,CAAC;SACH;IACH,CAAC;IAED,KAAK,UAAU,uBAAuB,CAAC,gBAAkC;QACvE,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAEhE,mEAAmE;YACnE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CACb,iDAAiD;oBAC/C,aAAa,OAAO,CAAC,WAAW,CAAC,GAAG,CACvC,CAAC;aACH;YAED,OAAO,WAAW,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACd,gGAAgG;YAChG,qEAAqE;YACrE,IAAI,KAAK,YAAY,sBAAY,EAAE;gBACjC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5B;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,OAAO,KAAK,UAAU,SAAS,CAAC,gBAAkC;QAChE,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAEvE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE;YACpC,OAAO,cAAc,CAAC;SACvB;QAED,uEAAuE;QACvE,+DAA+D;QAC/D,wEAAwE;QACxE,iEAAiE;QACjE,yEAAyE;QACzE,8DAA8D;QAC9D,oDAAoD;QACpD,MAAM,mBAAmB,GAAG,CAAC,OAAY,EAAE,EAAE,CAC3C,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEzE,OAAO,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,kBAAsC,EACtC,QAAsB,EACtB,IAEsE,EACtE,iBAA4E,EAC5E,aAAiC;IAEjC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GACtE,kBAAkB,CAAC;IACrB,MAAM,OAAO,GAAG,IAAA,4BAAiB,EAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,aAAa,IAAI,WAAW,CAAC;IAE5C,MAAM,GAAG,GAAG;QACV,KAAK,CAAC,CAAC,MAAM,CAAC,CACZ,SAAc,EACd,OAAY,EACZ,SAAwC;YAExC,+CAA+C;YAC/C,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAE3D,mDAAmD;YACnD,IAAI,IAAA,gCAAoB,EAAC,eAAe,CAAC,EAAE;gBACzC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;aAC3C;YAED,MAAM,gBAAgB,GAAqB;gBACzC,SAAS;gBACT,OAAO;gBACP,SAAS,EAAE,eAAe,CAAC,OAAO;gBAClC,OAAO;gBACP,OAAO;gBACP,YAAY,EAAE,oBAAe;gBAC7B,SAAS;gBACT,aAAa;gBACb,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,OAAO;gBACP,cAAc,EAAE,CAAC;gBACjB,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT,CAAC;YAEF,2CAA2C;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,QAA4D,EAC5D,QAAsC;IAEtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAElD,KAAK,UAAU,SAAS,CACtB,MAA4B;QAE5B,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,OAAO,MAAM,CAAC;SACf;QAED,IAAI;YACF,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC7D;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE;gBACzC,IAAI;oBACF,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACzB;gBAAC,OAAO,CAAC,EAAE;oBACV,kBAAkB;iBACnB;aACF;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI;YACR,OAAO,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,MAAM;YACV,OAAO,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gBAC1C,CAAC,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAa;YACvB,OAAO,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU;gBACzC,CAAC,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/non-null.js CHANGED
@@ -19,7 +19,7 @@ function createNullTrimmer(compilationContext) {
19
19
  }
20
20
  exports.createNullTrimmer = createNullTrimmer;
21
21
  /**
22
- * Trims a data response according to the field erros in non null fields.
22
+ * Trims a data response according to the field errors in non null fields.
23
23
  *
24
24
  * Errors are filtered to ensure a single field error per field.
25
25
  *
@@ -139,7 +139,7 @@ function parseQueryNullables(compilationContext) {
139
139
  * @param {CompilationContext} compilationContext
140
140
  * @param {FieldNode[]} fieldNodes list of fields
141
141
  * @param {GraphQLType} type Current type being processed.
142
- * @returns {QueryMetadata | null} null if node is a leaf, otherwise a desciption of the node and its children.
142
+ * @returns {QueryMetadata | null} null if node is a leaf, otherwise a description of the node and its children.
143
143
  */
144
144
  function transformNode(compilationContext, fieldNodes, type) {
145
145
  if ((0, graphql_1.isNonNullType)(type)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphql-jit",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "GraphQL JIT Compiler to JS",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "coverageThreshold": {
41
41
  "global": {
42
- "branches": 92,
42
+ "branches": 91,
43
43
  "functions": 96,
44
44
  "lines": 96,
45
45
  "statements": 96
@@ -50,7 +50,7 @@
50
50
  "graphql": ">=15"
51
51
  },
52
52
  "devDependencies": {
53
- "@graphql-tools/schema": "^8.3.1",
53
+ "@graphql-tools/schema": "^9.0.8",
54
54
  "@stryker-mutator/core": "^2.0.0",
55
55
  "@stryker-mutator/jest-runner": "^2.0.0",
56
56
  "@stryker-mutator/typescript": "^2.0.0",