@openrewrite/rewrite 8.65.0-20251025-160607 → 8.65.0-20251026-143056

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.
@@ -3,15 +3,26 @@ import { JavaScriptVisitor } from "./visitor";
3
3
  import { J, Statement } from "../java";
4
4
  import { Cursor, Tree } from "../tree";
5
5
  import { BlankLinesStyle, SpacesStyle, TabsAndIndentsStyle, WrappingAndBracesStyle } from "./style";
6
+ export declare function maybeAutoFormat<J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2>;
7
+ export declare function autoFormat<J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2>;
6
8
  export declare class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
9
+ private stopAfter?;
10
+ constructor(stopAfter?: Tree | undefined);
7
11
  visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined>;
8
12
  }
9
13
  export declare class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
14
+ private stopAfter?;
15
+ constructor(stopAfter?: Tree | undefined);
16
+ visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
17
+ postVisit(tree: J, p: P): Promise<J | undefined>;
10
18
  private concatenatePrefix;
11
19
  }
12
20
  export declare class SpacesVisitor<P> extends JavaScriptVisitor<P> {
13
21
  private style;
14
- constructor(style: SpacesStyle);
22
+ private stopAfter?;
23
+ constructor(style: SpacesStyle, stopAfter?: Tree | undefined);
24
+ visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
25
+ postVisit(tree: J, p: P): Promise<J | undefined>;
15
26
  protected visitAlias(alias: JS.Alias, p: P): Promise<J | undefined>;
16
27
  protected visitArrayAccess(arrayAccess: J.ArrayAccess, p: P): Promise<J | undefined>;
17
28
  protected visitAssignment(assignment: J.Assignment, p: P): Promise<J | undefined>;
@@ -47,7 +58,10 @@ export declare class SpacesVisitor<P> extends JavaScriptVisitor<P> {
47
58
  }
48
59
  export declare class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
49
60
  private readonly style;
50
- constructor(style: WrappingAndBracesStyle);
61
+ private stopAfter?;
62
+ constructor(style: WrappingAndBracesStyle, stopAfter?: Tree | undefined);
63
+ visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
64
+ postVisit(tree: J, p: P): Promise<J | undefined>;
51
65
  visitStatement(statement: Statement, p: P): Promise<Statement>;
52
66
  protected visitVariableDeclarations(multiVariable: J.VariableDeclarations, p: P): Promise<J.VariableDeclarations>;
53
67
  protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise<J.MethodDeclaration>;
@@ -60,7 +74,10 @@ export declare class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
60
74
  private withNewlineModifiers;
61
75
  }
62
76
  export declare class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P> {
63
- constructor();
77
+ private stopAfter?;
78
+ constructor(stopAfter?: Tree | undefined);
79
+ visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
80
+ postVisit(tree: J, p: P): Promise<J | undefined>;
64
81
  protected visitAwait(await_: JS.Await, p: P): Promise<J | undefined>;
65
82
  protected visitClassDeclaration(classDecl: J.ClassDeclaration, p: P): Promise<J | undefined>;
66
83
  protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise<J | undefined>;
@@ -77,7 +94,8 @@ export declare class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P>
77
94
  }
78
95
  export declare class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
79
96
  private readonly style;
80
- constructor(style: BlankLinesStyle);
97
+ private stopAfter?;
98
+ constructor(style: BlankLinesStyle, stopAfter?: Tree | undefined);
81
99
  visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined>;
82
100
  protected visitClassDeclaration(classDecl: J.ClassDeclaration, p: P): Promise<J.ClassDeclaration>;
83
101
  visitStatement(statement: Statement, p: P): Promise<Statement>;
@@ -87,16 +105,19 @@ export declare class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
87
105
  private minimumBlankLines;
88
106
  private ensurePrefixHasNewLine;
89
107
  private static countNewlines;
108
+ postVisit(tree: J, p: P): Promise<J | undefined>;
90
109
  }
91
110
  export declare class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
92
111
  private readonly tabsAndIndentsStyle;
112
+ private stopAfter?;
93
113
  private readonly newline;
94
114
  private readonly singleIndent;
95
- constructor(tabsAndIndentsStyle: TabsAndIndentsStyle);
115
+ constructor(tabsAndIndentsStyle: TabsAndIndentsStyle, stopAfter?: Tree | undefined);
96
116
  protected preVisit(tree: J, p: P): Promise<J | undefined>;
97
117
  visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
98
118
  visitLeftPadded<T extends J | J.Space | number | string | boolean>(left: J.LeftPadded<T>, p: P): Promise<J.LeftPadded<T>>;
99
119
  private get currentIndent();
100
120
  private combineIndent;
121
+ postVisit(tree: J, p: P): Promise<J | undefined>;
101
122
  }
102
123
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TabsAndIndentsVisitor = exports.BlankLinesVisitor = exports.MinimumViableSpacingVisitor = exports.WrappingAndBracesVisitor = exports.SpacesVisitor = exports.NormalizeWhitespaceVisitor = exports.AutoformatVisitor = void 0;
13
+ exports.maybeAutoFormat = maybeAutoFormat;
14
+ exports.autoFormat = autoFormat;
13
15
  /*
14
16
  * Copyright 2025 the original author or authors.
15
17
  * <p>
@@ -29,18 +31,36 @@ const tree_1 = require("./tree");
29
31
  const visitor_1 = require("./visitor");
30
32
  const java_1 = require("../java");
31
33
  const immer_1 = require("immer");
34
+ const tree_2 = require("../tree");
32
35
  const style_1 = require("./style");
33
36
  const visitor_2 = require("../visitor");
37
+ function maybeAutoFormat(before, after, p, stopAfter, parent) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ if (before !== after) {
40
+ return autoFormat(after, p, stopAfter, parent);
41
+ }
42
+ return after;
43
+ });
44
+ }
45
+ function autoFormat(j, p, stopAfter, parent) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ return yield new AutoformatVisitor(stopAfter).visit(j, p, parent);
48
+ });
49
+ }
34
50
  class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
51
+ constructor(stopAfter) {
52
+ super();
53
+ this.stopAfter = stopAfter;
54
+ }
35
55
  visit(tree, p, cursor) {
36
56
  return __awaiter(this, void 0, void 0, function* () {
37
57
  const visitors = [
38
- new NormalizeWhitespaceVisitor(),
39
- new MinimumViableSpacingVisitor(),
40
- new BlankLinesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.BlankLinesStyle, tree)),
41
- new WrappingAndBracesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.WrappingAndBracesStyle, tree)),
42
- new SpacesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.SpacesStyle, tree)),
43
- new TabsAndIndentsVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.TabsAndIndentsStyle, tree)),
58
+ new NormalizeWhitespaceVisitor(this.stopAfter),
59
+ new MinimumViableSpacingVisitor(this.stopAfter),
60
+ new BlankLinesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.BlankLinesStyle, tree), this.stopAfter),
61
+ new WrappingAndBracesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.WrappingAndBracesStyle, tree), this.stopAfter),
62
+ new SpacesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.SpacesStyle, tree), this.stopAfter),
63
+ new TabsAndIndentsVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.TabsAndIndentsStyle, tree), this.stopAfter),
44
64
  ];
45
65
  let t = tree;
46
66
  for (const visitor of visitors) {
@@ -56,6 +76,34 @@ class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
56
76
  exports.AutoformatVisitor = AutoformatVisitor;
57
77
  class NormalizeWhitespaceVisitor extends visitor_1.JavaScriptVisitor {
58
78
  // called NormalizeFormat in Java
79
+ constructor(stopAfter) {
80
+ super();
81
+ this.stopAfter = stopAfter;
82
+ }
83
+ visit(tree, p, parent) {
84
+ const _super = Object.create(null, {
85
+ visit: { get: () => super.visit }
86
+ });
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ var _a;
89
+ if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
90
+ return tree;
91
+ }
92
+ return _super.visit.call(this, tree, p, parent);
93
+ });
94
+ }
95
+ postVisit(tree, p) {
96
+ const _super = Object.create(null, {
97
+ postVisit: { get: () => super.postVisit }
98
+ });
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ var _a;
101
+ if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
102
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
103
+ }
104
+ return _super.postVisit.call(this, tree, p);
105
+ });
106
+ }
59
107
  concatenatePrefix(node, right) {
60
108
  // TODO look at https://github.com/openrewrite/rewrite/commit/990a366fab9e5656812d81d0eb15ecb6bfd2fde0#diff-ec2e977fe8f1e189735e71b817f8f1ebaf79c1490c0210652e8a559f7f7877de
61
109
  // and possibly incorporate it here - some special logic needed to merge comments better (?)
@@ -65,9 +113,34 @@ class NormalizeWhitespaceVisitor extends visitor_1.JavaScriptVisitor {
65
113
  }
66
114
  exports.NormalizeWhitespaceVisitor = NormalizeWhitespaceVisitor;
67
115
  class SpacesVisitor extends visitor_1.JavaScriptVisitor {
68
- constructor(style) {
116
+ constructor(style, stopAfter) {
69
117
  super();
70
118
  this.style = style;
119
+ this.stopAfter = stopAfter;
120
+ }
121
+ visit(tree, p, parent) {
122
+ const _super = Object.create(null, {
123
+ visit: { get: () => super.visit }
124
+ });
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ var _a;
127
+ if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
128
+ return tree;
129
+ }
130
+ return _super.visit.call(this, tree, p, parent);
131
+ });
132
+ }
133
+ postVisit(tree, p) {
134
+ const _super = Object.create(null, {
135
+ postVisit: { get: () => super.postVisit }
136
+ });
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ var _a;
139
+ if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
140
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
141
+ }
142
+ return _super.postVisit.call(this, tree, p);
143
+ });
71
144
  }
72
145
  visitAlias(alias, p) {
73
146
  const _super = Object.create(null, {
@@ -606,9 +679,34 @@ class SpacesVisitor extends visitor_1.JavaScriptVisitor {
606
679
  }
607
680
  exports.SpacesVisitor = SpacesVisitor;
608
681
  class WrappingAndBracesVisitor extends visitor_1.JavaScriptVisitor {
609
- constructor(style) {
682
+ constructor(style, stopAfter) {
610
683
  super();
611
684
  this.style = style;
685
+ this.stopAfter = stopAfter;
686
+ }
687
+ visit(tree, p, parent) {
688
+ const _super = Object.create(null, {
689
+ visit: { get: () => super.visit }
690
+ });
691
+ return __awaiter(this, void 0, void 0, function* () {
692
+ var _a;
693
+ if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
694
+ return tree;
695
+ }
696
+ return _super.visit.call(this, tree, p, parent);
697
+ });
698
+ }
699
+ postVisit(tree, p) {
700
+ const _super = Object.create(null, {
701
+ postVisit: { get: () => super.postVisit }
702
+ });
703
+ return __awaiter(this, void 0, void 0, function* () {
704
+ var _a;
705
+ if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
706
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
707
+ }
708
+ return _super.postVisit.call(this, tree, p);
709
+ });
612
710
  }
613
711
  visitStatement(statement, p) {
614
712
  const _super = Object.create(null, {
@@ -781,8 +879,33 @@ class WrappingAndBracesVisitor extends visitor_1.JavaScriptVisitor {
781
879
  }
782
880
  exports.WrappingAndBracesVisitor = WrappingAndBracesVisitor;
783
881
  class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
784
- constructor() {
882
+ constructor(stopAfter) {
785
883
  super();
884
+ this.stopAfter = stopAfter;
885
+ }
886
+ visit(tree, p, parent) {
887
+ const _super = Object.create(null, {
888
+ visit: { get: () => super.visit }
889
+ });
890
+ return __awaiter(this, void 0, void 0, function* () {
891
+ var _a;
892
+ if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
893
+ return tree;
894
+ }
895
+ return _super.visit.call(this, tree, p, parent);
896
+ });
897
+ }
898
+ postVisit(tree, p) {
899
+ const _super = Object.create(null, {
900
+ postVisit: { get: () => super.postVisit }
901
+ });
902
+ return __awaiter(this, void 0, void 0, function* () {
903
+ var _a;
904
+ if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
905
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
906
+ }
907
+ return _super.postVisit.call(this, tree, p);
908
+ });
786
909
  }
787
910
  visitAwait(await_, p) {
788
911
  const _super = Object.create(null, {
@@ -1024,15 +1147,20 @@ class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
1024
1147
  }
1025
1148
  exports.MinimumViableSpacingVisitor = MinimumViableSpacingVisitor;
1026
1149
  class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
1027
- constructor(style) {
1150
+ constructor(style, stopAfter) {
1028
1151
  super();
1029
1152
  this.style = style;
1153
+ this.stopAfter = stopAfter;
1030
1154
  }
1031
1155
  visit(tree, p, cursor) {
1032
1156
  const _super = Object.create(null, {
1033
1157
  visit: { get: () => super.visit }
1034
1158
  });
1035
1159
  return __awaiter(this, void 0, void 0, function* () {
1160
+ var _a;
1161
+ if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
1162
+ return tree;
1163
+ }
1036
1164
  if (tree.kind === tree_1.JS.Kind.CompilationUnit) {
1037
1165
  const cu = (0, immer_1.produce)(tree, draft => {
1038
1166
  if (draft.prefix.comments.length == 0) {
@@ -1208,12 +1336,25 @@ class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
1208
1336
  static countNewlines(s) {
1209
1337
  return [...s].filter(c => c === "\n").length;
1210
1338
  }
1339
+ postVisit(tree, p) {
1340
+ const _super = Object.create(null, {
1341
+ postVisit: { get: () => super.postVisit }
1342
+ });
1343
+ return __awaiter(this, void 0, void 0, function* () {
1344
+ var _a;
1345
+ if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
1346
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
1347
+ }
1348
+ return _super.postVisit.call(this, tree, p);
1349
+ });
1350
+ }
1211
1351
  }
1212
1352
  exports.BlankLinesVisitor = BlankLinesVisitor;
1213
1353
  class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
1214
- constructor(tabsAndIndentsStyle) {
1354
+ constructor(tabsAndIndentsStyle, stopAfter) {
1215
1355
  super();
1216
1356
  this.tabsAndIndentsStyle = tabsAndIndentsStyle;
1357
+ this.stopAfter = stopAfter;
1217
1358
  this.newline = "\n"; // TODO this should be configurable and come from some style too
1218
1359
  if (this.tabsAndIndentsStyle.useTabCharacter) {
1219
1360
  this.singleIndent = "\t";
@@ -1228,7 +1369,26 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
1228
1369
  });
1229
1370
  return __awaiter(this, void 0, void 0, function* () {
1230
1371
  const ret = yield _super.preVisit.call(this, tree, p);
1231
- const indentShouldIncrease = tree.kind === java_1.J.Kind.Block || tree.kind === java_1.J.Kind.Case;
1372
+ let indentShouldIncrease = tree.kind === java_1.J.Kind.Block || tree.kind === java_1.J.Kind.Case;
1373
+ // Increase indent for control structures with non-block bodies
1374
+ if (tree.kind === java_1.J.Kind.If) {
1375
+ const ifStmt = tree;
1376
+ if (ifStmt.thenPart.element.kind !== java_1.J.Kind.Block) {
1377
+ indentShouldIncrease = true;
1378
+ }
1379
+ }
1380
+ else if (tree.kind === java_1.J.Kind.WhileLoop) {
1381
+ const whileLoop = tree;
1382
+ if (whileLoop.body.element.kind !== java_1.J.Kind.Block) {
1383
+ indentShouldIncrease = true;
1384
+ }
1385
+ }
1386
+ else if (tree.kind === java_1.J.Kind.ForLoop) {
1387
+ const forLoop = tree;
1388
+ if (forLoop.body.element.kind !== java_1.J.Kind.Block) {
1389
+ indentShouldIncrease = true;
1390
+ }
1391
+ }
1232
1392
  if (indentShouldIncrease) {
1233
1393
  this.cursor.messages.set("indentToUse", this.currentIndent + this.singleIndent);
1234
1394
  }
@@ -1240,6 +1400,10 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
1240
1400
  visit: { get: () => super.visit }
1241
1401
  });
1242
1402
  return __awaiter(this, void 0, void 0, function* () {
1403
+ var _a;
1404
+ if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
1405
+ return tree;
1406
+ }
1243
1407
  let ret = yield _super.visit.call(this, tree, p, parent);
1244
1408
  if (ret == undefined) {
1245
1409
  return ret;
@@ -1292,6 +1456,18 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
1292
1456
  combineIndent(oldWs, relativeIndent) {
1293
1457
  return oldWs.substring(0, oldWs.lastIndexOf("\n") + 1) + relativeIndent;
1294
1458
  }
1459
+ postVisit(tree, p) {
1460
+ const _super = Object.create(null, {
1461
+ postVisit: { get: () => super.postVisit }
1462
+ });
1463
+ return __awaiter(this, void 0, void 0, function* () {
1464
+ var _a;
1465
+ if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
1466
+ (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
1467
+ }
1468
+ return _super.postVisit.call(this, tree, p);
1469
+ });
1470
+ }
1295
1471
  }
1296
1472
  exports.TabsAndIndentsVisitor = TabsAndIndentsVisitor;
1297
1473
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":";;;;;;;;;;;;AA8BA,0CAKC;AAED,gCAEC;AAvCD;;;;;;;;;;;;;;GAcG;AACH,iCAA0B;AAC1B,uCAA4C;AAC5C,kCAA0D;AAC1D,iCAAqC;AACrC,kCAA8C;AAC9C,mCAOiB;AACjB,wCAAwC;AAExC,SAAsB,eAAe,CAAkB,MAAU,EAAE,KAAS,EAAE,CAAI,EAAE,SAAa,EAAE,MAAe;;QAC9G,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CAAA;AAED,SAAsB,UAAU,CAAkB,CAAK,EAAE,CAAI,EAAE,SAAa,EAAE,MAAe;;QACzF,OAAO,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAO,CAAC;IAC5E,CAAC;CAAA;AAED,MAAa,iBAAqB,SAAQ,2BAAoB;IAC1D,YAAoB,SAAgB;QAChC,KAAK,EAAE,CAAC;QADQ,cAAS,GAAT,SAAS,CAAO;IAEpC,CAAC;IAEK,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;YACtD,MAAM,QAAQ,GAAG;gBACb,IAAI,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9C,IAAI,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC/C,IAAI,iBAAiB,CAAC,IAAA,2BAAmB,EAAC,iBAAS,CAAC,eAAe,EAAE,IAAI,CAAoB,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC9G,IAAI,wBAAwB,CAAC,IAAA,2BAAmB,EAAC,iBAAS,CAAC,sBAAsB,EAAE,IAAI,CAA2B,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnI,IAAI,aAAa,CAAC,IAAA,2BAAmB,EAAC,iBAAS,CAAC,WAAW,EAAE,IAAI,CAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;gBAClG,IAAI,qBAAqB,CAAC,IAAA,2BAAmB,EAAC,iBAAS,CAAC,mBAAmB,EAAE,IAAI,CAAwB,EAAE,IAAI,CAAC,SAAS,CAAC;aAC7H,CAAA;YAED,IAAI,CAAC,GAAkB,IAAS,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC;gBACrB,CAAC;YACL,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;CACJ;AAxBD,8CAwBC;AAED,MAAa,0BAA8B,SAAQ,2BAAoB;IACnE,iCAAiC;IAEjC,YAAoB,SAAgB;QAChC,KAAK,EAAE,CAAC;QADQ,cAAS,GAAT,SAAS,CAAO;IAEpC,CAAC;IAEc,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;;;;;YAC/D,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,CAAC,MAAM,CAAC,KAAI,IAAI,EAAE,CAAC;gBACjD,OAAO,IAAS,CAAC;YACrB,CAAC;YACD,OAAO,OAAM,KAAK,YAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QACxC,CAAC;KAAA;IAEc,SAAS,CAAC,IAAO,EAAE,CAAI;;;;;;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAM,SAAS,YAAC,IAAI,EAAE,CAAC,EAAE;QACpC,CAAC;KAAA;IAEO,iBAAiB,CAAC,IAAc,EAAE,KAAc;QACpD,4KAA4K;QAC5K,4FAA4F;QAC5F,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACvE,CAAC;CACJ;AA3BD,gEA2BC;AAED,MAAa,aAAiB,SAAQ,2BAAoB;IACtD,YAAoB,KAAkB,EAAU,SAAgB;QAC5D,KAAK,EAAE,CAAC;QADQ,UAAK,GAAL,KAAK,CAAa;QAAU,cAAS,GAAT,SAAS,CAAO;IAEhE,CAAC;IAEc,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;;;;;YAC/D,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,CAAC,MAAM,CAAC,KAAI,IAAI,EAAE,CAAC;gBACjD,OAAO,IAAS,CAAC;YACrB,CAAC;YACD,OAAO,OAAM,KAAK,YAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QACxC,CAAC;KAAA;IAEc,SAAS,CAAC,IAAO,EAAE,CAAI;;;;;;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAM,SAAS,YAAC,IAAI,EAAE,CAAC,EAAE;QACpC,CAAC;KAAA;IAEe,UAAU,CAAC,KAAe,EAAE,CAAI;;;;;YAC5C,MAAM,GAAG,GAAG,MAAM,OAAM,UAAU,YAAC,KAAK,EAAE,CAAC,CAAa,CAAC;YACzD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;YAC9C,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,gBAAgB,CAAC,WAA0B,EAAE,CAAI;;;;;YAC7D,MAAM,GAAG,GAAG,MAAM,OAAM,gBAAgB,YAAC,WAAW,EAAE,CAAC,CAAkB,CAAC;YAC1E,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,eAAe,CAAC,UAAwB,EAAE,CAAI;;;;;YAC1D,MAAM,GAAG,GAAG,MAAM,OAAM,eAAe,YAAC,UAAU,EAAE,CAAC,CAAiB,CAAC;YACvE,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,WAAW,CAAC,MAAgB,EAAE,CAAI;;;;;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAM,WAAW,YAAC,MAAM,EAAE,CAAC,CAAa,CAAC;YAC3D,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,QAAQ,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrC,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvB,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACjB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAA;oBAC7C,MAAM;gBACV,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;oBACvB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAA;oBAC9C,MAAM;gBACV,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;gBACnC,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB;oBACjC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAA;oBAChD,MAAM;gBACV,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC1B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;oBACrB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAA;oBAC7C,MAAM;gBACV,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW;oBAC1B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAA;oBAC9C,MAAM;gBACV,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBAClC,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;oBACrB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAA;oBACpD,MAAM;gBACV,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC7B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9B,KAAK,QAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB;oBACjC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAA;oBAC3C,MAAM;gBACV;oBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,CAAC,CAAa,CAAC;QACnB,CAAC;KAAA;IAEe,SAAS,CAAC,KAAa,EAAE,CAAI;;;;;YACzC,MAAM,GAAG,GAAG,MAAM,OAAM,SAAS,YAAC,KAAK,EAAE,CAAC,CAAW,CAAC;YACtD,OAAO,GAAG,IAAI,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,UAAU,IAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAwB,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;oBACnJ,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC7C,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,qBAAqB,CAAC,SAA6B,EAAE,CAAI;;;;;YACrE,MAAM,GAAG,GAAG,MAAM,OAAM,qBAAqB,YAAC,SAAS,EAAE,CAAC,CAAuB,CAAC;YAClF,OAAO;YACP,yCAAyC;YACzC,qFAAqF;YACrF,IAAI;YAEJ,sIAAsI;YACtI,+FAA+F;YAE/F,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,CAAC,CAAuB,CAAC;QAC7B,CAAC;KAAA;IAEY,cAAc,CAAc,SAAyB,EAAE,CAAI;;;;;YACpE,MAAM,GAAG,GAAG,MAAM,OAAM,cAAc,YAAC,SAAS,EAAE,CAAC,CAAmB,CAAC;YACvE,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC7C,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzF,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,sBAAsB,CAAC,iBAAuC,EAAE,CAAI;;;;;YAChF,MAAM,GAAG,GAAG,MAAM,OAAM,sBAAsB,YAAC,iBAAiB,EAAE,CAAC,CAAyB,CAAC;YAC7F,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACrB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;oBAC3C,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClD,MAAM,EAAE,GAAI,KAAK,CAAC,YAAuC,CAAC;wBAC1D,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAClC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChI,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;oBAC9C,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC1D,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;KAAA;IAEe,YAAY,CAAC,OAAkB,EAAE,CAAI;;;;;YACjD,MAAM,GAAG,GAAG,MAAM,OAAM,YAAY,YAAC,OAAO,EAAE,CAAC,CAAc,CAAC;YAC9D,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,KAAK,EAAE,EAAE;oBACnF,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBACvD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAwC,CAAC;wBAC5D,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;wBAC3C,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;oBAC9B,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpH,CAAC,CAAA,CAAC,CAAC,CAAC;gBACJ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;oBACxD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,CAAC;gBACD,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAO,SAAS,EAAE,KAAK,EAAE,EAAE;oBACzF,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;oBAC1C,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7J,OAAO,SAAS,CAAC;gBACrB,CAAC,CAAA,CAAC,CAAC,CAAC;gBAEJ,KAAK,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;YACtJ,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,OAAO,CAAC,GAAS,EAAE,CAAI;;;;;YACnC,MAAM,GAAG,GAAG,MAAM,OAAM,OAAO,YAAC,GAAG,EAAE,CAAC,CAAS,CAAC;YAChD,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBAC1G,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC9L,KAAK,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7J,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,sBAAsB,CAAC,QAAmB,EAAE,CAAI;;;;;YAC5D,MAAM,GAAG,GAAG,MAAM,OAAM,sBAAsB,YAAC,QAAQ,EAAE,CAAC,CAAc,CAAC;YACzE,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACrB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnH,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBAC1B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;oBAClD,CAAC;oBACD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;wBACnC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;wBACzD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;4BAChE,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,aAAuC,CAAC;4BACtE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChI,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;oBAC9C,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;KAAA;IAEe,8BAA8B,CAAC,yBAAuD,EAAE,CAAI;;;;;YACxG,MAAM,GAAG,GAAG,MAAM,OAAM,8BAA8B,YAAC,yBAAyB,EAAE,CAAC,CAAiC,CAAC;YACrH,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,sBAAsB,CAAC,UAA+B,EAAE,CAAI;;;;;YACxE,MAAM,GAAG,GAAG,MAAM,OAAM,sBAAsB,YAAC,UAAU,EAAE,CAAC,CAAwB,CAAC;YACrF,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,KAAI,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA,CAAC;gBAExG,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpG,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,KAAK,EAAE,EAAE;wBAC/F,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBAClL,KAAK,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACnJ,KAAK,CAAC,OAAyC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;wBACjG,KAAK,CAAC,OAAyC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;wBACpF,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAA,CAAC,CAAC,CAAC;gBACR,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/C,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrM,CAAC;gBACD,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;gBAElI,2DAA2D;gBAC3D,OAAO;gBACP,yCAAyC;gBACzC,wFAAwF;gBACxF,IAAI;YACR,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,qBAAqB,CAAC,SAA6B,EAAE,CAAI;;;;;YACrE,MAAM,GAAG,GAAG,MAAM,OAAM,qBAAqB,YAAC,SAAS,EAAE,CAAC,CAAuB,CAAC;YAClF,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;gBAC7H,CAAC;gBACD,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9F,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAO,GAAG,EAAE,KAAK,EAAE,EAAE;wBAC3F,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBACtK,GAAG,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACzI,OAAO,GAAG,CAAC;oBACf,CAAC,CAAA,CAAC,CAAC,CAAC;gBACR,CAAC;qBAAM,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC5C,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC5L,CAAC;gBACD,2DAA2D;gBAE3D,OAAO;gBACP,8HAA8H;gBAC9H,8EAA8E;gBAC9E,QAAQ;YACZ,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,WAAW,CAAC,UAAoB,EAAE,CAAI;;;;;YAClD,MAAM,GAAG,GAAG,MAAM,OAAM,WAAW,YAAC,UAAU,EAAE,CAAC,CAAa,CAAC;YAC/D,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;gBACxG,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAClD,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAClG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CACtC,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBAE9F,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpC,KAAK,CAAC,OAAyB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;oBAClF,CAAC;gBACL,CAAC;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,YAAY,CAAC,OAAkB,EAAE,CAAI;;;;;YACjD,MAAM,GAAG,GAAG,MAAM,OAAM,YAAY,YAAC,OAAO,EAAE,CAAC,CAAc,CAAC;YAC9D,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;gBACtK,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAC9J,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,QAAQ,CAAC,IAAW,EAAE,CAAI;;;;;YACtC,MAAM,GAAG,GAAG,MAAM,OAAM,QAAQ,YAAC,IAAI,EAAE,CAAC,CAAU,CAAC;YACnD,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,KAAK,CAAC,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAO,MAAM,EAAE,KAAK,EAAE,EAAE;oBACxE,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAChF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9F,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAClM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;oBACtH,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,OAAO,MAAM,CAAC;gBAClB,CAAC,CAAA,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,KAAI,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAAiC,CAAA,CAAC;YACnN,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,oBAAoB,CAAC,eAAmC,EAAE,CAAI;;;;;YAC1E,MAAM,GAAG,GAAG,MAAM,OAAM,oBAAoB,YAAC,eAAe,EAAE,CAAC,CAAuB,CAAC;YACvF,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBACvC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC3C,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,aAAa,CAAC,QAAqB,EAAE,CAAI;;;;;YACrD,MAAM,GAAG,GAAG,MAAM,OAAM,aAAa,YAAC,QAAQ,EAAE,CAAC,CAAgB,CAAC;YAClE,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,KAAK,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAClH,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,UAAU,CAAC,KAAc,EAAE,CAAI;;;;;YAC3C,MAAM,GAAG,GAAG,MAAM,OAAM,UAAU,YAAC,KAAK,EAAE,CAAC,CAAY,CAAC;YACxD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;gBAEjD,QAAQ,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC7B,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC/B,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC/B,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC3B,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC3B,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;oBACtB,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU;wBACxB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxD,MAAM;oBAEV,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;oBAChC,KAAK,QAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa;wBAC3B,yCAAyC;wBACzC,MAAM;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IACe,aAAa,CAAC,QAA8C,EAAE,CAAI;;;;;YAC9E,MAAM,GAAG,GAAG,MAAM,OAAM,aAAa,YAAC,QAAQ,EAAE,CAAC,CAAyC,CAAC;YAC3F,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACpB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG,CAAC;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,cAAc,CAAC,SAAsB,EAAE,CAAI;;;;;YACvD,MAAM,GAAG,GAAG,MAAM,OAAM,cAAc,YAAC,SAAS,EAAE,CAAC,CAAgB,CAAC;YACpE,OAAO,IAAA,sBAAY,EAAC,GAAG,EAAE,CAAM,KAAK,EAAC,EAAE;gBACnC,KAAK,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpJ,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;gBACzG,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACpM,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEa,qBAAqB,CAAc,KAAuB,EAAE,UAAmB;;YACzF,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,oFAAoF;gBACpF,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxF,uCAAW,KAAK,KAAE,KAAK,kCAAM,KAAK,CAAC,KAAK,KAAE,QAAQ,OAAG;YACzD,CAAC;YAED,IAAI,UAAU,IAAI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvE,uCAAW,KAAK,KAAE,KAAK,kCAAM,KAAK,CAAC,KAAK,KAAE,UAAU,EAAE,GAAG,OAAG;YAChE,CAAC;iBAAM,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtF,uCAAW,KAAK,KAAE,KAAK,kCAAM,KAAK,CAAC,KAAK,KAAE,UAAU,EAAE,EAAE,OAAG;YAC/D,CAAC;iBAAM,CAAC;gBACJ,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;KAAA;IAEa,4BAA4B,CAAc,IAAqB,EAAE,kBAA2B,EAAE,kBAA2B;;YACnI,OAAO,IAAA,sBAAY,EAAC,IAAI,EAAE,CAAM,KAAK,EAAC,EAAE;gBACpC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACpC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,CAAC;gBACD,KAAK,CAAC,OAAO,IAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAa,CAAA,CAAC;YACzF,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEa,6BAA6B,CAAc,KAAuB,EAAE,WAAoB;;YAClG,OAAO,IAAA,sBAAY,EAAC,KAAK,EAAE,CAAM,KAAK,EAAC,EAAE;gBACrC,KAAK,CAAC,OAAO,IAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAa,CAAA,CAAC;YACnF,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEa,WAAW,CAAc,CAAI,EAAE,WAAoB;;YAC7D,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,WAAW,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBAClC,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpF,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;KAAA;IAEa,oBAAoB,CAAc,SAAyB,EAAE,WAAoB;;YAC3F,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,oFAAoF;gBACpF,OAAO,IAAA,eAAO,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE;oBAC9B,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACzG,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,WAAW,IAAI,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7E,OAAO,IAAA,eAAO,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE;oBAC9B,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBAClC,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5F,OAAO,IAAA,eAAO,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE;oBAC9B,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;KAAA;IAEO,MAAM,CAAC,sBAAsB,CAAC,QAAmB,EAAE,WAAoB;QAC3E,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAgB,EAAE,WAAoB;QAC7D,IAAI,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,OAAO,IAAA,eAAO,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,OAAO,IAAA,eAAO,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,GAAW;QACnC,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,CAAS;QAC5C,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,GAAW;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC;IACjD,CAAC;CACJ;AAndD,sCAmdC;AAED,MAAa,wBAA4B,SAAQ,2BAAoB;IACjE,YAA6B,KAA6B,EAAU,SAAgB;QAChF,KAAK,EAAE,CAAC;QADiB,UAAK,GAAL,KAAK,CAAwB;QAAU,cAAS,GAAT,SAAS,CAAO;IAEpF,CAAC;IAEc,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;;;;;YAC/D,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,CAAC,MAAM,CAAC,KAAI,IAAI,EAAE,CAAC;gBACjD,OAAO,IAAS,CAAC;YACrB,CAAC;YACD,OAAO,OAAM,KAAK,YAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QACxC,CAAC;KAAA;IAEc,SAAS,CAAC,IAAO,EAAE,CAAI;;;;;;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAM,SAAS,YAAC,IAAI,EAAE,CAAC,EAAE;QACpC,CAAC;KAAA;IAEY,cAAc,CAAC,SAAoB,EAAE,CAAI;;;;;YAClD,MAAM,CAAC,GAAG,MAAM,OAAM,cAAc,YAAC,SAAS,EAAE,CAAC,CAAc,CAAC;YAChE,qBAAqB;YACrB,kDAAkD;YAClD,yEAAyE;YACzE,iDAAiD;YACjD,uCAAuC;YACvC,wEAAwE;YACxE,cAAc;YACd,QAAQ;YACR,IAAI;YACJ,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IAEe,yBAAyB,CAAC,aAAqC,EAAE,CAAI;;;;;;YACjF,MAAM,CAAC,GAAG,MAAM,OAAM,yBAAyB,YAAC,aAAa,EAAE,CAAC,CAA2B,CAAC;YAC5F,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0CAAE,KAAK,CAAC;YAC/C,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBACvE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC7B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBACjE,CAAC;6BAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxF,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;wBAC3F,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IAEe,sBAAsB,CAAC,MAA2B,EAAE,CAAI;;;;;YACpE,MAAM,CAAC,GAAG,MAAM,OAAM,sBAAsB,YAAC,MAAM,EAAE,CAAC,CAAwB,CAAC;YAC/E,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACtB,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACvE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACjE,CAAC;yBAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxF,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC3F,CAAC;yBAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpG,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC;oBACvG,CAAC;yBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBACvE,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,SAAS,CAAC,QAAmB,EAAE,CAAI;;;;;YAC/C,MAAM,CAAC,GAAG,MAAM,OAAM,SAAS,YAAC,QAAQ,EAAE,CAAC,CAAc,CAAC;YAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAE1F,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACtB,IAAI,OAAO,EAAE,CAAC;oBACV,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC;oBAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC1D,IAAI,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;wBACnC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC7D,CAAC;yBAAM,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC;wBAC1C,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;oBACjC,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,qBAAqB,CAAC,SAA6B,EAAE,CAAI;;;;;YACrE,MAAM,CAAC,GAAG,MAAM,OAAM,qBAAqB,YAAC,SAAS,EAAE,CAAC,CAAuB,CAAC;YAChF,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACtB,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACvE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACjE,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;wBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BACzC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;wBAC3D,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,UAAU,CAAC,KAAc,EAAE,CAAI;;;;;YAC3C,MAAM,CAAC,GAAG,MAAM,OAAM,UAAU,YAAC,KAAK,EAAE,CAAC,CAAY,CAAC;YACtD,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC3J,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,WAAW,CAAC,OAAiB,EAAE,CAAI;;;;;YAC/C,OAAO,OAAM,WAAW,YAAC,OAAO,EAAE,CAAC,EAAE;QACzC,CAAC;KAAA;IAEO,YAAY,CAAgC,IAAS;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB,CAAC,KAAc;QACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,CAAC;QACP,CAAC;QACD,6EAA6E;QAC7E,oEAAoE;QACpE,8FAA8F;QAC9F,IAAI;QAEJ,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,SAAuB;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO;gBACH,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE;oBACnB,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC7D,CAAC,CAAC;gBACF,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACxB,CAAC;QACN,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA5JD,4DA4JC;AAGD,MAAa,2BAA+B,SAAQ,2BAAoB;IACpE,YAAoB,SAAgB;QAChC,KAAK,EAAE,CAAC;QADQ,cAAS,GAAT,SAAS,CAAO;IAEpC,CAAC;IAEc,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;;;;;YAC/D,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,CAAC,MAAM,CAAC,KAAI,IAAI,EAAE,CAAC;gBACjD,OAAO,IAAS,CAAC;YACrB,CAAC;YACD,OAAO,OAAM,KAAK,YAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QACxC,CAAC;KAAA;IAEc,SAAS,CAAC,IAAO,EAAE,CAAI;;;;;;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAM,SAAS,YAAC,IAAI,EAAE,CAAC,EAAE;QACpC,CAAC;KAAA;IAEe,UAAU,CAAC,MAAgB,EAAE,CAAI;;;;;YAC7C,MAAM,GAAG,GAAG,MAAM,OAAM,UAAU,YAAC,MAAM,EAAE,CAAC,CAAa,CAAC;YAC1D,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,qBAAqB,CAAC,SAA6B,EAAE,CAAI;;;;;YACrE,IAAI,CAAC,GAAG,MAAM,OAAM,qBAAqB,YAAC,SAAS,EAAE,CAAC,CAAuB,CAAC;YAC9E,IAAI,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBACpD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClH,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAe,CAAC,MAAM,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBAClD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBACxD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAW,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,KAAK,CAAC,UAAU,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClE,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IAEe,sBAAsB,CAAC,MAA2B,EAAE,CAAI;;;;;YACpE,IAAI,CAAC,GAAG,MAAM,OAAM,sBAAsB,YAAC,MAAM,EAAE,CAAC,CAAwB,CAAC;YAC7E,IAAI,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;YAE9C,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC7E,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBACpD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBAC5C,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBAChD,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IAEe,yBAAyB,CAAC,oBAA6C,EAAE,CAAI;;;;;YACzF,MAAM,GAAG,GAAG,MAAM,OAAM,yBAAyB,YAAC,oBAAoB,EAAE,CAAC,CAA4B,CAAC;YACtG,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAC,GAAG,CAAC;gBAC5C,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,aAAa,CAAC,QAAoB,EAAE,CAAI;;;;;YACpD,MAAM,GAAG,GAAG,MAAM,OAAM,aAAa,YAAC,QAAQ,EAAE,CAAC,CAAe,CAAC;YACjE,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,SAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACjD,IAAI,CAAC,WAAW,CAAE,KAAK,CAAC,KAAsC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACtF,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,WAAW,CAAC,UAAoB,EAAE,CAAI;;;;;YAClD,MAAM,CAAC,GAAG,MAAM,OAAM,WAAW,YAAC,UAAU,EAAE,CAAC,CAAa,CAAC;YAC7D,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE;gBACrD,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,4CAA4C,CAAC,EAAE,CAAC;gBACtF,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACtB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAW,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IAEe,UAAU,CAAC,MAAe,EAAE,CAAI;;;;;YAC5C,MAAM,GAAG,GAAG,MAAM,OAAM,UAAU,YAAC,MAAM,EAAE,CAAC,CAAY,CAAC;YACzD,OAAO,GAAG,IAAI,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,oBAAoB,CAAC,eAAmC,EAAE,CAAI;;;;;YAC1E,MAAM,GAAG,GAAG,MAAM,OAAM,oBAAoB,YAAC,eAAe,EAAE,CAAC,CAAuB,CAAC;YACvF,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,WAAW,CAAC,MAAiB,EAAE,CAAI;;;;;YAC/C,MAAM,GAAG,GAAG,MAAM,OAAM,WAAW,YAAC,MAAM,EAAE,CAAC,CAAc,CAAC;YAC5D,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,kBAAkB,CAAC,SAA0B,EAAE,CAAI;;;;;YAC/D,MAAM,GAAG,GAAG,MAAM,OAAM,kBAAkB,YAAC,SAAS,EAAE,CAAC,CAAoB,CAAC;YAC5E,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,yBAAyB,CAAC,CAAyB,EAAE,CAAI;;;;;YACrE,IAAI,GAAG,GAAG,MAAM,OAAM,yBAAyB,YAAC,CAAC,EAAE,CAAC,CAA2B,CAAC;YAChF,IAAI,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;YAEhD,IAAI,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;oBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;oBACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IAGe,SAAS,CAAC,QAAgB,EAAE,CAAI;;;;;YAC5C,MAAM,CAAC,GAAG,MAAM,OAAM,SAAS,YAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;YAEvD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBACjI,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;oBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBAClD,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IAEO,WAAW,CAAC,UAA0B;QAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC;QAChC,CAAC;IACL,CAAC;CACJ;AAnOD,kEAmOC;AAED,MAAa,iBAAqB,SAAQ,2BAAoB;IAC1D,YAA6B,KAAsB,EAAU,SAAgB;QACzE,KAAK,EAAE,CAAC;QADiB,UAAK,GAAL,KAAK,CAAiB;QAAU,cAAS,GAAT,SAAS,CAAO;IAE7E,CAAC;IAEc,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;;;;;YAC/D,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,CAAC,MAAM,CAAC,KAAI,IAAI,EAAE,CAAC;gBACjD,OAAO,IAAS,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,IAAA,eAAO,EAAC,IAA0B,EAAE,KAAK,CAAC,EAAE;oBACnD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACpC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;oBACjC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,OAAO,OAAM,KAAK,YAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;YACtC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzC,IAAI,GAAG,IAAA,eAAO,EAAC,IAA2B,EAAE,KAAK,CAAC,EAAE;oBAChD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,OAAM,KAAK,YAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QACxC,CAAC;KAAA;IAEe,qBAAqB,CAAC,SAA6B,EAAE,CAAI;;;;;YACrE,IAAI,GAAG,GAAG,MAAM,OAAM,qBAAqB,YAAC,SAAS,EAAE,CAAC,CAAuB,CAAC;YAChF,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,GAAG,CAAC;YAC1B,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;gBACzC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;wBAClD,IAAI,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC3C,IAAI,eAAe,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,oBAAoB,IAAI,cAAc,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC5G,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA,CAAC,8BAA8B;wBAC7G,CAAC;wBACD,IAAI,eAAe,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,cAAc,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACtG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA,CAAC,+BAA+B;wBAC/G,CAAC;wBACD,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAC1E,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC;oBACtD,CAAC;gBACL,CAAC;gBAED,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAM,EAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,eAAe,CAAmC,CAAC;gBACjJ,MAAM,aAAa,GAAG,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE9E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,sBAAsB,GAAG,aAAa,GAAG,CAAC,IAAI,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,CAAC,aAAa,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,CAAC;oBAEtH,IAAI,sBAAsB,EAAE,CAAC;wBACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,mCAAI,CAAC,CAAC,CAAC;oBACxE,CAAC;oBACD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEc,cAAc,CAAC,SAAoB,EAAE,CAAI;;;;;;YACpD,MAAM,GAAG,GAAG,MAAM,OAAM,cAAc,YAAC,SAAS,EAAE,CAAC,CAAc,CAAC;YAClE,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0CAAE,KAAK,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0CAAE,MAAM,0CAAE,KAAK,CAAC;YAE5D,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;;gBACxB,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACjF,MAAM,SAAS,GAAG,WAAiC,CAAC;oBACpD,MAAM,KAAK,GAAG,MAAiB,CAAC;oBAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;oBAC3F,IAAI,CAAC,OAAO,EAAE,CAAC;wBACX,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,KAAK,QAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;gCAC/E,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,mCAAI,CAAC;gCAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;4BACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC3C,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACjD,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,KAAK,QAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;gCAC/E,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,mCAAI,CAAC;gCACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;4BACtC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC3C,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;4BACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;wBACrE,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAClE,CAAC;wBACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACrE,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,KAAK;oBAC9B,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,eAAe,IAAK,MAA8B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;oBAClH,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,IAAI,KAAK,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBACvC,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,UAAU,CAAC,KAAc,EAAE,CAAI;;;;;YAC3C,MAAM,CAAC,GAAG,MAAM,OAAM,UAAU,YAAC,KAAK,EAAE,CAAC,CAAY,CAAC;YACtD,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvD,CAAC;gBACD,uCAAuC;gBACvC,yFAAyF;YAC7F,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEe,cAAc,CAAC,SAAsB,EAAE,CAAI;;;;;YACvD,MAAM,CAAC,GAAG,MAAM,OAAM,cAAc,YAAC,SAAS,EAAE,CAAC,CAAgB,CAAC;YAClE,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,CAAC,CAAC;QACb,CAAC;KAAA;IACD,uCAAuC;IACvC,mFAAmF;IACnF,sEAAsE;IACtE,6BAA6B;IAC7B,EAAE;IACF,mCAAmC;IACnC,mDAAmD;IACnD,0IAA0I;IAC1I,YAAY;IACZ,UAAU;IACV,IAAI;IAEI,qBAAqB,CAAc,IAAc,EAAE,GAAW;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;gBACnD,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAc,IAAc,EAAE,GAAW;QAC9D,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,MAAM,eAAe,GAAG,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,GAAG,GAAG,eAAe,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1E,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAc,IAAc;QACtD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,CAAC,sBAAsB,CAAE,IAA+B,CAAC,UAAU,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,CAAS;QAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC;IAEc,SAAS,CAAC,IAAO,EAAE,CAAI;;;;;;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAM,SAAS,YAAC,IAAI,EAAE,CAAC,EAAE;QACpC,CAAC;KAAA;CACJ;AA/KD,8CA+KC;AAED,MAAa,qBAAyB,SAAQ,2BAAoB;IAI9D,YAA6B,mBAAwC,EAAU,SAAgB;QAC3F,KAAK,EAAE,CAAC;QADiB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAAU,cAAS,GAAT,SAAS,CAAO;QAE3F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,gEAAgE;QAErF,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAEe,QAAQ,CAAC,IAAO,EAAE,CAAI;;;;;YAClC,MAAM,GAAG,GAAG,MAAM,OAAM,QAAQ,YAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,oBAAoB,GAAG,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAEnF,+DAA+D;YAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAY,CAAC;gBAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChD,oBAAoB,GAAG,IAAI,CAAC;gBAChC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,IAAmB,CAAC;gBACtC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/C,oBAAoB,GAAG,IAAI,CAAC;gBAChC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAiB,CAAC;gBAClC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC7C,oBAAoB,GAAG,IAAI,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IAEK,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;;;;;;YACtD,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,CAAC,MAAM,CAAC,KAAI,IAAI,EAAE,CAAC;gBACjD,OAAO,IAAS,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,GAAG,MAAM,OAAM,KAAK,YAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAM,CAAC;YAClD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACnB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YAE1C,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;oBAC5B,KAAK,CAAC,MAAM,GAAG,EAAC,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAC1F,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,KAAmC,CAAC;oBAClD,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACpF,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEY,eAAe,CAAoD,IAAqB,EAAE,CAAI;;;;;YACvG,MAAM,GAAG,GAAG,MAAM,OAAM,eAAe,YAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACnB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9F,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED,IAAY,aAAa;;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YACtB,MAAM,mBAAmB,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAM,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,0CAAE,MAAM,CAAC,UAAU,CAAC;YAC9I,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,cAAsB;QACvD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;IAC5E,CAAC;IAEc,SAAS,CAAC,IAAO,EAAE,CAAI;;;;;;YAClC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAM,SAAS,YAAC,IAAI,EAAE,CAAC,EAAE;QACpC,CAAC;KAAA;CACJ;AAtGD,sDAsGC"}
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/javascript/visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/javascript/visitor.ts"],"names":[],"mappings":"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"}
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- 8.65.0-20251025-160156
1
+ 8.65.0-20251026-142643
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.65.0-20251025-160607",
3
+ "version": "8.65.0-20251026-143056",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
@@ -17,7 +17,7 @@ import {JS} from "./tree";
17
17
  import {JavaScriptVisitor} from "./visitor";
18
18
  import {Comment, emptySpace, J, Statement} from "../java";
19
19
  import {Draft, produce} from "immer";
20
- import {Cursor, Tree} from "../tree";
20
+ import {Cursor, isScope, Tree} from "../tree";
21
21
  import {
22
22
  BlankLinesStyle,
23
23
  SpacesStyle,
@@ -28,15 +28,30 @@ import {
28
28
  } from "./style";
29
29
  import {produceAsync} from "../visitor";
30
30
 
31
+ export async function maybeAutoFormat<J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> {
32
+ if (before !== after) {
33
+ return autoFormat(after, p, stopAfter, parent);
34
+ }
35
+ return after;
36
+ }
37
+
38
+ export async function autoFormat<J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> {
39
+ return await new AutoformatVisitor(stopAfter).visit(j, p, parent) as J2;
40
+ }
41
+
31
42
  export class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
43
+ constructor(private stopAfter?: Tree) {
44
+ super();
45
+ }
46
+
32
47
  async visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined> {
33
48
  const visitors = [
34
- new NormalizeWhitespaceVisitor(),
35
- new MinimumViableSpacingVisitor(),
36
- new BlankLinesVisitor(styleFromSourceFile(StyleKind.BlankLinesStyle, tree) as BlankLinesStyle),
37
- new WrappingAndBracesVisitor(styleFromSourceFile(StyleKind.WrappingAndBracesStyle, tree) as WrappingAndBracesStyle),
38
- new SpacesVisitor(styleFromSourceFile(StyleKind.SpacesStyle, tree) as SpacesStyle),
39
- new TabsAndIndentsVisitor(styleFromSourceFile(StyleKind.TabsAndIndentsStyle, tree) as TabsAndIndentsStyle),
49
+ new NormalizeWhitespaceVisitor(this.stopAfter),
50
+ new MinimumViableSpacingVisitor(this.stopAfter),
51
+ new BlankLinesVisitor(styleFromSourceFile(StyleKind.BlankLinesStyle, tree) as BlankLinesStyle, this.stopAfter),
52
+ new WrappingAndBracesVisitor(styleFromSourceFile(StyleKind.WrappingAndBracesStyle, tree) as WrappingAndBracesStyle, this.stopAfter),
53
+ new SpacesVisitor(styleFromSourceFile(StyleKind.SpacesStyle, tree) as SpacesStyle, this.stopAfter),
54
+ new TabsAndIndentsVisitor(styleFromSourceFile(StyleKind.TabsAndIndentsStyle, tree) as TabsAndIndentsStyle, this.stopAfter),
40
55
  ]
41
56
 
42
57
  let t: R | undefined = tree as R;
@@ -53,6 +68,24 @@ export class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
53
68
  export class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
54
69
  // called NormalizeFormat in Java
55
70
 
71
+ constructor(private stopAfter?: Tree) {
72
+ super();
73
+ }
74
+
75
+ override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
76
+ if (this.cursor?.getNearestMessage("stop") != null) {
77
+ return tree as R;
78
+ }
79
+ return super.visit(tree, p, parent);
80
+ }
81
+
82
+ override async postVisit(tree: J, p: P): Promise<J | undefined> {
83
+ if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
84
+ this.cursor?.root.messages.set("stop", true);
85
+ }
86
+ return super.postVisit(tree, p);
87
+ }
88
+
56
89
  private concatenatePrefix(node: Draft<J>, right: J.Space) {
57
90
  // TODO look at https://github.com/openrewrite/rewrite/commit/990a366fab9e5656812d81d0eb15ecb6bfd2fde0#diff-ec2e977fe8f1e189735e71b817f8f1ebaf79c1490c0210652e8a559f7f7877de
58
91
  // and possibly incorporate it here - some special logic needed to merge comments better (?)
@@ -62,10 +95,24 @@ export class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
62
95
  }
63
96
 
64
97
  export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
65
- constructor(private style: SpacesStyle) {
98
+ constructor(private style: SpacesStyle, private stopAfter?: Tree) {
66
99
  super();
67
100
  }
68
101
 
102
+ override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
103
+ if (this.cursor?.getNearestMessage("stop") != null) {
104
+ return tree as R;
105
+ }
106
+ return super.visit(tree, p, parent);
107
+ }
108
+
109
+ override async postVisit(tree: J, p: P): Promise<J | undefined> {
110
+ if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
111
+ this.cursor?.root.messages.set("stop", true);
112
+ }
113
+ return super.postVisit(tree, p);
114
+ }
115
+
69
116
  protected async visitAlias(alias: JS.Alias, p: P): Promise<J | undefined> {
70
117
  const ret = await super.visitAlias(alias, p) as JS.Alias;
71
118
  return produce(ret, draft => {
@@ -517,10 +564,24 @@ export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
517
564
  }
518
565
 
519
566
  export class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
520
- constructor(private readonly style: WrappingAndBracesStyle) {
567
+ constructor(private readonly style: WrappingAndBracesStyle, private stopAfter?: Tree) {
521
568
  super();
522
569
  }
523
570
 
571
+ override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
572
+ if (this.cursor?.getNearestMessage("stop") != null) {
573
+ return tree as R;
574
+ }
575
+ return super.visit(tree, p, parent);
576
+ }
577
+
578
+ override async postVisit(tree: J, p: P): Promise<J | undefined> {
579
+ if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
580
+ this.cursor?.root.messages.set("stop", true);
581
+ }
582
+ return super.postVisit(tree, p);
583
+ }
584
+
524
585
  public async visitStatement(statement: Statement, p: P): Promise<Statement> {
525
586
  const j = await super.visitStatement(statement, p) as Statement;
526
587
  // TODO is it needed?
@@ -662,10 +723,24 @@ export class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
662
723
 
663
724
 
664
725
  export class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P> {
665
- constructor() {
726
+ constructor(private stopAfter?: Tree) {
666
727
  super();
667
728
  }
668
729
 
730
+ override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
731
+ if (this.cursor?.getNearestMessage("stop") != null) {
732
+ return tree as R;
733
+ }
734
+ return super.visit(tree, p, parent);
735
+ }
736
+
737
+ override async postVisit(tree: J, p: P): Promise<J | undefined> {
738
+ if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
739
+ this.cursor?.root.messages.set("stop", true);
740
+ }
741
+ return super.postVisit(tree, p);
742
+ }
743
+
669
744
  protected async visitAwait(await_: JS.Await, p: P): Promise<J | undefined> {
670
745
  const ret = await super.visitAwait(await_, p) as JS.Await;
671
746
  return produce(ret, draft => {
@@ -877,11 +952,14 @@ export class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P> {
877
952
  }
878
953
 
879
954
  export class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
880
- constructor(private readonly style: BlankLinesStyle) {
955
+ constructor(private readonly style: BlankLinesStyle, private stopAfter?: Tree) {
881
956
  super();
882
957
  }
883
958
 
884
959
  override async visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined> {
960
+ if (this.cursor?.getNearestMessage("stop") != null) {
961
+ return tree as R;
962
+ }
885
963
  if (tree.kind === JS.Kind.CompilationUnit) {
886
964
  const cu = produce(tree as JS.CompilationUnit, draft => {
887
965
  if (draft.prefix.comments.length == 0) {
@@ -1041,13 +1119,20 @@ export class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
1041
1119
  private static countNewlines(s: string): number {
1042
1120
  return [...s].filter(c => c === "\n").length;
1043
1121
  }
1122
+
1123
+ override async postVisit(tree: J, p: P): Promise<J | undefined> {
1124
+ if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
1125
+ this.cursor?.root.messages.set("stop", true);
1126
+ }
1127
+ return super.postVisit(tree, p);
1128
+ }
1044
1129
  }
1045
1130
 
1046
1131
  export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
1047
1132
  private readonly newline: string;
1048
1133
  private readonly singleIndent: string;
1049
1134
 
1050
- constructor(private readonly tabsAndIndentsStyle: TabsAndIndentsStyle) {
1135
+ constructor(private readonly tabsAndIndentsStyle: TabsAndIndentsStyle, private stopAfter?: Tree) {
1051
1136
  super();
1052
1137
  this.newline = "\n"; // TODO this should be configurable and come from some style too
1053
1138
 
@@ -1060,7 +1145,26 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
1060
1145
 
1061
1146
  protected async preVisit(tree: J, p: P): Promise<J | undefined> {
1062
1147
  const ret = await super.preVisit(tree, p);
1063
- const indentShouldIncrease = tree.kind === J.Kind.Block || tree.kind === J.Kind.Case;
1148
+ let indentShouldIncrease = tree.kind === J.Kind.Block || tree.kind === J.Kind.Case;
1149
+
1150
+ // Increase indent for control structures with non-block bodies
1151
+ if (tree.kind === J.Kind.If) {
1152
+ const ifStmt = tree as J.If;
1153
+ if (ifStmt.thenPart.element.kind !== J.Kind.Block) {
1154
+ indentShouldIncrease = true;
1155
+ }
1156
+ } else if (tree.kind === J.Kind.WhileLoop) {
1157
+ const whileLoop = tree as J.WhileLoop;
1158
+ if (whileLoop.body.element.kind !== J.Kind.Block) {
1159
+ indentShouldIncrease = true;
1160
+ }
1161
+ } else if (tree.kind === J.Kind.ForLoop) {
1162
+ const forLoop = tree as J.ForLoop;
1163
+ if (forLoop.body.element.kind !== J.Kind.Block) {
1164
+ indentShouldIncrease = true;
1165
+ }
1166
+ }
1167
+
1064
1168
  if (indentShouldIncrease) {
1065
1169
  this.cursor.messages.set("indentToUse", this.currentIndent + this.singleIndent);
1066
1170
  }
@@ -1068,6 +1172,9 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
1068
1172
  }
1069
1173
 
1070
1174
  async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
1175
+ if (this.cursor?.getNearestMessage("stop") != null) {
1176
+ return tree as R;
1177
+ }
1071
1178
  let ret = await super.visit(tree, p, parent) as R;
1072
1179
  if (ret == undefined) {
1073
1180
  return ret;
@@ -1116,4 +1223,11 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
1116
1223
  private combineIndent(oldWs: string, relativeIndent: string): string {
1117
1224
  return oldWs.substring(0, oldWs.lastIndexOf("\n") + 1) + relativeIndent;
1118
1225
  }
1226
+
1227
+ override async postVisit(tree: J, p: P): Promise<J | undefined> {
1228
+ if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
1229
+ this.cursor?.root.messages.set("stop", true);
1230
+ }
1231
+ return super.postVisit(tree, p);
1232
+ }
1119
1233
  }
@@ -16,7 +16,7 @@
16
16
  * limitations under the License.
17
17
  */
18
18
  import {mapAsync, updateIfChanged} from "../util";
19
- import {SourceFile} from "../tree";
19
+ import {Cursor, SourceFile} from "../tree";
20
20
  import {ValidImmerRecipeReturnType} from "../visitor";
21
21
  import {Expression, J, Type, JavaVisitor, NameTree, Statement, TypedTree} from "../java";
22
22
  import {createDraft, Draft, finishDraft} from "immer";