@subsquid/openreader 0.4.1 → 0.6.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.
Files changed (104) hide show
  1. package/dist/dialect.d.ts +2 -0
  2. package/dist/dialect.d.ts.map +1 -0
  3. package/dist/dialect.js +3 -0
  4. package/dist/dialect.js.map +1 -0
  5. package/dist/gql/opencrud.d.ts +4 -3
  6. package/dist/gql/opencrud.d.ts.map +1 -1
  7. package/dist/gql/opencrud.js +22 -7
  8. package/dist/gql/opencrud.js.map +1 -1
  9. package/dist/gql/scalars/BigInt.d.ts +3 -0
  10. package/dist/gql/scalars/BigInt.d.ts.map +1 -0
  11. package/dist/gql/scalars/BigInt.js +36 -0
  12. package/dist/gql/scalars/BigInt.js.map +1 -0
  13. package/dist/gql/scalars/Bytes.d.ts +3 -0
  14. package/dist/gql/scalars/Bytes.d.ts.map +1 -0
  15. package/dist/gql/scalars/Bytes.js +32 -0
  16. package/dist/gql/scalars/Bytes.js.map +1 -0
  17. package/dist/gql/scalars/DateTime.d.ts +3 -0
  18. package/dist/gql/scalars/DateTime.d.ts.map +1 -0
  19. package/dist/gql/scalars/DateTime.js +44 -0
  20. package/dist/gql/scalars/DateTime.js.map +1 -0
  21. package/dist/gql/scalars/index.d.ts +6 -0
  22. package/dist/gql/scalars/index.d.ts.map +1 -0
  23. package/dist/gql/scalars/index.js +12 -0
  24. package/dist/gql/scalars/index.js.map +1 -0
  25. package/dist/gql/schema.d.ts.map +1 -1
  26. package/dist/gql/schema.js +3 -2
  27. package/dist/gql/schema.js.map +1 -1
  28. package/dist/queryBuilder.d.ts +3 -1
  29. package/dist/queryBuilder.d.ts.map +1 -1
  30. package/dist/queryBuilder.js +121 -25
  31. package/dist/queryBuilder.js.map +1 -1
  32. package/dist/resolver.d.ts +2 -1
  33. package/dist/resolver.d.ts.map +1 -1
  34. package/dist/resolver.js +12 -12
  35. package/dist/resolver.js.map +1 -1
  36. package/dist/server.d.ts +2 -0
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +3 -2
  39. package/dist/server.js.map +1 -1
  40. package/dist/test/basic.test.js +3 -3
  41. package/dist/test/basic.test.js.map +1 -1
  42. package/dist/test/connection.test.js +1 -1
  43. package/dist/test/connection.test.js.map +1 -1
  44. package/dist/test/fts.test.js +2 -2
  45. package/dist/test/fts.test.js.map +1 -1
  46. package/dist/test/isNull.test.d.ts +2 -0
  47. package/dist/test/isNull.test.d.ts.map +1 -0
  48. package/dist/test/isNull.test.js +75 -0
  49. package/dist/test/isNull.test.js.map +1 -0
  50. package/dist/test/lists.test.js +3 -3
  51. package/dist/test/lists.test.js.map +1 -1
  52. package/dist/test/lookup.test.js +13 -7
  53. package/dist/test/lookup.test.js.map +1 -1
  54. package/dist/test/scalars.test.js +12 -9
  55. package/dist/test/scalars.test.js.map +1 -1
  56. package/dist/test/{util/setup.d.ts → setup.d.ts} +8 -1
  57. package/dist/test/setup.d.ts.map +1 -0
  58. package/dist/test/{util/setup.js → setup.js} +19 -8
  59. package/dist/test/setup.js.map +1 -0
  60. package/dist/test/typed-json.test.js +1 -1
  61. package/dist/test/typed-json.test.js.map +1 -1
  62. package/dist/test/unions.test.js +1 -1
  63. package/dist/test/unions.test.js.map +1 -1
  64. package/dist/test/where.test.js +1 -1
  65. package/dist/test/where.test.js.map +1 -1
  66. package/dist/util.d.ts +1 -0
  67. package/dist/util.d.ts.map +1 -1
  68. package/dist/util.js +5 -1
  69. package/dist/util.js.map +1 -1
  70. package/dist/where.d.ts +1 -1
  71. package/dist/where.d.ts.map +1 -1
  72. package/dist/where.js +3 -0
  73. package/dist/where.js.map +1 -1
  74. package/package.json +4 -4
  75. package/src/dialect.ts +2 -0
  76. package/src/gql/opencrud.ts +24 -8
  77. package/src/gql/scalars/BigInt.ts +34 -0
  78. package/src/gql/scalars/Bytes.ts +28 -0
  79. package/src/gql/scalars/DateTime.ts +45 -0
  80. package/src/gql/scalars/index.ts +10 -0
  81. package/src/gql/schema.ts +3 -2
  82. package/src/queryBuilder.ts +114 -22
  83. package/src/resolver.ts +13 -11
  84. package/src/server.ts +5 -2
  85. package/src/test/basic.test.ts +3 -3
  86. package/src/test/connection.test.ts +1 -1
  87. package/src/test/fts.test.ts +4 -2
  88. package/src/test/isNull.test.ts +79 -0
  89. package/src/test/lists.test.ts +3 -3
  90. package/src/test/lookup.test.ts +13 -7
  91. package/src/test/scalars.test.ts +12 -9
  92. package/src/test/{util/setup.ts → setup.ts} +21 -7
  93. package/src/test/typed-json.test.ts +1 -1
  94. package/src/test/unions.test.ts +1 -1
  95. package/src/test/where.test.ts +1 -1
  96. package/src/util.ts +5 -0
  97. package/src/where.ts +5 -0
  98. package/dist/scalars.d.ts +0 -36
  99. package/dist/scalars.d.ts.map +0 -1
  100. package/dist/scalars.js +0 -229
  101. package/dist/scalars.js.map +0 -1
  102. package/dist/test/util/setup.d.ts.map +0 -1
  103. package/dist/test/util/setup.js.map +0 -1
  104. package/src/scalars.ts +0 -247
@@ -8,12 +8,12 @@ const util_1 = require("@subsquid/util");
8
8
  const assert_1 = __importDefault(require("assert"));
9
9
  const model_tools_1 = require("./model.tools");
10
10
  const orderBy_1 = require("./orderBy");
11
- const scalars_1 = require("./scalars");
12
11
  const util_2 = require("./util");
13
12
  const where_1 = require("./where");
14
13
  class QueryBuilder {
15
- constructor(model, db) {
14
+ constructor(model, dialect, db) {
16
15
  this.model = model;
16
+ this.dialect = dialect;
17
17
  this.db = db;
18
18
  this.params = [];
19
19
  this.aliases = new AliasSet();
@@ -29,7 +29,7 @@ class QueryBuilder {
29
29
  let table = (0, util_2.toTable)(entityName);
30
30
  let alias = this.aliases.add(table);
31
31
  let join = new JoinSet(this.aliases);
32
- let cursor = new Cursor(this.model, this.ident.bind(this), this.aliases, join, entityName, entity, alias, '');
32
+ let cursor = new Cursor(this.model, this.dialect, this.ident.bind(this), this.aliases, join, entityName, entity, alias, '');
33
33
  let whereExps = [];
34
34
  let orderByExps = [];
35
35
  let columns = new ColumnSet();
@@ -51,12 +51,12 @@ class QueryBuilder {
51
51
  break;
52
52
  case 'list-subquery':
53
53
  if (columns.size()) {
54
- out += `SELECT json_build_array(${columns.render()}) `;
54
+ out += `SELECT json_build_array(${columns.render()}) AS row `;
55
55
  }
56
56
  break;
57
57
  default:
58
58
  if (columns.size()) {
59
- out += `SELECT ${columns.render()}\n`;
59
+ out += `SELECT ${columns.render(true)}\n`;
60
60
  }
61
61
  }
62
62
  out += `FROM ${this.ident(table)} ${this.ident(alias)}`;
@@ -127,7 +127,7 @@ class QueryBuilder {
127
127
  case 'scalar':
128
128
  case 'enum':
129
129
  case 'list':
130
- req.index = columns.add(cursor.transport(fieldName));
130
+ req.index = columns.add(cursor.output(fieldName));
131
131
  break;
132
132
  case 'object':
133
133
  req.index = columns.add(cursor.field(fieldName) + ' IS NULL');
@@ -135,22 +135,22 @@ class QueryBuilder {
135
135
  break;
136
136
  case 'union':
137
137
  let cu = cursor.child(fieldName);
138
- req.index = columns.add(cu.transport('isTypeOf'));
138
+ req.index = columns.add(cu.output('isTypeOf'));
139
139
  this.populateColumns(columns, cu, req.children);
140
140
  break;
141
141
  case 'fk':
142
142
  case 'lookup': {
143
143
  let cu = cursor.child(fieldName);
144
- req.index = columns.add(cu.transport('id'));
144
+ req.index = columns.add(cu.output('id'));
145
145
  this.populateColumns(columns, cu, req.children);
146
146
  break;
147
147
  }
148
148
  case 'list-lookup':
149
- req.index = columns.add('array(' + this.select(field.propType.entity, req.args, req.children, {
149
+ req.index = columns.add('(SELECT jsonb_agg(row) FROM (' + this.select(field.propType.entity, req.args, req.children, {
150
150
  kind: 'list-subquery',
151
151
  field: field.propType.field,
152
152
  parent: cursor.native('id')
153
- }) + ')');
153
+ }) + ') as rows)');
154
154
  break;
155
155
  default:
156
156
  throw (0, util_2.unsupportedCase)(field.propType.kind);
@@ -220,6 +220,16 @@ class QueryBuilder {
220
220
  }
221
221
  addPropCondition(exps, cursor, field, op, arg) {
222
222
  let propType = cursor.object.properties[field].type;
223
+ if (op == 'isNull') {
224
+ let lhs = propType.kind == 'fk' ? cursor.fk(field) : cursor.field(field);
225
+ if (arg) {
226
+ exps.push(`${lhs} IS NULL`);
227
+ }
228
+ else {
229
+ exps.push(`${lhs} IS NOT NULL`);
230
+ }
231
+ return;
232
+ }
223
233
  switch (propType.kind) {
224
234
  case 'scalar':
225
235
  case 'enum': {
@@ -237,18 +247,31 @@ class QueryBuilder {
237
247
  break;
238
248
  }
239
249
  case 'startsWith':
240
- exps.push(`starts_with(${lhs}, ${this.param(arg)})`);
250
+ if (this.dialect == 'cockroach') {
251
+ let p = this.param(arg) + '::text';
252
+ exps.push(`${lhs} >= ${p}`);
253
+ exps.push(`left(${lhs}, length(${p})) = ${p}`);
254
+ }
255
+ else {
256
+ exps.push(`starts_with(${lhs}, ${this.param(arg)})`);
257
+ }
241
258
  break;
242
259
  case 'not_startsWith':
243
- exps.push(`NOT starts_with(${lhs}, ${this.param(arg)})`);
260
+ if (this.dialect == 'cockroach') {
261
+ let p = this.param(arg) + '::text';
262
+ exps.push(`(${lhs} < ${p} OR left(${lhs}, length(${p})) != ${p})`);
263
+ }
264
+ else {
265
+ exps.push(`NOT starts_with(${lhs}, ${this.param(arg)})`);
266
+ }
244
267
  break;
245
268
  case 'endsWith': {
246
- let param = this.param(arg);
269
+ let param = this.param(arg) + '::text';
247
270
  exps.push(`right(${lhs}, length(${param})) = ${param}`);
248
271
  break;
249
272
  }
250
273
  case 'not_endsWith': {
251
- let param = this.param(arg);
274
+ let param = this.param(arg) + '::text';
252
275
  exps.push(`right(${lhs}, length(${param})) != ${param}`);
253
276
  break;
254
277
  }
@@ -258,6 +281,12 @@ class QueryBuilder {
258
281
  case 'not_contains':
259
282
  exps.push(`position(${this.param(arg)} in ${lhs}) = 0`);
260
283
  break;
284
+ case 'containsInsensitive':
285
+ exps.push(`position(lower(${this.param(arg)}) in lower(${lhs})) > 0`);
286
+ break;
287
+ case 'not_containsInsensitive':
288
+ exps.push(`position(lower(${this.param(arg)}) in lower(${lhs})) = 0`);
289
+ break;
261
290
  default: {
262
291
  exps.push(`${lhs} ${(0, where_1.whereOpToSqlOperator)(op)} ${this.param(arg)}`);
263
292
  }
@@ -446,11 +475,12 @@ exports.QueryBuilder = QueryBuilder;
446
475
  * A pointer to an entity or nested json object within SQL query.
447
476
  *
448
477
  * It has convenience methods for building various SQL expressions
449
- * related to individual properties of an entity or an object it points to.
478
+ * related to individual properties of an entity or of an object it points to.
450
479
  */
451
480
  class Cursor {
452
- constructor(model, ident, aliases, join, name, object, alias, prefix) {
481
+ constructor(model, dialect, ident, aliases, join, name, object, alias, prefix) {
453
482
  this.model = model;
483
+ this.dialect = dialect;
454
484
  this.ident = ident;
455
485
  this.aliases = aliases;
456
486
  this.join = join;
@@ -459,16 +489,46 @@ class Cursor {
459
489
  this.alias = alias;
460
490
  this.prefix = prefix;
461
491
  }
462
- transport(propName) {
492
+ output(propName) {
463
493
  let prop = this.object.properties[propName];
464
494
  switch (prop.type.kind) {
465
495
  case 'scalar':
496
+ if (this.object.kind == 'object') {
497
+ switch (prop.type.name) {
498
+ case 'Int':
499
+ return `(${this.prefix}->'${propName}')::integer`;
500
+ case 'Float':
501
+ return `(${this.prefix}->'${propName}')::numeric`;
502
+ case 'Boolean':
503
+ return `(${this.prefix}->>'${propName}')::bool`;
504
+ default:
505
+ return `${this.prefix}->>'${propName}'`;
506
+ }
507
+ }
508
+ else {
509
+ let exp = this.column(propName);
510
+ switch (prop.type.name) {
511
+ case 'BigInt':
512
+ return `(${exp})::text`;
513
+ case 'Bytes':
514
+ return `'0x' || encode(${exp}, 'hex')`;
515
+ case 'DateTime':
516
+ if (this.dialect == 'cockroach') {
517
+ return `experimental_strftime((${exp}) at time zone 'UTC', '%Y-%m-%dT%H:%M:%S.%fZ')`;
518
+ }
519
+ else {
520
+ return `to_char((${exp}) at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"')`;
521
+ }
522
+ default:
523
+ return exp;
524
+ }
525
+ }
466
526
  case 'enum':
467
527
  if (this.object.kind == 'object') {
468
- return (0, scalars_1.fromJsonToOutputCast)(prop.type.name, this.prefix, propName);
528
+ return `${this.prefix}->>'${propName}'`;
469
529
  }
470
530
  else {
471
- return (0, scalars_1.toOutputCast)(prop.type.name, this.column(propName));
531
+ return this.column(propName);
472
532
  }
473
533
  case 'list':
474
534
  let itemType = prop.type.item.type;
@@ -477,7 +537,22 @@ class Cursor {
477
537
  return this.field(propName);
478
538
  }
479
539
  else {
480
- return (0, scalars_1.toOutputArrayCast)(itemType.name, this.column(propName));
540
+ let exp = this.column(propName);
541
+ switch (itemType.name) {
542
+ case 'BigInt':
543
+ return `(${exp})::text[]`;
544
+ case 'Bytes':
545
+ return `array(select '0x' || encode(i, 'hex') from unnest(${exp}) as i)`;
546
+ case 'DateTime':
547
+ if (this.dialect == 'cockroach') {
548
+ return `array(select experimental_strftime(i at time zone 'UTC', '%Y-%m-%dT%H:%M:%S.%fZ') from unnest(${exp}) as i)`;
549
+ }
550
+ else {
551
+ return `array(select to_char(i at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"') from unnest(${exp}) as i)`;
552
+ }
553
+ default:
554
+ return exp;
555
+ }
481
556
  }
482
557
  default:
483
558
  throw (0, util_2.unsupportedCase)(prop.type.kind);
@@ -492,7 +567,24 @@ class Cursor {
492
567
  }
493
568
  (0, assert_1.default)(prop.type.kind == 'scalar' || prop.type.kind == 'enum');
494
569
  if (this.object.kind == 'object') {
495
- return (0, scalars_1.fromJsonCast)(prop.type.name, this.prefix, propName);
570
+ let js = `${this.prefix}->'${propName}'`;
571
+ let str = `${this.prefix}->>'${propName}'`;
572
+ switch (prop.type.name) {
573
+ case 'Int':
574
+ return `(${js})::integer`;
575
+ case 'Float':
576
+ return `(${js})::numeric`;
577
+ case 'Boolean':
578
+ return `(${str})::bool`;
579
+ case 'BigInt':
580
+ return `(${str})::numeric`;
581
+ case 'Bytes':
582
+ return `decode(substr(${str}, 3), 'hex')`;
583
+ case 'DateTime':
584
+ return `(${str})::timestamptz`;
585
+ default:
586
+ return str;
587
+ }
496
588
  }
497
589
  else {
498
590
  return this.column(propName);
@@ -532,7 +624,7 @@ class Cursor {
532
624
  default:
533
625
  throw (0, util_2.unsupportedCase)(prop.type.kind);
534
626
  }
535
- return new Cursor(this.model, this.ident, this.aliases, this.join, name, object, alias, prefix);
627
+ return new Cursor(this.model, this.dialect, this.ident, this.aliases, this.join, name, object, alias, prefix);
536
628
  }
537
629
  field(name) {
538
630
  if (this.object.kind == 'entity') {
@@ -549,7 +641,7 @@ class Cursor {
549
641
  fk(propName) {
550
642
  return this.object.kind == 'entity'
551
643
  ? this.ident(this.alias) + '.' + this.ident((0, util_2.toFkColumn)(propName))
552
- : (0, scalars_1.fromJsonCast)('ID', this.prefix, propName);
644
+ : `${this.prefix}->>'${propName}'`;
553
645
  }
554
646
  tsv(queryName) {
555
647
  (0, assert_1.default)(this.object.kind == 'entity');
@@ -575,8 +667,12 @@ class ColumnSet {
575
667
  }
576
668
  return idx;
577
669
  }
578
- render() {
579
- return Array.from(this.columns.keys()).join(', ');
670
+ render(withAliases) {
671
+ let cols = Array.from(this.columns.keys());
672
+ if (withAliases) {
673
+ cols = cols.map((col, idx) => `${col} AS _c${idx}`);
674
+ }
675
+ return cols.join(', ');
580
676
  }
581
677
  size() {
582
678
  return this.columns.size;
@@ -1 +1 @@
1
- {"version":3,"file":"queryBuilder.js","sourceRoot":"","sources":["../src/queryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryBuilder.js","sourceRoot":"","sources":["../src/queryBuilder.ts"],"names":[],"mappings":";;;;;;AAAA,yCAA0C;AAC1C,oDAA2B;AAI3B,+CAA8E;AAC9E,uCAAqE;AAErE,iCAAyF;AACzF,mCAAqF;AAWrF,MAAa,YAAY;IAIrB,YACY,KAAY,EACZ,OAAgB,EAChB,EAAY;QAFZ,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAS;QAChB,OAAE,GAAF,EAAE,CAAU;QANhB,WAAM,GAAU,EAAE,CAAA;QAClB,YAAO,GAAa,IAAI,QAAQ,EAAE,CAAA;IAMvC,CAAC;IAEI,KAAK,CAAC,KAAU;QACpB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IAEO,KAAK,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,IAAc,EAAE,MAAwB,EAAE,OAAuB;QACxF,IAAI,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAC9C,IAAI,KAAK,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAA;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEpC,IAAI,MAAM,GAAG,IAAI,MAAM,CACnB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,UAAU,EACV,MAAM,EACN,KAAK,EACL,EAAE,CACL,CAAA;QAED,IAAI,SAAS,GAAa,EAAE,CAAA;QAC5B,IAAI,WAAW,GAAa,EAAE,CAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAA;QAC7B,IAAI,GAAG,GAAG,EAAE,CAAA;QAEZ,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;SAChD;QAED,QAAO,OAAO,EAAE,IAAI,EAAE;YAClB,KAAK,KAAK;gBACN,GAAG,IAAI,UAAU,CAAA;gBACjB,GAAG,IAAI,QAAQ,UAAU,eAAe,CAAA;gBACxC,GAAG,IAAI,KAAK,CAAA;gBACZ,GAAG,IAAI,eAAe,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,iCAAiC,OAAO,CAAC,SAAS,YAAY,CAAA;gBACjH,GAAG,IAAI,KAAK,CAAA;gBACZ,GAAG,IAAI,mBAAmB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,iCAAiC,OAAO,CAAC,SAAS,iBAAiB,CAAA;gBAC1H,GAAG,IAAI,KAAK,CAAA;gBACZ,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,wBAAwB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAA;gBACtF,GAAG,IAAI,YAAY,CAAA;gBACnB,MAAK;YACT,KAAK,eAAe;gBAChB,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;oBAChB,GAAG,IAAI,2BAA2B,OAAO,CAAC,MAAM,EAAE,WAAW,CAAA;iBAChE;gBACD,MAAK;YACT;gBACI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;oBAChB,GAAG,IAAI,UAAU,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;iBAC5C;SACR;QAED,GAAG,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAA;QAEvD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;SACzD;QAED,IAAI,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE;YAClC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;SACpE;QAED,IAAI,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE;YACxB,SAAS,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,SAAS,QAAQ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;SAC1G;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,IAAI,IAAA,kBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5D,IAAI,YAAY,EAAE,MAAM,EAAE;YACtB,IAAI,OAAO,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;YAChE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;SACrD;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC/B,GAAG,IAAI,qBAAqB,KAAK,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,EAAE,CAAA;QACnF,CAAC,CAAC,CAAA;QAEF,IAAI,SAAS,CAAC,MAAM,EAAE;YAClB,GAAG,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAC9C;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,GAAG,IAAI,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAChD;QAED,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC7C;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,GAAG,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC/C;QAED,IAAI,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE;YAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAChC;QAED,OAAO,GAAG,CAAA;IACd,CAAC;IAEO,eAAe,CACnB,IAAc,EACd,MAAc,EACd,OAAgB;QAEhB,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;YACrB,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YACvB,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;YACjD,QAAO,QAAQ,CAAC,IAAI,EAAE;gBAClB,KAAK,QAAQ,CAAC;gBACd,KAAK,MAAM;oBACP,IAAA,gBAAM,EAAC,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAA;oBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;oBAC1C,MAAK;gBACT,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO,CAAC;gBACb,KAAK,IAAI,CAAC;gBACV,KAAK,QAAQ;oBACT,IAAA,gBAAM,EAAC,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAA;oBAC/B,IAAI,CAAC,eAAe,CAChB,IAAI,EACJ,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EACjB,IAAI,CACP,CAAA;oBACD,MAAK;gBACT;oBACI,MAAM,IAAA,sBAAe,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;aAC3C;SACJ;IACL,CAAC;IAEO,eAAe,CACnB,OAAkB,EAClB,MAAc,EACd,OAAyB;QAEzB,KAAK,IAAI,SAAS,IAAI,OAAO,EAAE;YAC3B,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAC3B,QAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACxB,KAAK,QAAQ,CAAC;oBACd,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBACP,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;wBACjD,MAAK;oBACT,KAAK,QAAQ;wBACT,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,CAAA;wBAC7D,IAAI,CAAC,eAAe,CAChB,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EACvB,GAAG,CAAC,QAAQ,CACf,CAAA;wBACD,MAAK;oBACT,KAAK,OAAO;wBACR,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;wBAChC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;wBAC9C,IAAI,CAAC,eAAe,CAChB,OAAO,EACP,EAAE,EACF,GAAG,CAAC,QAAQ,CACf,CAAA;wBACD,MAAK;oBACT,KAAK,IAAI,CAAC;oBACV,KAAK,QAAQ,CAAC,CAAC;wBACX,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;wBAChC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;wBACxC,IAAI,CAAC,eAAe,CAChB,OAAO,EACP,EAAE,EACF,GAAG,CAAC,QAAQ,CACf,CAAA;wBACD,MAAK;qBACR;oBACD,KAAK,aAAa;wBACd,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CACnB,+BAA+B,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE;4BACzF,IAAI,EAAE,eAAe;4BACrB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;4BAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC9B,CAAC,GAAG,YAAY,CACpB,CAAA;wBACD,MAAK;oBACT;wBACI,MAAM,IAAA,sBAAe,EAAE,KAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;iBAC1D;aACJ;SACJ;IACL,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,KAAU;QAC5C,IAAI,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAA;QACpC,IAAI,IAAI,GAAa,EAAE,CAAA;QACvB,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;YACxB,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAA;YAC5B,QAAO,CAAC,CAAC,EAAE,EAAE;gBACT,KAAK,OAAO;oBACR,IAAI,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE;wBACtB,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA;wBAChD,IAAA,gBAAM,EAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,CAAA;wBACjC,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAC7B,GAAG,CAAC,MAAM,EACV,EAAC,KAAK,EAAE,KAAK,EAAC,EACd,SAAS,EACT,EAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CACzE,CAAA;wBACD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CACrB,GAAG,CAAC,MAAM,EACV,EAAE,EACF,SAAS,EACT,EAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CACzE,CAAA;wBACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,eAAe,wBAAwB,OAAO,GAAG,CAAC,CAAA;qBACnF;oBACD,MAAK;gBACT,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM;oBACP,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA;oBAChD,IAAA,gBAAM,EAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,CAAA;oBACjC,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,CACjC,GAAG,CAAC,MAAM,EACV,EAAC,KAAK,EAAE,KAAK,EAAC,EACd,SAAS,EACT,EAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CACzE,GAAG,WAAW,CAAA;oBACf,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM,EAAE;wBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;qBACf;yBAAM;wBACH,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;qBACpF;oBACD,MAAK;gBACT,OAAO,CAAC,CAAC;oBACL,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;oBAC5C,IAAA,gBAAM,EAAC,IAAI,IAAI,IAAI,CAAC,CAAA;oBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;iBAC5D;aACJ;SACJ;QACD,IAAI,GAAG,EAAE;YACL,gEAAgE;YAChE,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;gBACvC,IAAI,IAAA,qBAAa,EAAC,QAAQ,CAAC,EAAE;oBACzB,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CACvC,CAAA;iBACJ;YACL,CAAC,CAAC,CAAA;SACL;QACD,IAAI,EAAE,EAAE;YACJ,IAAI,GAAG,GAAa,EAAE,CAAA;YACtB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;aAC3C;YACD,gEAAgE;YAChE,IAAA,kBAAW,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;gBACrC,IAAI,IAAA,qBAAa,EAAC,OAAO,CAAC,EAAE;oBACxB,GAAG,CAAC,IAAI,CACJ,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,CAClD,CAAA;iBACJ;YACL,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAA;SACtC;aAAM;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAC5B;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAc,EAAE,MAAc,EAAE,KAAa,EAAE,EAAW,EAAE,GAAQ;QACzF,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA;QACnD,IAAI,EAAE,IAAI,QAAQ,EAAE;YAChB,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACxE,IAAI,GAAG,EAAE;gBACL,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,CAAA;aAC9B;iBAAM;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,CAAA;aAClC;YACD,OAAM;SACT;QACD,QAAO,QAAQ,CAAC,IAAI,EAAE;YAClB,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC,CAAC;gBACT,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC9B,QAAO,EAAE,EAAE;oBACP,KAAK,IAAI,CAAC;oBACV,KAAK,QAAQ,CAAC,CAAC;wBACX,yBAAyB;wBACzB,mFAAmF;wBACnF,kBAAkB;wBAClB,iCAAiC;wBACjC,IAAI,IAAI,GAAG,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;wBACnD,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;wBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAA,4BAAoB,EAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;wBACxD,MAAK;qBACR;oBACD,KAAK,YAAY;wBACb,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;4BAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;4BAClC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;yBACjD;6BAAM;4BACH,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;yBACvD;wBACD,MAAK;oBACT,KAAK,gBAAgB;wBACjB,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;4BAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;4BAClC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;yBACrE;6BAAM;4BACH,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;yBAC3D;wBACD,MAAK;oBACT,KAAK,UAAU,CAAC,CAAC;wBACb,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;wBACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,KAAK,QAAQ,KAAK,EAAE,CAAC,CAAA;wBACvD,MAAK;qBACR;oBACD,KAAK,cAAc,CAAC,CAAC;wBACjB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;wBACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,KAAK,SAAS,KAAK,EAAE,CAAC,CAAA;wBACxD,MAAK;qBACR;oBACD,KAAK,UAAU;wBACX,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAA;wBACvD,MAAK;oBACT,KAAK,cAAc;wBACf,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAA;wBACvD,MAAK;oBACT,KAAK,qBAAqB;wBACtB,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAA;wBACrE,MAAK;oBACT,KAAK,yBAAyB;wBAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAA;wBACrE,MAAK;oBACT,OAAO,CAAC,CAAC;wBACL,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAA,4BAAoB,EAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;qBACrE;iBACJ;gBACD,MAAK;aACR;YACD,KAAK,MAAM,CAAC,CAAC;gBACT,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAA;gBAC7B,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;gBACpD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC3B,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC9B,QAAO,EAAE,EAAE;oBACP,KAAK,aAAa;wBACd,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,EAAE,CAAC,CAAA;wBAC/B,MAAK;oBACT,KAAK,aAAa;wBACd,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,EAAE,CAAC,CAAA;wBAC/B,MAAK;oBACT,KAAK,cAAc;wBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,KAAK,GAAG,CAAC,CAAA;wBACrC,MAAK;oBACT;wBACI,MAAM,IAAA,sBAAe,EAAC,EAAE,CAAC,CAAA;iBAChC;gBACD,MAAK;aACR;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC,CAAC;gBACV,IAAA,gBAAM,EAAC,EAAE,IAAI,GAAG,CAAC,CAAA;gBACjB,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC5B,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;oBACjB,IAAI,CAAC,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAA;oBAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;iBAC3D;gBACD,MAAK;aACR;YACD,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC;gBACX,IAAA,gBAAM,EAAC,EAAE,IAAI,GAAG,CAAC,CAAA;gBACjB,IAAI,IAAA,qBAAa,EAAC,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAC/C,CAAA;iBACJ;gBACD,MAAK;aACR;YACD;gBACI,MAAM,IAAA,sBAAe,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SAC3C;IACL,CAAC;IAED,QAAQ,CAAC,IAAa,EAAE,MAAwB;QAC5C,IAAI,GAAG,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;SACxC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,GAAU,EAAE,MAAwB,EAAE,MAAe;QAChE,IAAI,GAAG,GAAQ,EAAE,CAAA;QACjB,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;YACpB,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM;oBAAE,SAAQ;gBAClC,QAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACpB,KAAK,QAAQ,CAAC;oBACd,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBACP,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBAC/B,MAAK;oBACT,KAAK,QAAQ,CAAC,CAAC;wBACX,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBAC3B,IAAI,CAAC,MAAM,EAAE;4BACT,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;yBAClD;wBACD,MAAK;qBACR;oBACD,KAAK,OAAO,CAAC,CAAC;wBACV,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBAC7B,IAAI,QAAQ,IAAI,IAAI,EAAE;4BAClB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;4BAClD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;4BACvB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;yBACvB;wBACD,MAAK;qBACR;oBACD,KAAK,IAAI,CAAC;oBACV,KAAK,QAAQ,CAAC,CAAC;wBACX,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBACvB,IAAI,EAAE,IAAI,IAAI,EAAE;4BACZ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;yBAClD;wBACD,MAAK;qBACR;oBACD,KAAK,aAAa;wBACd,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;wBAC5D,MAAK;oBACT;wBACI,MAAM,IAAA,sBAAe,EAAE,CAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;iBACtD;aACJ;SACJ;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,IAAc,EAAE,OAAwB;QAC5E,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAChD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,KAAW;QACpD,IAAI,GAAG,GAAG,mBAAmB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,KAAK,EAAC,CAAC,EAAE,CAAA;QAC/D,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,IAAc;QACrD,IAAI,GAAG,GAAG,qCAAqC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;QAC9G,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAEO,KAAK,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,oBAAoB,CAAC,SAAiB,EAAE,IAAS,EAAE,OAA2B;QAC1E,IAAI,KAAK,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC9C,IAAI,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,IAAI,CAAA;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,UAAU,GAAa,EAAE,CAAA;QAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YACtC,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,KAAK,EAAC,EAAE,UAAU,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC,CAAA;YAC3F,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,GAAa,EAAE,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjB,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACzB;QACD,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACpB;QAED,IAAI,GAAG,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAChD,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC3C,GAAG,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAA;QAC5C,GAAG,IAAI,qBAAqB,CAAA;QAC5B,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,GAAG,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAA;SACvC;QACD,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,GAAG,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAA;SACzC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,sBAAsB,CAAC,IAAa,EAAE,MAA0B;QAC5D,IAAI,GAAG,GAAc,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACrD,IAAI,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACtC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,IAAS,CAAA;YACb,IAAI,UAAU,EAAE;gBACZ,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;aAC3B;iBAAM;gBACH,IAAI,GAAG,EAAC,QAAQ,EAAC,CAAA;aACpB;YACD,GAAG,CAAC,CAAC,CAAC,GAAG;gBACL,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBACZ,SAAS;gBACT,IAAI;aACP,CAAA;SACJ;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,IAAS,EAAE,OAA2B;QACjF,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7D,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;CACJ;AAjiBD,oCAiiBC;AA8BD;;;;;GAKG;AACH,MAAM,MAAM;IACR,YACY,KAAY,EACZ,OAAgB,EAChB,KAA+B,EAC/B,OAAiB,EACjB,IAAa,EACb,IAAY,EACJ,MAA2B,EACnC,KAAa,EACb,MAAc;QARd,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAS;QAChB,UAAK,GAAL,KAAK,CAA0B;QAC/B,YAAO,GAAP,OAAO,CAAU;QACjB,SAAI,GAAJ,IAAI,CAAS;QACb,SAAI,GAAJ,IAAI,CAAQ;QACJ,WAAM,GAAN,MAAM,CAAqB;QACnC,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;IACvB,CAAC;IAEJ,MAAM,CAAC,QAAgB;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC3C,QAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnB,KAAK,QAAQ;gBACT,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE;oBAC9B,QAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBACnB,KAAK,KAAK;4BACN,OAAO,IAAI,IAAI,CAAC,MAAM,MAAM,QAAQ,aAAa,CAAA;wBACrD,KAAK,OAAO;4BACR,OAAO,IAAI,IAAI,CAAC,MAAM,MAAM,QAAQ,aAAa,CAAA;wBACrD,KAAK,SAAS;4BACV,OAAO,IAAI,IAAI,CAAC,MAAM,OAAO,QAAQ,UAAU,CAAA;wBACnD;4BACI,OAAO,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,GAAG,CAAA;qBAC9C;iBACJ;qBAAM;oBACH,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAC/B,QAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBACnB,KAAK,QAAQ;4BACT,OAAO,IAAI,GAAG,SAAS,CAAA;wBAC3B,KAAK,OAAO;4BACR,OAAO,kBAAkB,GAAG,UAAU,CAAA;wBAC1C,KAAK,UAAU;4BACX,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;gCAC7B,OAAO,0BAA0B,GAAG,gDAAgD,CAAA;6BACvF;iCAAM;gCACH,OAAO,YAAY,GAAG,wDAAwD,CAAA;6BACjF;wBACL;4BACI,OAAO,GAAG,CAAA;qBACjB;iBACJ;YACL,KAAK,MAAM;gBACP,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE;oBAC9B,OAAO,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,GAAG,CAAA;iBAC1C;qBAAM;oBACH,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;iBAC/B;YACL,KAAK,MAAM;gBACP,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBAClC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,EAAE;oBACtF,eAAe;oBACf,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;iBAC9B;qBAAM;oBACH,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAC/B,QAAO,QAAQ,CAAC,IAAI,EAAE;wBAClB,KAAK,QAAQ;4BACT,OAAO,IAAI,GAAG,WAAW,CAAA;wBAC7B,KAAK,OAAO;4BACR,OAAO,qDAAqD,GAAG,SAAS,CAAA;wBAC5E,KAAK,UAAU;4BACX,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;gCAC7B,OAAO,iGAAiG,GAAG,SAAS,CAAA;6BACvH;iCAAM;gCACH,OAAO,2FAA2F,GAAG,SAAS,CAAA;6BACjH;wBACL;4BACI,OAAO,GAAG,CAAA;qBACjB;iBACJ;YACL;gBACI,MAAM,IAAA,sBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC5C;IACL,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;YAC9B,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;YACpD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC/B;QACD,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE;YAC9B,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,MAAM,QAAQ,GAAG,CAAA;YACxC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,GAAG,CAAA;YAC1C,QAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACnB,KAAK,KAAK;oBACN,OAAO,IAAI,EAAE,YAAY,CAAA;gBAC7B,KAAK,OAAO;oBACR,OAAO,IAAI,EAAE,YAAY,CAAA;gBAC7B,KAAK,SAAS;oBACV,OAAO,IAAI,GAAG,SAAS,CAAA;gBAC3B,KAAK,QAAQ;oBACT,OAAO,IAAI,GAAG,YAAY,CAAA;gBAC9B,KAAK,OAAO;oBACR,OAAO,iBAAiB,GAAG,cAAc,CAAA;gBAC7C,KAAK,UAAU;oBACX,OAAO,IAAI,GAAG,gBAAgB,CAAA;gBAClC;oBACI,OAAO,GAAG,CAAA;aACjB;SACJ;aAAM;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC/B;IACL,CAAC;IAED,KAAK,CAAC,QAAgB;QAClB,IAAI,IAAY,CAAA;QAChB,IAAI,MAA2B,CAAA;QAC/B,IAAI,KAAa,CAAA;QACjB,IAAI,MAAc,CAAA;QAElB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC3C,QAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnB,KAAK,QAAQ;gBACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBACrB,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACpC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBAClB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC7B,MAAK;YACT,KAAK,OAAO;gBACR,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBACrB,MAAM,GAAG,IAAA,2BAAa,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACxC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBAClB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC7B,MAAK;YACT,KAAK,IAAI;gBACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;gBAC9B,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACpC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,IAAA,cAAO,EAAC,IAAI,CAAC,EACb,MAAM,EACN,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CACpB,CAAA;gBACD,MAAM,GAAG,EAAE,CAAA;gBACX,MAAK;YACT,KAAK,QAAQ;gBACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;gBACvB,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACpC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,IAAA,cAAO,EAAC,IAAI,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CACnB,CAAA;gBACD,MAAM,GAAG,EAAE,CAAA;gBACX,MAAK;YACT;gBACI,MAAM,IAAA,sBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC5C;QAED,OAAO,IAAI,MAAM,CACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,CACT,CAAA;IACL,CAAC;IAED,KAAK,CAAC,IAAY;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAC3B;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,GAAG,CAAA;SACrC;IACL,CAAC;IAEO,MAAM,CAAC,IAAY;QACvB,IAAA,gBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,EAAE,CAAC,QAAgB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC;YACjE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,GAAG,CAAA;IAC1C,CAAC;IAED,GAAG,CAAC,SAAiB;QACjB,IAAA,gBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,kBAAW,EAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAA;IACrF,CAAC;IAED,GAAG,CAAC,SAAiB;QACjB,IAAA,gBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;QACpC,IAAI,KAAK,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC9C,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5D,IAAA,gBAAM,EAAC,GAAG,IAAI,IAAI,CAAC,CAAA;QACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC1F,CAAC;CACJ;AAGD,MAAM,SAAS;IAAf;QACY,YAAO,GAAwB,IAAI,GAAG,EAAE,CAAA;IAsBpD,CAAC;IApBG,GAAG,CAAC,MAAc;QACd,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAChC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,MAAM,CAAC,WAAqB;QACxB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1C,IAAI,WAAW,EAAE;YACb,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,CAAA;SACtD;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC5B,CAAC;CACJ;AAcD,MAAM,OAAO;IAGT,YAAoB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAF7B,UAAK,GAAsB,IAAI,GAAG,EAAE,CAAA;IAEJ,CAAC;IAEzC,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,GAAW;QAC1C,IAAI,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,IAAI,GAAG,EAAE,CAAA;QACrC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,EAAE;YACJ,CAAC,GAAG;gBACA,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC9B,MAAM;gBACN,GAAG;aACN,CAAA;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;SACzB;QACD,OAAO,CAAC,CAAC,KAAK,CAAA;IAClB,CAAC;IAED,OAAO,CAAC,EAAwB;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC;CACJ;AAGD,MAAM,QAAQ;IAAd;QACY,YAAO,GAA2B,EAAE,CAAA;IAUhD,CAAC;IARG,GAAG,CAAC,IAAY;QACZ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAC7C;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;SACd;IACL,CAAC;CACJ"}
@@ -1,8 +1,9 @@
1
1
  import type { IResolvers } from "@graphql-tools/utils";
2
2
  import type { Transaction } from "./db";
3
+ import type { Dialect } from "./dialect";
3
4
  import type { Model } from "./model";
4
5
  export interface ResolverContext {
5
6
  openReaderTransaction: Transaction;
6
7
  }
7
- export declare function buildResolvers(model: Model): IResolvers<unknown, ResolverContext>;
8
+ export declare function buildResolvers(model: Model, dialect: Dialect): IResolvers<unknown, ResolverContext>;
8
9
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAKpE,OAAO,KAAK,EAAW,WAAW,EAAC,MAAM,MAAM,CAAA;AAC/C,OAAO,KAAK,EAAqB,KAAK,EAAC,MAAM,SAAS,CAAA;AAetD,MAAM,WAAW,eAAe;IAC5B,qBAAqB,EAAE,WAAW,CAAA;CACrC;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAgFjF"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAKpE,OAAO,KAAK,EAAW,WAAW,EAAC,MAAM,MAAM,CAAA;AAC/C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEtC,OAAO,KAAK,EAAqB,KAAK,EAAC,MAAM,SAAS,CAAA;AActD,MAAM,WAAW,eAAe;IAC5B,qBAAqB,EAAE,WAAW,CAAA;CACrC;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAgFnG"}
package/dist/resolver.js CHANGED
@@ -7,14 +7,14 @@ exports.buildResolvers = void 0;
7
7
  const util_1 = require("@subsquid/util");
8
8
  const apollo_server_core_1 = require("apollo-server-core");
9
9
  const assert_1 = __importDefault(require("assert"));
10
+ const scalars_1 = require("./gql/scalars");
10
11
  const queryBuilder_1 = require("./queryBuilder");
11
12
  const relayConnection_1 = require("./relayConnection");
12
13
  const requestedFields_1 = require("./requestedFields");
13
- const scalars_1 = require("./scalars");
14
14
  const util_2 = require("./util");
15
- function buildResolvers(model) {
15
+ function buildResolvers(model, dialect) {
16
16
  let Query = {};
17
- let resolvers = { Query, ...(0, scalars_1.getScalarResolvers)() };
17
+ let resolvers = { Query, ...scalars_1.customScalars };
18
18
  for (let name in model) {
19
19
  let item = model[name];
20
20
  switch (item.kind) {
@@ -22,16 +22,16 @@ function buildResolvers(model) {
22
22
  Query[(0, util_2.toQueryListField)(name)] = async (source, args, context, info) => {
23
23
  let fields = (0, requestedFields_1.requestedFields)(model, name, info);
24
24
  let db = await context.openReaderTransaction.get();
25
- return new queryBuilder_1.QueryBuilder(model, db).executeSelect(name, args, fields);
25
+ return new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelect(name, args, fields);
26
26
  };
27
27
  Query[(0, util_2.toQueryListField)(name) + 'Connection'] = async (source, args, context, info) => {
28
28
  let db = await context.openReaderTransaction.get();
29
- return resolveEntityConnection(model, name, args, info, db);
29
+ return resolveEntityConnection(model, dialect, name, args, info, db);
30
30
  };
31
31
  Query[`${(0, util_1.toCamelCase)(name)}ById`] = async (source, args, context, info) => {
32
32
  let fields = (0, requestedFields_1.requestedFields)(model, name, info);
33
33
  let db = await context.openReaderTransaction.get();
34
- let result = await new queryBuilder_1.QueryBuilder(model, db)
34
+ let result = await new queryBuilder_1.QueryBuilder(model, dialect, db)
35
35
  .executeSelect(name, { where: { id_eq: args.id } }, fields);
36
36
  (0, assert_1.default)(result.length < 2);
37
37
  return result[0];
@@ -39,7 +39,7 @@ function buildResolvers(model) {
39
39
  Query[`${(0, util_1.toCamelCase)(name)}ByUniqueInput`] = async (source, args, context, info) => {
40
40
  let fields = (0, requestedFields_1.requestedFields)(model, name, info);
41
41
  let db = await context.openReaderTransaction.get();
42
- let result = await new queryBuilder_1.QueryBuilder(model, db)
42
+ let result = await new queryBuilder_1.QueryBuilder(model, dialect, db)
43
43
  .executeSelect(name, { where: { id_eq: args.where.id } }, fields);
44
44
  (0, assert_1.default)(result.length < 2);
45
45
  return result[0];
@@ -58,7 +58,7 @@ function buildResolvers(model) {
58
58
  Query[name] = async (source, args, context, info) => {
59
59
  let fields = (0, requestedFields_1.ftsRequestedFields)(model, name, info);
60
60
  let db = await context.openReaderTransaction.get();
61
- return new queryBuilder_1.QueryBuilder(model, db).executeFulltextSearch(name, args, fields);
61
+ return new queryBuilder_1.QueryBuilder(model, dialect, db).executeFulltextSearch(name, args, fields);
62
62
  };
63
63
  resolvers[`${name}_Item`] = {
64
64
  __resolveType: resolveUnionType
@@ -97,7 +97,7 @@ function resolveUnionType(source) {
97
97
  function aliasResolver(source, args, ctx, info) {
98
98
  return source[info.path.key];
99
99
  }
100
- async function resolveEntityConnection(model, entityName, args, info, db) {
100
+ async function resolveEntityConnection(model, dialect, entityName, args, info, db) {
101
101
  let response = {};
102
102
  let orderBy = args.orderBy && (0, util_2.ensureArray)(args.orderBy);
103
103
  if (!orderBy?.length) {
@@ -121,7 +121,7 @@ async function resolveEntityConnection(model, entityName, args, info, db) {
121
121
  }
122
122
  let fields = (0, requestedFields_1.connectionRequestedFields)(model, entityName, info);
123
123
  if (fields.edges?.node) {
124
- let nodes = await new queryBuilder_1.QueryBuilder(model, db).executeSelect(entityName, listArgs, fields.edges.node);
124
+ let nodes = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelect(entityName, listArgs, fields.edges.node);
125
125
  let edges = new Array(Math.min(limit, nodes.length));
126
126
  for (let i = 0; i < edges.length; i++) {
127
127
  edges[i] = {
@@ -136,7 +136,7 @@ async function resolveEntityConnection(model, entityName, args, info, db) {
136
136
  }
137
137
  }
138
138
  else if (fields.edges?.cursor || fields.pageInfo) {
139
- let listLength = await new queryBuilder_1.QueryBuilder(model, db).executeListCount(entityName, listArgs);
139
+ let listLength = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeListCount(entityName, listArgs);
140
140
  response.pageInfo = pageInfo(listLength);
141
141
  if (fields.edges?.cursor) {
142
142
  response.edges = [];
@@ -151,7 +151,7 @@ async function resolveEntityConnection(model, entityName, args, info, db) {
151
151
  }
152
152
  }
153
153
  if (fields.totalCount && response.totalCount == null) {
154
- response.totalCount = await new queryBuilder_1.QueryBuilder(model, db).executeSelectCount(entityName, listArgs.where);
154
+ response.totalCount = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelectCount(entityName, listArgs.where);
155
155
  }
156
156
  return response;
157
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -3,6 +3,7 @@ import { ApolloServer } from "apollo-server-express";
3
3
  import express from "express";
4
4
  import http from "http";
5
5
  import type { Pool } from "pg";
6
+ import { Dialect } from "./dialect";
6
7
  import type { Model } from "./model";
7
8
  export interface ListeningServer {
8
9
  readonly port: number;
@@ -12,6 +13,7 @@ export interface ServerOptions {
12
13
  model: Model;
13
14
  db: Pool;
14
15
  port: number | string;
16
+ dialect?: Dialect;
15
17
  graphiqlConsole?: boolean;
16
18
  }
17
19
  export declare function serve(options: ServerOptions): Promise<ListeningServer>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAElD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAG5B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAIlC,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAGD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAgC5E;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BjH;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAElD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAIlC,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAGD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAiC5E;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BjH;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
package/dist/server.js CHANGED
@@ -16,8 +16,9 @@ const opencrud_1 = require("./gql/opencrud");
16
16
  const resolver_1 = require("./resolver");
17
17
  async function serve(options) {
18
18
  let { model, db } = options;
19
- let resolvers = (0, resolver_1.buildResolvers)(model);
20
- let typeDefs = (0, opencrud_1.buildServerSchema)(model);
19
+ let dialect = options.dialect ?? 'postgres';
20
+ let resolvers = (0, resolver_1.buildResolvers)(model, dialect);
21
+ let typeDefs = (0, opencrud_1.buildServerSchema)(model, dialect);
21
22
  let app = (0, express_1.default)();
22
23
  let server = http_1.default.createServer(app);
23
24
  let apollo = new apollo_server_express_1.ApolloServer({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAoE;AACpE,iEAAkD;AAClD,oDAA2B;AAC3B,sDAA6B;AAC7B,4CAAmB;AACnB,gDAAuB;AACvB,gDAAuB;AAEvB,6BAAoC;AACpC,6CAAgD;AAEhD,yCAAyC;AAiBlC,KAAK,UAAU,KAAK,CAAC,OAAsB;IAC9C,IAAI,EAAC,KAAK,EAAE,EAAE,EAAC,GAAG,OAAO,CAAA;IACzB,IAAI,SAAS,GAAG,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAA;IACrC,IAAI,QAAQ,GAAG,IAAA,4BAAiB,EAAC,KAAK,CAAC,CAAA;IACvC,IAAI,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAA;IACnB,IAAI,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAEnC,IAAI,MAAM,GAAG,IAAI,oCAAY,CAAC;QAC1B,QAAQ;QACR,SAAS;QACT,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,qBAAqB,EAAE,IAAI,oBAAe,CAAC,EAAE,CAAC,EAAC,CAAC;QACjE,OAAO,EAAE;YACL;gBACI,KAAK,CAAC,eAAe;oBACjB,OAAO;wBACH,gBAAgB,CAAC,GAAQ;4BACrB,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAA;wBACpD,CAAC;qBACJ,CAAA;gBACL,CAAC;aACJ;YACD,IAAA,sDAAiC,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;SAC1D;KACJ,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE;QACnC,oBAAoB,CAAC,GAAG,CAAC,CAAA;KAC5B;IAED,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACpB,MAAM,CAAC,eAAe,CAAC,EAAC,GAAG,EAAC,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC;AAhCD,sBAgCC;AAGD,SAAgB,MAAM,CAAC,MAAoB,EAAE,MAAmB,EAAE,IAAqB;IACnF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,SAAS,OAAO,CAAC,GAAU;YACvB,OAAO,EAAE,CAAA;YACT,MAAM,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QAED,SAAS,WAAW;YAChB,OAAO,EAAE,CAAA;YACT,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;YAC9B,IAAA,gBAAM,EAAC,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAA;YACrD,OAAO,CAAC;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;aAC5B,CAAC,CAAA;QACN,CAAC;QAED,SAAS,OAAO;YACZ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACvC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3B,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACN,CAAC;AA1BD,wBA0BC;AAGD,SAAgB,oBAAoB,CAAC,GAAwB;IACzD,IAAI,MAAM,GAAG,cAAI,CAAC,IAAI,CAClB,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,EAC1D,UAAU,CACb,CAAA;IAED,IAAI,SAAS,GAAG,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC;SACpE,OAAO,CAAC,aAAa,EAAE,iBAAiB,CAAC;SACzC,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SAClD,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACpC,OAAO,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAA;IAErD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAE3C,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACnC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG;YAAE,OAAO,IAAI,EAAE,CAAA;QAClC,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,IAAI,EAAE,CAAA;QAC9D,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,EAAE,CAAA;QACrC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,EAAE,CAAA;QACvC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;AACN,CAAC;AAtBD,oDAsBC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const setup_1 = require("./util/setup");
3
+ const setup_1 = require("./setup");
4
4
  describe('basic tests', function () {
5
5
  (0, setup_1.useDatabase)([
6
6
  `create table account (id text primary key, wallet text, balance numeric)`,
@@ -41,11 +41,11 @@ describe('basic tests', function () {
41
41
  `);
42
42
  it('can fetch all accounts', function () {
43
43
  return client.test(`query {
44
- accounts {
44
+ accounts(orderBy: id_ASC) {
45
45
  id
46
46
  wallet
47
47
  balance
48
- history { balance }
48
+ history(orderBy: id_ASC) { balance }
49
49
  }
50
50
  }`, {
51
51
  accounts: [