@diagramers/cli 1.0.49 → 1.0.52
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/services/api-generator.js +179 -0
- package/dist/services/api-generator.js.map +1 -1
- package/dist/services/project-extender.d.ts +1 -0
- package/dist/services/project-extender.d.ts.map +1 -1
- package/dist/services/project-extender.js +312 -395
- package/dist/services/project-extender.js.map +1 -1
- package/package.json +1 -1
@@ -150,22 +150,201 @@ function generateControllerContent(moduleName, moduleNameCapitalized) {
|
|
150
150
|
|
151
151
|
export class ${moduleNameCapitalized}Controller {
|
152
152
|
private service = new ${moduleNameCapitalized}Service();
|
153
|
+
|
154
|
+
/**
|
155
|
+
* @openapi
|
156
|
+
* /api/${moduleName}:
|
157
|
+
* get:
|
158
|
+
* summary: Get all ${moduleName}s
|
159
|
+
* description: Retrieve a list of all active ${moduleName}s
|
160
|
+
* tags: [${moduleNameCapitalized}s]
|
161
|
+
* responses:
|
162
|
+
* 200:
|
163
|
+
* description: List of ${moduleName}s retrieved successfully
|
164
|
+
* content:
|
165
|
+
* application/json:
|
166
|
+
* schema:
|
167
|
+
* type: object
|
168
|
+
* properties:
|
169
|
+
* Data:
|
170
|
+
* type: array
|
171
|
+
* items:
|
172
|
+
* $ref: '#/components/schemas/${moduleNameCapitalized}'
|
173
|
+
* StatusCode:
|
174
|
+
* type: integer
|
175
|
+
* example: 1000
|
176
|
+
* 400:
|
177
|
+
* description: Bad request
|
178
|
+
*/
|
153
179
|
async getAll(req, res) {
|
154
180
|
const data = await this.service.getAll();
|
155
181
|
res.json(data);
|
156
182
|
}
|
183
|
+
|
184
|
+
/**
|
185
|
+
* @openapi
|
186
|
+
* /api/${moduleName}/{id}:
|
187
|
+
* get:
|
188
|
+
* summary: Get ${moduleName} by ID
|
189
|
+
* description: Retrieve a specific ${moduleName} by its ID
|
190
|
+
* tags: [${moduleNameCapitalized}s]
|
191
|
+
* parameters:
|
192
|
+
* - in: path
|
193
|
+
* name: id
|
194
|
+
* required: true
|
195
|
+
* schema:
|
196
|
+
* type: string
|
197
|
+
* description: ${moduleNameCapitalized} ID
|
198
|
+
* responses:
|
199
|
+
* 200:
|
200
|
+
* description: ${moduleNameCapitalized} retrieved successfully
|
201
|
+
* content:
|
202
|
+
* application/json:
|
203
|
+
* schema:
|
204
|
+
* type: object
|
205
|
+
* properties:
|
206
|
+
* Data:
|
207
|
+
* $ref: '#/components/schemas/${moduleNameCapitalized}'
|
208
|
+
* StatusCode:
|
209
|
+
* type: integer
|
210
|
+
* example: 1000
|
211
|
+
* 404:
|
212
|
+
* description: ${moduleNameCapitalized} not found
|
213
|
+
*/
|
157
214
|
async getById(req, res) {
|
158
215
|
const data = await this.service.getById(req.params.id);
|
159
216
|
res.json(data);
|
160
217
|
}
|
218
|
+
|
219
|
+
/**
|
220
|
+
* @openapi
|
221
|
+
* /api/${moduleName}:
|
222
|
+
* post:
|
223
|
+
* summary: Create new ${moduleName}
|
224
|
+
* description: Create a new ${moduleName} record
|
225
|
+
* tags: [${moduleNameCapitalized}s]
|
226
|
+
* requestBody:
|
227
|
+
* required: true
|
228
|
+
* content:
|
229
|
+
* application/json:
|
230
|
+
* schema:
|
231
|
+
* type: object
|
232
|
+
* required:
|
233
|
+
* - name
|
234
|
+
* properties:
|
235
|
+
* name:
|
236
|
+
* type: string
|
237
|
+
* description: Name of the ${moduleName}
|
238
|
+
* description:
|
239
|
+
* type: string
|
240
|
+
* description: Description of the ${moduleName}
|
241
|
+
* status:
|
242
|
+
* type: integer
|
243
|
+
* default: 1
|
244
|
+
* description: Status of the ${moduleName}
|
245
|
+
* responses:
|
246
|
+
* 201:
|
247
|
+
* description: ${moduleNameCapitalized} created successfully
|
248
|
+
* content:
|
249
|
+
* application/json:
|
250
|
+
* schema:
|
251
|
+
* type: object
|
252
|
+
* properties:
|
253
|
+
* Data:
|
254
|
+
* $ref: '#/components/schemas/${moduleNameCapitalized}'
|
255
|
+
* StatusCode:
|
256
|
+
* type: integer
|
257
|
+
* example: 1000
|
258
|
+
* 400:
|
259
|
+
* description: Bad request or missing required fields
|
260
|
+
*/
|
161
261
|
async create(req, res) {
|
162
262
|
const data = await this.service.create(req.body);
|
163
263
|
res.json(data);
|
164
264
|
}
|
265
|
+
|
266
|
+
/**
|
267
|
+
* @openapi
|
268
|
+
* /api/${moduleName}/{id}:
|
269
|
+
* put:
|
270
|
+
* summary: Update ${moduleName}
|
271
|
+
* description: Update an existing ${moduleName} record
|
272
|
+
* tags: [${moduleNameCapitalized}s]
|
273
|
+
* parameters:
|
274
|
+
* - in: path
|
275
|
+
* name: id
|
276
|
+
* required: true
|
277
|
+
* schema:
|
278
|
+
* type: string
|
279
|
+
* description: ${moduleNameCapitalized} ID
|
280
|
+
* requestBody:
|
281
|
+
* required: true
|
282
|
+
* content:
|
283
|
+
* application/json:
|
284
|
+
* schema:
|
285
|
+
* type: object
|
286
|
+
* properties:
|
287
|
+
* name:
|
288
|
+
* type: string
|
289
|
+
* description: Name of the ${moduleName}
|
290
|
+
* description:
|
291
|
+
* type: string
|
292
|
+
* description: Description of the ${moduleName}
|
293
|
+
* status:
|
294
|
+
* type: integer
|
295
|
+
* description: Status of the ${moduleName}
|
296
|
+
* responses:
|
297
|
+
* 200:
|
298
|
+
* description: ${moduleNameCapitalized} updated successfully
|
299
|
+
* content:
|
300
|
+
* application/json:
|
301
|
+
* schema:
|
302
|
+
* type: object
|
303
|
+
* properties:
|
304
|
+
* Data:
|
305
|
+
* $ref: '#/components/schemas/${moduleNameCapitalized}'
|
306
|
+
* StatusCode:
|
307
|
+
* type: integer
|
308
|
+
* example: 1000
|
309
|
+
* 404:
|
310
|
+
* description: ${moduleNameCapitalized} not found
|
311
|
+
*/
|
165
312
|
async update(req, res) {
|
166
313
|
const data = await this.service.update(req.params.id, req.body);
|
167
314
|
res.json(data);
|
168
315
|
}
|
316
|
+
|
317
|
+
/**
|
318
|
+
* @openapi
|
319
|
+
* /api/${moduleName}/{id}:
|
320
|
+
* delete:
|
321
|
+
* summary: Delete ${moduleName}
|
322
|
+
* description: Soft delete a ${moduleName} (sets status to 0)
|
323
|
+
* tags: [${moduleNameCapitalized}s]
|
324
|
+
* parameters:
|
325
|
+
* - in: path
|
326
|
+
* name: id
|
327
|
+
* required: true
|
328
|
+
* schema:
|
329
|
+
* type: string
|
330
|
+
* description: ${moduleNameCapitalized} ID
|
331
|
+
* responses:
|
332
|
+
* 200:
|
333
|
+
* description: ${moduleNameCapitalized} deleted successfully
|
334
|
+
* content:
|
335
|
+
* application/json:
|
336
|
+
* schema:
|
337
|
+
* type: object
|
338
|
+
* properties:
|
339
|
+
* Data:
|
340
|
+
* type: boolean
|
341
|
+
* example: true
|
342
|
+
* StatusCode:
|
343
|
+
* type: integer
|
344
|
+
* example: 1000
|
345
|
+
* 404:
|
346
|
+
* description: ${moduleNameCapitalized} not found
|
347
|
+
*/
|
169
348
|
async delete(req, res) {
|
170
349
|
const data = await this.service.delete(req.params.id);
|
171
350
|
res.json(data);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CA8Bd;IAEI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CA8Bd;IAEI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAWjE,sBAAsB;YAuCtB,sBAAsB;IAoBpC,OAAO,CAAC,yBAAyB;IA+KjC,OAAO,CAAC,sBAAsB;IA0J9B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,sBAAsB;YAmBhB,mBAAmB;IA4PjC,OAAO,CAAC,qBAAqB;YAqBf,oBAAoB;YAuBpB,qBAAqB;YA4DrB,YAAY;YAkBZ,YAAY;YA6BZ,aAAa;YA4Bb,gBAAgB;YAmNhB,YAAY;YAqBZ,sBAAsB;YAKtB,cAAc;YAmCd,YAAY;YAsEZ,iBAAiB;YAYjB,mBAAmB;YAiCnB,eAAe;YAqBf,eAAe;YAYf,sBAAsB;YAyCtB,kBAAkB;YA4ClB,eAAe;YASf,uBAAuB;YAevB,gBAAgB;YAkDhB,iBAAiB;YAqCjB,iBAAiB;IA4B/B,OAAO,CAAC,eAAe;CAGxB"}
|
@@ -137,6 +137,8 @@ class ProjectExtender {
|
|
137
137
|
}
|
138
138
|
// Update main application to include the module
|
139
139
|
await this.registerModule(projectPath, moduleName);
|
140
|
+
// Update database seeder
|
141
|
+
await this.updateSeeder(projectPath, moduleName);
|
140
142
|
console.log(chalk_1.default.green(`✅ Module '${moduleName}' generated successfully!`));
|
141
143
|
}
|
142
144
|
async generateTable(tableName, options = {}) {
|
@@ -894,417 +896,294 @@ export * from './${fileName}';
|
|
894
896
|
}
|
895
897
|
async createEntity(modulePath, moduleName, options) {
|
896
898
|
const entityName = this.capitalizeFirst(moduleName);
|
897
|
-
const
|
898
|
-
|
899
|
-
|
900
|
-
export interface I${entityName} extends
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
export interface I${entityName}Update {
|
909
|
-
${fields.map((field) => ` ${field}?: string;`).join('\n')}
|
910
|
-
}
|
911
|
-
`;
|
899
|
+
const entityContent = `import * as mongoose from 'mongoose';
|
900
|
+
import { ObjectId } from "bson";
|
901
|
+
|
902
|
+
export interface I${entityName} extends mongoose.Document {
|
903
|
+
_id: ObjectId,
|
904
|
+
name: string,
|
905
|
+
description?: string,
|
906
|
+
status: number,
|
907
|
+
createdAt: Date,
|
908
|
+
updatedAt: Date
|
909
|
+
}`;
|
912
910
|
await fs.writeFile(path.join(modulePath, 'entities', `${moduleName}.entity.ts`), entityContent);
|
913
911
|
}
|
914
912
|
async createSchema(modulePath, moduleName, options) {
|
915
913
|
const entityName = this.capitalizeFirst(moduleName);
|
916
|
-
const
|
917
|
-
const schemaContent = `import mongoose, { Schema, Document } from 'mongoose';
|
914
|
+
const schemaContent = `import * as mongoose from 'mongoose';
|
918
915
|
import { I${entityName} } from '../entities/${moduleName}.entity';
|
919
916
|
|
920
|
-
export
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
}
|
936
|
-
|
937
|
-
// Indexes
|
938
|
-
${fields.map((field) => `${moduleName}Schema.index({ ${field}: 1 });`).join('\n')}
|
917
|
+
export const ${moduleName}Schema = new mongoose.Schema(
|
918
|
+
{
|
919
|
+
name: {
|
920
|
+
type: mongoose.SchemaTypes.String,
|
921
|
+
required: true,
|
922
|
+
},
|
923
|
+
description: {
|
924
|
+
type: mongoose.SchemaTypes.String,
|
925
|
+
required: false,
|
926
|
+
},
|
927
|
+
status: {
|
928
|
+
type: mongoose.SchemaTypes.Number,
|
929
|
+
default: 1,
|
930
|
+
}
|
931
|
+
},
|
932
|
+
{ timestamps: true, suppressReservedKeysWarning: true },
|
933
|
+
);
|
939
934
|
|
940
|
-
export const ${entityName}Model = mongoose.model<I${entityName}
|
941
|
-
`;
|
935
|
+
export const ${entityName}Model = mongoose.model<I${entityName}>('${moduleName}', ${moduleName}Schema);`;
|
942
936
|
await fs.writeFile(path.join(modulePath, 'schemas', `${moduleName}.schema.ts`), schemaContent);
|
943
937
|
}
|
944
938
|
async createService(modulePath, moduleName, options) {
|
945
939
|
const entityName = this.capitalizeFirst(moduleName);
|
946
|
-
const serviceContent = `import {
|
947
|
-
import { ${entityName}Model
|
948
|
-
import { I${entityName}, I${entityName}Create, I${entityName}Update } from '../entities/${moduleName}.entity';
|
940
|
+
const serviceContent = `import { ObjectId } from "bson";
|
941
|
+
import { ${entityName}Model } from '../schemas/${moduleName}.schema';
|
949
942
|
|
950
943
|
export class ${entityName}Service {
|
951
|
-
|
952
|
-
|
953
|
-
*/
|
954
|
-
async getAll(): Promise<Result<I${entityName}[]>> {
|
955
|
-
try {
|
956
|
-
const ${moduleName}s = await ${entityName}Model.find({ status: 1 }).lean();
|
957
|
-
const converted${entityName}s = ${moduleName}s.map(${moduleName} => ({
|
958
|
-
...${moduleName},
|
959
|
-
_id: ${moduleName}._id?.toString() || ''
|
960
|
-
})) as I${entityName}[];
|
961
|
-
return Result.success(converted${entityName}s);
|
962
|
-
} catch (error: any) {
|
963
|
-
return Result.error('Failed to fetch ${moduleName}s', error.message);
|
944
|
+
async getAll() {
|
945
|
+
return await ${entityName}Model.find({ status: 1 });
|
964
946
|
}
|
965
|
-
|
966
|
-
|
967
|
-
/**
|
968
|
-
* Get ${moduleName} by ID
|
969
|
-
*/
|
970
|
-
async getById(id: string): Promise<Result<I${entityName} | null>> {
|
971
|
-
try {
|
972
|
-
const ${moduleName} = await ${entityName}Model.findOne({ _id: id, status: 1 });
|
973
|
-
if (!${moduleName}) {
|
974
|
-
return Result.error('${entityName} not found', '${entityName} with the specified ID does not exist');
|
975
|
-
}
|
976
|
-
const ${moduleName}Obj = ${moduleName}.toObject();
|
977
|
-
const converted${entityName} = {
|
978
|
-
...${moduleName}Obj,
|
979
|
-
_id: ${moduleName}Obj._id?.toString() || ''
|
980
|
-
} as I${entityName};
|
981
|
-
return Result.success(converted${entityName});
|
982
|
-
} catch (error: any) {
|
983
|
-
return Result.error('Failed to fetch ${moduleName}', error.message);
|
947
|
+
async getById(id: string) {
|
948
|
+
return await ${entityName}Model.findById(id);
|
984
949
|
}
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
* Create new ${moduleName}
|
989
|
-
*/
|
990
|
-
async create(${moduleName}Data: I${entityName}Create): Promise<Result<I${entityName}>> {
|
991
|
-
try {
|
992
|
-
const ${moduleName} = new ${entityName}Model({
|
993
|
-
...${moduleName}Data,
|
994
|
-
status: 1
|
995
|
-
});
|
996
|
-
|
997
|
-
const saved${entityName} = await ${moduleName}.save();
|
998
|
-
const ${moduleName}Obj = saved${entityName}.toObject();
|
999
|
-
|
1000
|
-
const converted${entityName} = {
|
1001
|
-
...${moduleName}Obj,
|
1002
|
-
_id: ${moduleName}Obj._id?.toString() || ''
|
1003
|
-
} as I${entityName};
|
1004
|
-
|
1005
|
-
return Result.success(converted${entityName});
|
1006
|
-
} catch (error: any) {
|
1007
|
-
return Result.error('Failed to create ${moduleName}', error.message);
|
950
|
+
async create(data: any) {
|
951
|
+
const entity = new ${entityName}Model({ _id: new ObjectId(), ...data, status: 1 });
|
952
|
+
return await ${entityName}Model.create(entity);
|
1008
953
|
}
|
1009
|
-
|
1010
|
-
|
1011
|
-
/**
|
1012
|
-
* Update ${moduleName}
|
1013
|
-
*/
|
1014
|
-
async update(id: string, ${moduleName}Data: I${entityName}Update): Promise<Result<I${entityName} | null>> {
|
1015
|
-
try {
|
1016
|
-
const ${moduleName} = await ${entityName}Model.findOne({ _id: id, status: 1 });
|
1017
|
-
if (!${moduleName}) {
|
1018
|
-
return Result.error('${entityName} not found', '${entityName} with the specified ID does not exist');
|
1019
|
-
}
|
1020
|
-
|
1021
|
-
Object.assign(${moduleName}, ${moduleName}Data);
|
1022
|
-
const updated${entityName} = await ${moduleName}.save();
|
1023
|
-
|
1024
|
-
const ${moduleName}Obj = updated${entityName}.toObject();
|
1025
|
-
|
1026
|
-
const converted${entityName} = {
|
1027
|
-
...${moduleName}Obj,
|
1028
|
-
_id: ${moduleName}Obj._id?.toString() || ''
|
1029
|
-
} as I${entityName};
|
1030
|
-
|
1031
|
-
return Result.success(converted${entityName});
|
1032
|
-
} catch (error: any) {
|
1033
|
-
return Result.error('Failed to update ${moduleName}', error.message);
|
954
|
+
async update(id: string, data: any) {
|
955
|
+
return await ${entityName}Model.findByIdAndUpdate(id, { ...data }, { new: true });
|
1034
956
|
}
|
1035
|
-
|
1036
|
-
|
1037
|
-
/**
|
1038
|
-
* Delete ${moduleName} (soft delete)
|
1039
|
-
*/
|
1040
|
-
async delete(id: string): Promise<Result<boolean>> {
|
1041
|
-
try {
|
1042
|
-
const ${moduleName} = await ${entityName}Model.findOne({ _id: id, status: 1 });
|
1043
|
-
if (!${moduleName}) {
|
1044
|
-
return Result.error('${entityName} not found', '${entityName} with the specified ID does not exist');
|
1045
|
-
}
|
1046
|
-
|
1047
|
-
${moduleName}.status = 0;
|
1048
|
-
await ${moduleName}.save();
|
1049
|
-
|
1050
|
-
return Result.success(true);
|
1051
|
-
} catch (error: any) {
|
1052
|
-
return Result.error('Failed to delete ${moduleName}', error.message);
|
957
|
+
async delete(id: string) {
|
958
|
+
return await ${entityName}Model.findByIdAndUpdate(id, { status: 0 }, { new: true });
|
1053
959
|
}
|
1054
|
-
|
1055
|
-
}
|
1056
|
-
`;
|
960
|
+
}`;
|
1057
961
|
await fs.writeFile(path.join(modulePath, 'services', `${moduleName}.service.ts`), serviceContent);
|
1058
962
|
}
|
1059
963
|
async createController(modulePath, moduleName, options) {
|
1060
964
|
const entityName = this.capitalizeFirst(moduleName);
|
1061
|
-
const controllerContent = `import {
|
1062
|
-
import { ${entityName}Service } from '../services/${moduleName}.service';
|
1063
|
-
import { I${entityName}Create, I${entityName}Update } from '../entities/${moduleName}.entity';
|
1064
|
-
|
1065
|
-
/**
|
1066
|
-
* @swagger
|
1067
|
-
* components:
|
1068
|
-
* schemas:
|
1069
|
-
* ${entityName}:
|
1070
|
-
* type: object
|
1071
|
-
* properties:
|
1072
|
-
* _id:
|
1073
|
-
* type: string
|
1074
|
-
* name:
|
1075
|
-
* type: string
|
1076
|
-
* description:
|
1077
|
-
* type: string
|
1078
|
-
* createdAt:
|
1079
|
-
* type: string
|
1080
|
-
* format: date-time
|
1081
|
-
* updatedAt:
|
1082
|
-
* type: string
|
1083
|
-
* format: date-time
|
1084
|
-
*/
|
965
|
+
const controllerContent = `import { ${entityName}Service } from '../services/${moduleName}.service';
|
1085
966
|
|
1086
967
|
export class ${entityName}Controller {
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
|
1163
|
-
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1186
|
-
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
968
|
+
private service = new ${entityName}Service();
|
969
|
+
|
970
|
+
/**
|
971
|
+
* @openapi
|
972
|
+
* /api/${moduleName}:
|
973
|
+
* get:
|
974
|
+
* summary: Get all ${moduleName}s
|
975
|
+
* description: Retrieve a list of all active ${moduleName}s
|
976
|
+
* tags: [${entityName}s]
|
977
|
+
* responses:
|
978
|
+
* 200:
|
979
|
+
* description: List of ${moduleName}s retrieved successfully
|
980
|
+
* content:
|
981
|
+
* application/json:
|
982
|
+
* schema:
|
983
|
+
* type: object
|
984
|
+
* properties:
|
985
|
+
* Data:
|
986
|
+
* type: array
|
987
|
+
* items:
|
988
|
+
* $ref: '#/components/schemas/${entityName}'
|
989
|
+
* StatusCode:
|
990
|
+
* type: integer
|
991
|
+
* example: 1000
|
992
|
+
* 400:
|
993
|
+
* description: Bad request
|
994
|
+
*/
|
995
|
+
async getAll(req, res) {
|
996
|
+
const data = await this.service.getAll();
|
997
|
+
res.json(data);
|
998
|
+
}
|
999
|
+
|
1000
|
+
/**
|
1001
|
+
* @openapi
|
1002
|
+
* /api/${moduleName}/{id}:
|
1003
|
+
* get:
|
1004
|
+
* summary: Get ${moduleName} by ID
|
1005
|
+
* description: Retrieve a specific ${moduleName} by its ID
|
1006
|
+
* tags: [${entityName}s]
|
1007
|
+
* parameters:
|
1008
|
+
* - in: path
|
1009
|
+
* name: id
|
1010
|
+
* required: true
|
1011
|
+
* schema:
|
1012
|
+
* type: string
|
1013
|
+
* description: ${entityName} ID
|
1014
|
+
* responses:
|
1015
|
+
* 200:
|
1016
|
+
* description: ${entityName} retrieved successfully
|
1017
|
+
* content:
|
1018
|
+
* application/json:
|
1019
|
+
* schema:
|
1020
|
+
* type: object
|
1021
|
+
* properties:
|
1022
|
+
* Data:
|
1023
|
+
* $ref: '#/components/schemas/${entityName}'
|
1024
|
+
* StatusCode:
|
1025
|
+
* type: integer
|
1026
|
+
* example: 1000
|
1027
|
+
* 404:
|
1028
|
+
* description: ${entityName} not found
|
1029
|
+
*/
|
1030
|
+
async getById(req, res) {
|
1031
|
+
const data = await this.service.getById(req.params.id);
|
1032
|
+
res.json(data);
|
1033
|
+
}
|
1034
|
+
|
1035
|
+
/**
|
1036
|
+
* @openapi
|
1037
|
+
* /api/${moduleName}:
|
1038
|
+
* post:
|
1039
|
+
* summary: Create new ${moduleName}
|
1040
|
+
* description: Create a new ${moduleName} record
|
1041
|
+
* tags: [${entityName}s]
|
1042
|
+
* requestBody:
|
1043
|
+
* required: true
|
1044
|
+
* content:
|
1045
|
+
* application/json:
|
1046
|
+
* schema:
|
1047
|
+
* type: object
|
1048
|
+
* required:
|
1049
|
+
* - name
|
1050
|
+
* properties:
|
1051
|
+
* name:
|
1052
|
+
* type: string
|
1053
|
+
* description: Name of the ${moduleName}
|
1054
|
+
* description:
|
1055
|
+
* type: string
|
1056
|
+
* description: Description of the ${moduleName}
|
1057
|
+
* status:
|
1058
|
+
* type: integer
|
1059
|
+
* default: 1
|
1060
|
+
* description: Status of the ${moduleName}
|
1061
|
+
* responses:
|
1062
|
+
* 201:
|
1063
|
+
* description: ${entityName} created successfully
|
1064
|
+
* content:
|
1065
|
+
* application/json:
|
1066
|
+
* schema:
|
1067
|
+
* type: object
|
1068
|
+
* properties:
|
1069
|
+
* Data:
|
1070
|
+
* $ref: '#/components/schemas/${entityName}'
|
1071
|
+
* StatusCode:
|
1072
|
+
* type: integer
|
1073
|
+
* example: 1000
|
1074
|
+
* 400:
|
1075
|
+
* description: Bad request or missing required fields
|
1076
|
+
*/
|
1077
|
+
async create(req, res) {
|
1078
|
+
const data = await this.service.create(req.body);
|
1079
|
+
res.json(data);
|
1080
|
+
}
|
1081
|
+
|
1082
|
+
/**
|
1083
|
+
* @openapi
|
1084
|
+
* /api/${moduleName}/{id}:
|
1085
|
+
* put:
|
1086
|
+
* summary: Update ${moduleName}
|
1087
|
+
* description: Update an existing ${moduleName} record
|
1088
|
+
* tags: [${entityName}s]
|
1089
|
+
* parameters:
|
1090
|
+
* - in: path
|
1091
|
+
* name: id
|
1092
|
+
* required: true
|
1093
|
+
* schema:
|
1094
|
+
* type: string
|
1095
|
+
* description: ${entityName} ID
|
1096
|
+
* requestBody:
|
1097
|
+
* required: true
|
1098
|
+
* content:
|
1099
|
+
* application/json:
|
1100
|
+
* schema:
|
1101
|
+
* type: object
|
1102
|
+
* properties:
|
1103
|
+
* name:
|
1104
|
+
* type: string
|
1105
|
+
* description: Name of the ${moduleName}
|
1106
|
+
* description:
|
1107
|
+
* type: string
|
1108
|
+
* description: Description of the ${moduleName}
|
1109
|
+
* status:
|
1110
|
+
* type: integer
|
1111
|
+
* description: Status of the ${moduleName}
|
1112
|
+
* responses:
|
1113
|
+
* 200:
|
1114
|
+
* description: ${entityName} updated successfully
|
1115
|
+
* content:
|
1116
|
+
* application/json:
|
1117
|
+
* schema:
|
1118
|
+
* type: object
|
1119
|
+
* properties:
|
1120
|
+
* Data:
|
1121
|
+
* $ref: '#/components/schemas/${entityName}'
|
1122
|
+
* StatusCode:
|
1123
|
+
* type: integer
|
1124
|
+
* example: 1000
|
1125
|
+
* 404:
|
1126
|
+
* description: ${entityName} not found
|
1127
|
+
*/
|
1128
|
+
async update(req, res) {
|
1129
|
+
const data = await this.service.update(req.params.id, req.body);
|
1130
|
+
res.json(data);
|
1131
|
+
}
|
1132
|
+
|
1133
|
+
/**
|
1134
|
+
* @openapi
|
1135
|
+
* /api/${moduleName}/{id}:
|
1136
|
+
* delete:
|
1137
|
+
* summary: Delete ${moduleName}
|
1138
|
+
* description: Soft delete a ${moduleName} (sets status to 0)
|
1139
|
+
* tags: [${entityName}s]
|
1140
|
+
* parameters:
|
1141
|
+
* - in: path
|
1142
|
+
* name: id
|
1143
|
+
* required: true
|
1144
|
+
* schema:
|
1145
|
+
* type: string
|
1146
|
+
* description: ${entityName} ID
|
1147
|
+
* responses:
|
1148
|
+
* 200:
|
1149
|
+
* description: ${entityName} deleted successfully
|
1150
|
+
* content:
|
1151
|
+
* application/json:
|
1152
|
+
* schema:
|
1153
|
+
* type: object
|
1154
|
+
* properties:
|
1155
|
+
* Data:
|
1156
|
+
* type: boolean
|
1157
|
+
* example: true
|
1158
|
+
* StatusCode:
|
1159
|
+
* type: integer
|
1160
|
+
* example: 1000
|
1161
|
+
* 404:
|
1162
|
+
* description: ${entityName} not found
|
1163
|
+
*/
|
1164
|
+
async delete(req, res) {
|
1165
|
+
const data = await this.service.delete(req.params.id);
|
1166
|
+
res.json(data);
|
1197
1167
|
}
|
1198
|
-
|
1199
|
-
|
1200
|
-
/**
|
1201
|
-
* @swagger
|
1202
|
-
* /api/${moduleName}s/{id}:
|
1203
|
-
* put:
|
1204
|
-
* summary: Update ${moduleName}
|
1205
|
-
* tags: [${entityName}s]
|
1206
|
-
* parameters:
|
1207
|
-
* - in: path
|
1208
|
-
* name: id
|
1209
|
-
* required: true
|
1210
|
-
* schema:
|
1211
|
-
* type: string
|
1212
|
-
* requestBody:
|
1213
|
-
* required: true
|
1214
|
-
* content:
|
1215
|
-
* application/json:
|
1216
|
-
* schema:
|
1217
|
-
* type: object
|
1218
|
-
* properties:
|
1219
|
-
* name:
|
1220
|
-
* type: string
|
1221
|
-
* description:
|
1222
|
-
* type: string
|
1223
|
-
* responses:
|
1224
|
-
* 200:
|
1225
|
-
* description: ${entityName} updated successfully
|
1226
|
-
* content:
|
1227
|
-
* application/json:
|
1228
|
-
* schema:
|
1229
|
-
* type: object
|
1230
|
-
* properties:
|
1231
|
-
* Data:
|
1232
|
-
* $ref: '#/components/schemas/${entityName}'
|
1233
|
-
* StatusCode:
|
1234
|
-
* type: number
|
1235
|
-
* Message:
|
1236
|
-
* type: string
|
1237
|
-
*/
|
1238
|
-
async update(req: Request, res: Response): Promise<void> {
|
1239
|
-
try {
|
1240
|
-
const { id } = req.params;
|
1241
|
-
const ${moduleName}Data: I${entityName}Update = req.body;
|
1242
|
-
const result = await this.service.update(id, ${moduleName}Data);
|
1243
|
-
res.status(result.StatusCode === 1000 ? 200 : 400).json(result);
|
1244
|
-
} catch (error: any) {
|
1245
|
-
res.status(500).json({ error: error.message });
|
1246
|
-
}
|
1247
|
-
}
|
1248
|
-
|
1249
|
-
/**
|
1250
|
-
* @swagger
|
1251
|
-
* /api/${moduleName}s/{id}:
|
1252
|
-
* delete:
|
1253
|
-
* summary: Delete ${moduleName}
|
1254
|
-
* tags: [${entityName}s]
|
1255
|
-
* parameters:
|
1256
|
-
* - in: path
|
1257
|
-
* name: id
|
1258
|
-
* required: true
|
1259
|
-
* schema:
|
1260
|
-
* type: string
|
1261
|
-
* responses:
|
1262
|
-
* 200:
|
1263
|
-
* description: ${entityName} deleted successfully
|
1264
|
-
* content:
|
1265
|
-
* application/json:
|
1266
|
-
* schema:
|
1267
|
-
* type: object
|
1268
|
-
* properties:
|
1269
|
-
* Data:
|
1270
|
-
* type: boolean
|
1271
|
-
* StatusCode:
|
1272
|
-
* type: number
|
1273
|
-
* Message:
|
1274
|
-
* type: string
|
1275
|
-
*/
|
1276
|
-
async delete(req: Request, res: Response): Promise<void> {
|
1277
|
-
try {
|
1278
|
-
const { id } = req.params;
|
1279
|
-
const result = await this.service.delete(id);
|
1280
|
-
res.status(result.StatusCode === 1000 ? 200 : 400).json(result);
|
1281
|
-
} catch (error: any) {
|
1282
|
-
res.status(500).json({ error: error.message });
|
1283
|
-
}
|
1284
|
-
}
|
1285
|
-
}
|
1286
|
-
`;
|
1168
|
+
}`;
|
1287
1169
|
await fs.writeFile(path.join(modulePath, 'controllers', `${moduleName}.controller.ts`), controllerContent);
|
1288
1170
|
}
|
1289
1171
|
async createRoutes(modulePath, moduleName, options) {
|
1290
1172
|
const entityName = this.capitalizeFirst(moduleName);
|
1291
1173
|
const routesContent = `import { Router } from 'express';
|
1292
1174
|
import { ${entityName}Controller } from '../controllers/${moduleName}.controller';
|
1293
|
-
import { ${entityName}Service } from '../services/${moduleName}.service';
|
1294
1175
|
|
1295
1176
|
const router = Router();
|
1296
|
-
const
|
1297
|
-
const controller = new ${entityName}Controller(service);
|
1177
|
+
const controller = new ${entityName}Controller();
|
1298
1178
|
|
1299
|
-
|
1300
|
-
router.get('/', controller.getAll
|
1301
|
-
router.get('/:id', controller.getById
|
1302
|
-
router.post('/', controller.create
|
1303
|
-
router.put('/:id', controller.update
|
1304
|
-
router.delete('/:id', controller.delete
|
1179
|
+
router.get('/', (req, res) => res.send('${entityName} API is up.'));
|
1180
|
+
router.get('/all', (req, res) => controller.getAll(req, res));
|
1181
|
+
router.get('/:id', (req, res) => controller.getById(req, res));
|
1182
|
+
router.post('/', (req, res) => controller.create(req, res));
|
1183
|
+
router.put('/:id', (req, res) => controller.update(req, res));
|
1184
|
+
router.delete('/:id', (req, res) => controller.delete(req, res));
|
1305
1185
|
|
1306
|
-
export default router
|
1307
|
-
`;
|
1186
|
+
export default router;`;
|
1308
1187
|
await fs.writeFile(path.join(modulePath, 'routes', `${moduleName}.routes.ts`), routesContent);
|
1309
1188
|
}
|
1310
1189
|
async generateCRUDOperations(projectPath, moduleName, options) {
|
@@ -1314,36 +1193,74 @@ export default router;
|
|
1314
1193
|
async registerModule(projectPath, moduleName) {
|
1315
1194
|
console.log(chalk_1.default.blue(`📝 Registering ${moduleName} module in main application...`));
|
1316
1195
|
// Update main routes index to include the new module
|
1317
|
-
const routesIndexPath = path.join(projectPath, 'src', '
|
1196
|
+
const routesIndexPath = path.join(projectPath, 'src', 'routes', 'index.ts');
|
1318
1197
|
if (await fs.pathExists(routesIndexPath)) {
|
1319
1198
|
let content = await fs.readFile(routesIndexPath, 'utf8');
|
1320
1199
|
// Add import for the new module
|
1321
|
-
const importStatement = `import ${moduleName}Routes from '
|
1200
|
+
const importStatement = `import ${moduleName}Routes from '../modules/${moduleName}/routes/${moduleName}.routes';`;
|
1322
1201
|
if (!content.includes(importStatement)) {
|
1323
|
-
//
|
1324
|
-
|
1325
|
-
const matches = [...content.matchAll(importRegex)];
|
1326
|
-
if (matches.length > 0) {
|
1327
|
-
const lastImport = matches[matches.length - 1];
|
1328
|
-
const insertIndex = lastImport.index + lastImport[0].length;
|
1329
|
-
content = content.slice(0, insertIndex) + '\n' + importStatement + content.slice(insertIndex);
|
1330
|
-
}
|
1202
|
+
// Add import after the userRoutes import
|
1203
|
+
content = content.replace(/import userRoutes from '\.\.\/modules\/users\/routes\/user\.routes';/, `import userRoutes from '../modules/users/routes/user.routes';\n${importStatement}`);
|
1331
1204
|
}
|
1332
1205
|
// Add route registration
|
1333
|
-
const routeRegistration = `
|
1206
|
+
const routeRegistration = `router.use('/${moduleName}', ${moduleName}Routes);`;
|
1334
1207
|
if (!content.includes(routeRegistration)) {
|
1335
|
-
//
|
1336
|
-
|
1337
|
-
const matches = [...content.matchAll(routeRegex)];
|
1338
|
-
if (matches.length > 0) {
|
1339
|
-
const lastRoute = matches[matches.length - 1];
|
1340
|
-
const insertIndex = lastRoute.index + lastRoute[0].length;
|
1341
|
-
content = content.slice(0, insertIndex) + '\n' + routeRegistration + content.slice(insertIndex);
|
1342
|
-
}
|
1208
|
+
// Add route after the users route
|
1209
|
+
content = content.replace(/router\.use\('\/users', userRoutes\);/, `router.use('/users', userRoutes);\n${routeRegistration}`);
|
1343
1210
|
}
|
1344
1211
|
await fs.writeFile(routesIndexPath, content);
|
1345
1212
|
}
|
1346
1213
|
}
|
1214
|
+
async updateSeeder(projectPath, moduleName) {
|
1215
|
+
const entityName = this.capitalizeFirst(moduleName);
|
1216
|
+
const seederPath = path.join(projectPath, 'src', 'core', 'database', 'seeder.ts');
|
1217
|
+
if (await fs.pathExists(seederPath)) {
|
1218
|
+
let seederContent = await fs.readFile(seederPath, 'utf8');
|
1219
|
+
// Add import for the model
|
1220
|
+
const importStatement = `import { ${entityName}Model } from '../../modules/${moduleName}/schemas/${moduleName}.schema';`;
|
1221
|
+
if (!seederContent.includes(importStatement)) {
|
1222
|
+
seederContent = seederContent.replace(/import { UserModel } from '\.\.\/\.\.\/modules\/users\/schemas\/user\.schema';/, `import { UserModel } from '../../modules/users/schemas/user.schema';\n${importStatement}`);
|
1223
|
+
}
|
1224
|
+
// Add seeder function
|
1225
|
+
const seederFunction = ` private async seed${entityName}s(data: any[]): Promise<void> {
|
1226
|
+
if (data.length === 0) return;
|
1227
|
+
|
1228
|
+
logger.info(\`[DatabaseSeeder] Seeding \${data.length} ${moduleName}s...\`);
|
1229
|
+
|
1230
|
+
for (const ${moduleName}Data of data) {
|
1231
|
+
try {
|
1232
|
+
const existing = await ${entityName}Model.findOne({ name: ${moduleName}Data.name });
|
1233
|
+
if (!existing) {
|
1234
|
+
const ${moduleName} = new ${entityName}Model({
|
1235
|
+
...${moduleName}Data,
|
1236
|
+
status: 1
|
1237
|
+
});
|
1238
|
+
await ${moduleName}.save();
|
1239
|
+
logger.info(\`[DatabaseSeeder] Created ${moduleName}: \${${moduleName}Data.name}\`);
|
1240
|
+
} else {
|
1241
|
+
logger.info(\`[DatabaseSeeder] ${entityName} \${${moduleName}Data.name} already exists, skipping\`);
|
1242
|
+
}
|
1243
|
+
} catch (error) {
|
1244
|
+
logger.error(\`[DatabaseSeeder] Failed to create ${moduleName} \${${moduleName}Data.name}:\`, error);
|
1245
|
+
}
|
1246
|
+
}
|
1247
|
+
}`;
|
1248
|
+
if (!seederContent.includes(`seed${entityName}s`)) {
|
1249
|
+
seederContent = seederContent.replace(/\/\/ TEMPLATE: Add new seeder functions here \(the CLI will add new functions automatically\)/, `// TEMPLATE: Add new seeder functions here (the CLI will add new functions automatically)\n${seederFunction}`);
|
1250
|
+
}
|
1251
|
+
// Add seeder call
|
1252
|
+
const seederCall = ` await this.seed${entityName}s(seedData.${moduleName}s || []);`;
|
1253
|
+
if (!seederContent.includes(seederCall)) {
|
1254
|
+
seederContent = seederContent.replace(/\/\/ TEMPLATE: Call new seeders here \(the CLI will add new calls automatically\)/, `// TEMPLATE: Call new seeders here (the CLI will add new calls automatically)\n${seederCall}`);
|
1255
|
+
}
|
1256
|
+
// Add default seed data
|
1257
|
+
const seedDataLine = ` ${moduleName}s: [ { name: '${entityName} Example', description: 'Example ${moduleName}', status: 1 } ],`;
|
1258
|
+
if (!seederContent.includes(seedDataLine)) {
|
1259
|
+
seederContent = seederContent.replace(/const defaultData: SeedData = \{/, `const defaultData: SeedData = {\n${seedDataLine}`);
|
1260
|
+
}
|
1261
|
+
await fs.writeFile(seederPath, seederContent);
|
1262
|
+
}
|
1263
|
+
}
|
1347
1264
|
async createTableSchema(projectPath, tableName, options) {
|
1348
1265
|
const entityName = this.capitalizeFirst(tableName);
|
1349
1266
|
const fields = options.fields || ['name', 'description'];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"project-extender.js","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,kDAA0B;AAS1B,MAAa,eAAe;IAA5B;QACU,aAAQ,GAAc;YAC5B;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,gCAAgC;gBAC7C,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,YAAY,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;aAC3C;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,2BAA2B;gBACxC,KAAK,EAAE,CAAC,yBAAyB,CAAC;gBAClC,YAAY,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;aAC3C;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE,CAAC,0BAA0B,CAAC;gBACnC,YAAY,EAAE,CAAC,WAAW,CAAC;aAC5B;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,uBAAuB;gBACpC,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,YAAY,EAAE,CAAC,WAAW,CAAC;aAC5B;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sBAAsB;gBACnC,KAAK,EAAE,CAAC,yBAAyB,CAAC;aACnC;SACF,CAAC;IAyoDJ,CAAC;IAvoDC,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACtD,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qBAAqB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAmB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,oDAAoD,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,mCAAmC,CAAC,CAAC;QAC9E,CAAC;QAED,qCAAqC;QACrC,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAExD,0BAA0B;QAC1B,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,wDAAwD;QACxD,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,WAAW,uBAAuB,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,WAAW,UAAU,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,UAAe,EAAE;QACxD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,mCAAmC,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE3E,oCAAoC;QACpC,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAEnE,wCAAwC;QACxC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,UAAU,2BAA2B,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAAe,EAAE;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC,CAAC;QAE1E,6CAA6C;QAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,SAAS,2BAA2B,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,UAAe,EAAE;QAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC,CAAC;QAExE,8BAA8B;QAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAE/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAgB,YAAY,2BAA2B,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,OAAgB;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5E,iCAAiC;QACjC,MAAM,SAAS,GAAG;YAChB,aAAa,EAAE,qBAAqB;YACpC,UAAU,EAAE,wBAAwB;YACpC,SAAS,EAAE,4BAA4B;YACvC,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,uCAAuC;SACrD,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE5B,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,WAAW,QAAQ,OAAO,CAAC,IAAI;mBAC7C,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAClD,CAAC;YACI,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;QAED,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAE7F,+BAA+B;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;QAEvE,qDAAqD;QACrD,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7D,yBAAyB;QACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,WAAmB;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAE1D,oBAAoB;QACpB,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACvF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,WAAW,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAE7G,iBAAiB;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,WAAW,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;QAEpG,eAAe;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC7E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,WAAW,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;QAE7F,iBAAiB;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,WAAW,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;IACrG,CAAC;IAEO,yBAAyB,CAAC,WAAmB,EAAE,eAAuB;QAC5E,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoFb,CAAC;YAEG,KAAK,OAAO;gBACV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDb,CAAC;YAEG;gBACE,OAAO;WACJ,eAAe,+BAA+B,WAAW;;;;eAIrD,eAAe;wBACN,WAAW,YAAY,eAAe;;;;kCAI5B,WAAW;;;sBAGvB,eAAe;2CACM,eAAe;;;;;;;kCAOxB,WAAW;;;sBAGvB,eAAe;;;;EAInC,CAAC;QACC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,WAAmB,EAAE,eAAuB;QACzE,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Gb,CAAC;YAEG;gBACE,OAAO;;WAEJ,eAAe;;eAEX,eAAe;gCACE,eAAe;;;;;;oBAM3B,WAAW;;;;sBAIT,eAAe;6BACR,eAAe;;;;;;;qBAOvB,eAAe;;;;sBAId,eAAe;;;;;;EAMnC,CAAC;QACC,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,WAAmB,EAAE,eAAuB;QACvE,OAAO,2BAA2B,WAAW;;mBAE9B,eAAe;;;;;mBAKf,eAAe;;;;mBAIf,eAAe;;;;;CAKjC,CAAC;IACA,CAAC;IAEO,sBAAsB,CAAC,WAAmB,EAAE,eAAuB;QACzE,OAAO,6BAA6B,WAAW;;;eAGpC,WAAW;;;;;;;eAOX,WAAW;;;;;CAKzB,CAAC;IACA,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAE1D,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO;;;;;eAKA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC5B,CAAC;YAEG,KAAK,OAAO;gBACV,OAAO;;;;;eAKA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC5B,CAAC;YAEG,KAAK,QAAQ;gBACX,OAAO;;;;;eAKA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC5B,CAAC;YAEG,KAAK,MAAM;gBACT,OAAO;;;;eAIA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B5B,CAAC;YAEG,KAAK,OAAO;gBACV,OAAO;;;;;eAKA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC5B,CAAC;YAEG;gBACE,OAAO;WACJ,eAAe;WACf,eAAe;WACf,eAAe;;eAEX,eAAe;;wBAEN,eAAe;qBAClB,eAAe;oBAChB,eAAe;;;;wBAIX,eAAe;yBACd,eAAe;4BACZ,eAAe;;;;;;;;;;;;;kBAazB,eAAe;;;;iBAIhB,eAAe;;;EAG9B,CAAC;QACC,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,WAAmB;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO,gBAAgB,eAAe;;;;;;;;;;;;;yBAajB,WAAW,CAAC,WAAW,EAAE;;EAEhD,CAAC;IACD,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,WAAmB,EAAE,IAAY;QACvF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC/E,IAAI,WAAW,GAAQ,EAAE,CAAC;QAE1B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACvB,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,gBAAgB,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAY;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAExE,oCAAoC;QACpC,MAAM,SAAS,GAAG;YAChB,UAAU,EAAE,4BAA4B;YACxC,SAAS,EAAE,iCAAiC;YAC5C,UAAU,EAAE,gCAAgC;YAC5C,aAAa,EAAE,uBAAuB;YACtC,QAAQ,EAAE,uBAAuB;SAClC,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE5B,iDAAiD;YACjD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,UAAU;oBACb,QAAQ,GAAG,GAAG,UAAU,SAAS,CAAC;oBAClC,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,GAAG,GAAG,UAAU,SAAS,CAAC;oBAClC,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,GAAG,GAAG,UAAU,UAAU,CAAC;oBACnC,MAAM;gBACR,KAAK,aAAa;oBAChB,QAAQ,GAAG,GAAG,UAAU,aAAa,CAAC;oBACtC,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,GAAG,UAAU,SAAS,CAAC;oBAClC,MAAM;gBACR;oBACE,QAAQ,GAAG,GAAG,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,WAAW,QAAQ,UAAU;mBAC3C,QAAQ;CAC1B,CAAC;YACI,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAEzD,gBAAgB;QAChB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAEzD,iBAAiB;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1D,oBAAoB;QACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7D,gBAAgB;QAChB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAAY;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG;;oBAEN,UAAU;EAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;oBAG7C,UAAU;EAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;oBAG7C,UAAU;EAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEjE,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;IAClG,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAAY;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG;YACd,UAAU,wBAAwB,UAAU;;oBAEpC,UAAU,0BAA0B,UAAU;;QAE1D,UAAU;EAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK;;;;IAItC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;EAWf,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,UAAU,kBAAkB,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;eAE1E,UAAU,2BAA2B,UAAU,cAAc,UAAU,MAAM,UAAU;CACrG,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;IACjG,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAAY;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEpD,MAAM,cAAc,GAAG;WAChB,UAAU,WAAW,UAAU,+BAA+B,UAAU;YACvE,UAAU,MAAM,UAAU,YAAY,UAAU,8BAA8B,UAAU;;eAErF,UAAU;;eAEV,UAAU;;oCAEW,UAAU;;cAEhC,UAAU,aAAa,UAAU;uBACxB,UAAU,OAAO,UAAU,SAAS,UAAU;aACxD,UAAU;eACR,UAAU;gBACT,UAAU;uCACa,UAAU;;6CAEJ,UAAU;;;;;WAK5C,UAAU;;+CAE0B,UAAU;;cAE3C,UAAU,YAAY,UAAU;aACjC,UAAU;+BACQ,UAAU,iBAAiB,UAAU;;cAEtD,UAAU,SAAS,UAAU;uBACpB,UAAU;aACpB,UAAU;eACR,UAAU;cACX,UAAU;uCACe,UAAU;;6CAEJ,UAAU;;;;;kBAKrC,UAAU;;iBAEX,UAAU,UAAU,UAAU,4BAA4B,UAAU;;cAEvE,UAAU,UAAU,UAAU;aAC/B,UAAU;;;;mBAIJ,UAAU,YAAY,UAAU;cACrC,UAAU,cAAc,UAAU;;uBAEzB,UAAU;aACpB,UAAU;eACR,UAAU;cACX,UAAU;;uCAEe,UAAU;;8CAEH,UAAU;;;;;cAK1C,UAAU;;6BAEK,UAAU,UAAU,UAAU,4BAA4B,UAAU;;cAEnF,UAAU,YAAY,UAAU;aACjC,UAAU;+BACQ,UAAU,iBAAiB,UAAU;;;sBAG9C,UAAU,KAAK,UAAU;qBAC1B,UAAU,YAAY,UAAU;;cAEvC,UAAU,gBAAgB,UAAU;;uBAE3B,UAAU;aACpB,UAAU;eACR,UAAU;cACX,UAAU;;uCAEe,UAAU;;8CAEH,UAAU;;;;;cAK1C,UAAU;;;;cAIV,UAAU,YAAY,UAAU;aACjC,UAAU;+BACQ,UAAU,iBAAiB,UAAU;;;QAG5D,UAAU;cACJ,UAAU;;;;8CAIsB,UAAU;;;;CAIvD,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;IACpG,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAAY;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEpD,MAAM,iBAAiB,GAAG;WACnB,UAAU,+BAA+B,UAAU;YAClD,UAAU,YAAY,UAAU,8BAA8B,UAAU;;;;;;SAM3E,UAAU;;;;;;;;;;;;;;;;;eAiBJ,UAAU;iCACQ,UAAU;;;;YAI/B,UAAU;;4BAEM,UAAU;kBACpB,UAAU;;;oCAGQ,UAAU;;;;;;;;;uDASS,UAAU;;;;;;;;;;;;;;;;;YAiBrD,UAAU;;wBAEE,UAAU;kBAChB,UAAU;;;;;;;;;4BASA,UAAU;;;;;;;qDAOe,UAAU;;;;;;;;;;;;;;;;;;YAkBnD,UAAU;;+BAES,UAAU;kBACvB,UAAU;;;;;;;;;;;;;;4BAcA,UAAU;;;;;;;qDAOe,UAAU;;;;;;;;cAQjD,UAAU,UAAU,UAAU;iDACK,UAAU;;;;;;;;;YAS/C,UAAU;;2BAEK,UAAU;kBACnB,UAAU;;;;;;;;;;;;;;;;;;;;4BAoBA,UAAU;;;;;;;qDAOe,UAAU;;;;;;;;;cASjD,UAAU,UAAU,UAAU;qDACS,UAAU;;;;;;;;;YASnD,UAAU;;2BAEK,UAAU;kBACnB,UAAU;;;;;;;;;4BASA,UAAU;;;;;;;;;;;;;;;;;;;;;;;CAuBrC,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC7G,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAAY;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG;WACf,UAAU,qCAAqC,UAAU;WACzD,UAAU,+BAA+B,UAAU;;;sBAGxC,UAAU;yBACP,UAAU;;KAE9B,UAAU;;;;;;;;CAQd,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;IAChG,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAY;QACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,UAAU,KAAK,CAAC,CAAC,CAAC;QAC9E,gFAAgF;IAClF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,UAAkB;QAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,gCAAgC,CAAC,CAAC,CAAC;QAEtF,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE7E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAEzD,gCAAgC;YAChC,MAAM,eAAe,GAAG,UAAU,UAAU,kBAAkB,UAAU,WAAW,UAAU,WAAW,CAAC;YAEzG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvC,kDAAkD;gBAClD,MAAM,WAAW,GAAG,4BAA4B,CAAC;gBACjD,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,iBAAiB,GAAG,iBAAiB,UAAU,OAAO,UAAU,UAAU,CAAC;YAEjF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzC,iDAAiD;gBACjD,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,SAAiB,EAAE,OAAY;QAClF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QAEzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,SAAiB,EAAE,MAAgB;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG;;oBAEN,UAAU;EAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;QAK/C,SAAS;EACf,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK;;;;IAI5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;EAMf,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,kBAAkB,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;eAE/D,UAAU,2BAA2B,UAAU,cAAc,UAAU,MAAM,SAAS;CACpG,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,SAAiB,EAAE,MAAgB,EAAE,MAAc;QACpG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,MAAM,CAAC,CAAC;QAChF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG,MAAM,UAAU,qBAAqB,MAAM,CAAC,WAAW,EAAE;eACpE,SAAS;OACjB,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;EAC5D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAMnE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,SAAS,IAAI,KAAK,OAAO,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACrG,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,YAAoB,EAAE,OAAY;QACnF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,YAAY,eAAe,CAAC,CAAC;QAC3G,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAE/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,YAAoB,EAAE,YAAoB;QAC7E,MAAM,eAAe,GAAG,4BAA4B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4BrD,YAAY;;;;;;;CAO1B,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,YAAoB,EAAE,YAAoB,EAAE,MAAc;QACzF,MAAM,eAAe,GAAG,wBAAwB,YAAY,KAAK,MAAM,CAAC,WAAW,EAAE;;;;UAI/E,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;;;;;;UAMvD,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;;;;;;;;;UASvD,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;;;;;UAKvD,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;;;;;;;;;;;;;;CAchE,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,YAAsB;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAEzD,6DAA6D;QAC7D,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC;IACrG,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,OAAgB;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;QAEzF,iDAAiD;QACjD,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,gDAAgD;QAChD,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEnD,wCAAwC;QACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oCAAoC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,OAAgB;QAClE,MAAM,WAAW,GAAG;YAClB,qBAAqB;YACrB,SAAS;YACT,cAAc;YACd,aAAa;SACd,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAElD,6BAA6B;gBAC7B,MAAM,eAAe,GAAG,YAAY,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC;gBAErI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACvC,kDAAkD;oBAClD,MAAM,WAAW,GAAG,4BAA4B,CAAC;oBACjD,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;oBACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC7D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAChG,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,MAAM,WAAW,GAAG,iBAAiB,OAAO,CAAC,IAAI;QACjD,OAAO,CAAC,IAAI,iBAAiB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;gBACvD,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,uBAAuB,CAAC;gBAE9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACnC,iDAAiD;oBACjD,MAAM,UAAU,GAAG,wBAAwB,CAAC;oBAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;oBAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC3D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBAED,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC,CAAC;gBACvD,MAAM,CAAC,0CAA0C;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,OAAgB;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAEtE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAEzD,gCAAgC;YAChC,MAAM,eAAe,GAAG,UAAU,OAAO,CAAC,IAAI,4BAA4B,OAAO,CAAC,IAAI,WAAW,CAAC;YAElG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,4BAA4B,CAAC;gBACjD,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,iBAAiB,GAAG,iBAAiB,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,UAAU,CAAC;YAEpF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,OAAgB;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE/D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAE3E,yCAAyC;YACzC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3B,CAAC;YAED,+BAA+B;YAC/B,MAAM,cAAc,GAAG;gBACrB,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,uBAAuB,OAAO,CAAC,IAAI,GAAG;gBAChE,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,qCAAqC,OAAO,CAAC,IAAI,WAAW;aACxF,CAAC;YAEF,KAAK,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAxqDD,0CAwqDC"}
|
1
|
+
{"version":3,"file":"project-extender.js","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"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"}
|