typesql-cli 0.16.2 → 0.16.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEpG,OAAO,EAAE,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAiG5E;AAYD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAIjE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAoB1G;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,mBAyClF;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAG5D"}
1
+ {"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEpG,OAAO,EAAE,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAiG5E;AAYD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAIjE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAoB1G;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,mBA0ClF;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAG5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typesql-cli",
3
- "version": "0.16.2",
3
+ "version": "0.16.4",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,OAAO,EAAc,WAAW,EAAO,MAAM,YAAY,CAAC;AAmE1D,MAAM,MAAM,kBAAkB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAoBF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAMzH"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,OAAO,EAAc,WAAW,EAAO,MAAM,YAAY,CAAC;AAoF1D,MAAM,MAAM,kBAAkB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAoBF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAMzH"}
@@ -11,6 +11,7 @@ const Either_1 = require("fp-ts/lib/Either");
11
11
  const describe_query_1 = require("../describe-query");
12
12
  const describe_dynamic_query_1 = require("../describe-dynamic-query");
13
13
  function describeQueryRefine(sql, postgresDescribeResult, dbSchema, namedParameters) {
14
+ var _a;
14
15
  const generateNestedInfo = (0, describe_query_1.hasAnnotation)(sql, '@nested');
15
16
  const generateDynamicQueryInfo = (0, describe_query_1.hasAnnotation)(sql, '@dynamicQuery');
16
17
  const parseResult = (0, parser_1.safeParseSql)(sql, dbSchema, { collectNestedInfo: generateNestedInfo, collectDynamicQueryInfo: generateDynamicQueryInfo });
@@ -21,7 +22,9 @@ function describeQueryRefine(sql, postgresDescribeResult, dbSchema, namedParamet
21
22
  });
22
23
  }
23
24
  const traverseResult = parseResult.value;
24
- const paramNames = postgresDescribeResult.parameters.map((_, index) => namedParameters[index] ? namedParameters[index] : `param${index + 1}`);
25
+ const totalNumberOfParameters = traverseResult.parametersNullability.length + (((_a = traverseResult.whereParamtersNullability) === null || _a === void 0 ? void 0 : _a.length) || 0);
26
+ const paramNames = namedParameters.length > 0 ? namedParameters : Array.from({ length: totalNumberOfParameters }).map((_, index) => `param${index + 1}`);
27
+ //replace list parameters
25
28
  const newSql = (0, replace_list_params_1.replacePostgresParams)(sql, traverseResult.parameterList, paramNames);
26
29
  const descResult = {
27
30
  sql: newSql,
@@ -54,6 +57,19 @@ function describeQueryRefine(sql, postgresDescribeResult, dbSchema, namedParamet
54
57
  }
55
58
  return (0, neverthrow_1.ok)(descResult);
56
59
  }
60
+ function createIndexToNameMap(names) {
61
+ const indexToName = new Map();
62
+ const nameToIndex = new Map();
63
+ let currentIndex = 0;
64
+ for (const name of names) {
65
+ if (!nameToIndex.has(name)) {
66
+ nameToIndex.set(name, currentIndex);
67
+ indexToName.set(currentIndex, name);
68
+ currentIndex++;
69
+ }
70
+ }
71
+ return indexToName;
72
+ }
57
73
  function transformToMap(dbSchema) {
58
74
  const hash = dbSchema.reduce((acc, { oid, table_name }) => {
59
75
  acc[oid] = table_name;
@@ -89,11 +105,19 @@ function getColumnsForQuery(traverseResult, postgresDescribeResult) {
89
105
  return postgresDescribeResult.columns.map((col, index) => mapToColumnInfo(col, postgres_2.postgresTypes, traverseResult.columns[index]));
90
106
  }
91
107
  function getParamtersForQuery(traverseResult, postgresDescribeResult, paramNames) {
108
+ const namedParametersIndexes = createIndexToNameMap(paramNames);
92
109
  if (traverseResult.queryType === 'Copy') {
93
110
  return getColumnsForCopyStmt(traverseResult);
94
111
  }
95
112
  return postgresDescribeResult.parameters
96
- .map((param, index) => { var _a; return mapToParamDef(paramNames[index], param, (_a = traverseResult.parametersNullability[index]) !== null && _a !== void 0 ? _a : true, traverseResult.parameterList[index]); });
113
+ .map((param, index) => {
114
+ const paramName = namedParametersIndexes.get(index);
115
+ const indexes = paramNames.flatMap((name, index) => name === paramName ? [index] : []);
116
+ const notNull = indexes.every(index => traverseResult.parametersNullability[index]);
117
+ const paramList = indexes.every(index => traverseResult.parameterList[index]);
118
+ const paramResult = mapToParamDef(paramName, param, notNull, paramList);
119
+ return paramResult;
120
+ });
97
121
  }
98
122
  function getColumnsForCopyStmt(traverseResult) {
99
123
  return traverseResult.columns.map(col => {
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"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"}
@@ -72,9 +72,13 @@ function collectContextsOfType(ctx, targetType) {
72
72
  });
73
73
  return results;
74
74
  }
75
- function traverseSelectstmt(selectstmt, context, traverseResult) {
76
- const result = collectContextsOfType(selectstmt, PostgreSQLParser_1.C_expr_exprContext).filter(c_expr => c_expr.PARAM());
75
+ function getInParameterList(ctx) {
76
+ const result = collectContextsOfType(ctx, PostgreSQLParser_1.C_expr_exprContext).filter(c_expr => c_expr.PARAM());
77
77
  const paramIsListResult = result.map(param => paramIsList(param));
78
+ return paramIsListResult;
79
+ }
80
+ function traverseSelectstmt(selectstmt, context, traverseResult) {
81
+ const paramIsListResult = getInParameterList(selectstmt);
78
82
  const columns = traverse_selectstmt(selectstmt, context, traverseResult);
79
83
  //select parameters are collected after from paramters
80
84
  traverseResult.parameters.sort((param1, param2) => param1.paramIndex - param2.paramIndex);
@@ -193,7 +197,7 @@ function traverse_simple_select_intersect(simple_select_intersect, context, trav
193
197
  return [];
194
198
  }
195
199
  function traverse_simple_select_pramary(simple_select_pramary, context, traverseResult) {
196
- var _a, _b;
200
+ var _a, _b, _c, _d, _e;
197
201
  const fromColumns = [];
198
202
  const from_clause = simple_select_pramary.from_clause();
199
203
  if (from_clause) {
@@ -223,6 +227,16 @@ function traverse_simple_select_pramary(simple_select_pramary, context, traverse
223
227
  });
224
228
  }
225
229
  }
230
+ (_d = (_c = simple_select_pramary.group_clause()) === null || _c === void 0 ? void 0 : _c.group_by_list()) === null || _d === void 0 ? void 0 : _d.group_by_item_list().forEach(group_by => {
231
+ const a_expr = group_by.a_expr();
232
+ if (a_expr) {
233
+ traverse_a_expr(a_expr, newContext, traverseResult);
234
+ }
235
+ });
236
+ const having_expr = (_e = simple_select_pramary.having_clause()) === null || _e === void 0 ? void 0 : _e.a_expr();
237
+ if (having_expr) {
238
+ traverse_a_expr(having_expr, newContext, traverseResult);
239
+ }
226
240
  const filteredColumns = filterColumns_simple_select_pramary(simple_select_pramary, newContext, traverseResult);
227
241
  return filteredColumns;
228
242
  }
@@ -239,21 +253,15 @@ function extractRelations(a_expr) {
239
253
  }
240
254
  function traverse_values_clause(values_clause, context, traverseResult) {
241
255
  const expr_list_list = values_clause.expr_list_list();
242
- if (expr_list_list) {
243
- return expr_list_list.flatMap(expr_list => traverse_expr_list(expr_list, context, traverseResult));
244
- }
245
- return [];
256
+ return expr_list_list.flatMap(expr_list => traverse_expr_list(expr_list, context, traverseResult));
246
257
  }
247
258
  function traverse_expr_list(expr_list, context, traverseResult) {
248
- const columns = expr_list.a_expr_list().map(a_expr => {
249
- const notNull = traverse_a_expr(a_expr, context, traverseResult);
250
- const result = {
251
- column_name: '?column?',
252
- is_nullable: !notNull,
253
- table_name: '',
254
- table_schema: ''
255
- };
256
- return result;
259
+ const columns = expr_list.a_expr_list().map((a_expr, index) => {
260
+ const exprResult = traverse_a_expr(a_expr, context, traverseResult);
261
+ if (isParameter(exprResult.column_name)) {
262
+ traverseResult.parameters.at(-1).isNotNull = !context.fromColumns[index].is_nullable;
263
+ }
264
+ return exprResult;
257
265
  });
258
266
  return columns;
259
267
  }
@@ -272,7 +280,7 @@ function filterColumns_simple_select_pramary(simple_select_pramary, context, tra
272
280
  return [];
273
281
  }
274
282
  function traverse_target_list(target_list, context, traverseResult) {
275
- const columns = target_list.target_el_list().flatMap(target_el => {
283
+ const columns = target_list.target_el_list().flatMap((target_el, index) => {
276
284
  const fieldName = (0, select_columns_1.splitName)(target_el.getText());
277
285
  if (fieldName.name == '*') {
278
286
  const columns = filterColumns(context.fromColumns, fieldName);
@@ -290,6 +298,9 @@ function traverse_target_list(target_list, context, traverseResult) {
290
298
  return columns;
291
299
  }
292
300
  const column = traverse_target_el(target_el, context, traverseResult);
301
+ if (isParameter(column.column_name)) {
302
+ traverseResult.parameters.at(-1).isNotNull = !context.fromColumns[index].is_nullable;
303
+ }
293
304
  return [column];
294
305
  });
295
306
  return columns;
@@ -383,10 +394,19 @@ function traverse_expr_and(a_expr_and, context, traverseResult) {
383
394
  }
384
395
  function traverse_expr_between(a_expr_between, context, traverseResult) {
385
396
  const a_expr_in = a_expr_between.a_expr_in_list()[0];
386
- if (a_expr_in) {
397
+ if (!a_expr_between.AND()) {
387
398
  return traverse_expr_in(a_expr_in, context, traverseResult);
388
399
  }
389
- throw Error('traverse_expr_between - Not expected:' + a_expr_between.getText());
400
+ const start = a_expr_between.a_expr_in_list()[1];
401
+ traverse_expr_in(start, context, traverseResult);
402
+ const end = a_expr_between.a_expr_in_list()[2];
403
+ traverse_expr_in(end, context, traverseResult);
404
+ return {
405
+ column_name: a_expr_between.getText(),
406
+ is_nullable: false,
407
+ table_name: '',
408
+ table_schema: ''
409
+ };
390
410
  }
391
411
  function traverse_expr_in(a_expr_in, context, traverseResult) {
392
412
  const a_expr_unary = a_expr_in.a_expr_unary_not();
@@ -438,15 +458,28 @@ function traverse_expr_isnull(a_expr_isnull, context, traverseResult) {
438
458
  function traverse_expr_is_not(a_expr_is_not, context, traverseResult) {
439
459
  const a_expr_compare = a_expr_is_not.a_expr_compare();
440
460
  if (a_expr_compare) {
441
- return traverse_expr_compare(a_expr_compare, context, traverseResult);
461
+ const result = traverse_expr_compare(a_expr_compare, context, traverseResult);
462
+ if (a_expr_is_not.IS() && a_expr_is_not.NULL_P()) {
463
+ checkParamterNullability(result, traverseResult);
464
+ }
465
+ return result;
442
466
  }
443
467
  throw Error('traverse_expr_is_not - Not expected:' + a_expr_is_not.getText());
444
468
  }
469
+ function checkParamterNullability(column, traverseResult) {
470
+ if (isParameter(column.column_name)) {
471
+ column.is_nullable = true;
472
+ const param = traverseResult.parameters.at(-1);
473
+ if (param) {
474
+ param.isNotNull = false;
475
+ }
476
+ }
477
+ }
445
478
  function traverse_expr_compare(a_expr_compare, context, traverseResult) {
446
479
  const a_expr_like_list = a_expr_compare.a_expr_like_list();
447
- if (a_expr_like_list) {
448
- const result = a_expr_like_list.map(a_expr_like => traverse_expr_like(a_expr_like, context, traverseResult));
449
- if (result.length === 1) {
480
+ const result = a_expr_like_list.map(a_expr_like => traverse_expr_like(a_expr_like, context, traverseResult));
481
+ if (!a_expr_compare.sub_type()) {
482
+ if (a_expr_like_list.length === 1) {
450
483
  return result[0];
451
484
  }
452
485
  return {
@@ -456,6 +489,26 @@ function traverse_expr_compare(a_expr_compare, context, traverseResult) {
456
489
  table_schema: ''
457
490
  };
458
491
  }
492
+ const select_with_parens = a_expr_compare.select_with_parens();
493
+ if (select_with_parens) {
494
+ const result = traverse_select_with_parens(select_with_parens, context, traverseResult);
495
+ return {
496
+ column_name: '?column?',
497
+ is_nullable: result.some(col => col.is_nullable),
498
+ table_name: '',
499
+ table_schema: ''
500
+ };
501
+ }
502
+ const a_expr = a_expr_compare.a_expr();
503
+ if (a_expr) {
504
+ const result = traverse_a_expr(a_expr, context, traverseResult);
505
+ return {
506
+ column_name: '?column?',
507
+ is_nullable: result.is_nullable,
508
+ table_name: '',
509
+ table_schema: ''
510
+ };
511
+ }
459
512
  throw Error('traverse_expr_compare - Not expected:' + a_expr_compare.getText());
460
513
  }
461
514
  function traverse_expr_like(a_expr_like, context, traverseResult) {
@@ -663,7 +716,8 @@ function traversec_expr(c_expr, context, traverseResult) {
663
716
  };
664
717
  }
665
718
  if (c_expr instanceof PostgreSQLParser_1.C_expr_existsContext) {
666
- //todo - traverse
719
+ const select_with_parens = c_expr.select_with_parens();
720
+ traverse_select_with_parens(select_with_parens, context, traverseResult);
667
721
  return {
668
722
  column_name: '?column?',
669
723
  is_nullable: false,
@@ -759,6 +813,9 @@ function traversefunc_expr_common_subexpr(func_expr_common_subexpr, context, tra
759
813
  const result = traverse_a_expr(a_expr, context, traverseResult);
760
814
  return !result.is_nullable;
761
815
  }
816
+ func_expr_common_subexpr.a_expr_list().forEach(a_expr => {
817
+ traverse_a_expr(a_expr, context, traverseResult);
818
+ });
762
819
  return false;
763
820
  }
764
821
  function traversefunc_arg_expr(func_arg_expr, context, traverseResult) {
@@ -1011,7 +1068,7 @@ function traverseInsertstmt(insertstmt, dbSchema) {
1011
1068
  collectDynamicQueryInfo: false
1012
1069
  };
1013
1070
  const selectstmt = insert_rest.selectstmt();
1014
- traverse_insert_select_stmt(selectstmt, Object.assign(Object.assign({}, context), { fromColumns: insertColumnsList }), traverseResult);
1071
+ traverseSelectstmt(selectstmt, Object.assign(Object.assign({}, context), { fromColumns: insertColumnsList }), traverseResult);
1015
1072
  const on_conflict = insertstmt.on_conflict_();
1016
1073
  if (on_conflict) {
1017
1074
  const set_clause_list = on_conflict.set_clause_list().set_clause_list() || [];
@@ -1031,43 +1088,12 @@ function traverseInsertstmt(insertstmt, dbSchema) {
1031
1088
  }
1032
1089
  return result;
1033
1090
  }
1034
- function traverse_insert_select_stmt(selectstmt, context, traverseResult) {
1035
- var _a, _b, _c, _d, _e;
1036
- const simple_select = (_c = (_b = (_a = selectstmt.select_no_parens()) === null || _a === void 0 ? void 0 : _a.select_clause()) === null || _b === void 0 ? void 0 : _b.simple_select_intersect_list()) === null || _c === void 0 ? void 0 : _c[0];
1037
- if (simple_select) {
1038
- const simple_select_pramary = (_d = simple_select === null || simple_select === void 0 ? void 0 : simple_select.simple_select_pramary_list()) === null || _d === void 0 ? void 0 : _d[0];
1039
- if (simple_select_pramary) {
1040
- const values_clause = simple_select_pramary.values_clause();
1041
- if (values_clause) {
1042
- values_clause.expr_list_list()
1043
- .forEach(expr_list => traverse_insert_a_expr_list(expr_list, context, traverseResult));
1044
- }
1045
- const target_list = (_e = simple_select_pramary.target_list_()) === null || _e === void 0 ? void 0 : _e.target_list();
1046
- if (target_list) {
1047
- const from_clause = simple_select_pramary.from_clause();
1048
- const fromColumns = from_clause ? traverse_from_clause(from_clause, Object.assign(Object.assign({}, context), { fromColumns: [] }), traverseResult) : [];
1049
- target_list.target_el_list().forEach((target_el, index) => {
1050
- const targetResult = traverse_target_el(target_el, Object.assign(Object.assign({}, context), { fromColumns }), traverseResult);
1051
- if (isParameter(targetResult.column_name)) {
1052
- traverseResult.parameters.at(-1).isNotNull = !context.fromColumns[index].is_nullable;
1053
- }
1054
- });
1055
- }
1056
- }
1057
- }
1058
- }
1059
- function traverse_insert_a_expr_list(expr_list, context, traverseResult) {
1060
- expr_list.a_expr_list().forEach((a_expr, index) => {
1061
- const result = traverse_a_expr(a_expr, context, traverseResult);
1062
- if (isParameter(result.column_name)) {
1063
- traverseResult.parameters.at(-1).isNotNull = !context.fromColumns[index].is_nullable;
1064
- }
1065
- });
1066
- }
1067
1091
  function traverseDeletestmt(deleteStmt, dbSchema, traverseResult) {
1092
+ var _a;
1068
1093
  const relation_expr = deleteStmt.relation_expr_opt_alias().relation_expr();
1069
1094
  const tableName = relation_expr.getText();
1070
1095
  const deleteColumns = dbSchema.filter(col => col.table_name === tableName);
1096
+ const paramIsListResult = getInParameterList(deleteStmt);
1071
1097
  const returning_clause = deleteStmt.returning_clause();
1072
1098
  const context = {
1073
1099
  dbSchema,
@@ -1075,13 +1101,17 @@ function traverseDeletestmt(deleteStmt, dbSchema, traverseResult) {
1075
1101
  collectNestedInfo: false,
1076
1102
  collectDynamicQueryInfo: false
1077
1103
  };
1104
+ const whereExpr = (_a = deleteStmt.where_or_current_clause()) === null || _a === void 0 ? void 0 : _a.a_expr();
1105
+ if (whereExpr) {
1106
+ traverse_a_expr(whereExpr, context, traverseResult);
1107
+ }
1078
1108
  const returninColumns = returning_clause ? traverse_target_list(returning_clause.target_list(), context, traverseResult) : [];
1079
1109
  const result = {
1080
1110
  queryType: 'Delete',
1081
1111
  multipleRowsResult: false,
1082
1112
  parametersNullability: traverseResult.parameters.map(param => param.isNotNull),
1083
1113
  columns: returninColumns,
1084
- parameterList: []
1114
+ parameterList: paramIsListResult
1085
1115
  };
1086
1116
  if (returning_clause) {
1087
1117
  result.returning = true;
@@ -1341,7 +1371,7 @@ function isParameter(str) {
1341
1371
  return paramPattern.test(str);
1342
1372
  }
1343
1373
  function isSingleRowResult(selectstmt, dbSchema) {
1344
- var _a;
1374
+ var _a, _b;
1345
1375
  const limit = checkLimit(selectstmt);
1346
1376
  if (limit === 1) {
1347
1377
  return true;
@@ -1355,7 +1385,7 @@ function isSingleRowResult(selectstmt, dbSchema) {
1355
1385
  const simple_select_pramary = simple_select_pramary_list[0];
1356
1386
  const from_clause = simple_select_pramary.from_clause();
1357
1387
  if (!from_clause) {
1358
- const hasSetReturningFunction = simple_select_pramary.target_list_().target_list().target_el_list().some(target_el => isSetReturningFunction_target_el(target_el));
1388
+ const hasSetReturningFunction = (_b = simple_select_pramary.target_list_()) === null || _b === void 0 ? void 0 : _b.target_list().target_el_list().some(target_el => isSetReturningFunction_target_el(target_el));
1359
1389
  return !hasSetReturningFunction;
1360
1390
  }
1361
1391
  if (!simple_select_pramary.group_clause()) {
@@ -1487,16 +1517,21 @@ function isSingleRowResult_where(a_expr, uniqueKeys) {
1487
1517
  }
1488
1518
  function isSingleRowResult_a_expr_and(a_expr_and, uniqueKeys) {
1489
1519
  const a_expr_between_list = a_expr_and.a_expr_between_list();
1490
- if (a_expr_between_list && a_expr_between_list.length > 0) {
1491
- return a_expr_between_list.some(a_expr_between => isSingleRowResult_a_expr_between(a_expr_between, uniqueKeys));
1492
- }
1493
- return false;
1494
- }
1495
- function isSingleRowResult_a_expr_between(a_expr_between, uniqueKeys) {
1496
- const isSingleRow = a_expr_between.a_expr_in_list().every(a_expr_in => isSingleRowResult_a_expr_in(a_expr_in, uniqueKeys));
1497
- return isSingleRow;
1520
+ const uniqueCheck = a_expr_between_list.flatMap(a_expr_between => getCheckedKeys_a_expr_between(a_expr_between));
1521
+ const allIncluded = uniqueKeys.every(key => uniqueCheck.includes(key));
1522
+ return allIncluded;
1523
+ }
1524
+ function getCheckedKeys_a_expr_between(a_expr_between) {
1525
+ const checkedKeys = a_expr_between.a_expr_in_list().flatMap(a_expr_in => {
1526
+ const result = getCheckedKey_a_expr_in(a_expr_in);
1527
+ if (result) {
1528
+ return result;
1529
+ }
1530
+ return [];
1531
+ });
1532
+ return checkedKeys;
1498
1533
  }
1499
- function isSingleRowResult_a_expr_in(a_expr_in, uniqueKeys) {
1534
+ function getCheckedKey_a_expr_in(a_expr_in) {
1500
1535
  var _a, _b, _c;
1501
1536
  const a_expr_compare = (_c = (_b = (_a = a_expr_in.a_expr_unary_not()) === null || _a === void 0 ? void 0 : _a.a_expr_isnull()) === null || _b === void 0 ? void 0 : _b.a_expr_is_not()) === null || _c === void 0 ? void 0 : _c.a_expr_compare();
1502
1537
  if (a_expr_compare) {
@@ -1505,17 +1540,22 @@ function isSingleRowResult_a_expr_in(a_expr_in, uniqueKeys) {
1505
1540
  if (a_expr_like_list && a_expr_like_list.length == 2) {
1506
1541
  const left = a_expr_like_list[0];
1507
1542
  const right = a_expr_like_list[1];
1508
- const result = (isUniqueColumn(left, uniqueKeys) + isUniqueColumn(right, uniqueKeys));
1509
- return result == 1;
1543
+ const col1 = getCheckedUniqueColumn(left);
1544
+ const col2 = getCheckedUniqueColumn(right);
1545
+ if (col1) {
1546
+ return col1;
1547
+ }
1548
+ else if (col2) {
1549
+ return col2;
1550
+ }
1510
1551
  }
1552
+ ;
1511
1553
  }
1512
- ;
1513
1554
  }
1514
- return false;
1555
+ return null;
1515
1556
  }
1516
- //1 = yes
1517
- //0 = no
1518
- function isUniqueColumn(a_expr_like, uniqueKeys) {
1557
+ //field or null
1558
+ function getCheckedUniqueColumn(a_expr_like) {
1519
1559
  var _a, _b;
1520
1560
  const c_expr = (_b = (_a = a_expr_like.a_expr_qual_op_list()) === null || _a === void 0 ? void 0 : _a[0].a_expr_unary_qualop_list()) === null || _b === void 0 ? void 0 : _b[0].a_expr_add().a_expr_mul_list()[0].a_expr_caret_list()[0].a_expr_unary_sign_list()[0].a_expr_at_time_zone().a_expr_collate().a_expr_typecast().c_expr();
1521
1561
  if (c_expr instanceof PostgreSQLParser_1.C_expr_exprContext) {
@@ -1523,10 +1563,10 @@ function isUniqueColumn(a_expr_like, uniqueKeys) {
1523
1563
  if (columnref) {
1524
1564
  const fieldName = (0, select_columns_1.splitName)(columnref.getText());
1525
1565
  // const col = traverseColumnRef(columnref, dbSchema);
1526
- return uniqueKeys.includes(fieldName.name) ? 1 : 0;
1566
+ return fieldName.name;
1527
1567
  }
1528
1568
  }
1529
- return 0;
1569
+ return null;
1530
1570
  }
1531
1571
  function checkLimit(selectstmt) {
1532
1572
  const select_no_parens = selectstmt.select_no_parens();
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":";;AA8DA,wCAKC;AAED,kCAgDC;AArHD,wFAA06C;AAC16C,4DAA4D;AAE5D,2EAAuF;AA2DvF,SAAgB,cAAc;IAC7B,OAAO;QACN,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,KAAK;KAC9B,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,IAAiB,EAAE,QAAgC,EAAE,OAAwB;IACxG,MAAM,EAAE,iBAAiB,GAAG,KAAK,EAAE,uBAAuB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAE/E,MAAM,cAAc,GAAmB;QACtC,kBAAkB,EAAE,EAAE;QACtB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,KAAK;KAChB,CAAA;IACD,IAAI,iBAAiB,EAAE,CAAC;QACvB,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAoB;YACzC,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACT,CAAA;QACD,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IACpD,CAAC;IACD,MAAM,eAAe,GAAoB;QACxC,QAAQ;QACR,iBAAiB;QACjB,uBAAuB;QACvB,WAAW,EAAE,EAAE;KACf,CAAA;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAsB,EAAE,UAAe;;IACrE,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAA,GAAG,CAAC,QAAQ,0CAAE,OAAO,CAAC,KAAK,CAAC,EAAE;QAC7B,IAAI,KAAK,YAAY,kCAAiB,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAsB;IACjD,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE,qCAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAE,MAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IACxG,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA6B,EAAE,OAAwB,EAAE,cAA8B;IAElH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACzE,sDAAsD;IACtD,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1F,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,sBAAsB,GAA2B;QACtD,SAAS,EAAE,QAAQ;QACnB,kBAAkB;QAClB,OAAO;QACP,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9E,aAAa,EAAE,iBAAiB;QAChC,KAAK;KACL,CAAC;IACF,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,sBAAsB,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;IAC7D,CAAC;IACD,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACrC,sBAAsB,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC;IAC3E,CAAC;IACD,OAAO,sBAAsB,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA6B,EAAE,OAAwB,EAAE,cAA8B;IACnH,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,yBAAyB,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,yBAAyB,CAAC,gBAAyC,EAAE,OAAwB,EAAE,cAA8B;IACrI,IAAI,WAAW,GAAkB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAA;IAClD,IAAI,WAAW,EAAE,CAAC;QACjB,WAAW,CAAC,QAAQ,EAAE,CAAC,sBAAsB,EAAE;aAC7C,OAAO,CAAC,iBAAiB,CAAC,EAAE;YAC5B,MAAM,UAAU,mCAAyB,OAAO,KAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC;YACzG,MAAM,UAAU,GAAG,0BAA0B,CAAC,iBAAiB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7F,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACvD,MAAM,UAAU,mCAAQ,OAAO,KAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC;IACxF,MAAM,YAAY,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;IACrD,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;QACzD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC;QAChE,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACrC,QAAQ,IAAI,IAAA,mCAAkB,EAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC;YACnE,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACrC,QAAQ,IAAI,GAAG,GAAG,IAAA,mCAAkB,EAAC,aAAa,CAAC,CAAC;YACrD,CAAC;QACF,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;YAC/G,cAAc,CAAC,gBAAiB,CAAC,WAAW,GAAG;gBAC9C,QAAQ;gBACR,UAAU;aACV,CAAA;QACF,CAAC;IACF,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CAAC,iBAA2C,EAAE,OAAwB,EAAE,cAA8B;;IACxI,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;IACzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,kCAAO,OAAO,KAAE,uBAAuB,EAAE,KAAK,KAAI,cAAc,CAAC,CAAC;IACjH,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iCAAM,GAAG,KAAE,UAAU,EAAE,SAAS,IAAG,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;QAC/G,MAAA,cAAc,CAAC,gBAAgB,0CAAE,IAAI,CAAC,IAAI,CAAC;YAC1C,QAAQ,EAAE,IAAA,mCAAkB,EAAC,iBAAiB,CAAC;YAC/C,YAAY,EAAE,SAAS;YACvB,UAAU;SACV,CAAC,CAAA;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC7B,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAmC,EAAE,OAAwB,EAAE,cAA8B;IAC5H,MAAM,4BAA4B,GAAG,aAAa,CAAC,4BAA4B,EAAE,CAAC;IAClF,IAAI,aAAa,GAAkB,EAAE,CAAC;IACtC,IAAI,4BAA4B,EAAE,CAAC;QAClC,aAAa,GAAG,gCAAgC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO;IACP,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,4BAA4B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1E,MAAM,YAAY,GAAG,gCAAgC,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACpH,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACxD,MAAM,GAAG,GAAgB;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW;gBACvE,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAS,gCAAgC,CAAC,uBAAuD,EAAE,OAAwB,EAAE,cAA8B;IAC1J,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,IAAI,qBAAqB,EAAE,CAAC;QAC3B,OAAO,8BAA8B,CAAC,qBAAqB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,8BAA8B,CAAC,qBAAmD,EAAE,OAAwB,EAAE,cAA8B;;IACpJ,MAAM,WAAW,GAAkB,EAAE,CAAC;IAEtC,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChH,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,sBAAsB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACrF,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,MAAM,YAAY,GAAG,MAAA,qBAAqB,CAAC,YAAY,EAAE,0CAAE,MAAM,EAAE,CAAC;IACpE,4BAA4B;IAC5B,MAAM,UAAU,mCAAQ,OAAO,KAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC;IACxF,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;QACzD,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACjD,MAAA,cAAc,CAAC,gBAAgB,0CAAE,KAAK,CAAC,IAAI,CAAC;gBAC3C,QAAQ,EAAE,OAAO,IAAA,mCAAkB,EAAC,YAAY,CAAC,EAAE;gBACnD,UAAU;gBACV,iBAAiB,EAAE,SAAS;aAC5B,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IACD,MAAA,MAAA,qBAAqB,CAAC,YAAY,EAAE,0CAAE,aAAa,EAAE,0CAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC9F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACZ,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACrD,CAAC;IACF,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAA,qBAAqB,CAAC,aAAa,EAAE,0CAAE,MAAM,EAAE,CAAC;IACpE,IAAI,WAAW,EAAE,CAAC;QACjB,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,eAAe,GAAG,mCAAmC,CAAC,qBAAqB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC/G,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB;IAC9C,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,mCAAgB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,UAAU;SAC1B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,UAA8B,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC,CAAC;IACJ,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAmC,EAAE,OAAwB,EAAE,cAA8B;IAC5H,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IACtD,OAAO,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA2B,EAAE,OAAwB,EAAE,cAA8B;IAChH,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QACvF,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,mCAAmC,CAAC,qBAAmD,EAAE,OAAwB,EAAE,cAA8B;IACzJ,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IACD,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,oBAAoB,CAAC,WAA+B,EAAE,OAAwB,EAAE,cAA8B;IACtH,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzE,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACrC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;;oBACrB,MAAA,cAAc,CAAC,gBAAgB,0CAAE,MAAM,CAAC,IAAI,CAAC;wBAC5C,QAAQ,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE;wBAChD,mBAAmB,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE;wBAC3D,iBAAiB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;wBACnC,UAAU,EAAE,EAAE;qBACd,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAA;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QACvF,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA2B,EAAE,OAAwB,EAAE,cAA8B;;IAChH,IAAI,SAAS,YAAY,sCAAmB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;QACzD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzD,IAAI,KAAK,EAAE,CAAC;YACX,MAAA,cAAc,CAAC,SAAS,0CAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,UAAU,CAAC;uBACrF,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;oBACpD,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACF,CAAC,CAAC,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;YAC/G,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,MAAA,cAAc,CAAC,gBAAgB,0CAAE,MAAM,CAAC,IAAI,CAAC;gBAC5C,QAAQ,EAAE,IAAA,mCAAkB,EAAC,SAAS,CAAC;gBACvC,mBAAmB,EAAE,IAAA,mCAAkB,EAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC3D,iBAAiB,EAAE,SAAS;gBAC5B,UAAU;aACV,CAAC,CAAA;QACH,CAAC;QACD,OAAO;YACN,WAAW,EAAE,KAAK,IAAI,UAAU,CAAC,WAAW;YAC5C,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,YAAY,EAAE,UAAU,CAAC,YAAY;SACrC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB,EAAE,OAAwB,EAAE,cAA8B;IACvG,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO;QACN,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,WAA+B,EAAE,OAAwB,EAAE,cAA8B;IACtH,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IACtD,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,wBAAwB,CAAC,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,CAAC,uCAAuC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,eAAuC,EAAE,OAAwB,EAAE,cAA8B;IAClI,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,CAAC,2CAA2C,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA2B,EAAE,OAAwB,EAAE,cAA8B;IAC9G,iBAAiB;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACrH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO;QACN,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;QAChD,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACM,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6B,EAAE,OAAwB,EAAE,cAA8B;IACjH,MAAM,MAAM,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACtI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO;QACN,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;QAChD,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACM,CAAC;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAqC,EAAE,OAAwB,EAAE,cAA8B;IAC7H,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC/C,OAAO;QACN,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE;QACrC,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KAChB,CAAA;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA2B,EAAE,OAAwB,EAAE,cAA8B;IAC9G,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAClD,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/B,IAAI,YAAY,EAAE,CAAC;QAClB,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACb,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAChD,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,OAAO;QACN,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE;QAChC,oCAAoC;QACpC,oDAAoD;QACpD,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAe,CAAC,WAAW;QAClE,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACM,CAAA;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAuB,EAAE,OAAwB,EAAE,cAA8B;IAC1G,IAAI,OAAO,YAAY,wCAAqB,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACxD,2BAA2B,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,YAAY,sCAAmB,EAAE,CAAC;QAC5C,OAAO,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClD,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAqC,EAAE,OAAwB,EAAE,cAA8B;IAC3H,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;IACnD,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,KAAK,CAAC,sCAAsC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAmC,EAAE,OAAwB,EAAE,cAA8B;IAC1H,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;IACpD,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,KAAK,CAAC,uCAAuC,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAmC,EAAE,OAAwB,EAAE,cAA8B;IAC1H,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IACtD,IAAI,cAAc,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9E,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,KAAK,CAAC,uCAAuC,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAmB,EAAE,cAA8B;IACpF,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAqC,EAAE,OAAwB,EAAE,cAA8B;IAC7H,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;YAChD,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;IACF,CAAC;IACD,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;IAC/D,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACxF,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;YAChD,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;IACF,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAChE,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;IACF,CAAC;IACD,MAAM,KAAK,CAAC,wCAAwC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,kBAAkB,CAAC,WAA+B,EAAE,OAAwB,EAAE,cAA8B;IACpH,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAC9D,IAAI,mBAAmB,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACzH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;YAChD,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SACM,CAAA;IACxB,CAAC;IACD,MAAM,KAAK,CAAC,qCAAqC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAqC,EAAE,OAAwB,EAAE,cAA8B;IAC7H,MAAM,mBAAmB,GAAG,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,0BAA0B,CAAC,mBAAmB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,KAAK,CAAC,wCAAwC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,0BAA0B,CAAC,mBAA+C,EAAE,OAAwB,EAAE,cAA8B;IAC5I,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC;IACpD,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1H,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAgB;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;YACpD,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,KAAK,CAAC,6CAA6C,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6B,EAAE,OAAwB,EAAE,cAA8B;IACjH,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;IACvD,IAAI,eAAe,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACnI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,GAAgB;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC;YACrE,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,KAAK,CAAC,oCAAoC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAiC,EAAE,OAAwB,EAAE,cAA8B;IACvH,MAAM,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;IACrE,IAAI,sBAAsB,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,sBAAsB,EAAE;aACvD,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,GAAgB;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC;YACrE,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,KAAK,CAAC,sCAAsC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,iBAA2C,EAAE,OAAwB,EAAE,cAA8B;IACtI,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IACpE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,0BAA0B,CAAC,mBAAmB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,KAAK,CAAC,2CAA2C,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,0BAA0B,CAAC,mBAA+C,EAAE,OAAwB,EAAE,cAA8B;IAC5I,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,CAAC;IAC5D,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,CAAC,6CAA6C,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAqC,EAAE,OAAwB,EAAE,cAA8B;IAC7H,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IACzD,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,sBAAsB,CAAC,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,CAAC,wCAAwC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,sBAAsB,CAAC,eAAuC,EAAE,OAAwB,EAAE,cAA8B;IAChI,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,CAAC,yCAAyC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,iBAAiB,CAAC,SAA2B,EAAE,WAA0B;IACjF,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB,EAAE,OAAwB,EAAE,cAA8B;;IACtG,IAAI,MAAM,YAAY,qCAAkB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9D,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC;YAChD,OAAO;gBACN,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE;gBACjC,WAAW;gBACX,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC9B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;gBAC9B,SAAS,EAAE,CAAC,OAAO,CAAC,cAAc;aAClC,CAAC,CAAC;YACH,OAAO;gBACN,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;gBACrC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc;gBACrC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,SAAS,EAAE,0CAAE,gBAAgB,EAAE,CAAC;QAChE,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YACtF,OAAO;gBACN,WAAW,EAAE,CAAA,MAAA,gBAAgB,CAAC,SAAS,EAAE,0CAAE,OAAO,EAAE,KAAI,gBAAgB,CAAC,OAAO,EAAE;gBAClF,WAAW,EAAE,CAAC,SAAS;gBACvB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;QACD,MAAM,wBAAwB,GAAG,MAAA,MAAM,CAAC,SAAS,EAAE,0CAAE,wBAAwB,EAAE,CAAC;QAChF,IAAI,wBAAwB,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,gCAAgC,CAAC,wBAAwB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YACtG,OAAO;gBACN,WAAW,EAAE,CAAA,MAAA,MAAA,wBAAwB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAG,CAAC,CAAC,0CAAE,IAAI,EAAE,KAAI,wBAAwB,CAAC,OAAO,EAAE;gBAC7G,WAAW,EAAE,CAAC,SAAS;gBACvB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;QACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,kBAAkB,EAAE,CAAC;YACxB,2BAA2B,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YACzE,OAAO;gBACN,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,gBAAgB,EAAE,CAAC;YACtB,OAAO,eAAe,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE;iBACtD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YAClE,OAAO;gBACN,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;gBACnD,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;iBACpF,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YAClE,OAAO;gBACN,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;gBACnD,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aAChB,CAAA;QACF,CAAC;IACF,CAAC;IACD,IAAI,MAAM,YAAY,qCAAkB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACvE,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,CAAC,SAAS;YACvB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;IACF,CAAC;IACD,IAAI,MAAM,YAAY,uCAAoB,EAAE,CAAC;QAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACvD,2BAA2B,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACzE,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;SAChB,CAAA;IACF,CAAC;IACD,MAAM,KAAK,CAAC,iCAAiC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,WAA0B,EAAE,SAAoB;IACtE,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,CAAC;WAC7F,CAAC,SAAS,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC5E,MAAM,MAAM,GAAgB;YAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SAC9B,CAAA;QACD,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,WAA0B,EAAE,WAAwB;IAC3E,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,MAAM,CAAC;eACrG,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,WAA+B,EAAE,OAAwB,EAAE,cAA8B;;IACrH,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACjJ,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,YAAY,EAAE,0CAAE,MAAM,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IACzG,OAAO,aAAa,IAAI,aAAa,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,WAA+B,EAAE,OAAwB,EAAE,cAA8B;IACrH,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAExF,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC3D,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC1E,OAAO,cAAc,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAI,KAAU,EAAE,SAAqC;IACtE,OAAO,KAAK,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EACD,CAAC,EAAS,EAAE,EAAS,CAAC,CACtB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,gBAAyC,EAAE,OAAwB,EAAE,cAA8B;;IACpI,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,MAAM,kBAAkB,GAAG,CAAA,MAAA,gBAAgB,CAAC,aAAa,EAAE,0CAAE,kBAAkB,EAAE,KAAI,EAAE,CAAC;IACxF,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;IACzH,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QAC/D,IAAI,kBAAkB,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,KAAK,iBAAiB,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,gCAAgC,CAAC,wBAAyD,EAAE,OAAwB,EAAE,cAA8B;IAC5J,IAAI,wBAAwB,CAAC,QAAQ,EAAE,IAAI,wBAAwB,CAAC,QAAQ,EAAE,IAAI,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC;QACpH,MAAM,aAAa,GAAG,wBAAwB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAChD,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,kCAAO,OAAO,KAAE,cAAc,EAAE,IAAI,KAAI,cAAc,CAAC,CAAC;YACzG,OAAO,WAAW,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,wBAAwB,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;QAC/D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,wBAAwB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACvD,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,aAAmC,EAAE,OAAwB,EAAE,cAA8B;IAC3H,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,WAAW,CAAC;AACtE,CAAC;AAGD,SAAS,UAAU,CAAC,SAAoB,EAAE,WAA0B;IACnE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAoB;IAC9C,OAAO,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;AAC3F,CAAC;AAED,SAAS,eAAe,CAAC,YAAiC,EAAE,KAAkB;IAC7E,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7E,MAAM,GAAG,mCACL,KAAK,KACR,WAAW,EAAE,CAAC,eAAe,GAC7B,CAAA;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAAC,WAA+B,EAAE,OAAwB,EAAE,cAA8B;IACtH,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1C,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA2B,EAAE,OAAwB,EAAE,cAA8B;IAChH,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3H,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA2B,EAAE,OAAwB,EAAE,cAA8B;;IAChH,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1D,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;aACrG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iCAAM,GAAG,KAAE,UAAU,EAAE,kBAAkB,IAAG,CAAC,CAAC;QAC3D,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAE/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,GAA4B,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;YAEhG,MAAM,QAAQ,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,EAAE,KAAI,IAAI,CAAC;YAC3C,MAAM,QAAQ,GAAc;gBAC3B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,KAAK;gBACZ,QAAQ;gBACR,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,CAAA,MAAA,GAAG,CAAC,CAAC,CAAC,0CAAE,WAAW,KAAI,EAAE;gBACrC,WAAW,EAAE,KAAK;gBAClB,iBAAiB,EAAE,KAAK;aACxB,CAAA;YACD,MAAA,cAAc,CAAC,SAAS,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QAElD,IAAI,OAAO,CAAC,uBAAuB,IAAI,cAAc,CAAC,gBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1F,+BAA+B,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;gBACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;gBACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC3C,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;gBACzD,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC3E,MAAM,OAAO,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACjD,MAAM,UAAU,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC;gBACpC,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC1F,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iCAAM,GAAG,KAAE,WAAW,EAAE,IAAI,IAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gBAEjH,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;gBAC5D,CAAC;gBACD,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;oBACrC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;oBAC/G,+BAA+B,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;gBAC3G,CAAC;gBAED,OAAO,aAAa,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IACD,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;IAC1D,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,2BAA2B,CAAC,kBAAkB,kCAAO,OAAO,KAAE,uBAAuB,EAAE,KAAK,KAAI,cAAc,CAAC,CAAC;QAChI,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iCAAM,GAAG,KAAE,UAAU,EAAE,KAAK,IAAI,GAAG,CAAC,UAAU,IAAG,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,+BAA+B,CAAC,SAA2B,EAAE,QAAiC,EACtG,QAAiC,EAAE,OAAsB,EAAE,UAAoB,EAAE,cAA8B;;IAC/G,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAA,mCAAkB,EAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAA,mCAAkB,EAAC,SAAS,CAAC,aAAa,EAAE,IAAI,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,CAAA,MAAA,SAAS,CAAC,aAAa,EAAE,0CAAE,OAAO,EAAE,KAAI,KAAK,CAAC;IAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAA,mCAAkB,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhE,MAAM,YAAY,GAAG,GAAG,UAAU,IAAI,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;IAC3G,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAA,cAAc,CAAC,gBAAgB,0CAAE,IAAI,CAAC,IAAI,CAAC;QAC1C,QAAQ,EAAE,YAAY;QACtB,MAAM;QACN,UAAU;QACV,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,KAAK;QACpB,cAAc;KACd,CAAC,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,mCAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAqB,CAAC;QACxD,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,EAAE,mCAAgB,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,0BAAS,EAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA0B,EAAE,aAA4B,EAAE,cAA8B;;IAElH,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,MAAA,cAAc,CAAC,SAAS,0CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC7B,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAyB,CAAC;YAC5G,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;YAClG,IAAI,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;gBACzF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC;gBACtC,CAAC;YACF,CAAC;iBACI,CAAC;gBACL,eAAe,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,eAAe,CAAC,iBAAiB,GAAG,MAAM,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,WAA0B,EAAE,QAA0B;IACjF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,0BAAS,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACjE,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,2BAA2B,CAAC,kBAA6C,EAAE,OAAwB,EAAE,cAA8B;IAC3I,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;IACpE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,2BAA2B,CAAC,mBAAmB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,yBAAyB,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAmC,EAAE,QAAuB;IAC3F,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,uBAAuB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAqC,EAAE,QAAuB;;IAC9F,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElG,MAAM,mBAAmB,GAAG,MAAA,cAAc,CAAC,WAAW,EAAE,0CAAE,mBAAmB,EAAE,CAAC;IAChF,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO;YACN,IAAI,EAAE,CAAA,MAAA,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,0CAAE,OAAO,EAAE,KAAI,EAAE;YACzD,KAAK,EAAE,UAAU;SACjB,CAAA;IACF,CAAC;IACD,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,EAAE;KACT,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,KAAmB,EAAE,QAAuB;IACnE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACtD,IAAI,kBAAkB,EAAE,CAAC;QACxB,OAAO,2BAA2B,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA6B,EAAE,QAAuB;IAClF,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;IACpD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,2BAA2B,CAAC,kBAA6C,EAAE,QAAuB;IAC1G,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAAC,MAAyB;IAC7C,0DAA0D;IAC1D,+EAA+E;IAC/E,gGAAgG;IAChG,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;IACzC,MAAM,cAAc,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,CAAC;IAClD,MAAM,mBAAmB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC;IACtD,MAAM,iBAAiB,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,CAAC;IACzD,MAAM,YAAY,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,SAAS,CAAC;IAClD,MAAM,UAAU,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC;IAC3C,MAAM,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC;IACzC,MAAM,mBAAmB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC;IAClD,MAAM,cAAc,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;IAC9C,MAAM,aAAa,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC;IAChD,MAAM,aAAa,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;IAC/C,MAAM,gBAAgB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;IAClD,MAAM,SAAS,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC5C,MAAM,UAAU,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC;IACxC,MAAM,eAAe,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC7C,MAAM,WAAW,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,CAAC;IAC/C,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC;IACpC,MAAM,YAAY,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC1C,OAAO,YAAY,YAAY,sCAAmB,CAAC;AACpD,CAAC;AAGD,SAAS,kBAAkB,CAAC,UAA6B,EAAE,QAAgC;IAC1F,MAAM,cAAc,GAAmB;QACtC,kBAAkB,EAAE,EAAE;QACtB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,KAAK;KAChB,CAAA;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,EAAE;SACxD,uBAAuB,EAAE;SACzB,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,2BAA2B,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5F,MAAM,OAAO,GAAoB;QAChC,QAAQ;QACR,WAAW,EAAE,aAAa;QAC1B,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,KAAK;KAC9B,CAAA;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IAC5C,kBAAkB,CAAC,UAAU,kCAAO,OAAO,KAAE,WAAW,EAAE,iBAAiB,KAAI,cAAc,CAAC,CAAC;IAE/F,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;IAC9C,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QAC9E,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9H,MAAM,MAAM,GAA2B;QACtC,SAAS,EAAE,QAAQ;QACnB,kBAAkB,EAAE,KAAK;QACzB,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9E,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,EAAE;KACjB,CAAA;IACD,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA6B,EAAE,QAAgC,EAAE,cAA8B;;IAE1H,MAAM,aAAa,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC,aAAa,EAAE,CAAC;IAC3E,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAE3E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEzD,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACvD,MAAM,OAAO,GAAoB;QAChC,QAAQ;QACR,WAAW,EAAE,aAAa;QAC1B,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,KAAK;KAC9B,CAAA;IACD,MAAM,SAAS,GAAG,MAAA,UAAU,CAAC,uBAAuB,EAAE,0CAAE,MAAM,EAAE,CAAC;IACjE,IAAI,SAAS,EAAE,CAAC;QACf,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9H,MAAM,MAAM,GAA2B;QACtC,SAAS,EAAE,QAAQ;QACnB,kBAAkB,EAAE,KAAK;QACzB,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9E,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,iBAAiB;KAChC,CAAA;IACD,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA6B,EAAE,QAAgC,EAAE,cAA8B;IAE1H,MAAM,uBAAuB,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAoB;QAChC,QAAQ;QACR,WAAW,EAAE,aAAa;QAC1B,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,KAAK;KAC9B,CAAA;IAED,UAAU,CAAC,eAAe,EAAE,CAAC,eAAe,EAAE;SAC5C,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAGlF,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;IAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACrC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9H,MAAM,MAAM,GAA2B;QACtC,SAAS,EAAE,QAAQ;QACnB,kBAAkB,EAAE,KAAK;QACzB,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACzG,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,EAAE;QACjB,yBAAyB,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;KACxE,CAAA;IACD,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA6B,EAAE,OAAwB,EAAE,cAA8B;IACnH,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAA,0BAAS,EAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,UAAU,EAAE,UAAU,IAAyB,CAAC,CAAC;IACrH,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,kCAAO,OAAO,KAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,KAAI,cAAc,CAAC,CAAC;IACvI,IAAI,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;IACjG,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,kBAA6C,EAAE,WAAmC;IACtH,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACzC,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,KAAmB,EAAE,QAAgC;IAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAkB,EAAE,YAAiC;IAEvE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkB,EAAE,MAAqB;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,WAA+B,EAAE,KAAkB;IACjF,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IACtD,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,yBAAyB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,eAAuC,EAAE,KAAkB;IAC7F,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,sDAAsD;AACtD,qDAAqD;AACrD,SAAS,mBAAmB,CAAC,SAA2B,EAAE,KAAkB;IAC3E,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IAC/C,IAAI,UAAU,EAAE,CAAC;QAChB,mBAAmB;QACnB,2BAA2B;QAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA6B,EAAE,KAAkB;IAC9E,MAAM,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;IAC7D,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,cAAqC,EAAE,KAAkB;IAC1F,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA2B,EAAE,KAAkB;IAC3E,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,0BAA0B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,gBAAyC,EAAE,KAAkB;IAChG,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACvD,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,aAAmC,EAAE,KAAkB;IACvF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;IACpD,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,aAAmC,EAAE,KAAkB;IACvF,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IACtD,IAAI,cAAc,EAAE,CAAC;QACpB,IAAI,aAAa,CAAC,EAAE,EAAE,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;YACpG,MAAM,OAAO,GAAG,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC;QAEhB,CAAC;QACD,eAAe;QACf,yDAAyD;QACzD,OAAO,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,cAAqC,EAAE,KAAkB;IAC1F,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAA;IAC1D,IAAI,gBAAgB,EAAE,CAAC;QACtB,gCAAgC;QAChC,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,WAA+B,EAAE,KAAkB;IACjF,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAC9D,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAA;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,cAAqC,EAAE,KAAkB;IAC1F,MAAM,wBAAwB,GAAG,cAAc,CAAC,wBAAwB,EAAE,CAAC;IAC3E,IAAI,wBAAwB,EAAE,CAAC;QAC9B,OAAO,wBAAwB,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAA;IACvH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CAAC,mBAA+C,EAAE,KAAkB;IACxG,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC;IACpD,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA6B,EAAE,KAAkB;IAC9E,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;IACrD,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA6B,EAAE,KAAkB;IAC9E,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;IACzD,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAiC,EAAE,KAAkB;IACpF,MAAM,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;IACrE,IAAI,sBAAsB,EAAE,CAAC;QAC5B,OAAO,sBAAsB,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,2BAA2B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAA;IAChH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,iBAA2C,EAAE,KAAkB;IACnG,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IACpE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,6BAA6B,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,mBAA+C,EAAE,KAAkB;IACzG,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,CAAC;IAC5D,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,cAAqC,EAAE,KAAkB;IAC1F,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IACzD,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,yBAAyB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,eAAuC,EAAE,KAAkB;IAC7F,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB,EAAE,KAAkB;IAClE,IAAI,MAAM,YAAY,qCAAkB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,UAAU,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,gBAAyC;;IAC7E,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,gBAAgB,CAAC,YAAY,EAAE,0CAAE,YAAY,EAAE,0CAAE,kBAAkB,EAAE,0CAAE,OAAO,EAAE,CAAC;IACnG,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3C,CAAC;AAED,SAAS,6BAA6B,CAAC,kBAA6C;IACnF,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC/B,qFAAqF;IACrF,MAAM,YAAY,GAAG,uCAAuC,CAAC;IAC7D,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6B,EAAE,QAAgC;;IAEzF,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACvD,MAAM,0BAA0B,GAAG,MAAA,gBAAgB,CAAC,aAAa,EAAE;SACjE,4BAA4B,EAAE,0CAAG,CAAC,EAClC,0BAA0B,EAAE,CAAC;IAE/B,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,uBAAuB,GAAG,MAAA,qBAAqB,CAAC,YAAY,EAAE,0CAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC;QACpK,OAAO,CAAC,uBAAuB,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;QACtE,IAAI,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,CAAC;IAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,IAAI,EAAE,CAAC;QAChG,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;WACnG,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;SACzD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,uBAAuB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,qBAAmD;IAChF,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACxD,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;AACjG,CAAC;AAOD,SAAS,YAAY,CAAC,SAA2B;IAChD,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO;QACN,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;KACjB,CAAA;AACF,CAAC;AAED,SAAS,6BAA6B,CAAC,SAA2B;IACjE,IAAI,SAAS,YAAY,sCAAmB,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,EAAE,mCAAgB,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,0BAA0B,CAAmB,SAAS,CAAC,CAAC,CAAC;QAC5G,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,4BAA4B;AAC5B,uDAAuD;AACvD,gCAAgC;AAChC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IAClC,WAAW;IACX,KAAK;IACL,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,OAAO;IACP,UAAU;IACV,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,KAAK;IACL,KAAK;IACL,MAAM;IACN,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,MAAM;IACN,WAAW;IACX,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,SAAS;IACT,YAAY;IACZ,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,KAAK;IACL,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;CACR,CAAC,CAAC;AAEH,SAAS,0BAA0B,CAAC,SAA2B;;IAC9D,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE,0CAAE,SAAS,EAAE,0CAAE,OAAO,EAAE,0CAAE,WAAW,EAAE,CAAC;IACtF,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gCAAgC,CAAC,SAA2B;IACpE,IAAI,SAAS,YAAY,sCAAmB,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,EAAE,mCAAgB,CAAC,CAAC;QACvE,MAAM,oBAAoB,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,6BAA6B,CAAmB,SAAS,CAAC,CAAC,CAAC;QACvH,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,SAA2B;;IACjE,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE,0CAAE,SAAS,EAAE,0CAAE,OAAO,EAAE,0CAAE,WAAW,EAAE,CAAC;IACtF,OAAO,QAAQ,KAAK,iBAAiB,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAqB,EAAE,UAAoB;;IAE3E,MAAM,cAAc,GAAG,CAAA,MAAA,MAAA,MAAM,CAAC,WAAW,EAAE,0CAAE,eAAe,EAAE,0CAAE,cAAc,EAAE,KAAI,EAAE,CAAC;IACvF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC7E,MAAM,CAAC,GAAG,4BAA4B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,4BAA4B,CAAC,UAA6B,EAAE,UAAoB;IACxF,MAAM,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC,CAAC;IACjH,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvE,OAAO,WAAW,CAAC;AACpB,CAAC;AACD,SAAS,6BAA6B,CAAC,cAAqC;IAC3E,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACvE,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,uBAAuB,CAAC,SAA2B;;IAC3D,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,SAAS,CAAC,gBAAgB,EAAE,0CAAE,aAAa,EAAE,0CAAE,aAAa,EAAE,0CAAE,cAAc,EAAE,CAAC;IACxG,IAAI,cAAc,EAAE,CAAC;QACpB,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAC3D,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,IAAI,EAAE,CAAC;oBACV,OAAO,IAAI,CAAC;gBACb,CAAC;qBACI,IAAI,IAAI,EAAE,CAAC;oBACf,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YAAA,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,eAAe;AACf,SAAS,sBAAsB,CAAC,WAA+B;;IAC9D,MAAM,MAAM,GAAG,MAAA,MAAA,WAAW,CAAC,mBAAmB,EAAE,0CAAG,CAAC,EAAE,wBAAwB,EAAE,0CAAG,CAAC,EAAE,UAAU,GAC9F,eAAe,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,GAAG,CAAC,EAAE,mBAAmB,GAC3F,cAAc,GAAG,eAAe,GAAG,MAAM,EAAE,CAAC;IAC9C,IAAI,MAAM,YAAY,qCAAkB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,sDAAsD;YACtD,OAAO,SAAS,CAAC,IAAI,CAAC;QACvB,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,UAA6B;IAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC3D,IAAI,kBAAkB,EAAE,CAAC;QACxB,OAAO,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAyB,EAAE,QAAgC,EAAE,cAA8B;;IAEpH,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,MAAA,MAAA,QAAQ,CAAC,YAAY,EAAE,0CAAE,UAAU,EAAE,0CAAE,eAAe,GACvE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAElF,OAAO;QACN,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,UAAU;QACnB,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,EAAE;QACjB,qBAAqB,EAAE,EAAE;KACzB,CAAA;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA6B,EAAE,WAAmC,EAAE,cAA8B;IAC9H,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IACjC,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC"}