typesql-cli 0.12.0-next1 → 0.12.0-next2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +1 -2
- package/code-generator.js.map +1 -1
- package/package.json +1 -1
- package/sqlite-query-analyzer/code-generator.d.ts +1 -3
- package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
- package/sqlite-query-analyzer/code-generator.js +222 -203
- package/sqlite-query-analyzer/code-generator.js.map +1 -1
package/code-generator.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAErB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAG9D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAA4B,MAAM,wBAAwB,CAAC;AAE/G,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAsB,MAAM,8BAA8B,CAAC;AAIlI,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,MAAM,CAoZzG;AAiCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,wCAKvC;AASD,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAEjF;AAED,wBAAgB,cAAc,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,iBAAiB,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,EACnB,UAAU,CAAC,EAAE,MAAM,QAoBnB;AAUD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAgEvE;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAerF;AAGD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAehG;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYlE;AAOD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,UAMtD;AASD,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAE3D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAEzD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,UAI9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAE5D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,UAE7C;AAOD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAGlE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,OAAO,
|
1
|
+
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
|
package/code-generator.js
CHANGED
@@ -696,9 +696,8 @@ function generateTsFile(client, sqlFile, dbSchema, isCrudFile) {
|
|
696
696
|
case 'better-sqlite3':
|
697
697
|
case 'bun:sqlite':
|
698
698
|
case 'libsql':
|
699
|
-
return (0, code_generator_1.validateAndGenerateCode)(client, sqlContent, queryName, dbSchema, isCrudFile);
|
700
699
|
case 'd1:sqlite':
|
701
|
-
return (0, code_generator_1.
|
700
|
+
return (0, code_generator_1.validateAndGenerateCode)(client, sqlContent, queryName, dbSchema, isCrudFile);
|
702
701
|
}
|
703
702
|
}))(client.type);
|
704
703
|
const tsFilePath = `${node_path_1.default.resolve(dirPath, fileName)}.ts`;
|
package/code-generator.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
import { type Either } from 'fp-ts/lib/Either';
|
2
2
|
import type { ColumnSchema } from '../mysql-query-analyzer/types';
|
3
|
-
import type { BunDialect, LibSqlClient, QueryType, SQLiteClient, SQLiteDialect, TypeSqlError
|
3
|
+
import type { BunDialect, LibSqlClient, QueryType, SQLiteClient, SQLiteDialect, TypeSqlError } from '../types';
|
4
4
|
export declare function validateAndGenerateCode(client: SQLiteDialect | LibSqlClient | BunDialect, sql: string, queryName: string, sqliteDbSchema: ColumnSchema[], isCrud?: boolean): Either<TypeSqlError, string>;
|
5
|
-
export declare function validateAndGenerateD1Code(client: D1Dialect, sql: string, queryName: string, sqliteDbSchema: ColumnSchema[], isCrud?: boolean): Either<TypeSqlError, string>;
|
6
5
|
export declare function generateCrud(client: SQLiteClient, queryType: QueryType, tableName: string, dbSchema: ColumnSchema[]): string;
|
7
6
|
export declare function generateTsCode(sql: string, queryName: string, sqliteDbSchema: ColumnSchema[], client: SQLiteClient, isCrud?: boolean): Either<TypeSqlError, string>;
|
8
|
-
export declare function generateD1TsCode(sql: string, queryName: string, sqliteDbSchema: ColumnSchema[], client: SQLiteClient, isCrud?: boolean): Either<TypeSqlError, string>;
|
9
7
|
//# sourceMappingURL=code-generator.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgB9E,OAAO,KAAK,EACX,UAAU,EACV,YAAY,EAEZ,SAAS,EACT,YAAY,EACZ,aAAa,EAIb,YAAY,
|
1
|
+
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgB9E,OAAO,KAAK,EACX,UAAU,EACV,YAAY,EAEZ,SAAS,EACT,YAAY,EACZ,aAAa,EAIb,YAAY,EACZ,MAAM,UAAU,CAAC;AA8BlB,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,EACjD,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,YAAY,EAAE,EAC9B,MAAM,UAAQ,GACZ,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAW9B;AAcD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UA2BnH;AAiBD,wBAAgB,cAAc,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,YAAY,EAAE,EAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,UAAQ,GACZ,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAQ9B"}
|
@@ -4,10 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.validateAndGenerateCode = validateAndGenerateCode;
|
7
|
-
exports.validateAndGenerateD1Code = validateAndGenerateD1Code;
|
8
7
|
exports.generateCrud = generateCrud;
|
9
8
|
exports.generateTsCode = generateTsCode;
|
10
|
-
exports.generateD1TsCode = generateD1TsCode;
|
11
9
|
const Either_1 = require("fp-ts/lib/Either");
|
12
10
|
const parser_1 = require("./parser");
|
13
11
|
const code_generator_1 = require("../code-generator");
|
@@ -29,20 +27,6 @@ function validateAndGenerateCode(client, sql, queryName, sqliteDbSchema, isCrud
|
|
29
27
|
const code = generateTsCode(sql, queryName, sqliteDbSchema, client.type, isCrud);
|
30
28
|
return code;
|
31
29
|
}
|
32
|
-
function validateAndGenerateD1Code(client, sql, queryName, sqliteDbSchema, isCrud = false) {
|
33
|
-
const { sql: processedSql } = (0, describe_query_1.preprocessSql)(sql);
|
34
|
-
const explainSqlResult = (0, query_executor_1.explainSql)(client.client, processedSql);
|
35
|
-
if ((0, Either_1.isLeft)(explainSqlResult)) {
|
36
|
-
return (0, Either_1.left)({
|
37
|
-
name: 'Invalid sql',
|
38
|
-
description: explainSqlResult.left.description
|
39
|
-
});
|
40
|
-
}
|
41
|
-
const code = client.type === 'd1:sqlite'
|
42
|
-
? generateD1TsCode(sql, queryName, sqliteDbSchema, client.type, isCrud)
|
43
|
-
: generateTsCode(sql, queryName, sqliteDbSchema, client.type, isCrud);
|
44
|
-
return code;
|
45
|
-
}
|
46
30
|
function mapToColumnInfo(col, checkOptional) {
|
47
31
|
const defaultValue = col.columnKey === 'PRI' && col.column_type === 'INTEGER' ? 'AUTOINCREMENT' : col.defaultValue;
|
48
32
|
const columnInfo = {
|
@@ -100,15 +84,6 @@ function generateTsCode(sql, queryName, sqliteDbSchema, client, isCrud = false)
|
|
100
84
|
const code = generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud);
|
101
85
|
return (0, Either_1.right)(code);
|
102
86
|
}
|
103
|
-
function generateD1TsCode(sql, queryName, sqliteDbSchema, client, isCrud = false) {
|
104
|
-
const schemaDefResult = (0, parser_1.parseSql)(sql, sqliteDbSchema);
|
105
|
-
if ((0, Either_1.isLeft)(schemaDefResult)) {
|
106
|
-
return schemaDefResult;
|
107
|
-
}
|
108
|
-
const tsDescriptor = createTsDescriptor(schemaDefResult.right, client);
|
109
|
-
const code = generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud);
|
110
|
-
return (0, Either_1.right)(code);
|
111
|
-
}
|
112
87
|
function createTsDescriptor(queryInfo, client) {
|
113
88
|
var _a;
|
114
89
|
const tsDescriptor = {
|
@@ -284,7 +259,7 @@ function mapColumnType(sqliteType, client) {
|
|
284
259
|
return 'any';
|
285
260
|
}
|
286
261
|
function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud = false, tableName = '') {
|
287
|
-
var _a;
|
262
|
+
var _a, _b;
|
288
263
|
const writer = new code_block_writer_1.default({
|
289
264
|
useTabs: true
|
290
265
|
});
|
@@ -321,20 +296,9 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud =
|
|
321
296
|
const allParameters = (((_a = tsDescriptor.data) === null || _a === void 0 ? void 0 : _a.map((param) => fromDriver('data', param))) || []).concat(tsDescriptor.parameters.map((param) => fromDriver('params', param)));
|
322
297
|
const queryParamsWithoutBrackets = allParameters.length > 0 ? `${allParameters.join(', ')}` : '';
|
323
298
|
const queryParams = queryParamsWithoutBrackets !== '' ? `[${queryParamsWithoutBrackets}]` : '';
|
324
|
-
|
325
|
-
|
326
|
-
}
|
327
|
-
if (client === 'bun:sqlite') {
|
328
|
-
writer.writeLine(`import type { Database } from 'bun:sqlite';`);
|
329
|
-
}
|
330
|
-
if (client === 'd1:sqlite') {
|
331
|
-
writer.writeLine(`import type { D1Database } from '@cloudflare/workers-types';`);
|
332
|
-
}
|
333
|
-
if (client === 'libsql') {
|
334
|
-
writer.writeLine(`import type { Client, Transaction } from '@libsql/client';`);
|
335
|
-
}
|
299
|
+
const isDynamicQuery = tsDescriptor.dynamicQuery2 != null;
|
300
|
+
writeImports(writer, client, isDynamicQuery);
|
336
301
|
if (tsDescriptor.dynamicQuery2 != null) {
|
337
|
-
writer.writeLine(`import { EOL } from 'os';`);
|
338
302
|
writer.blankLine();
|
339
303
|
writer.write(`export type ${dynamicParamsTypeName} = `).block(() => {
|
340
304
|
writer.writeLine(`select?: ${selectColumnsTypeName};`);
|
@@ -377,8 +341,8 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud =
|
|
377
341
|
});
|
378
342
|
});
|
379
343
|
writer.blankLine();
|
380
|
-
const asyncModified = client === 'libsql' ? 'async ' : '';
|
381
|
-
const returnTypeModifier = client === 'libsql' ? `Promise<${returnType}>` : returnType;
|
344
|
+
const asyncModified = client === 'libsql' || client === 'd1:sqlite' ? 'async ' : '';
|
345
|
+
const returnTypeModifier = client === 'libsql' || client === 'd1:sqlite' ? `Promise<${returnType}>` : returnType;
|
382
346
|
writer.write(`export ${asyncModified}function ${camelCaseName}(${functionArguments}): ${returnTypeModifier}`).block(() => {
|
383
347
|
var _a, _b, _c, _d, _e, _f;
|
384
348
|
writer.write('const where = whereConditionsToObject(params?.where);').newLine();
|
@@ -517,6 +481,14 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud =
|
|
517
481
|
.indent()
|
518
482
|
.write(`.map(data => mapArrayTo${resultTypeName}(data, params?.select))${tsDescriptor.multipleRowsResult ? '' : '[0]'};`);
|
519
483
|
}
|
484
|
+
if (client === 'd1:sqlite') {
|
485
|
+
writer.write('return db.prepare(sql)').newLine();
|
486
|
+
writer.indent().write('.bind(...paramsValues)').newLine();
|
487
|
+
writer.indent().write('.raw()').newLine();
|
488
|
+
writer
|
489
|
+
.indent()
|
490
|
+
.write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row, params?.select)))${tsDescriptor.multipleRowsResult ? '' : '[0]'};`);
|
491
|
+
}
|
520
492
|
if (client === 'libsql') {
|
521
493
|
writer.write('return client.execute({ sql, args: paramsValues })').newLine();
|
522
494
|
writer.indent().write('.then(res => res.rows)').newLine();
|
@@ -692,161 +664,31 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud =
|
|
692
664
|
const idColumn = tsDescriptor.parameters[0].name;
|
693
665
|
writeExecuteCrudBlock(client, queryType, tableName, tsDescriptor.columns, idColumn, client === 'bun:sqlite' || client === 'd1:sqlite' ? queryParamsWithoutBrackets : queryParams, paramsTypeName, dataTypeName, resultTypeName, writer);
|
694
666
|
});
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
writer.write(`export function ${camelCaseName}(${functionArguments}): ${returnType}`).block(() => {
|
699
|
-
const processedSql = tsDescriptor.orderByColumns ? (0, code_generator_1.replaceOrderByParam)(sql) : sql;
|
700
|
-
const sqlSplit = processedSql.split('\n');
|
701
|
-
writer.write('const sql = `').newLine();
|
702
|
-
sqlSplit.forEach((sqlLine) => {
|
703
|
-
writer.indent().write(sqlLine).newLine();
|
704
|
-
});
|
705
|
-
writer.indent().write('`').newLine();
|
706
|
-
writer.write('return db.prepare(sql)').newLine();
|
707
|
-
writer.indent().write('.raw(true)').newLine();
|
708
|
-
writer.indent().write(`.all(${queryParams})`).newLine();
|
709
|
-
writer.indent().write(`.map(data => mapArrayTo${resultTypeName}(data))${tsDescriptor.multipleRowsResult ? '' : '[0]'};`);
|
710
|
-
});
|
711
|
-
}
|
712
|
-
if (client === 'bun:sqlite') {
|
713
|
-
writer.write(`export function ${camelCaseName}(${functionArguments}): ${returnType}`).block(() => {
|
714
|
-
const processedSql = tsDescriptor.orderByColumns ? (0, code_generator_1.replaceOrderByParam)(sql) : sql;
|
715
|
-
const sqlSplit = processedSql.split('\n');
|
716
|
-
writer.write('const sql = `').newLine();
|
717
|
-
sqlSplit.forEach((sqlLine) => {
|
718
|
-
writer.indent().write(sqlLine).newLine();
|
719
|
-
});
|
720
|
-
writer.indent().write('`').newLine();
|
721
|
-
writer.write('return db.prepare(sql)').newLine();
|
722
|
-
writer.indent().write(`.values(${queryParamsWithoutBrackets})`).newLine();
|
723
|
-
writer.indent().write(`.map(data => mapArrayTo${resultTypeName}(data))${tsDescriptor.multipleRowsResult ? '' : '[0]'};`);
|
724
|
-
});
|
725
|
-
}
|
726
|
-
if (client === 'd1:sqlite') {
|
727
|
-
writer.write(`export async function ${camelCaseName}(${functionArguments}): Promise<${returnType}>`).block(() => {
|
728
|
-
const processedSql = tsDescriptor.orderByColumns ? (0, code_generator_1.replaceOrderByParam)(sql) : sql;
|
729
|
-
const sqlSplit = processedSql.split('\n');
|
730
|
-
writer.write('const sql = `').newLine();
|
731
|
-
sqlSplit.forEach((sqlLine) => {
|
732
|
-
writer.indent().write(sqlLine).newLine();
|
733
|
-
});
|
734
|
-
writer.indent().write('`').newLine();
|
735
|
-
writer.write('return db.prepare(sql)').newLine();
|
736
|
-
if (queryParamsWithoutBrackets !== '') {
|
737
|
-
writer.indent().write(`.bind(${queryParamsWithoutBrackets})`).newLine();
|
738
|
-
}
|
739
|
-
writer.indent().write('.raw({ columnNames: false })').newLine();
|
740
|
-
if (queryType === 'Select') {
|
741
|
-
if (tsDescriptor.multipleRowsResult) {
|
742
|
-
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row)));`);
|
743
|
-
}
|
744
|
-
else {
|
745
|
-
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row))[0]);`);
|
746
|
-
}
|
747
|
-
}
|
748
|
-
if (queryType === 'Insert') {
|
749
|
-
if (tsDescriptor.returning) {
|
750
|
-
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row))[0]);`);
|
751
|
-
}
|
752
|
-
else {
|
753
|
-
writer.indent().write(`.then(res => mapArrayTo${resultTypeName}(res));`);
|
754
|
-
}
|
755
|
-
}
|
756
|
-
});
|
757
|
-
}
|
758
|
-
if (!isCrud && client === 'libsql') {
|
759
|
-
writer.write(`export async function ${camelCaseName}(${functionArguments}): Promise<${returnType}>`).block(() => {
|
760
|
-
const processedSql = tsDescriptor.orderByColumns ? (0, code_generator_1.replaceOrderByParam)(sql) : sql;
|
761
|
-
const sqlSplit = processedSql.split('\n');
|
762
|
-
writer.write('const sql = `').newLine();
|
763
|
-
sqlSplit.forEach((sqlLine) => {
|
764
|
-
writer.indent().write(sqlLine).newLine();
|
765
|
-
});
|
766
|
-
writer.indent().write('`').newLine();
|
767
|
-
const executeParams = queryParams !== '' ? `{ sql, args: ${queryParams} }` : 'sql';
|
768
|
-
writer.write(`return client.execute(${executeParams})`).newLine();
|
769
|
-
if (queryType === 'Select') {
|
770
|
-
writer.indent().write('.then(res => res.rows)').newLine();
|
771
|
-
if (tsDescriptor.multipleRowsResult) {
|
772
|
-
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row)));`);
|
773
|
-
}
|
774
|
-
else {
|
775
|
-
writer.indent().write(`.then(rows => mapArrayTo${resultTypeName}(rows[0]));`);
|
776
|
-
}
|
777
|
-
}
|
778
|
-
if (queryType === 'Insert') {
|
779
|
-
if (tsDescriptor.returning) {
|
780
|
-
writer.indent().write('.then(res => res.rows)').newLine();
|
781
|
-
writer.indent().write(`.then(rows => mapArrayTo${resultTypeName}(rows[0]));`);
|
782
|
-
}
|
783
|
-
else {
|
784
|
-
writer.indent().write(`.then(res => mapArrayTo${resultTypeName}(res));`);
|
785
|
-
}
|
786
|
-
}
|
787
|
-
});
|
788
|
-
}
|
789
|
-
}
|
790
|
-
if (!isCrud && (queryType === 'Update' || queryType === 'Delete' || (queryType === 'Insert' && !tsDescriptor.returning))) {
|
791
|
-
if (client === 'better-sqlite3' || client === 'bun:sqlite') {
|
792
|
-
writer.write(`export function ${camelCaseName}(${functionArguments}): ${resultTypeName}`).block(() => {
|
793
|
-
const params = client === 'better-sqlite3' ? queryParams : queryParamsWithoutBrackets;
|
794
|
-
writeExecuteBlock(sql, params, resultTypeName, writer);
|
795
|
-
});
|
796
|
-
}
|
797
|
-
if (client === 'libsql') {
|
798
|
-
writer.write(`export async function ${camelCaseName}(${functionArguments}): Promise<${resultTypeName}>`).block(() => {
|
799
|
-
const sqlSplit = sql.split('\n');
|
800
|
-
writer.write('const sql = `').newLine();
|
801
|
-
sqlSplit.forEach((sqlLine) => {
|
802
|
-
writer.indent().write(sqlLine).newLine();
|
803
|
-
});
|
804
|
-
writer.indent().write('`').newLine();
|
805
|
-
const executeParams = queryParams !== '' ? `{ sql, args: ${queryParams} }` : 'sql';
|
806
|
-
writer.write(`return client.execute(${executeParams})`).newLine();
|
807
|
-
writer.indent().write(`.then(res => mapArrayTo${resultTypeName}(res));`);
|
808
|
-
});
|
667
|
+
if (client !== 'd1:sqlite' && (queryType === 'Select' || tsDescriptor.returning)) {
|
668
|
+
writer.blankLine();
|
669
|
+
writeMapFunction(writer, { resultTypeName, columns: tsDescriptor.columns });
|
809
670
|
}
|
810
|
-
if (client === '
|
811
|
-
writer.
|
812
|
-
|
813
|
-
writer.write('const sql = `').newLine();
|
814
|
-
sqlSplit.forEach((sqlLine) => {
|
815
|
-
writer.indent().write(sqlLine).newLine();
|
816
|
-
});
|
817
|
-
writer.indent().write('`').newLine();
|
818
|
-
writer.write(`return db.prepare(sql)`).newLine();
|
819
|
-
if (queryParamsWithoutBrackets) {
|
820
|
-
writer.indent().write(`.bind(${queryParamsWithoutBrackets})`).newLine();
|
821
|
-
}
|
822
|
-
writer.indent().write('.run()').newLine();
|
823
|
-
writer.indent().write('.then(res => res.meta);');
|
824
|
-
});
|
671
|
+
if (client === 'libsql' && queryType !== 'Select' && !tsDescriptor.returning) {
|
672
|
+
writer.blankLine();
|
673
|
+
writeMapFunctionByName(writer, { resultTypeName, columns: tsDescriptor.columns });
|
825
674
|
}
|
826
675
|
}
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
tsDescriptor.columns.forEach((col, index) => {
|
844
|
-
const separator = index < tsDescriptor.columns.length - 1 ? ',' : '';
|
845
|
-
writer.writeLine(`${col.name}: data.${col.name}${separator}`);
|
846
|
-
});
|
847
|
-
});
|
848
|
-
writer.writeLine('return result;');
|
849
|
-
});
|
676
|
+
const executeFunctionParams = {
|
677
|
+
functionName: camelCaseName,
|
678
|
+
returnType,
|
679
|
+
resultTypeName,
|
680
|
+
dataTypeName,
|
681
|
+
sql: (0, code_generator_1.replaceOrderByParam)(sql),
|
682
|
+
multipleRowsResult: tsDescriptor.multipleRowsResult,
|
683
|
+
parameters: allParameters,
|
684
|
+
columns: tsDescriptor.columns,
|
685
|
+
queryType,
|
686
|
+
paramsTypeName,
|
687
|
+
returning: tsDescriptor.returning || false,
|
688
|
+
orderBy: (((_b = tsDescriptor.orderByColumns) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0
|
689
|
+
};
|
690
|
+
if (tsDescriptor.dynamicQuery2 == null && !isCrud) {
|
691
|
+
writeExecFunction(writer, client, executeFunctionParams);
|
850
692
|
}
|
851
693
|
if (tsDescriptor.orderByColumns) {
|
852
694
|
const orderByType = tsDescriptor.dynamicQuery2 == null ? paramsTypeName : dynamicParamsTypeName;
|
@@ -926,16 +768,6 @@ function generateCodeFromTsDescriptor(client, queryName, tsDescriptor, isCrud =
|
|
926
768
|
}
|
927
769
|
return writer.toString();
|
928
770
|
}
|
929
|
-
function writeExecuteBlock(sql, queryParams, resultTypeName, writer) {
|
930
|
-
const sqlSplit = sql.split('\n');
|
931
|
-
writer.write('const sql = `').newLine();
|
932
|
-
sqlSplit.forEach((sqlLine) => {
|
933
|
-
writer.indent().write(sqlLine).newLine();
|
934
|
-
});
|
935
|
-
writer.indent().write('`').newLine();
|
936
|
-
writer.write('return db.prepare(sql)').newLine();
|
937
|
-
writer.indent().write(`.run(${queryParams}) as ${resultTypeName};`);
|
938
|
-
}
|
939
771
|
function writeExecuteCrudBlock(client, queryType, tableName, columns, idColumn, queryParams, paramTypeName, dataTypeName, resultTypeName, writer) {
|
940
772
|
switch (queryType) {
|
941
773
|
case 'Select':
|
@@ -1115,4 +947,191 @@ function writeCollectFunction(writer, relation, columns, capitalizedName, result
|
|
1115
947
|
.write('))');
|
1116
948
|
});
|
1117
949
|
}
|
950
|
+
function writeImports(writer, client, isDynamicQuery) {
|
951
|
+
switch (client) {
|
952
|
+
case 'better-sqlite3':
|
953
|
+
writer.writeLine(`import type { Database } from 'better-sqlite3';`);
|
954
|
+
if (isDynamicQuery) {
|
955
|
+
writer.writeLine(`import { EOL } from 'os';`);
|
956
|
+
}
|
957
|
+
return;
|
958
|
+
case 'libsql':
|
959
|
+
writer.writeLine(`import type { Client, Transaction } from '@libsql/client';`);
|
960
|
+
if (isDynamicQuery) {
|
961
|
+
writer.writeLine(`import { EOL } from 'os';`);
|
962
|
+
}
|
963
|
+
return;
|
964
|
+
case 'bun:sqlite':
|
965
|
+
writer.writeLine(`import type { Database } from 'bun:sqlite';`);
|
966
|
+
if (isDynamicQuery) {
|
967
|
+
writer.writeLine(`import { EOL } from 'os';`);
|
968
|
+
}
|
969
|
+
return;
|
970
|
+
case 'd1:sqlite':
|
971
|
+
writer.writeLine(`import type { D1Database } from '@cloudflare/workers-types';`);
|
972
|
+
if (isDynamicQuery) {
|
973
|
+
writer.writeLine(`const EOL = '\\n';`);
|
974
|
+
}
|
975
|
+
return;
|
976
|
+
default:
|
977
|
+
return client;
|
978
|
+
}
|
979
|
+
}
|
980
|
+
function writeExecFunction(writer, client, params) {
|
981
|
+
const { functionName, returnType, sql, multipleRowsResult, parameters, columns, queryType, returning, paramsTypeName, resultTypeName, dataTypeName, orderBy } = params;
|
982
|
+
let restParameters = queryType === 'Update' ? `, data: ${dataTypeName}` : '';
|
983
|
+
const dynamicQuery = false;
|
984
|
+
if (!dynamicQuery) {
|
985
|
+
restParameters += parameters.length > 0 || orderBy ? `, params: ${paramsTypeName}` : '';
|
986
|
+
}
|
987
|
+
const queryParametersWithoutBrackes = parameters.join(', ');
|
988
|
+
const queryParams = queryParametersWithoutBrackes != '' ? `[${queryParametersWithoutBrackes}]` : '';
|
989
|
+
const mapFunctionParams = {
|
990
|
+
resultTypeName,
|
991
|
+
columns
|
992
|
+
};
|
993
|
+
switch (client) {
|
994
|
+
case 'better-sqlite3':
|
995
|
+
const betterSqliteArgs = 'db: Database' + restParameters;
|
996
|
+
if (queryType === 'Select') {
|
997
|
+
writer.write(`export function ${functionName}(${betterSqliteArgs}): ${returnType}`).block(() => {
|
998
|
+
writeSql(writer, sql);
|
999
|
+
writer.write('return db.prepare(sql)').newLine();
|
1000
|
+
writer.indent().write('.raw(true)').newLine();
|
1001
|
+
writer.indent().write(`.all(${queryParams})`).newLine();
|
1002
|
+
writer.indent().write(`.map(data => mapArrayTo${resultTypeName}(data))${multipleRowsResult ? '' : '[0]'};`);
|
1003
|
+
});
|
1004
|
+
writer.blankLine();
|
1005
|
+
writeMapFunction(writer, mapFunctionParams);
|
1006
|
+
}
|
1007
|
+
if (queryType === 'Update' || queryType === 'Delete' || (queryType === 'Insert' && !returning)) {
|
1008
|
+
writer.write(`export function ${functionName}(${betterSqliteArgs}): ${resultTypeName}`).block(() => {
|
1009
|
+
writeSql(writer, sql);
|
1010
|
+
writer.write('return db.prepare(sql)').newLine();
|
1011
|
+
writer.indent().write(`.run(${queryParams}) as ${resultTypeName};`);
|
1012
|
+
});
|
1013
|
+
}
|
1014
|
+
return;
|
1015
|
+
case 'libsql':
|
1016
|
+
const libSqlArgs = 'client: Client | Transaction' + restParameters;
|
1017
|
+
writer.write(`export async function ${functionName}(${libSqlArgs}): Promise<${returnType}>`).block(() => {
|
1018
|
+
writeSql(writer, sql);
|
1019
|
+
const executeParams = queryParametersWithoutBrackes !== '' ? `{ sql, args: [${queryParametersWithoutBrackes}] }` : 'sql';
|
1020
|
+
writer.write(`return client.execute(${executeParams})`).newLine();
|
1021
|
+
if (queryType === 'Select') {
|
1022
|
+
writer.indent().write('.then(res => res.rows)').newLine();
|
1023
|
+
if (multipleRowsResult) {
|
1024
|
+
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row)));`);
|
1025
|
+
}
|
1026
|
+
else {
|
1027
|
+
writer.indent().write(`.then(rows => mapArrayTo${resultTypeName}(rows[0]));`);
|
1028
|
+
}
|
1029
|
+
}
|
1030
|
+
if (queryType === 'Insert') {
|
1031
|
+
if (returning) {
|
1032
|
+
writer.indent().write('.then(res => res.rows)').newLine();
|
1033
|
+
writer.indent().write(`.then(rows => mapArrayTo${resultTypeName}(rows[0]));`);
|
1034
|
+
}
|
1035
|
+
}
|
1036
|
+
if (queryType === 'Update' || queryType === 'Delete' || (queryType === 'Insert' && !returning)) {
|
1037
|
+
writer.indent().write(`.then(res => mapArrayTo${resultTypeName}(res));`);
|
1038
|
+
}
|
1039
|
+
});
|
1040
|
+
writer.blankLine();
|
1041
|
+
if (queryType === 'Select' || returning) {
|
1042
|
+
writeMapFunction(writer, mapFunctionParams);
|
1043
|
+
}
|
1044
|
+
else {
|
1045
|
+
writeMapFunctionByName(writer, mapFunctionParams);
|
1046
|
+
}
|
1047
|
+
return;
|
1048
|
+
case 'bun:sqlite':
|
1049
|
+
const bunArgs = 'db: Database' + restParameters;
|
1050
|
+
if (queryType === 'Select') {
|
1051
|
+
writer.write(`export function ${functionName}(${bunArgs}): ${returnType}`).block(() => {
|
1052
|
+
writeSql(writer, sql);
|
1053
|
+
writer.write('return db.prepare(sql)').newLine();
|
1054
|
+
writer.indent().write(`.values(${queryParametersWithoutBrackes})`).newLine();
|
1055
|
+
writer.indent().write(`.map(data => mapArrayTo${resultTypeName}(data))${multipleRowsResult ? '' : '[0]'};`);
|
1056
|
+
});
|
1057
|
+
writer.blankLine();
|
1058
|
+
writeMapFunction(writer, mapFunctionParams);
|
1059
|
+
}
|
1060
|
+
if (queryType === 'Update' || queryType === 'Delete' || (queryType === 'Insert' && !returning)) {
|
1061
|
+
writer.write(`export function ${functionName}(${bunArgs}): ${resultTypeName}`).block(() => {
|
1062
|
+
writeSql(writer, sql);
|
1063
|
+
writer.write('return db.prepare(sql)').newLine();
|
1064
|
+
writer.indent().write(`.run(${queryParametersWithoutBrackes}) as ${resultTypeName};`);
|
1065
|
+
});
|
1066
|
+
}
|
1067
|
+
return;
|
1068
|
+
case 'd1:sqlite':
|
1069
|
+
const d1Args = 'db: D1Database' + restParameters;
|
1070
|
+
writer.write(`export async function ${functionName}(${d1Args}): Promise<${returnType}>`).block(() => {
|
1071
|
+
writeSql(writer, sql);
|
1072
|
+
writer.write('return db.prepare(sql)').newLine();
|
1073
|
+
if (queryParametersWithoutBrackes !== '') {
|
1074
|
+
writer.indent().write(`.bind(${queryParametersWithoutBrackes})`).newLine();
|
1075
|
+
}
|
1076
|
+
if (queryType === 'Select') {
|
1077
|
+
writer.indent().write('.raw({ columnNames: false })').newLine();
|
1078
|
+
if (multipleRowsResult) {
|
1079
|
+
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row)));`);
|
1080
|
+
}
|
1081
|
+
else {
|
1082
|
+
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row))[0]);`);
|
1083
|
+
}
|
1084
|
+
}
|
1085
|
+
if (queryType === 'Insert' || queryType === 'Update' || queryType === 'Delete') {
|
1086
|
+
if (returning) {
|
1087
|
+
writer.indent().write('.raw({ columnNames: false })').newLine();
|
1088
|
+
writer.indent().write(`.then(rows => rows.map(row => mapArrayTo${resultTypeName}(row))[0]);`);
|
1089
|
+
}
|
1090
|
+
else {
|
1091
|
+
writer.indent().write('.run()').newLine();
|
1092
|
+
writer.indent().write(`.then(res => res.meta);`);
|
1093
|
+
}
|
1094
|
+
}
|
1095
|
+
});
|
1096
|
+
if (queryType === 'Select' || returning) {
|
1097
|
+
writer.blankLine();
|
1098
|
+
writeMapFunction(writer, mapFunctionParams);
|
1099
|
+
}
|
1100
|
+
return;
|
1101
|
+
default:
|
1102
|
+
return client;
|
1103
|
+
}
|
1104
|
+
}
|
1105
|
+
function writeSql(writer, sql) {
|
1106
|
+
const sqlSplit = sql.split('\n');
|
1107
|
+
writer.write('const sql = `').newLine();
|
1108
|
+
sqlSplit.forEach((sqlLine) => {
|
1109
|
+
writer.indent().write(sqlLine).newLine();
|
1110
|
+
});
|
1111
|
+
writer.indent().write('`').newLine();
|
1112
|
+
}
|
1113
|
+
function writeMapFunction(writer, params) {
|
1114
|
+
const { resultTypeName, columns } = params;
|
1115
|
+
writer.write(`function mapArrayTo${resultTypeName}(data: any) `).block(() => {
|
1116
|
+
writer.write(`const result: ${resultTypeName} = `).block(() => {
|
1117
|
+
columns.forEach((col, index) => {
|
1118
|
+
const separator = index < columns.length - 1 ? ',' : '';
|
1119
|
+
writer.writeLine(`${col.name}: ${toDriver(`data[${index}]`, col)}${separator}`);
|
1120
|
+
});
|
1121
|
+
});
|
1122
|
+
writer.writeLine('return result;');
|
1123
|
+
});
|
1124
|
+
}
|
1125
|
+
function writeMapFunctionByName(writer, params) {
|
1126
|
+
const { resultTypeName, columns } = params;
|
1127
|
+
writer.write(`function mapArrayTo${resultTypeName}(data: any) `).block(() => {
|
1128
|
+
writer.write(`const result: ${resultTypeName} = `).block(() => {
|
1129
|
+
columns.forEach((col, index) => {
|
1130
|
+
const separator = index < columns.length - 1 ? ',' : '';
|
1131
|
+
writer.writeLine(`${col.name}: data.${col.name}${separator}`);
|
1132
|
+
});
|
1133
|
+
});
|
1134
|
+
writer.writeLine('return result;');
|
1135
|
+
});
|
1136
|
+
}
|
1118
1137
|
//# sourceMappingURL=code-generator.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":";;;;;AA0DA,0DAiBC;AAcD,oCA2BC;AAiBD,wCAcC;AAnJD,6CAAoE;AAEpE,qCAAoC;AACpC,sDAY2B;AAC3B,0EAAgD;AAehD,kEAA8F;AAC9F,sDAAkD;AAClD,qDAA8C;AAC9C,gFAA0H;AAC1H,qCAA8B;AAuB9B,SAAgB,uBAAuB,CACtC,MAAiD,EACjD,GAAW,EACX,SAAiB,EACjB,cAA8B,EAC9B,MAAM,GAAG,KAAK;IAEd,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,IAAA,2BAAU,EAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,IAAA,eAAM,EAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAA,aAAI,EAAC;YACX,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW;SAC9C,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,GAAiB,EAAE,aAAsB;IACjE,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,KAAK,KAAK,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;IACnH,MAAM,UAAU,GAAe;QAC9B,UAAU,EAAE,GAAG,CAAC,MAAM;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,WAAW;QACrB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC;KACjE,CAAC;IACF,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAgB,YAAY,CAAC,MAAoB,EAAE,SAAoB,EAAE,SAAiB,EAAE,QAAwB;IACnH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;IAChH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjI,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtF,MAAM,YAAY,GAAiB;QAClC,GAAG,EAAE,EAAE;QACP,SAAS;QACT,kBAAkB,EAAE,KAAK;QACzB,OAAO,EAAE,aAAa;QACtB,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;QAC3D,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,KAAK,CAAC,IAAI,MAAK,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA,CAAA,EAAA,CAAC,CAAC,CAAC,CAAC,EAAE;KACnG,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,SAAoB,EAAE,SAAiB;IAC5D,MAAM,aAAa,GAAG,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAA,2BAAU,EAAC,aAAa,CAAC,CAAC;IACnD,QAAQ,SAAS,EAAE,CAAC;QACnB,KAAK,QAAQ;YACZ,OAAO,aAAa,gBAAgB,EAAE,CAAC;QACxC,KAAK,QAAQ;YACZ,OAAO,aAAa,gBAAgB,EAAE,CAAC;QACxC,KAAK,QAAQ;YACZ,OAAO,SAAS,gBAAgB,EAAE,CAAC;QACpC,KAAK,QAAQ;YACZ,OAAO,aAAa,gBAAgB,EAAE,CAAC;IACzC,CAAC;AACF,CAAC;AAED,SAAgB,cAAc,CAC7B,GAAW,EACX,SAAiB,EACjB,cAA8B,EAC9B,MAAoB,EACpB,MAAM,GAAG,KAAK;IAEd,MAAM,eAAe,GAAG,IAAA,iBAAQ,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,IAAA,eAAM,EAAC,eAAe,CAAC,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC;IACxB,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACnF,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB,EAAE,MAAoB;;IACrE,MAAM,YAAY,GAAiB;QAClC,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;QACxF,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/F,IAAI,EAAE,MAAA,SAAS,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpF,cAAc,EAAE,SAAS,CAAC,cAAc;KACxC,CAAC;IACF,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,iBAAiB,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/D,MAAM,UAAU,GAAkB;gBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3F,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,uCAAgB,EAAC,QAAQ,CAAC,CAAC;aAC3E,CAAC;YACF,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,CAAC;IACD,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACxD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,MAAoB,EAAE,SAAiC,EAAE,OAAqB,EAAE,SAAS,GAAG,KAAK;IAEpH,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAA,mCAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,4BAA4B,iCAAM,GAAG,KAAE,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAI,MAAM,CAAC,CAAC,CAAC;AAC9H,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IAClD,MAAM,mBAAmB,GAAwB;QAChD;YACC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;SACb;QACD;YACC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;SACb;KACD,CAAC;IAEF,MAAM,mBAAmB,GAAwB;QAChD;YACC,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;SACb;QACD;YACC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;SACb;KACD,CAAC;IAEF,MAAM,eAAe,GAAwB;QAC5C;YACC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;SACb;QACD;YACC,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;SACb;KACD,CAAC;IAEF,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,gBAAgB,CAAC;QACtB,KAAK,YAAY;YAChB,OAAO,mBAAmB,CAAC;QAC5B,KAAK,QAAQ;YACZ,OAAO,mBAAmB,CAAC;QAC5B,KAAK,WAAW;YACf,OAAO,eAAe,CAAA;IACxB,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB,EAAE,KAAa,EAAE,MAAoB;IACpF,MAAM,OAAO,GAAa;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAkB,EAAE,MAAM,CAAC;QACtE,OAAO,EAAE,KAAK;KACd,CAAC;IACF,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAiB,EAAE,MAAoB;IAC/E,MAAM,MAAM,GAA0B;QACrC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,UAAwB,EAAE,MAAM,CAAC;QAC3D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAC1C,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;KAChC,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAmB;IAC7C,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,GAAG,KAAK,CAAC,IAAI,+BAA+B,CAAA;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO,GAAG,KAAK,CAAC,IAAI,iDAAiD,CAAA;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,GAAe;IACtC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,CAAC,UAAU,+BAA+B,CAAA;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,GAAG,GAAG,CAAC,UAAU,iDAAiD,CAAA;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC,UAAU,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAe,EAAE,MAAoB;IAC1E,MAAM,MAAM,GAAsB;QACjC,IAAI,EAAE,GAAG,CAAC,UAAU;QACpB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAkB,EAAE,MAAM,CAAC;QACrD,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACtB,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAe,EAAE,MAAoB;IAC9E,MAAM,MAAM,GAA0B;QACrC,IAAI,EAAE,GAAG,CAAC,UAAU;QACpB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAkB,EAAE,MAAM,CAAC;QACrD,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC;KAC7B,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,UAAsB,EAAE,MAAoB;IAClE,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,SAAS;YACb,OAAO,QAAQ,CAAC;QACjB,KAAK,WAAW;YACf,OAAO,UAAU,CAAC;QACnB,KAAK,MAAM;YACV,OAAO,QAAQ,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,UAAU,CAAC;QACnB,KAAK,SAAS;YACb,OAAO,QAAQ,CAAC;QACjB,KAAK,WAAW;YACf,OAAO,UAAU,CAAC;QACnB,KAAK,MAAM;YACV,OAAO,QAAQ,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,UAAU,CAAC;QACnB,KAAK,MAAM;YACV,OAAO,MAAM,CAAC;QACf,KAAK,WAAW;YACf,OAAO,MAAM,CAAC;QACf,KAAK,MAAM;YACV,OAAO,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QACnE,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAW,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAoB,EAAE,SAAiB,EAAE,YAA0B,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE;;IACxI,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC;QAClC,OAAO,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,IAAA,2BAAU,EAAC,aAAa,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;IAC7B,MAAM,YAAY,GAAG,GAAG,eAAe,MAAM,CAAC;IAC9C,MAAM,cAAc,GAAG,GAAG,eAAe,QAAQ,CAAC;IAClD,MAAM,cAAc,GAAG,GAAG,eAAe,QAAQ,CAAC;IAClD,MAAM,qBAAqB,GAAG,GAAG,eAAe,eAAe,CAAC;IAChE,MAAM,qBAAqB,GAAG,GAAG,eAAe,QAAQ,CAAC;IACzD,MAAM,aAAa,GAAG,GAAG,eAAe,OAAO,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,eAAe,SAAS,CAAC;IACpD,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACtG,MAAM,YAAY,GAAG,IAAA,4CAA2B,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,IAAA,4CAA2B,EAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEhF,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,eAAe,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,MAAM,WAAW,GAAG,IAAA,4CAA2B,EAC9C,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,gDAAkB,EAAC,YAAY,CAAC,UAAU,CAAC,CAC1G,CAAC;IAEF,IAAI,iBAAiB,GAAG,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,YAAY;QAC7E,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,MAAM,KAAK,WAAW;YACvB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,8BAA8B,CAAC;IACnC,iBAAiB,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,YAAY,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QACxC,iBAAiB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjH,CAAC;SAAM,CAAC;QACP,iBAAiB,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,qBAAqB,EAAE,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,MAAM,EAAE,CAAC;IAE1G,MAAM,aAAa,GAAG,CAAC,CAAA,MAAA,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAI,EAAE,CAAC,CAAC,MAAM,CAChG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,0BAA0B,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,WAAW,GAAG,0BAA0B,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,0BAA0B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC;IAE1D,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,IAAI,YAAY,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,qBAAqB,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClE,MAAM,CAAC,SAAS,CAAC,YAAY,qBAAqB,GAAG,CAAC,CAAC;YACvD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,SAAS,CAAC,YAAY,cAAc,GAAG,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,WAAW,aAAa,KAAK,CAAC,CAAC;YAChD,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;YACtC,CAAC;QACF,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,IAAA,+BAAc,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAClH,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,uDAAyB,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChI,IAAA,+BAAc,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,uDAAyB,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrE,IAAA,+BAAc,EAAC,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;;YACzD,MAAA,YAAY,CAAC,aAAa,0CAAE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC/C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,OAAO,QAAQ,CAAC,mBAAmB,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAC5F,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;QAC/E,IAAI,IAAA,gCAAe,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,SAAS,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;YAC1D,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,IAAA,4BAAW,EAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;gBACxF,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;gBACpE,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,uBAAuB,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,kBAAkB,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QACjH,MAAM,CAAC,KAAK,CAAC,UAAU,aAAa,YAAY,aAAa,IAAI,iBAAiB,MAAM,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;;YACxH,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC,OAAO,EAAE,CAAC;YAChF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,CAAC,CAAA,MAAA,YAAY,CAAC,aAAa,0CAAE,IAAI,CAAC,MAAM,KAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;gBAC3C,MAAA,YAAY,CAAC,aAAa,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;oBACvE,MAAM,gBAAgB,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CACvD,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CACxE,CAAC;oBACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;oBACpD,CAAC;oBACD,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC;oBAClI,MAAM,iBAAiB,GAAG,CAAA,MAAA,YAAY,CAAC,eAAe,0CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,OAAO,YAAY,CAAC,KAAI,EAAE,CAAC;oBAChH,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC;oBACtF,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;wBAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;wBAClD,OAAO,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,aAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;4BACpE,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,CAAC,QAAQ,MAAM,CAAC,CAAC;4BAC/D,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;gCACnC,MAAM,CAAC,SAAS,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC;4BACxD,CAAC,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACJ,CAAC;yBACI,CAAC;wBACL,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,CAAC,QAAQ,MAAM,CAAC,CAAC;wBAC/D,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;4BACnC,MAAM,CAAC,SAAS,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC;wBACxD,CAAC,CAAC,CAAC;oBACJ,CAAC;gBAEF,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/C,CAAC;YACD,MAAA,YAAY,CAAC,aAAa,0CAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC5D,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC3G,MAAM,CAAC,SAAS,CAAC,6BAA6B,MAAM,CAAC,QAAQ,MAAM,CAAC,CAAC;oBACrE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACnC,MAAM,CAAC,SAAS,CAAC,qCAAqC,KAAK,YAAY,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAA,YAAY,CAAC,aAAa,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;gBACxD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACP,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3H,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;oBACpD,CAAC;oBACD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC;oBAC1H,MAAM,iBAAiB,GAAG,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,OAAO,YAAY,CAAC,KAAI,EAAE,CAAC;oBACxG,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC;oBACtF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;wBACtD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;wBAClD,OAAO,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,aAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;4BACpE,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;4BACnD,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;gCACnC,MAAM,CAAC,SAAS,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC;4BACxD,CAAC,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACJ,CAAC;yBACI,CAAC;wBACL,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;wBACnD,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;4BACnC,MAAM,CAAC,SAAS,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC;wBACxD,CAAC,CAAC,CAAC;oBACJ,CAAC;gBAEF,CAAC;YACF,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YAChD,MAAA,YAAY,CAAC,aAAa,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAClD,OAAO,GAAG,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAA;gBACzD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC;gBAC3D,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;oBACnC,MAAM,CAAC,SAAS,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;;gBACrE,MAAM,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;gBAC7D,MAAA,YAAY,CAAC,aAAa,0CAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAC5D,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;4BACrF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gCACnC,MAAM,CAAC,SAAS,CAAC,qCAAqC,KAAK,YAAY,CAAC,CAAC;4BAC1E,CAAC,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC/C,MAAM,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;oBACrD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,WAAW,GAAG,MAAA,YAAY,CAAC,aAAa,0CAAE,WAAW,CAAC;YAC5D,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,SAAS,CAAC,kBAAkB,WAAW,CAAC,QAAQ,KAAK,CAAC,CAAC;gBAC9D,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACxC,MAAM,CAAC,SAAS,CAAC,qCAAqC,KAAK,YAAY,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM;qBACJ,MAAM,EAAE;qBACR,KAAK,CAAC,0BAA0B,cAAc,0BAA0B,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAC5H,CAAC;YACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzD,MAAM;qBACJ,MAAM,EAAE;qBACR,KAAK,CAAC,0BAA0B,cAAc,0BAA0B,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAC5H,CAAC;YACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1D,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1C,MAAM;qBACJ,MAAM,EAAE;qBACR,KAAK,CAAC,2CAA2C,cAAc,0BAA0B,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7I,CAAC;YACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7E,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1D,MAAM;qBACJ,MAAM,EAAE;qBACR,KAAK,CACL,2CAA2C,cAAc,0BAA0B,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAClI,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,sBAAsB,cAAc,wBAAwB,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7G,MAAM,CAAC,SAAS,CAAC,wBAAwB,cAAc,GAAG,CAAC,CAAC;YAC5D,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACvC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACxE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,CAAC,SAAS,CAAC,UAAU,OAAO,CAAC,IAAI,MAAM,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClF,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACpE,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC/B,MAAM,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,sDAAsD,aAAa,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACjG,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;gBACvE,MAAM,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,qCAAqC,qBAAqB,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACjG,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;oBAC3D,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACvD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,sCAAsC,aAAa,sCAAsC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClH,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAC;YAC1E,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,IAAA,gCAAe,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACnD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;wBACvE,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;wBACpD,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtD,IAAI,IAAA,8BAAa,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,SAAS,CAAC,mFAAmF,CAAC,CAAC;oBACtG,MAAM,CAAC,SAAS,CAAC,mFAAmF,CAAC,CAAC;oBACtG,MAAM,CAAC,SAAS,CAAC,+EAA+E,CAAC,CAAC;oBAClG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;wBAC5E,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;wBAChE,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;wBAC9D,MAAM,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;wBAC5E,MAAM,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACzE,IAAI,IAAA,8BAAa,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CACf,mHAAmH,CACnH,CAAC;wBACF,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;wBAC/E,MAAM,CAAC,SAAS,CAAC,gFAAgF,CAAC,CAAC;oBACpG,CAAC,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CAAC,mFAAmF,CAAC,CAAC;wBACtG,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;wBAC/E,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvE,IAAI,IAAA,8BAAa,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,SAAS,CAAC,kFAAkF,CAAC,CAAC;oBACrG,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAC;oBAC1E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;wBACnE,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;wBAC7C,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAClC,MAAM,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;wBAC5D,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;wBACpD,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,IAAA,8BAAa,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACrE,MAAM,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,IAAI,YAAY,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QACxC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,eAAe,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxD,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;YAChD,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,eAAe,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1D,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBACH,IAAI,eAAe,EAAE,CAAC;oBACrB,MAAM,CAAC,SAAS,CAAC,aAAa,eAAe,sBAAsB,CAAC,CAAC;gBACtE,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1D,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,YAAY,GACjB,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW;YAC5C,CAAC,CAAC,kBAAkB,aAAa,IAAI,iBAAiB,cAAc,UAAU,GAAG;YACjF,CAAC,CAAC,YAAY,aAAa,IAAI,iBAAiB,MAAM,UAAU,EAAE,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,qBAAqB,CACpB,MAAM,EACN,SAAS,EACT,SAAS,EACT,YAAY,CAAC,OAAO,EACpB,QAAQ,EACR,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,WAAW,EAC5F,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,CACN,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,WAAW,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,gBAAgB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC9E,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,sBAAsB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACF,CAAC;IAED,MAAM,qBAAqB,GAAuB;QACjD,YAAY,EAAE,aAAa;QAC3B,UAAU;QACV,cAAc;QACd,YAAY;QACZ,GAAG,EAAE,IAAA,oCAAmB,EAAC,GAAG,CAAC;QAC7B,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,SAAS;QACT,cAAc;QACd,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,KAAK;QAC1C,OAAO,EAAE,CAAC,CAAA,MAAA,YAAY,CAAC,cAAc,0CAAE,MAAM,KAAI,CAAC,CAAC,GAAG,CAAC;KACvD,CAAA;IAED,IAAI,YAAY,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAChG,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;;gBAC1D,MAAA,YAAY,CAAC,cAAc,0CAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5C,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,CAAC,eAAe,eAAe,mCAAmC,CAAC,CAAC;QACpF,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,mCAAmC,WAAW,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7F,MAAM,CAAC,SAAS,CACf,qHAAqH,CACrH,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QACjD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,MAAM,YAAY,GAAG,IAAA,qCAAoB,EAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,eAAe,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACzD,MAAM,gBAAgB,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACxC,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpC,MAAM,kBAAkB,GAAG,IAAA,qCAAoB,EAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC/E,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,gBAAgB,KAAK,kBAAkB,GAAG,CAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;QAEnB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,IAAA,qCAAoB,EAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC5D,MAAM,CAAC,KAAK,CAAC,mBAAmB,aAAa,UAAU,iBAAiB,MAAM,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC1G,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,MAAM,CAAC,SAAS,CAAC,wBAAwB,aAAa,MAAM,MAAM,IAAI,CAAC,CAAC;wBACxE,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;4BACxD,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBAChC,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,SAAS,CAAC,iBAAiB,YAAY,iBAAiB,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC1D,MAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,UAAU,iBAAiB,cAAc,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACzH,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,MAAM,aAAa,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;wBAC9E,MAAM,CAAC,SAAS,CAAC,8BAA8B,aAAa,IAAI,aAAa,IAAI,CAAC,CAAC;wBACnF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;4BACxD,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBAChC,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,SAAS,CAAC,iBAAiB,YAAY,iBAAiB,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACvH,MAAM;iBACJ,KAAK,CAAC,oDAAoD,CAAC;iBAC3D,WAAW,CAAC,GAAG,EAAE;gBACjB,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC;gBACxE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC,CAAC;iBACD,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAC7B,MAAoB,EACpB,SAAoB,EACpB,SAAiB,EACjB,OAA4B,EAC5B,QAAgB,EAChB,WAAmB,EACnB,aAAqB,EACrB,YAAoB,EACpB,cAAsB,EACtB,MAAuB;IAEvB,QAAQ,SAAS,EAAE,CAAC;QACnB,KAAK,QAAQ;YACZ,OAAO,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC9G,KAAK,QAAQ;YACZ,OAAO,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC9F,KAAK,QAAQ;YACZ,OAAO,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACvG,KAAK,QAAQ;YACZ,OAAO,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACtG,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAClC,MAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,OAA4B,EAC5B,WAAmB,EACnB,cAAsB,EACtB,MAAuB;IAEvB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,QAAQ,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,aAAa,CAAC,CAAC;IAC9E,CAAC;SACI,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,aAAa,CAAC,CAAC;IAC9E,CAAC;SACI,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,sCAAsC,WAAW,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,cAAc,aAAa,CAAC,CAAC;IAC/E,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CACnC,MAAoB,EACpB,SAAiB,EACjB,aAAqB,EACrB,cAAsB,EACtB,MAAuB;IAEvB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,mDAAmD,aAAa,IAAI,CAAC,CAAC;IACvF,MAAM,CAAC,SAAS,CAAC,gEAAgE,CAAC,CAAC;IACnF,MAAM,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,SAAS,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;IACjF,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,SAAS,uEAAuE,CAAC,CAAC,OAAO,EAAE,CAAC;IACrI,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,cAAc,GAAG,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,cAAc,GAAG,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CACnC,MAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,aAAqB,EACrB,cAAsB,EACtB,MAAuB;IAEvB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,iDAAiD,aAAa,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,SAAS,CAAC,8DAA8D,CAAC,CAAC;IACjF,MAAM,CAAC,SAAS,CAAC,+DAA+D,QAAQ,IAAI,CAAC,CAAC;IAC9F,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1F,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,QAAQ,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,cAAc,GAAG,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,cAAc,GAAG,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAClC,MAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,WAAmB,EACnB,cAAsB,EACtB,MAAuB;IAEvB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,QAAQ,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,WAAW,QAAQ,cAAc,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/E,CAAC;SAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,WAAW,QAAQ,cAAc,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/E,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,sCAAsC,WAAW,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,YAAoB,EAAE,KAAwB;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,YAAY,YAAY,GAAG,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,YAAY,uBAAuB,YAAY,OAAO,YAAY,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,GAAG,YAAY,sBAAsB,YAAY,OAAO,YAAY,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,YAAoB,EAAE,KAA4B;;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,GAAG,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,GAAG,QAAQ,qBAAqB,QAAQ,OAAO,QAAQ,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,MAAA,KAAK,CAAC,MAAM,0CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AACD,SAAS,oBAAoB,CAC5B,MAAuB,EACvB,QAAuB,EACvB,OAA4B,EAC5B,eAAuB,EACvB,cAAsB;IAEtB,MAAM,YAAY,GAAG,IAAA,qCAAoB,EAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,mBAAmB,GAAG,UAAU,YAAY,EAAE,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,KAAK,CAAC,YAAY,mBAAmB,kBAAkB,cAAc,QAAQ,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAChH,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,sDAAsD,OAAO,qBAAqB,OAAO,IAAI,CAAC,CAAC;QAChH,MAAM;aACJ,KAAK,CAAC,2CAA2C,CAAC;aAClD,WAAW,CAAC,GAAG,EAAE;YACjB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,MAAM,gBAAgB,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAG,GAAG,CAAC;gBACtB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,YAAY,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC5C,MAAM,YAAY,GAAG,IAAA,qCAAoB,EAAC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,IAAI,YAAY,YAAY,QAAQ,WAAW,GAAG,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB,EAAE,MAAoB,EAAE,cAAuB;IAC3F,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,gBAAgB;YACpB,MAAM,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;YACpE,IAAI,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;QACR,KAAK,QAAQ;YACZ,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;YAC/E,IAAI,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;QACR,KAAK,YAAY;YAChB,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;YAChE,IAAI,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;QACR,KAAK,WAAW;YACf,MAAM,CAAC,SAAS,CAAC,8DAA8D,CAAC,CAAC;YACjF,IAAI,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,OAAO;QACR;YACC,OAAO,MAAsB,CAAC;IAChC,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAuB,EAAE,MAAoB,EAAE,MAA0B;IACnG,MAAM,EACL,YAAY,EACZ,UAAU,EACV,GAAG,EACH,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,EACZ,OAAO,EACP,GAAG,MAAM,CAAC;IAEX,IAAI,cAAc,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,cAAc,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,6BAA6B,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,6BAA6B,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,6BAA6B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpG,MAAM,iBAAiB,GAAsB;QAC5C,cAAc;QACd,OAAO;KACP,CAAA;IAED,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,gBAAgB;YACpB,MAAM,gBAAgB,GAAG,cAAc,GAAG,cAAc,CAAC;YACzD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,mBAAmB,YAAY,IAAI,gBAAgB,MAAM,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC9F,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC9C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,UAAU,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC7G,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,mBAAmB,YAAY,IAAI,gBAAgB,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAClG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,WAAW,QAAQ,cAAc,GAAG,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,OAAO;QACR,KAAK,QAAQ;YACZ,MAAM,UAAU,GAAG,8BAA8B,GAAG,cAAc,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,IAAI,UAAU,cAAc,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtB,MAAM,aAAa,GAAG,6BAA6B,KAAK,EAAE,CAAC,CAAC,CAAC,iBAAiB,6BAA6B,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBAEzH,MAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAElE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC1D,IAAI,kBAAkB,EAAE,CAAC;wBACxB,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2CAA2C,cAAc,UAAU,CAAC,CAAC;oBAC5F,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,cAAc,aAAa,CAAC,CAAC;oBAC/E,CAAC;gBACF,CAAC;gBACD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC5B,IAAI,SAAS,EAAE,CAAC;wBACf,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC1D,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,cAAc,aAAa,CAAC,CAAC;oBAC/E,CAAC;gBACF,CAAC;gBACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChG,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,SAAS,CAAC,CAAC;gBAC1E,CAAC;YACF,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACzC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAC7C,CAAC;iBACI,CAAC;gBACL,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACR,KAAK,YAAY;YAChB,MAAM,OAAO,GAAG,cAAc,GAAG,cAAc,CAAC;YAChD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,mBAAmB,YAAY,IAAI,OAAO,MAAM,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACrF,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,6BAA6B,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC7E,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,cAAc,UAAU,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC7G,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,mBAAmB,YAAY,IAAI,OAAO,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACzF,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACjD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,6BAA6B,QAAQ,cAAc,GAAG,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO;QACR,KAAK,WAAW;YACf,MAAM,MAAM,GAAG,gBAAgB,GAAG,cAAc,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,IAAI,MAAM,cAAc,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjD,IAAI,6BAA6B,KAAK,EAAE,EAAE,CAAC;oBAC1C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,6BAA6B,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC5E,CAAC;gBAED,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;oBAChE,IAAI,kBAAkB,EAAE,CAAC;wBACxB,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2CAA2C,cAAc,UAAU,CAAC,CAAC;oBAC5F,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2CAA2C,cAAc,aAAa,CAAC,CAAC;oBAC/F,CAAC;gBACF,CAAC;gBACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAChF,IAAI,SAAS,EAAE,CAAC;wBACf,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;wBAChE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2CAA2C,cAAc,aAAa,CAAC,CAAC;oBAC/F,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC1C,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAClD,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACzC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO;QACR;YACC,OAAO,MAAsB,CAAC;IAChC,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAuB,EAAE,GAAW;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB,EAAE,MAAyB;IAC3E,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,cAAc,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3E,MAAM,CAAC,KAAK,CAAC,iBAAiB,cAAc,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7D,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAuB,EAAE,MAAyB;IACjF,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,cAAc,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3E,MAAM,CAAC,KAAK,CAAC,iBAAiB,cAAc,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7D,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACJ,CAAC"}
|