@ductape/sdk 0.0.4-v41 → 0.0.4-v43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apps/services/app.service.d.ts +10 -0
- package/dist/apps/services/app.service.js +22 -0
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/database/adapters/base.adapter.d.ts +176 -0
- package/dist/database/adapters/base.adapter.js +31 -0
- package/dist/database/adapters/base.adapter.js.map +1 -0
- package/dist/database/adapters/dynamodb.adapter.d.ts +83 -0
- package/dist/database/adapters/dynamodb.adapter.js +1237 -0
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
- package/dist/database/adapters/mongodb.adapter.d.ts +70 -0
- package/dist/database/adapters/mongodb.adapter.js +717 -0
- package/dist/database/adapters/mongodb.adapter.js.map +1 -0
- package/dist/database/adapters/mysql.adapter.d.ts +141 -0
- package/dist/database/adapters/mysql.adapter.js +1221 -0
- package/dist/database/adapters/mysql.adapter.js.map +1 -0
- package/dist/database/adapters/postgresql.adapter.d.ts +142 -0
- package/dist/database/adapters/postgresql.adapter.js +1288 -0
- package/dist/database/adapters/postgresql.adapter.js.map +1 -0
- package/dist/database/database.service.d.ts +190 -0
- package/dist/database/database.service.js +552 -0
- package/dist/database/database.service.js.map +1 -0
- package/dist/database/index.d.ts +18 -0
- package/dist/database/index.js +98 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/types/aggregation.types.d.ts +202 -0
- package/dist/database/types/aggregation.types.js +21 -0
- package/dist/database/types/aggregation.types.js.map +1 -0
- package/dist/database/types/connection.types.d.ts +132 -0
- package/dist/database/types/connection.types.js +6 -0
- package/dist/database/types/connection.types.js.map +1 -0
- package/dist/database/types/database.types.d.ts +173 -0
- package/dist/database/types/database.types.js +73 -0
- package/dist/database/types/database.types.js.map +1 -0
- package/dist/database/types/index.d.ts +12 -0
- package/dist/database/types/index.js +37 -0
- package/dist/database/types/index.js.map +1 -0
- package/dist/database/types/index.types.d.ts +220 -0
- package/dist/database/types/index.types.js +27 -0
- package/dist/database/types/index.types.js.map +1 -0
- package/dist/database/types/migration.types.d.ts +205 -0
- package/dist/database/types/migration.types.js +44 -0
- package/dist/database/types/migration.types.js.map +1 -0
- package/dist/database/types/query.types.d.ts +274 -0
- package/dist/database/types/query.types.js +57 -0
- package/dist/database/types/query.types.js.map +1 -0
- package/dist/database/types/result.types.d.ts +218 -0
- package/dist/database/types/result.types.js +6 -0
- package/dist/database/types/result.types.js.map +1 -0
- package/dist/database/types/schema.types.d.ts +190 -0
- package/dist/database/types/schema.types.js +69 -0
- package/dist/database/types/schema.types.js.map +1 -0
- package/dist/database/utils/helpers.d.ts +66 -0
- package/dist/database/utils/helpers.js +501 -0
- package/dist/database/utils/helpers.js.map +1 -0
- package/dist/database/utils/migration.utils.d.ts +151 -0
- package/dist/database/utils/migration.utils.js +476 -0
- package/dist/database/utils/migration.utils.js.map +1 -0
- package/dist/database/utils/transaction.d.ts +64 -0
- package/dist/database/utils/transaction.js +130 -0
- package/dist/database/utils/transaction.js.map +1 -0
- package/dist/database/validators/connection.validator.d.ts +20 -0
- package/dist/database/validators/connection.validator.js +267 -0
- package/dist/database/validators/connection.validator.js.map +1 -0
- package/dist/database/validators/query.validator.d.ts +31 -0
- package/dist/database/validators/query.validator.js +305 -0
- package/dist/database/validators/query.validator.js.map +1 -0
- package/dist/database/validators/schema.validator.d.ts +31 -0
- package/dist/database/validators/schema.validator.js +334 -0
- package/dist/database/validators/schema.validator.js.map +1 -0
- package/dist/index.d.ts +25 -4
- package/dist/index.js +36 -4
- package/dist/index.js.map +1 -1
- package/dist/processor/services/processor.service.js +10 -8
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/products/services/utils/functions.utils.d.ts +1 -1
- package/dist/products/services/utils/functions.utils.js +1 -6
- package/dist/products/services/utils/functions.utils.js.map +1 -1
- package/dist/types/processor.types.d.ts +2 -2
- package/package.json +3 -1
|
@@ -14,6 +14,11 @@ export interface IAppBuilderService {
|
|
|
14
14
|
fetchEnv(slug: string, throwErrorIfExists?: boolean): Promise<IAppEnv>;
|
|
15
15
|
updateDataValidation(locator: string, update: Partial<IParsedSample>): Promise<void>;
|
|
16
16
|
updateAction(tag: string, data: Partial<IActionUpdate>): Promise<void>;
|
|
17
|
+
updateManyActions(tags: string[], data: {
|
|
18
|
+
category: 'query' | 'headers';
|
|
19
|
+
key: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}): Promise<void>;
|
|
17
22
|
fetchAction(identifier: string): Promise<IAppAction>;
|
|
18
23
|
fetchActions(): Promise<Array<IAppAction>>;
|
|
19
24
|
createAuth(data: Partial<IAppAuth>): Promise<void>;
|
|
@@ -90,6 +95,11 @@ export default class AppBuilderService implements IAppBuilderService {
|
|
|
90
95
|
fetchAction(identifier: string): Promise<IAppAction>;
|
|
91
96
|
updateAction(tag: string, data: Partial<IActionUpdate>): Promise<void>;
|
|
92
97
|
updateActionProcess(tag: string, data: Partial<IAppAction>, action: RequestAction): Promise<void>;
|
|
98
|
+
updateManyActions(tags: string[], data: {
|
|
99
|
+
category: 'query' | 'headers';
|
|
100
|
+
key: string;
|
|
101
|
+
value: string;
|
|
102
|
+
}): Promise<void>;
|
|
93
103
|
createActionRequestData(category: Categories, tag: string, payload: IAppActionBody, throwErrorIfExists?: boolean): Promise<void>;
|
|
94
104
|
parseRequestData(category: Categories, payload: ISample, key_description?: Array<KeyDescription>): Promise<ISample>;
|
|
95
105
|
fetchActionRequestData(category: Categories, tag: string): Promise<Array<IParsedSample>>;
|
|
@@ -584,6 +584,28 @@ class AppBuilderService {
|
|
|
584
584
|
tag }, data);
|
|
585
585
|
await this.appApi.updateApp(this.app_id, query, this.getUserAccess());
|
|
586
586
|
}
|
|
587
|
+
async updateManyActions(tags, data) {
|
|
588
|
+
try {
|
|
589
|
+
if (!tags || tags.length === 0) {
|
|
590
|
+
throw new Error('At least one action tag is required');
|
|
591
|
+
}
|
|
592
|
+
if (!data.key) {
|
|
593
|
+
throw new Error('Key is required');
|
|
594
|
+
}
|
|
595
|
+
// Call the backend bulk update endpoint once
|
|
596
|
+
await this.appApi.updateApp(this.app_id, {
|
|
597
|
+
component: types_1.AppComponents.ACTION_BULK,
|
|
598
|
+
action: 'update_multiple_shared_variable',
|
|
599
|
+
action_tags: tags,
|
|
600
|
+
variable_type: data.category,
|
|
601
|
+
variable_key: data.key,
|
|
602
|
+
variable_value: data.value,
|
|
603
|
+
}, this.getUserAccess());
|
|
604
|
+
}
|
|
605
|
+
catch (e) {
|
|
606
|
+
throw e;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
587
609
|
async createActionRequestData(category, tag, payload, throwErrorIfExists = false) {
|
|
588
610
|
try {
|
|
589
611
|
const bodyData = await this.fetchActionRequestData(category, tag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.service.js","sourceRoot":"","sources":["../../../src/apps/services/app.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.service.js","sourceRoot":"","sources":["../../../src/apps/services/app.service.ts"],"names":[],"mappings":";;;;;AAAA,uCA+BqB;AACrB,8CAiBuB;AACvB,sEAAkF;AAClF,iFAA4E;AAC5E,wDAA+C;AAC/C,iEAAsG;AACtG,kFAAoG;AACpG,6EAAgG;AAChG,0DAAkD;AAClD,0GAA6F;AAC7F,0GAAmG;AACnG,oHAAuG;AACvG,oHAA6G;AAmE7G,MAAqB,iBAAiB;IAapC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAgB;QAC9E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,0CAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAa,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAuB;QACrC,IAAI,CAAC;YACH,MAAM,mCAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAI,MAAM,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;gBAClB,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC1C,oCAAoC;YACtC,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,cAAc,CAAC,UAAmB;QAChC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,YAAY,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAoB,CAAC;YACvF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAoB,CAAC;YACtF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAoB,IAAI;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAuB;QAChD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,iCACrB,IAAI,KAAE,GAAG,EAAE,GAAG,IAAA,qBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAA,qBAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KACzE,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAElD,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,yBAAyB,CAAC,CAAC;YAEhE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAmB;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzD,MAAM,mCAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,SAAS,EAAE,qBAAa,CAAC,GAAG,EAC5B,MAAM,EAAE,qBAAa,CAAC,MAAM,KAE9B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAa,EAAE,qBAA8B,KAAK;QAChE,IAAI,CAAC;YACH,yEAAyE;YACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,+BAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,SAAS,EAAE,qBAAa,CAAC,GAAG,EAC5B,MAAM,EAAE,qBAAa,CAAC,MAAM,KAE9B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;gBACF,wCAAwC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,kBAAkB;oBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAsB;QAClD,IAAI,CAAC;YACH,6CAA6C;YAE7C,MAAM,+BAAkB,CAAC,aAAa,iCAAM,IAAI,KAAE,IAAI,IAAG,CAAC;YAE1D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,kCAAkC;gBAC/E,CAAC;YACH,CAAC;YAED,cAAc;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,gCAET,IAAI,IACD,IAAI,KACP,SAAS,EAAE,qBAAa,CAAC,GAAG,EAC5B,MAAM,EAAE,qBAAa,CAAC,MAAM,KAE9B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YACF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvH,OAAO,UAAuB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,qBAA8B,IAAI;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,IAAI,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAW;QACnC,MAAM,gBAAgB,GAAG,IAAA,iCAAiB,EAAC,GAAG,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YACzD,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,kBAAU,CAAC,MAAM;YAC3B,IAAI,EAAE,mBAAW,CAAC,IAAI;YACtB,QAAQ,EAAE,sBAAc,CAAC,WAAW;SACrC,CAAC,CAAoC,CAAC;QAEvC,MAAM,iBAAiB,GAAG,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAC1D,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,kBAAU,CAAC,KAAK;YAC1B,IAAI,EAAE,mBAAW,CAAC,IAAI;YACtB,QAAQ,EAAE,sBAAc,CAAC,WAAW;SACrC,CAAC,CAAoC,CAAC;QAEvC,OAAO;YACL,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACzC,IAAI,EAAE,eAAe;aACtB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBACxC,IAAI,EAAE,cAAc;aACrB;SACF,CAAC;IACJ,CAAC;IAED,4DAA4D;IACpD,uBAAuB,CAC7B,UAA2B,EAC3B,WAA0G;QAE1G,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,iFACK,IAAI,GACJ,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC3E,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC3E,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACxE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5E;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IACnD,uBAAuB,CAC7B,UAAiB,EACjB,cAA6G;QAE7G,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,wBAAwB,GAAG,CAAC,IAAW,EAAE,UAAU,GAAG,EAAE,EAAS,EAAE;YACvE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAE1C,IAAI,WAAW,qBAAQ,IAAI,CAAE,CAAC;gBAE9B,IAAI,QAAQ,EAAE,CAAC;oBACb,WAAW,6EACN,WAAW,GACX,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC3E,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC3E,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACxE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7E,CAAC;gBACJ,CAAC;gBAED,6EAA6E;gBAC7E,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvF,WAAW,CAAC,IAAI,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC1E,CAAC;gBAED,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA8F,EAAE,qBAA8B,KAAK;QACpJ,kBAAkB;QAClB,MAAM,kCAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,GAAG,GAAG,IAAA,qBAAM,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAErB,iCAAiC;QACjC,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,iBAAiB,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,yDAAyD;QACnE,CAAC;QAED,uFAAuF;QACvF,MAAM,IAAI,GAAwB;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,mBAAW,CAAC,IAAI;YACnD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,sDAAsD;QACtD,MAAM,eAAe,GAAwB,EAAE,CAAC;QAChD,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,yBAAyB;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAa;gBAC/B,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,MAAM;aAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,QAAQ;gBACb,UAAU,EAAE,UAAwC;gBACpD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAa;gBAC9B,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,KAAK;aAC3B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,OAAO;gBACZ,UAAU,EAAE,UAAwC;gBACpD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;aAC3C,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,cAAc,GAAI,IAAI,CAAC,IAAY,CAAC,cAAc,CAAC;YACzD,MAAM,UAAU,GAAI,IAAI,CAAC,IAAY,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;YAE1D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,IAAI;aAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,MAAM;gBACX,UAAU,EAAE,UAAwC;gBACpD,cAAc;gBACd,UAAU;gBACV,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAClE,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAa;gBAChC,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,MAAM;aAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,UAAwC;gBACpD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;aAC7C,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,QAAQ,EAAE,sBAAc,CAAC,WAAW;aACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,UAAwC;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAExD,yBAAyB;QACzB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACX,IAAI,CAAC,MAAM,GAAG;wBACZ,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC1C,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;qBACvE,CAAC;oBACF,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,CAAC,KAAK,GAAG;wBACX,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;wBACzC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;qBACvE,CAAC;oBACF,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;oBAClC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC1B,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBACrF,CAAC;yBAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtE,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC/E,CAAC;oBAED,IAAI,CAAC,IAAI,GAAG;wBACV,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;wBACzC,IAAI,EAAE,SAAS;qBAChB,CAAC;oBACF,MAAM;gBAER,KAAK,SAAS;oBACZ,IAAI,CAAC,OAAO,GAAG;wBACb,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC3C,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;qBACvE,CAAC;oBACF,MAAM;gBAER,KAAK,UAAU;oBACb,MAAM,QAAQ,GAA2B;wBACvC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,cAAc,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;wBACrE,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;wBAC9C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;wBACtC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;wBAC9B,IAAI,EAAE;4BACJ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC1C,IAAI,EAAE,mBAAW,CAAC,IAAI;4BACtB,IAAI,EAAE,MAAM,CAAC,UAAU;4BACvB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;yBACvC;qBACF,CAAC;oBACF,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM;YACV,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnF,IAAI,CAAC,QAAQ,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9C,2DAA2D;YAC3D,IAAI,CAAC,MAAM,mCACN,IAAI,CAAC,MAAM,GACX,MAAM,CACV,CAAC;YAEF,IAAI,CAAC,KAAK,mCACL,IAAI,CAAC,KAAK,GACV,SAAS,CACb,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,qBAAa,CAAC,MAAM,CAAC,CAAC;QAEhE,iDAAiD;QACjD,mDAAmD;IACrD,CAAC;IAED,qDAAqD;IAC7C,eAAe,CAAC,IAAS;QAC/B,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,IAAI,IAAI,IAAK,IAAY,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,IAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,IAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;gBACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1H,OAAO,UAA0B,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,CACzE,CAAC;QAEF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,IAA4B;QAC1D,kBAAkB;QAClB,MAAM,kCAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAwB,MAAM,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;QAC5C,CAAC;QAED,sDAAsD;QACtD,MAAM,eAAe,GAAwB,EAAE,CAAC;QAEhD,yBAAyB;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAa;gBAC/B,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,MAAM;aAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,QAAQ;gBACb,UAAU,EAAE,UAAwC;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAa;gBAC9B,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,KAAK;aAC3B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,OAAO;gBACZ,UAAU,EAAE,UAAwC;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAa;gBAC7B,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,IAAI;aAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,MAAM;gBACX,UAAU,EAAE,UAAwC;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAa;gBAChC,QAAQ,EAAE,sBAAc,CAAC,WAAW;gBACpC,QAAQ,EAAE,kBAAU,CAAC,MAAM;aAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,UAAwC;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,QAAQ,EAAE,sBAAc,CAAC,WAAW;aACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,UAAwC;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAExD,yBAAyB;QACzB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACX,IAAI,CAAC,MAAM,GAAG;wBACZ,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;wBACnC,IAAI,EAAE,MAAM,CAAC,UAAU;qBACxB,CAAC;oBACF,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,CAAC,KAAK,GAAG;wBACX,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;wBAClC,IAAI,EAAE,MAAM,CAAC,UAAU;qBACxB,CAAC;oBACF,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,CAAC,IAAI,GAAG;wBACV,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjC,IAAI,EAAE,MAAM,CAAC,UAAU;qBACxB,CAAC;oBACF,MAAM;gBAER,KAAK,SAAS;oBACZ,IAAI,CAAC,OAAO,GAAG;wBACb,IAAI,EAAE,mBAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;wBACpC,IAAI,EAAE,MAAM,CAAC,UAAU;qBACxB,CAAC;oBACF,MAAM;gBAER,KAAK,UAAU;oBACb,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;oBAClC,MAAM,QAAQ,GAA2B;wBACvC,IAAI,EAAE,cAAc,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;wBAC/C,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;wBAC9C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;wBACtC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;wBAC9B,IAAI,EAAE;4BACJ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC1C,IAAI,EAAE,mBAAW,CAAC,IAAI;4BACtB,IAAI,EAAE,MAAM,CAAC,UAAU;4BACvB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;yBACvC;qBACF,CAAC;oBAEF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAEvG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;wBAC1E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;4BACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;wBACnC,CAAC;6BAAM,CAAC;4BACN,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;gCACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;4BACxC,CAAC;4BACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC/B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;4BACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBACxC,CAAC;wBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC/B,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnF,IAAI,CAAC,QAAQ,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9C,2DAA2D;YAC3D,IAAI,CAAC,MAAM,mCACN,IAAI,CAAC,MAAM,GACX,MAAM,CACV,CAAC;YAEF,IAAI,CAAC,KAAK,mCACL,IAAI,CAAC,KAAK,GACV,SAAS,CACb,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,qBAAa,CAAC,MAAM,CAAC,CAAC;QAEhE,iDAAiD;QACjD,oGAAoG;QACpG,yBAAyB;QACvB,4DAA4D;QAC9D,GAAG;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,IAAyB,EAAE,MAAqB;QAErF,MAAM,KAAK,mBACT,SAAS,EAAE,qBAAa,CAAC,MAAM,EAC/B,MAAM;YACN,GAAG,IACA,IAAI,CACR,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAc,EAAE,IAAmE;QACzG,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YAED,6CAA6C;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,EACX;gBACE,SAAS,EAAE,qBAAa,CAAC,WAAW;gBACpC,MAAM,EAAE,iCAAiC;gBACzC,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI,CAAC,QAAQ;gBAC5B,YAAY,EAAE,IAAI,CAAC,GAAG;gBACtB,cAAc,EAAE,IAAI,CAAC,KAAK;aAC3B,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,QAAoB,EACpB,GAAW,EACX,OAAuB,EACvB,qBAA8B,KAAK;QAEnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAE/C,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;gBACvB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAE1D,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,kBAAU,CAAC,IAAI,KAE3B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YACJ,CAAC;iBAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAoB,EACpB,OAAgB,EAChB,kBAAyC,EAAE;QAE3C,MAAM,sCAAyB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAC/C,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,QAAQ;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,sBAAc,CAAC,WAAW;YACpC,eAAe;SAChB,CAAC,CAAoC,CAAC;QAEvC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5C,uCAAY,OAAO,KAAE,MAAM,EAAE,IAAI,IAAG;IACtC,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,sBAAsB,CAAC,QAAoB,EAAE,GAAW;QAC5D,IAAI,CAAC;YACH,IAAI,IAAI,CAAC;YACT,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,kBAAU,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBACxB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAU,CAAC,KAAK,EAAE,CAAC;gBACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;gBACzB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAU,CAAC,MAAM,EAAE,CAAC;gBAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAU,CAAC,MAAM,EAAE,CAAC;gBAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAC3B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,gBAAgB,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,QAAoB,EAAE,GAAW;QAC9D,IAAI,CAAC;YACH,IAAI,MAAM,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,kBAAU,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBACxB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAU,CAAC,KAAK,EAAE,CAAC;gBACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;gBACzB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAU,CAAC,MAAM,EAAE,CAAC;gBAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBAC1B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAU,CAAC,MAAM,EAAE,CAAC;gBAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAC3B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,gBAAgB,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,OAA+B;QAC/E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,0CAA6B,CAAC,aAAa,mBAAM,OAAO,EAAG,CAAC;YAElE,OAAO,CAAC,GAAG,GAAG,IAAA,qBAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAEnD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,OAAO,KACV,UAAU,EACV,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,eAAe,KAE1C,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,0CAA6B,CAAC,aAAa,mBAAM,OAAO,EAAG,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA+B;QACxD,MAAM,0CAA6B,CAAC,aAAa,mBAAM,OAAO,EAAG,CAAC;QAElE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAC/C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;YACzB,QAAQ,EAAE,kBAAU,CAAC,QAAQ;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;YACvB,QAAQ,EAAE,sBAAc,CAAC,WAAW;SACrC,CAAC,CAAoC,CAAC;QAEvC,IACE,OAAO,CAAC,OAAO;YACf,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC,EAC3G,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QAED,IACE,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,cAAc;YACtB,OAAO,CAAC,cAAc,CAAC,IAAI;YAC3B,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM;YAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EACtD,CAAC;YACD,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC1D,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM;gBACxC,QAAQ,EAAE,kBAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,mBAAW,CAAC,IAAI;gBACtB,QAAQ,EAAE,sBAAc,CAAC,UAAU;aACpC,CAAC,CAAmC,CAAC;YAEtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAC5D,IAAI,EACJ,eAAkD,CACnD,CAAC;YAEF,IAAI,cAAc,CAAC,MAAM;gBACvB,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,CAAC,SAAS,CAChE,cAAc,CACf,kCAAkC,CACpC,CAAC;iBACC,CAAC;gBACJ,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;gBAC1C,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,GAAG,CAAC,GAAG,CAAC;YACjB,CAAC,CAAC,CACH,CAAC;YACF,OAAO,CAAC,IAAI,GAAG,MAAa,CAAC;QAC/B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,YAAoB,EACpB,qBAA8B,KAAK;QAEnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAA4B,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC;QAE7F,IAAI,CAAC,QAAQ,IAAI,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,YAAY,CAAC,CAAC;QAE3F,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkFG;IAEH,KAAK,CAAC,eAAe,CAAC,IAAuB;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,QAAQ,EAAE,kBAAU,CAAC,IAAI;gBACzB,IAAI,EAAE,mBAAW,CAAC,IAAI;gBACtB,QAAQ,EAAE,sBAAc,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBACzB,QAAQ,EAAE,kBAAU,CAAC,MAAM;gBAC3B,IAAI,EAAE,mBAAW,CAAC,IAAI;gBACtB,QAAQ,EAAE,sBAAc,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACvB,QAAQ,EAAE,kBAAU,CAAC,KAAK;gBAC1B,IAAI,EAAE,mBAAW,CAAC,IAAI;gBACtB,QAAQ,EAAE,sBAAc,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBACxB,QAAQ,EAAE,kBAAU,CAAC,MAAM;gBAC3B,IAAI,EAAE,mBAAW,CAAC,IAAI;gBACtB,QAAQ,EAAE,sBAAc,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAEhD,IAAI,UAAU,KAAK,iBAAS,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,UAAU,KAAK,iBAAS,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,gCAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,UAAU,KAAK,iBAAS,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzG,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,UAAU,KAAK,iBAAS,CAAC,WAAW,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,mBAAM,IAAI,EAAG,CAAC;YAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,IAAI,KAE/B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,IAAuB;QACnD,IAAI,CAAC;YACH,MAAM,gCAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,iCAAM,IAAI,GAAK,IAAI,EAAG,CAAC;YACxD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,gCAET,GAAG,IACA,IAAI,KACP,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,IAAI,KAE/B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,wCAAwC;YAExC,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxH,OAAO,UAAwB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAA4B,EAAE,qBAA8B,KAAK;QACpF,IAAI,CAAC;YACH,MAAM,oCAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEzD,IAAI,MAAM,IAAI,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,QAAQ,KAEnC,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YACJ,CAAC;YACD,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,IAA4B;QAC5D,IAAI,CAAC;YACH,MAAM,oCAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAElD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,GAAG,EACH,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,QAAQ,KAEnC,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5H,OAAO,UAA6B,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,qBAA8B,IAAI;QACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAE3E,IAAI,CAAC,QAAQ,IAAI,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;QAElF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAA4B,EAAE,qBAA8B,KAAK;QACpF,IAAI,CAAC;YACH,MAAM,oCAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEzD,IAAI,MAAM,IAAI,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAEjF,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,QAAQ,KAEnC,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,IAA4B;QAC5D,MAAM,oCAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,MAAM,EAAE,qBAAa,CAAC,MAAM,EAC5B,SAAS,EAAE,qBAAa,CAAC,QAAQ,KAEnC,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QAEF,wCAAwC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5H,OAAO,UAA6B,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,qBAA8B,IAAI;QACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAE3E,IAAI,CAAC,QAAQ,IAAI,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;QAElF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,MAA8B;QACxE,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,8DAA8D;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAa,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAa,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAuB,EAAE,MAAqB,EAAE,MAA8B;QAC3G,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAuB,CAAC;YAEpD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,SAAS,CAAC;YACd,IAAI,cAAc,CAAC;YAEnB,MAAM,OAAO,GACX,QAAQ,KAAK,qBAAa,CAAC,IAAI;gBAC7B,CAAC,CAAC,CAAC,qBAAa,CAAC,MAAM,EAAE,qBAAa,CAAC,MAAM,EAAE,qBAAa,CAAC,KAAK,CAAC;gBACnE,CAAC,CAAC,QAAQ,KAAK,qBAAa,CAAC,MAAM;oBACjC,CAAC,CAAC,CAAC,qBAAa,CAAC,IAAI,EAAE,qBAAa,CAAC,MAAM,EAAE,qBAAa,CAAC,KAAK,CAAC;oBACjE,CAAC,CAAC,QAAQ,KAAK,qBAAa,CAAC,MAAM;wBACjC,CAAC,CAAC,CAAC,qBAAa,CAAC,IAAI,EAAE,qBAAa,CAAC,MAAM,EAAE,qBAAa,CAAC,KAAK,CAAC;wBACjE,CAAC,CAAC,CAAC,qBAAa,CAAC,IAAI,EAAE,qBAAa,CAAC,MAAM,EAAE,qBAAa,CAAC,MAAM,CAAC,CAAC;YAE3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,GAAG,CAAC;gBACvB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,EAAE,CAAC;gBAER,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CACrF,CAAC;gBAEF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,wBAAwB,UAAU,MAAM,QAAQ,OAAO,CAAC,CAAC;gBAC3F,CAAC;gBAED,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7B,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,mCAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAK,MAAM,CAAE,CAAC;YAExE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAA0B,CAAC;YAE9C,MAAM,cAAc,GAAG,IAAA,wBAAQ,EAAC,MAAM,EAAE;gBACtC,KAAK;gBACL,KAAK;gBACL,SAAS;gBACT,MAAM;gBACN,UAAU;gBACV,MAAM;gBACN,QAAQ;gBACR,WAAW;gBACX,GAAG,OAAO;aACX,CAAC,CAAC;YAGH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,gCAET,GAAG,EAAE,UAAU,IACZ,MAAM,KACT,SAAS,EAAE,qBAAa,CAAC,UAAU,EACnC,MAAM,EAAE,qBAAa,CAAC,MAAM,KAE9B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA0B,EAAE,qBAA8B,KAAK;QACjF,IAAI,CAAC;YACH,yEAAyE;YACzE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,+CAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAE5C,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC;oBACpD,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzG,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK;4BACpC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;4BAChE,CAAC,CAAC,EAAE,CAAC;wBACP,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM;4BACtC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;4BAClE,CAAC,CAAC,EAAE,CAAC;wBACP,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO;4BACvC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;4BACpE,CAAC,CAAC,EAAE,CAAC;wBAEP,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,EAAE,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;oBAC9F,CAAC;oBAED,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC,CAAC;gBAEJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACf,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;oBAEvE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClB,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,8DAA8D,CAAC,CAAC;oBACzG,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,kCAEN,IAAI,KACP,SAAS,EAAE,qBAAa,CAAC,OAAO,EAChC,MAAM,EAAE,qBAAa,CAAC,MAAM,KAE9B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;gBACF,wCAAwC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,kBAAkB;oBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,IAA0B;QACzD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAE9B,MAAM,qDAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;YAEvE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,kCAAkC;gBAC7E,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBACpD,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzG,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7G,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM;wBACtC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;wBAClE,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO;wBACvC,CAAC,CAAC,IAAA,kCAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;wBACpE,CAAC,CAAC,EAAE,CAAC;oBAEP,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,EAAE,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;gBAC9F,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC,CAAC;YAEJ,MAAM,SAAS,GAAqB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAqB,EAAE,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE3E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACvD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,iCAAM,GAAG,GAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAqB,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9E,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEtF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;YAErD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;YAEvC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,gCAET,GAAG,IACA,IAAI,KACP,SAAS,EAAE,qBAAa,CAAC,OAAO,EAChC,MAAM,EAAE,qBAAa,CAAC,MAAM,KAE9B,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YACF,wCAAwC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3H,OAAO,UAA2B,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAA+B,EAAE,qBAA8B,KAAK;QAC3F,IAAI,CAAC;YACH,MAAM,yDAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEZ,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;gBACtE,CAAC;gBAED,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAE3C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAa,CAAC;gBACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC/D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,4BAA4B,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAED,IACE,OAAO,KAAK,IAAI;oBAChB,OAAO,OAAO,KAAK,WAAW;oBAC9B,OAAO,OAAO,KAAK,QAAQ,EAC3B,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;gBACvF,CAAC;gBAED,uGAAuG;gBAEvG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;gBAE1D,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,KAAK,EAAC,EAAE;oBACrB,IAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;wBACvE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,eAAe,OAAO,4BAA4B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;oBACzG,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBACpD,IAAI,EAAE,IAAI,CAAC,MAAM;oBACjB,QAAQ,EAAE,sBAAc,CAAC,WAAW;iBACrC,CAA+B,CAAC;gBAEjC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;gBAE7B,OAAO,IAAI,CAAC,GAAG,CAAC;gBAChB,MAAM,OAAO,mCACR,IAAI,KACP,UAAU;oBACV,GAAG,EACH,SAAS,EAAE,qBAAa,CAAC,aAAa,EACtC,MAAM,EAAE,qBAAa,CAAC,MAAM,GAC7B,CAAC;gBAEF,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,IAAI,CAAC,MAAM,EACX,OAAO,EACP,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;gBACF,wCAAwC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,kBAAkB;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,IAA+B;QACtD,IAAI,CAAC;YACH,MAAM,+DAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,sBAAsB;YACtB,qEAAqE;YACrE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAErD,oCAAoC;YACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAEf,IAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;YAC3E,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEhB,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;gBACtE,CAAC;gBAED,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAE3C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAa,CAAC;gBACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC/D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,4BAA4B,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAED,IACE,OAAO,KAAK,IAAI;oBAChB,OAAO,OAAO,KAAK,WAAW;oBAC9B,OAAO,OAAO,KAAK,QAAQ,EAC3B,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;gBACvF,CAAC;gBAED,uGAAuG;gBAEvG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;gBAE1D,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,KAAK,EAAC,EAAE;oBACrB,IAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;wBAC5F,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,eAAe,OAAO,4BAA4B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;oBACzG,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBACpD,IAAI,EAAE,IAAI,CAAC,MAAM;oBACjB,QAAQ,EAAE,sBAAc,CAAC,WAAW;iBACrC,CAA+B,CAAC;gBAEjC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC/B,CAAC;YAED,oBAAoB;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC;YAEhB,MAAM,OAAO,iDACR,KAAK,GACL,IAAI,KACP,GAAG;gBACH,UAAU,EACV,SAAS,EAAE,qBAAa,CAAC,aAAa,EACtC,MAAM,EAAE,qBAAa,CAAC,MAAM,GAC7B,CAAC;YAGF,kCAAkC;YAClC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACxE,wCAAwC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACjC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAA,CAAC;QAE/C,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAW;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAEO,aAAa;QACnB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF;AA7wDD,oCA6wDC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base database adapter interface
|
|
3
|
+
* All database-specific adapters must implement this interface
|
|
4
|
+
*/
|
|
5
|
+
import { DatabaseType, IConnection, IDatabaseConfig } from '../types/database.types';
|
|
6
|
+
import { IQueryOptions, IInsertOptions, IUpdateOptions, IDeleteOptions, IUpsertOptions, IRawQueryOptions } from '../types/query.types';
|
|
7
|
+
import { ICountOptions, ISumOptions, IAvgOptions, IMinOptions, IMaxOptions, IGroupByOptions, IAggregateOptions, IGroupByResult } from '../types/aggregation.types';
|
|
8
|
+
import { ITableSchema, IColumnAlteration, ICreateTableOptions, IAlterTableOptions } from '../types/schema.types';
|
|
9
|
+
import { ICreateIndexOptions, IDropIndexOptions, IListIndexesOptions, IIndexInfo, IIndexStatistics } from '../types/index.types';
|
|
10
|
+
import { IMigrationDefinition, IMigrationExecutionOptions, IMigrationHistory, IMigrationResult } from '../types/migration.types';
|
|
11
|
+
import { IQueryResult, IInsertResult, IUpdateResult, IDeleteResult, IUpsertResult, ISchemaOperationResult, IIndexOperationResult, IRawQueryResult, IConnectionTestResult } from '../types/result.types';
|
|
12
|
+
/**
|
|
13
|
+
* Base database adapter abstract class
|
|
14
|
+
* Provides common functionality and defines required methods
|
|
15
|
+
*/
|
|
16
|
+
export declare abstract class BaseDatabaseAdapter {
|
|
17
|
+
/** Database type this adapter handles */
|
|
18
|
+
abstract readonly type: DatabaseType;
|
|
19
|
+
/**
|
|
20
|
+
* Create and establish a database connection
|
|
21
|
+
*/
|
|
22
|
+
abstract connect(config: IDatabaseConfig): Promise<IConnection>;
|
|
23
|
+
/**
|
|
24
|
+
* Close a database connection
|
|
25
|
+
*/
|
|
26
|
+
abstract disconnect(connection: IConnection): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Test database connection
|
|
29
|
+
*/
|
|
30
|
+
abstract testConnection(connection: IConnection): Promise<IConnectionTestResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Begin a new transaction
|
|
33
|
+
*/
|
|
34
|
+
abstract beginTransaction(connection: IConnection, options?: any): Promise<any>;
|
|
35
|
+
/**
|
|
36
|
+
* Commit a transaction
|
|
37
|
+
*/
|
|
38
|
+
abstract commitTransaction(connection: IConnection, transaction: any): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Rollback a transaction
|
|
41
|
+
*/
|
|
42
|
+
abstract rollbackTransaction(connection: IConnection, transaction: any): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Create a savepoint within a transaction
|
|
45
|
+
*/
|
|
46
|
+
abstract createSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Rollback to a savepoint
|
|
49
|
+
*/
|
|
50
|
+
abstract rollbackToSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Release a savepoint
|
|
53
|
+
*/
|
|
54
|
+
abstract releaseSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Execute a callback within a transaction
|
|
57
|
+
* Automatically commits on success or rolls back on error
|
|
58
|
+
*/
|
|
59
|
+
executeTransaction<T>(connection: IConnection, callback: (transaction: any) => Promise<T>, options?: any): Promise<T>;
|
|
60
|
+
/**
|
|
61
|
+
* Execute a select query
|
|
62
|
+
*/
|
|
63
|
+
abstract query<T = any>(connection: IConnection, options: IQueryOptions): Promise<IQueryResult<T>>;
|
|
64
|
+
/**
|
|
65
|
+
* Insert records
|
|
66
|
+
*/
|
|
67
|
+
abstract insert<T = any>(connection: IConnection, options: IInsertOptions): Promise<IInsertResult<T>>;
|
|
68
|
+
/**
|
|
69
|
+
* Update records
|
|
70
|
+
*/
|
|
71
|
+
abstract update<T = any>(connection: IConnection, options: IUpdateOptions): Promise<IUpdateResult<T>>;
|
|
72
|
+
/**
|
|
73
|
+
* Delete records
|
|
74
|
+
*/
|
|
75
|
+
abstract delete<T = any>(connection: IConnection, options: IDeleteOptions): Promise<IDeleteResult<T>>;
|
|
76
|
+
/**
|
|
77
|
+
* Upsert records (insert or update)
|
|
78
|
+
*/
|
|
79
|
+
abstract upsert<T = any>(connection: IConnection, options: IUpsertOptions): Promise<IUpsertResult<T>>;
|
|
80
|
+
/**
|
|
81
|
+
* Execute raw SQL/query
|
|
82
|
+
*/
|
|
83
|
+
abstract executeRaw<T = any>(connection: IConnection, options: IRawQueryOptions): Promise<IRawQueryResult<T>>;
|
|
84
|
+
/**
|
|
85
|
+
* Count records
|
|
86
|
+
*/
|
|
87
|
+
abstract count(connection: IConnection, options: ICountOptions): Promise<number>;
|
|
88
|
+
/**
|
|
89
|
+
* Sum column values
|
|
90
|
+
*/
|
|
91
|
+
abstract sum(connection: IConnection, options: ISumOptions): Promise<number>;
|
|
92
|
+
/**
|
|
93
|
+
* Get average of column values
|
|
94
|
+
*/
|
|
95
|
+
abstract avg(connection: IConnection, options: IAvgOptions): Promise<number>;
|
|
96
|
+
/**
|
|
97
|
+
* Get minimum value
|
|
98
|
+
*/
|
|
99
|
+
abstract min(connection: IConnection, options: IMinOptions): Promise<number | string>;
|
|
100
|
+
/**
|
|
101
|
+
* Get maximum value
|
|
102
|
+
*/
|
|
103
|
+
abstract max(connection: IConnection, options: IMaxOptions): Promise<number | string>;
|
|
104
|
+
/**
|
|
105
|
+
* Group by and aggregate
|
|
106
|
+
*/
|
|
107
|
+
abstract groupBy(connection: IConnection, options: IGroupByOptions): Promise<IGroupByResult[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Multiple aggregations in one query
|
|
110
|
+
*/
|
|
111
|
+
abstract aggregate(connection: IConnection, options: IAggregateOptions): Promise<Record<string, any>>;
|
|
112
|
+
/**
|
|
113
|
+
* Create a table/collection
|
|
114
|
+
*/
|
|
115
|
+
abstract createTable(connection: IConnection, schema: ITableSchema, options?: ICreateTableOptions): Promise<ISchemaOperationResult>;
|
|
116
|
+
/**
|
|
117
|
+
* Drop a table/collection
|
|
118
|
+
*/
|
|
119
|
+
abstract dropTable(connection: IConnection, tableName: string): Promise<ISchemaOperationResult>;
|
|
120
|
+
/**
|
|
121
|
+
* Alter table (add/modify/drop columns)
|
|
122
|
+
*/
|
|
123
|
+
abstract alterTable(connection: IConnection, tableName: string, alterations: IColumnAlteration[], options?: IAlterTableOptions): Promise<ISchemaOperationResult>;
|
|
124
|
+
/**
|
|
125
|
+
* Get table schema
|
|
126
|
+
*/
|
|
127
|
+
abstract getTableSchema(connection: IConnection, tableName: string): Promise<ITableSchema>;
|
|
128
|
+
/**
|
|
129
|
+
* List all tables/collections
|
|
130
|
+
*/
|
|
131
|
+
abstract listTables(connection: IConnection): Promise<string[]>;
|
|
132
|
+
/**
|
|
133
|
+
* Check if table exists
|
|
134
|
+
*/
|
|
135
|
+
abstract tableExists(connection: IConnection, tableName: string): Promise<boolean>;
|
|
136
|
+
/**
|
|
137
|
+
* Create an index
|
|
138
|
+
*/
|
|
139
|
+
abstract createIndex(connection: IConnection, options: ICreateIndexOptions): Promise<IIndexOperationResult>;
|
|
140
|
+
/**
|
|
141
|
+
* Drop an index
|
|
142
|
+
*/
|
|
143
|
+
abstract dropIndex(connection: IConnection, options: IDropIndexOptions): Promise<IIndexOperationResult>;
|
|
144
|
+
/**
|
|
145
|
+
* List indexes for a table
|
|
146
|
+
*/
|
|
147
|
+
abstract listIndexes(connection: IConnection, options: IListIndexesOptions): Promise<IIndexInfo[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Get index statistics
|
|
150
|
+
*/
|
|
151
|
+
abstract getIndexStatistics(connection: IConnection, tableName: string, indexName?: string): Promise<IIndexStatistics[]>;
|
|
152
|
+
/**
|
|
153
|
+
* Run a migration
|
|
154
|
+
*/
|
|
155
|
+
abstract runMigration(connection: IConnection, migration: IMigrationDefinition, options: IMigrationExecutionOptions): Promise<IMigrationResult>;
|
|
156
|
+
/**
|
|
157
|
+
* Rollback a migration
|
|
158
|
+
*/
|
|
159
|
+
abstract rollbackMigration(connection: IConnection, migration: IMigrationDefinition, options: IMigrationExecutionOptions): Promise<IMigrationResult>;
|
|
160
|
+
/**
|
|
161
|
+
* Get migration history
|
|
162
|
+
*/
|
|
163
|
+
abstract getMigrationHistory(connection: IConnection, options: IMigrationExecutionOptions): Promise<IMigrationHistory[]>;
|
|
164
|
+
/**
|
|
165
|
+
* Escape identifier (table/column name)
|
|
166
|
+
*/
|
|
167
|
+
abstract escapeIdentifier(identifier: string): string;
|
|
168
|
+
/**
|
|
169
|
+
* Escape value
|
|
170
|
+
*/
|
|
171
|
+
abstract escapeValue(value: any): string;
|
|
172
|
+
/**
|
|
173
|
+
* Get database version
|
|
174
|
+
*/
|
|
175
|
+
abstract getDatabaseVersion(connection: IConnection): Promise<string>;
|
|
176
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base database adapter interface
|
|
4
|
+
* All database-specific adapters must implement this interface
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.BaseDatabaseAdapter = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Base database adapter abstract class
|
|
10
|
+
* Provides common functionality and defines required methods
|
|
11
|
+
*/
|
|
12
|
+
class BaseDatabaseAdapter {
|
|
13
|
+
/**
|
|
14
|
+
* Execute a callback within a transaction
|
|
15
|
+
* Automatically commits on success or rolls back on error
|
|
16
|
+
*/
|
|
17
|
+
async executeTransaction(connection, callback, options) {
|
|
18
|
+
const transaction = await this.beginTransaction(connection, options);
|
|
19
|
+
try {
|
|
20
|
+
const result = await callback(transaction);
|
|
21
|
+
await this.commitTransaction(connection, transaction);
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
await this.rollbackTransaction(connection, transaction);
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.BaseDatabaseAdapter = BaseDatabaseAdapter;
|
|
31
|
+
//# sourceMappingURL=base.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/base.adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwDH;;;GAGG;AACH,MAAsB,mBAAmB;IAoEvC;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAuB,EACvB,QAA0C,EAC1C,OAAa;QAEb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CAmOF;AA1TD,kDA0TC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DynamoDB Database Adapter
|
|
3
|
+
* Implements database operations for Amazon DynamoDB
|
|
4
|
+
*/
|
|
5
|
+
import { BaseDatabaseAdapter } from './base.adapter';
|
|
6
|
+
import { DatabaseType, IConnection, IDatabaseConfig } from '../types/database.types';
|
|
7
|
+
import { IQueryOptions, IInsertOptions, IUpdateOptions, IDeleteOptions, IUpsertOptions, IRawQueryOptions } from '../types/query.types';
|
|
8
|
+
import { ICountOptions, ISumOptions, IAvgOptions, IMinOptions, IMaxOptions, IGroupByOptions, IAggregateOptions, IGroupByResult } from '../types/aggregation.types';
|
|
9
|
+
import { ITableSchema, IColumnAlteration, ICreateTableOptions, IAlterTableOptions } from '../types/schema.types';
|
|
10
|
+
import { ICreateIndexOptions, IDropIndexOptions, IListIndexesOptions, IIndexInfo, IIndexStatistics } from '../types/index.types';
|
|
11
|
+
import { IMigrationDefinition, IMigrationExecutionOptions, IMigrationHistory, IMigrationResult } from '../types/migration.types';
|
|
12
|
+
import { IQueryResult, IInsertResult, IUpdateResult, IDeleteResult, IUpsertResult, ISchemaOperationResult, IIndexOperationResult, IRawQueryResult, IConnectionTestResult } from '../types/result.types';
|
|
13
|
+
/**
|
|
14
|
+
* DynamoDB Database Adapter
|
|
15
|
+
*/
|
|
16
|
+
export declare class DynamoDBAdapter extends BaseDatabaseAdapter {
|
|
17
|
+
readonly type = DatabaseType.DYNAMODB;
|
|
18
|
+
connect(config: IDatabaseConfig): Promise<IConnection>;
|
|
19
|
+
disconnect(connection: IConnection): Promise<void>;
|
|
20
|
+
testConnection(connection: IConnection): Promise<IConnectionTestResult>;
|
|
21
|
+
beginTransaction(connection: IConnection, options?: any): Promise<any>;
|
|
22
|
+
commitTransaction(connection: IConnection, transaction: any): Promise<void>;
|
|
23
|
+
rollbackTransaction(connection: IConnection, transaction: any): Promise<void>;
|
|
24
|
+
createSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
|
|
25
|
+
rollbackToSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
|
|
26
|
+
releaseSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
|
|
27
|
+
query<T = any>(connection: IConnection, options: IQueryOptions): Promise<IQueryResult<T>>;
|
|
28
|
+
insert<T = any>(connection: IConnection, options: IInsertOptions): Promise<IInsertResult<T>>;
|
|
29
|
+
update<T = any>(connection: IConnection, options: IUpdateOptions): Promise<IUpdateResult<T>>;
|
|
30
|
+
delete<T = any>(connection: IConnection, options: IDeleteOptions): Promise<IDeleteResult<T>>;
|
|
31
|
+
upsert<T = any>(connection: IConnection, options: IUpsertOptions): Promise<IUpsertResult<T>>;
|
|
32
|
+
executeRaw<T = any>(connection: IConnection, options: IRawQueryOptions): Promise<IRawQueryResult<T>>;
|
|
33
|
+
count(connection: IConnection, options: ICountOptions): Promise<number>;
|
|
34
|
+
sum(connection: IConnection, options: ISumOptions): Promise<number>;
|
|
35
|
+
avg(connection: IConnection, options: IAvgOptions): Promise<number>;
|
|
36
|
+
min(connection: IConnection, options: IMinOptions): Promise<number | string>;
|
|
37
|
+
max(connection: IConnection, options: IMaxOptions): Promise<number | string>;
|
|
38
|
+
groupBy(connection: IConnection, options: IGroupByOptions): Promise<IGroupByResult[]>;
|
|
39
|
+
aggregate(connection: IConnection, options: IAggregateOptions): Promise<Record<string, any>>;
|
|
40
|
+
createTable(connection: IConnection, schema: ITableSchema, options?: ICreateTableOptions): Promise<ISchemaOperationResult>;
|
|
41
|
+
dropTable(connection: IConnection, tableName: string): Promise<ISchemaOperationResult>;
|
|
42
|
+
alterTable(connection: IConnection, tableName: string, alterations: IColumnAlteration[], options?: IAlterTableOptions): Promise<ISchemaOperationResult>;
|
|
43
|
+
getTableSchema(connection: IConnection, tableName: string): Promise<ITableSchema>;
|
|
44
|
+
listTables(connection: IConnection): Promise<string[]>;
|
|
45
|
+
tableExists(connection: IConnection, tableName: string): Promise<boolean>;
|
|
46
|
+
createIndex(connection: IConnection, options: ICreateIndexOptions): Promise<IIndexOperationResult>;
|
|
47
|
+
dropIndex(connection: IConnection, options: IDropIndexOptions): Promise<IIndexOperationResult>;
|
|
48
|
+
listIndexes(connection: IConnection, options: IListIndexesOptions): Promise<IIndexInfo[]>;
|
|
49
|
+
getIndexStatistics(connection: IConnection, tableName: string, indexName?: string): Promise<IIndexStatistics[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Execute a migration operation
|
|
52
|
+
* Note: DynamoDB is schema-less, so column operations are skipped
|
|
53
|
+
*/
|
|
54
|
+
private executeMigrationOperation;
|
|
55
|
+
runMigration(connection: IConnection, migration: IMigrationDefinition, options: IMigrationExecutionOptions): Promise<IMigrationResult>;
|
|
56
|
+
rollbackMigration(connection: IConnection, migration: IMigrationDefinition, options: IMigrationExecutionOptions): Promise<IMigrationResult>;
|
|
57
|
+
getMigrationHistory(connection: IConnection, options: IMigrationExecutionOptions): Promise<IMigrationHistory[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Ensure migration tracking table exists
|
|
60
|
+
*/
|
|
61
|
+
private ensureMigrationTable;
|
|
62
|
+
/**
|
|
63
|
+
* Record migration execution
|
|
64
|
+
*/
|
|
65
|
+
private recordMigration;
|
|
66
|
+
/**
|
|
67
|
+
* Remove migration from history
|
|
68
|
+
*/
|
|
69
|
+
private removeMigration;
|
|
70
|
+
private hasPartitionKeyInWhere;
|
|
71
|
+
private buildQueryParams;
|
|
72
|
+
private buildScanParams;
|
|
73
|
+
private buildKeyConditionExpression;
|
|
74
|
+
private buildFilterExpression;
|
|
75
|
+
private buildUpdateExpression;
|
|
76
|
+
private extractKeyFromWhere;
|
|
77
|
+
private chunkArray;
|
|
78
|
+
private mapColumnTypeToDynamoDB;
|
|
79
|
+
private mapDynamoDBTypeToColumnType;
|
|
80
|
+
escapeIdentifier(identifier: string): string;
|
|
81
|
+
escapeValue(value: any): string;
|
|
82
|
+
getDatabaseVersion(connection: IConnection): Promise<string>;
|
|
83
|
+
}
|