@hed-hog/core 0.0.223 → 0.0.233

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.
Files changed (63) hide show
  1. package/dist/ai/ai.controller.d.ts +90 -0
  2. package/dist/ai/ai.controller.d.ts.map +1 -0
  3. package/dist/ai/ai.controller.js +124 -0
  4. package/dist/ai/ai.controller.js.map +1 -0
  5. package/dist/ai/ai.module.d.ts +3 -0
  6. package/dist/ai/ai.module.d.ts.map +1 -0
  7. package/dist/ai/ai.module.js +31 -0
  8. package/dist/ai/ai.module.js.map +1 -0
  9. package/dist/ai/ai.service.d.ts +76 -0
  10. package/dist/ai/ai.service.d.ts.map +1 -0
  11. package/dist/ai/ai.service.js +467 -0
  12. package/dist/ai/ai.service.js.map +1 -0
  13. package/dist/ai/dto/chat-agent.dto.d.ts +5 -0
  14. package/dist/ai/dto/chat-agent.dto.d.ts.map +1 -0
  15. package/dist/ai/dto/chat-agent.dto.js +29 -0
  16. package/dist/ai/dto/chat-agent.dto.js.map +1 -0
  17. package/dist/ai/dto/chat.dto.d.ts +8 -0
  18. package/dist/ai/dto/chat.dto.d.ts.map +1 -0
  19. package/dist/ai/dto/chat.dto.js +45 -0
  20. package/dist/ai/dto/chat.dto.js.map +1 -0
  21. package/dist/ai/dto/create-agent.dto.d.ts +7 -0
  22. package/dist/ai/dto/create-agent.dto.d.ts.map +1 -0
  23. package/dist/ai/dto/create-agent.dto.js +38 -0
  24. package/dist/ai/dto/create-agent.dto.js.map +1 -0
  25. package/dist/ai/dto/update-agent.dto.d.ts +7 -0
  26. package/dist/ai/dto/update-agent.dto.d.ts.map +1 -0
  27. package/dist/ai/dto/update-agent.dto.js +38 -0
  28. package/dist/ai/dto/update-agent.dto.js.map +1 -0
  29. package/dist/auth/auth.controller.d.ts +1 -1
  30. package/dist/auth/auth.service.d.ts +1 -1
  31. package/dist/core.module.d.ts.map +1 -1
  32. package/dist/core.module.js +3 -0
  33. package/dist/core.module.js.map +1 -1
  34. package/dist/dashboard/dashboard-user/dashboard-user.controller.d.ts +3 -3
  35. package/dist/dashboard/dashboard-user/dashboard-user.service.d.ts +3 -3
  36. package/dist/file/file.service.d.ts +2 -0
  37. package/dist/file/file.service.d.ts.map +1 -1
  38. package/dist/file/file.service.js +17 -2
  39. package/dist/file/file.service.js.map +1 -1
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/menu/menu.controller.d.ts +3 -3
  45. package/dist/menu/menu.service.d.ts +3 -3
  46. package/dist/user/user.controller.d.ts +2 -2
  47. package/dist/user/user.service.d.ts +3 -3
  48. package/hedhog/data/menu.yaml +16 -2
  49. package/hedhog/data/route.yaml +64 -0
  50. package/hedhog/data/setting_group.yaml +33 -1
  51. package/hedhog/frontend/app/ai_agent/page.tsx.ejs +465 -0
  52. package/hedhog/table/ai_agent.yaml +24 -0
  53. package/package.json +3 -3
  54. package/src/ai/ai.controller.ts +68 -0
  55. package/src/ai/ai.module.ts +18 -0
  56. package/src/ai/ai.service.ts +646 -0
  57. package/src/ai/dto/chat-agent.dto.ts +13 -0
  58. package/src/ai/dto/chat.dto.ts +26 -0
  59. package/src/ai/dto/create-agent.dto.ts +20 -0
  60. package/src/ai/dto/update-agent.dto.ts +20 -0
  61. package/src/core.module.ts +3 -0
  62. package/src/file/file.service.ts +34 -8
  63. package/src/index.ts +3 -0
@@ -0,0 +1,90 @@
1
+ import { DeleteDTO } from '../dto/delete.dto';
2
+ import { AiService } from './ai.service';
3
+ import { ChatAgentDTO } from './dto/chat-agent.dto';
4
+ import { ChatDTO } from './dto/chat.dto';
5
+ import { CreateAgentDTO } from './dto/create-agent.dto';
6
+ import { UpdateAgentDTO } from './dto/update-agent.dto';
7
+ export declare class AiController {
8
+ private readonly aiService;
9
+ constructor(aiService: AiService);
10
+ chat(data: ChatDTO, file?: MulterFile): Promise<{
11
+ provider: "openai";
12
+ model: string;
13
+ content: any;
14
+ } | {
15
+ provider: "gemini";
16
+ model: string;
17
+ content: any;
18
+ }>;
19
+ createAgent(data: CreateAgentDTO): Promise<{
20
+ id: number;
21
+ slug: string;
22
+ provider: "openai" | "gemini";
23
+ model: string | null;
24
+ instructions: string | null;
25
+ external_agent_id: string | null;
26
+ created_at: Date;
27
+ updated_at: Date;
28
+ }>;
29
+ listAgents(paginationParams: any): Promise<{
30
+ data: {
31
+ id: number;
32
+ slug: string;
33
+ provider: "openai" | "gemini";
34
+ model: string | null;
35
+ instructions: string | null;
36
+ external_agent_id: string | null;
37
+ created_at: Date;
38
+ updated_at: Date;
39
+ }[];
40
+ total: number;
41
+ page: number;
42
+ pageSize: number;
43
+ totalPages: number;
44
+ }>;
45
+ getAgentById(agentId: number): Promise<{
46
+ id: number;
47
+ slug: string;
48
+ provider: "openai" | "gemini";
49
+ model: string | null;
50
+ instructions: string | null;
51
+ external_agent_id: string | null;
52
+ created_at: Date;
53
+ updated_at: Date;
54
+ }>;
55
+ getAgent(slug: string): Promise<{
56
+ id: number;
57
+ slug: string;
58
+ provider: "openai" | "gemini";
59
+ model: string | null;
60
+ instructions: string | null;
61
+ external_agent_id: string | null;
62
+ created_at: Date;
63
+ updated_at: Date;
64
+ }>;
65
+ updateAgent(agentId: number, data: UpdateAgentDTO): Promise<{
66
+ id: number;
67
+ slug: string;
68
+ provider: "openai" | "gemini";
69
+ model: string | null;
70
+ instructions: string | null;
71
+ external_agent_id: string | null;
72
+ created_at: Date;
73
+ updated_at: Date;
74
+ }>;
75
+ deleteAgents(data: DeleteDTO): Promise<{
76
+ count: number;
77
+ }>;
78
+ chatWithAgent(slug: string, data: ChatAgentDTO, file?: MulterFile): Promise<{
79
+ slug: string;
80
+ provider: "openai";
81
+ model: string;
82
+ content: any;
83
+ } | {
84
+ slug: string;
85
+ provider: "gemini";
86
+ model: string;
87
+ content: any;
88
+ }>;
89
+ }
90
+ //# sourceMappingURL=ai.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.controller.d.ts","sourceRoot":"","sources":["../../src/ai/ai.controller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,qBAEa,YAAY;IAGrB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAKjC,IAAI,CAAS,IAAI,EAAE,OAAO,EAAkB,IAAI,CAAC,EAAE,UAAU;;;;;;;;;IAK7D,WAAW,CAAS,IAAI,EAAE,cAAc;;;;;;;;;;IAKxC,UAAU,CAAe,gBAAgB,KAAA;;;;;;;;;;;;;;;;IAKzC,YAAY,CAAiC,OAAO,EAAE,MAAM;;;;;;;;;;IAK5D,QAAQ,CAAgB,IAAI,EAAE,MAAM;;;;;;;;;;IAKpC,WAAW,CACiB,OAAO,EAAE,MAAM,EACvC,IAAI,EAAE,cAAc;;;;;;;;;;IAMxB,YAAY,CAAS,IAAI,EAAE,SAAS;;;IAMpC,aAAa,CACF,IAAI,EAAE,MAAM,EACnB,IAAI,EAAE,YAAY,EACV,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;CAIpC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AiController = void 0;
16
+ const api_1 = require("@hed-hog/api");
17
+ const api_pagination_1 = require("@hed-hog/api-pagination");
18
+ const common_1 = require("@nestjs/common");
19
+ const platform_express_1 = require("@nestjs/platform-express");
20
+ const delete_dto_1 = require("../dto/delete.dto");
21
+ const ai_service_1 = require("./ai.service");
22
+ const chat_agent_dto_1 = require("./dto/chat-agent.dto");
23
+ const chat_dto_1 = require("./dto/chat.dto");
24
+ const create_agent_dto_1 = require("./dto/create-agent.dto");
25
+ const update_agent_dto_1 = require("./dto/update-agent.dto");
26
+ let AiController = class AiController {
27
+ constructor(aiService) {
28
+ this.aiService = aiService;
29
+ }
30
+ async chat(data, file) {
31
+ return this.aiService.chat(data, file);
32
+ }
33
+ async createAgent(data) {
34
+ return this.aiService.createAgent(data);
35
+ }
36
+ async listAgents(paginationParams) {
37
+ return this.aiService.listAgents(paginationParams);
38
+ }
39
+ async getAgentById(agentId) {
40
+ return this.aiService.getAgentById(agentId);
41
+ }
42
+ async getAgent(slug) {
43
+ return this.aiService.getAgentBySlug(slug);
44
+ }
45
+ async updateAgent(agentId, data) {
46
+ return this.aiService.updateAgent(agentId, data);
47
+ }
48
+ async deleteAgents(data) {
49
+ return this.aiService.deleteAgents(data);
50
+ }
51
+ async chatWithAgent(slug, data, file) {
52
+ return this.aiService.chatWithAgent(slug, data, file);
53
+ }
54
+ };
55
+ exports.AiController = AiController;
56
+ __decorate([
57
+ (0, common_1.Post)('chat'),
58
+ (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
59
+ __param(0, (0, common_1.Body)()),
60
+ __param(1, (0, common_1.UploadedFile)()),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [chat_dto_1.ChatDTO, Object]),
63
+ __metadata("design:returntype", Promise)
64
+ ], AiController.prototype, "chat", null);
65
+ __decorate([
66
+ (0, common_1.Post)('agent'),
67
+ __param(0, (0, common_1.Body)()),
68
+ __metadata("design:type", Function),
69
+ __metadata("design:paramtypes", [create_agent_dto_1.CreateAgentDTO]),
70
+ __metadata("design:returntype", Promise)
71
+ ], AiController.prototype, "createAgent", null);
72
+ __decorate([
73
+ (0, common_1.Get)('agent'),
74
+ __param(0, (0, api_pagination_1.Pagination)()),
75
+ __metadata("design:type", Function),
76
+ __metadata("design:paramtypes", [Object]),
77
+ __metadata("design:returntype", Promise)
78
+ ], AiController.prototype, "listAgents", null);
79
+ __decorate([
80
+ (0, common_1.Get)('agent/id/:agentId'),
81
+ __param(0, (0, common_1.Param)('agentId', common_1.ParseIntPipe)),
82
+ __metadata("design:type", Function),
83
+ __metadata("design:paramtypes", [Number]),
84
+ __metadata("design:returntype", Promise)
85
+ ], AiController.prototype, "getAgentById", null);
86
+ __decorate([
87
+ (0, common_1.Get)('agent/:slug'),
88
+ __param(0, (0, common_1.Param)('slug')),
89
+ __metadata("design:type", Function),
90
+ __metadata("design:paramtypes", [String]),
91
+ __metadata("design:returntype", Promise)
92
+ ], AiController.prototype, "getAgent", null);
93
+ __decorate([
94
+ (0, common_1.Patch)('agent/:agentId'),
95
+ __param(0, (0, common_1.Param)('agentId', common_1.ParseIntPipe)),
96
+ __param(1, (0, common_1.Body)()),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", [Number, update_agent_dto_1.UpdateAgentDTO]),
99
+ __metadata("design:returntype", Promise)
100
+ ], AiController.prototype, "updateAgent", null);
101
+ __decorate([
102
+ (0, common_1.Delete)('agent'),
103
+ __param(0, (0, common_1.Body)()),
104
+ __metadata("design:type", Function),
105
+ __metadata("design:paramtypes", [delete_dto_1.DeleteDTO]),
106
+ __metadata("design:returntype", Promise)
107
+ ], AiController.prototype, "deleteAgents", null);
108
+ __decorate([
109
+ (0, common_1.Post)('agent/:slug/chat'),
110
+ (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
111
+ __param(0, (0, common_1.Param)('slug')),
112
+ __param(1, (0, common_1.Body)()),
113
+ __param(2, (0, common_1.UploadedFile)()),
114
+ __metadata("design:type", Function),
115
+ __metadata("design:paramtypes", [String, chat_agent_dto_1.ChatAgentDTO, Object]),
116
+ __metadata("design:returntype", Promise)
117
+ ], AiController.prototype, "chatWithAgent", null);
118
+ exports.AiController = AiController = __decorate([
119
+ (0, api_1.Role)(),
120
+ (0, common_1.Controller)('ai'),
121
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => ai_service_1.AiService))),
122
+ __metadata("design:paramtypes", [ai_service_1.AiService])
123
+ ], AiController);
124
+ //# sourceMappingURL=ai.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.controller.js","sourceRoot":"","sources":["../../src/ai/ai.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class AiModule {
2
+ }
3
+ //# sourceMappingURL=ai.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.module.d.ts","sourceRoot":"","sources":["../../src/ai/ai.module.ts"],"names":[],"mappings":"AAOA,qBAUa,QAAQ;CAAG"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AiModule = void 0;
10
+ const api_prisma_1 = require("@hed-hog/api-prisma");
11
+ const common_1 = require("@nestjs/common");
12
+ const file_module_1 = require("../file/file.module");
13
+ const setting_module_1 = require("../setting/setting.module");
14
+ const ai_controller_1 = require("./ai.controller");
15
+ const ai_service_1 = require("./ai.service");
16
+ let AiModule = class AiModule {
17
+ };
18
+ exports.AiModule = AiModule;
19
+ exports.AiModule = AiModule = __decorate([
20
+ (0, common_1.Module)({
21
+ imports: [
22
+ (0, common_1.forwardRef)(() => api_prisma_1.PrismaModule),
23
+ (0, common_1.forwardRef)(() => setting_module_1.SettingModule),
24
+ (0, common_1.forwardRef)(() => file_module_1.FileModule),
25
+ ],
26
+ controllers: [ai_controller_1.AiController],
27
+ providers: [ai_service_1.AiService],
28
+ exports: [ai_service_1.AiService],
29
+ })
30
+ ], AiModule);
31
+ //# sourceMappingURL=ai.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.module.js","sourceRoot":"","sources":["../../src/ai/ai.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAmD;AACnD,2CAAoD;AACpD,qDAAiD;AACjD,8DAA0D;AAC1D,mDAA+C;AAC/C,6CAAyC;AAYlC,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAAG,CAAA;AAAX,4BAAQ;mBAAR,QAAQ;IAVpB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC;YAC/B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,4BAAY,CAAC;QAC3B,SAAS,EAAE,CAAC,sBAAS,CAAC;QACtB,OAAO,EAAE,CAAC,sBAAS,CAAC;KACrB,CAAC;GACW,QAAQ,CAAG"}
@@ -0,0 +1,76 @@
1
+ import { PaginationDTO } from '@hed-hog/api-pagination';
2
+ import { PrismaService } from '@hed-hog/api-prisma';
3
+ import { DeleteDTO } from '../dto/delete.dto';
4
+ import { FileService } from '../file/file.service';
5
+ import { SettingService } from '../setting/setting.service';
6
+ import { ChatAgentDTO } from './dto/chat-agent.dto';
7
+ import { ChatDTO } from './dto/chat.dto';
8
+ import { CreateAgentDTO } from './dto/create-agent.dto';
9
+ import { UpdateAgentDTO } from './dto/update-agent.dto';
10
+ type AiProvider = 'openai' | 'gemini';
11
+ type AiAgentRecord = {
12
+ id: number;
13
+ slug: string;
14
+ provider: AiProvider;
15
+ model: string | null;
16
+ instructions: string | null;
17
+ external_agent_id: string | null;
18
+ created_at: Date;
19
+ updated_at: Date;
20
+ };
21
+ export declare class AiService {
22
+ private readonly prismaService;
23
+ private readonly settingService;
24
+ private readonly fileService;
25
+ constructor(prismaService: PrismaService, settingService: SettingService, fileService: FileService);
26
+ chat(data: ChatDTO, file?: MulterFile): Promise<{
27
+ provider: "openai";
28
+ model: string;
29
+ content: any;
30
+ } | {
31
+ provider: "gemini";
32
+ model: string;
33
+ content: any;
34
+ }>;
35
+ createAgent(data: CreateAgentDTO): Promise<AiAgentRecord>;
36
+ listAgents(paginationParams: PaginationDTO): Promise<{
37
+ data: AiAgentRecord[];
38
+ total: number;
39
+ page: number;
40
+ pageSize: number;
41
+ totalPages: number;
42
+ }>;
43
+ getAgentById(agentId: number): Promise<AiAgentRecord>;
44
+ updateAgent(agentId: number, data: UpdateAgentDTO): Promise<AiAgentRecord>;
45
+ deleteAgents({ ids }: DeleteDTO): Promise<{
46
+ count: number;
47
+ }>;
48
+ chatWithAgent(slug: string, data: ChatAgentDTO, file?: MulterFile): Promise<{
49
+ slug: string;
50
+ provider: "openai";
51
+ model: string;
52
+ content: any;
53
+ } | {
54
+ slug: string;
55
+ provider: "gemini";
56
+ model: string;
57
+ content: any;
58
+ }>;
59
+ getAgentBySlug(slug: string): Promise<AiAgentRecord>;
60
+ private findAgentBySlug;
61
+ private findAgentById;
62
+ private getDefaultModel;
63
+ private getApiKeys;
64
+ private chatWithOpenAi;
65
+ private createOpenAiAssistant;
66
+ private chatWithOpenAiAssistant;
67
+ private chatWithGemini;
68
+ private sleep;
69
+ private resolveAttachment;
70
+ private buildOpenAiUserContent;
71
+ private isImageMime;
72
+ private isTextMime;
73
+ private toUtf8Text;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=ai.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.service.d.ts","sourceRoot":"","sources":["../../src/ai/ai.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAQF,qBACa,SAAS;IAGlB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAJX,aAAa,EAAE,aAAa,EAE5B,cAAc,EAAE,cAAc,EAE9B,WAAW,EAAE,WAAW;IAGrC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;;;;IAmCrC,WAAW,CAAC,IAAI,EAAE,cAAc;IA6BhC,UAAU,CAAC,gBAAgB,EAAE,aAAa;;;;;;;IAuC1C,YAAY,CAAC,OAAO,EAAE,MAAM;IAU5B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc;IA6CjD,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS;;;IAyB/B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;IAqDjE,cAAc,CAAC,IAAI,EAAE,MAAM;YAUnB,eAAe;YAWf,aAAa;IAW3B,OAAO,CAAC,eAAe;YAQT,UAAU;YAYV,cAAc;YA6Cd,qBAAqB;YA0CrB,uBAAuB;YAiGvB,cAAc;YA0Dd,KAAK;YAIL,iBAAiB;IAwB/B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;CAGnB"}