@hed-hog/core 0.0.78 → 0.0.82
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/auth/dto/change.dto.d.ts.map +1 -1
- package/dist/auth/dto/change.dto.js +4 -6
- package/dist/auth/dto/change.dto.js.map +1 -1
- package/dist/auth/dto/email.dto.d.ts.map +1 -1
- package/dist/auth/dto/email.dto.js +4 -3
- package/dist/auth/dto/email.dto.js.map +1 -1
- package/dist/auth/dto/forget.dto.d.ts.map +1 -1
- package/dist/auth/dto/forget.dto.js +3 -1
- package/dist/auth/dto/forget.dto.js.map +1 -1
- package/dist/auth/dto/login.dto.d.ts.map +1 -1
- package/dist/auth/dto/login.dto.js +3 -1
- package/dist/auth/dto/login.dto.js.map +1 -1
- package/dist/auth/guards/auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/auth.guard.js +3 -1
- package/dist/auth/guards/auth.guard.js.map +1 -1
- package/dist/challenge/challenge.service.d.ts +2 -2
- package/dist/challenge/challenge.service.d.ts.map +1 -1
- package/dist/challenge/challenge.service.js.map +1 -1
- package/dist/install/dto/install.dto.d.ts.map +1 -1
- package/dist/install/dto/install.dto.js +3 -1
- package/dist/install/dto/install.dto.js.map +1 -1
- package/dist/mail/dto/test-mail.dto.d.ts.map +1 -1
- package/dist/mail/dto/test-mail.dto.js +4 -2
- package/dist/mail/dto/test-mail.dto.js.map +1 -1
- package/dist/profile/dto/change-email.dto.d.ts +5 -0
- package/dist/profile/dto/change-email.dto.d.ts.map +1 -0
- package/dist/profile/dto/change-email.dto.js +31 -0
- package/dist/profile/dto/change-email.dto.js.map +1 -0
- package/dist/profile/dto/change-password.dto.d.ts.map +1 -1
- package/dist/profile/dto/change-password.dto.js +2 -2
- package/dist/profile/dto/change-password.dto.js.map +1 -1
- package/dist/profile/dto/email-verification-confirm.dto.d.ts.map +1 -1
- package/dist/profile/dto/email-verification-confirm.dto.js +4 -2
- package/dist/profile/dto/email-verification-confirm.dto.js.map +1 -1
- package/dist/profile/dto/send-email-verification.dto.d.ts.map +1 -1
- package/dist/profile/dto/send-email-verification.dto.js +3 -3
- package/dist/profile/dto/send-email-verification.dto.js.map +1 -1
- package/dist/profile/profile.controller.d.ts +9 -0
- package/dist/profile/profile.controller.d.ts.map +1 -1
- package/dist/profile/profile.controller.js +13 -0
- package/dist/profile/profile.controller.js.map +1 -1
- package/dist/profile/profile.service.d.ts +7 -0
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +5 -0
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +2 -1
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/user.controller.d.ts +6 -24
- package/dist/user/user.controller.d.ts.map +1 -1
- package/dist/user/user.controller.js +12 -0
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.service.d.ts +6 -24
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +32 -1
- package/dist/user/user.service.js.map +1 -1
- package/hedhog/data/route.yaml +12 -0
- package/hedhog/table/user_identifier_challenge.yaml +19 -0
- package/package.json +8 -6
- package/src/auth/dto/change.dto.ts +5 -10
- package/src/auth/dto/email.dto.ts +5 -4
- package/src/auth/dto/forget.dto.ts +4 -2
- package/src/auth/dto/login.dto.ts +4 -2
- package/src/auth/guards/auth.guard.ts +7 -5
- package/src/challenge/challenge.service.ts +2 -0
- package/src/install/dto/install.dto.ts +4 -2
- package/src/mail/dto/test-mail.dto.ts +5 -3
- package/src/profile/dto/change-email.dto.ts +15 -0
- package/src/profile/dto/change-password.dto.ts +3 -3
- package/src/profile/dto/email-verification-confirm.dto.ts +5 -3
- package/src/profile/dto/send-email-verification.dto.ts +4 -4
- package/src/profile/profile.controller.ts +6 -0
- package/src/profile/profile.service.ts +9 -0
- package/src/token/token.service.ts +5 -2
- package/src/user/user.controller.ts +22 -13
- package/src/user/user.service.ts +51 -6
- package/dist/core/core.controller.d.ts +0 -44
- package/dist/core/core.controller.d.ts.map +0 -1
- package/dist/core/core.controller.js +0 -38
- package/dist/core/core.controller.js.map +0 -1
- package/dist/core/core.module.d.ts +0 -3
- package/dist/core/core.module.d.ts.map +0 -1
- package/dist/core/core.module.js +0 -28
- package/dist/core/core.module.js.map +0 -1
- package/dist/core/core.service.d.ts +0 -56
- package/dist/core/core.service.d.ts.map +0 -1
- package/dist/core/core.service.js +0 -320
- package/dist/core/core.service.js.map +0 -1
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
-
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;
|
|
22
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
-
};
|
|
44
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.CoreService = void 0;
|
|
46
|
-
const api_prisma_1 = require("@hed-hog/api-prisma");
|
|
47
|
-
const common_1 = require("@nestjs/common");
|
|
48
|
-
const child_process_1 = require("child_process");
|
|
49
|
-
const fs = __importStar(require("fs"));
|
|
50
|
-
const os = __importStar(require("os"));
|
|
51
|
-
const path = __importStar(require("path"));
|
|
52
|
-
let CoreService = class CoreService {
|
|
53
|
-
constructor(prismaService) {
|
|
54
|
-
this.prismaService = prismaService;
|
|
55
|
-
}
|
|
56
|
-
async index() {
|
|
57
|
-
const cpus = os.cpus();
|
|
58
|
-
const totalSpeed = cpus.reduce((acc, cpu) => acc + cpu.speed, 0);
|
|
59
|
-
const averageSpeed = totalSpeed / cpus.length;
|
|
60
|
-
return {
|
|
61
|
-
os: {
|
|
62
|
-
name: this.getFriendlyOSName(),
|
|
63
|
-
platform: os.platform(),
|
|
64
|
-
version: os.release(),
|
|
65
|
-
architecture: os.arch(),
|
|
66
|
-
uptime: os.uptime(),
|
|
67
|
-
cpu: this.getCpuInfo(cpus, averageSpeed),
|
|
68
|
-
memory: this.getMemoryInfo(),
|
|
69
|
-
disk: await this.getDiskInfo(),
|
|
70
|
-
},
|
|
71
|
-
modules: await this.getModulesInfo(),
|
|
72
|
-
users: await this.getUsersInfo(),
|
|
73
|
-
database: await this.getDatabaseInfo(),
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
getFriendlyOSName() {
|
|
77
|
-
switch (os.platform()) {
|
|
78
|
-
case 'aix':
|
|
79
|
-
return `AIX`;
|
|
80
|
-
case 'darwin':
|
|
81
|
-
return `macOS`;
|
|
82
|
-
case 'freebsd':
|
|
83
|
-
return `FreeBSD`;
|
|
84
|
-
case 'linux':
|
|
85
|
-
return `Linux`;
|
|
86
|
-
case 'openbsd':
|
|
87
|
-
return `OpenBSD`;
|
|
88
|
-
case 'sunos':
|
|
89
|
-
return `SunOS`;
|
|
90
|
-
case 'win32':
|
|
91
|
-
return `Windows`;
|
|
92
|
-
default:
|
|
93
|
-
return `Unknown`;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
async getDatabaseInfo() {
|
|
97
|
-
let connections, size, queriesPerSecond;
|
|
98
|
-
if (process.env.DATABASE_URL.includes('postgres')) {
|
|
99
|
-
[connections, size, queriesPerSecond] = await Promise.all([
|
|
100
|
-
this.prismaService.$queryRaw `SELECT COUNT(*) FROM pg_stat_activity`, // For PostgreSQL
|
|
101
|
-
this.prismaService
|
|
102
|
-
.$queryRaw `SELECT pg_database_size(current_database())`, // For PostgreSQL
|
|
103
|
-
this.prismaService
|
|
104
|
-
.$queryRaw `SELECT sum(numbackends) FROM pg_stat_database`, // For PostgreSQL
|
|
105
|
-
]);
|
|
106
|
-
}
|
|
107
|
-
else if (process.env.DATABASE_URL.includes('mysql')) {
|
|
108
|
-
[connections, size, queriesPerSecond] = await Promise.all([
|
|
109
|
-
this.prismaService
|
|
110
|
-
.$queryRaw `SHOW STATUS WHERE variable_name = 'Threads_connected'`, // For MySQL
|
|
111
|
-
this.prismaService
|
|
112
|
-
.$queryRaw `SELECT SUM(data_length + index_length) AS size FROM information_schema.tables WHERE table_schema = DATABASE()`, // For MySQL
|
|
113
|
-
this.prismaService
|
|
114
|
-
.$queryRaw `SHOW STATUS WHERE variable_name = 'Queries'`, // For MySQL
|
|
115
|
-
]);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
throw new Error('Unsupported database type');
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
connections: +String(connections[0].count || connections[0].Value) || 0,
|
|
122
|
-
size: +String(size[0].pg_database_size || size[0].size) || 0,
|
|
123
|
-
queriesPerSecond: +String(queriesPerSecond[0].sum || queriesPerSecond[0].Value) || 0,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
async getUsersInfo() {
|
|
127
|
-
const users = await this.prismaService.user.findMany({
|
|
128
|
-
include: {
|
|
129
|
-
role_user: {
|
|
130
|
-
where: {
|
|
131
|
-
role_id: 1,
|
|
132
|
-
},
|
|
133
|
-
select: {
|
|
134
|
-
role_id: true,
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
});
|
|
139
|
-
const activities = await this.prismaService.user_activity.findMany({
|
|
140
|
-
where: {
|
|
141
|
-
created_at: {
|
|
142
|
-
gte: new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000),
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
take: 10,
|
|
146
|
-
orderBy: {
|
|
147
|
-
created_at: 'desc',
|
|
148
|
-
},
|
|
149
|
-
select: {
|
|
150
|
-
created_at: true,
|
|
151
|
-
user: {
|
|
152
|
-
select: {
|
|
153
|
-
name: true,
|
|
154
|
-
id: true,
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
},
|
|
158
|
-
});
|
|
159
|
-
return {
|
|
160
|
-
total: users.length,
|
|
161
|
-
admin: users.filter((user) => user.role_user.length > 0).length,
|
|
162
|
-
active: 0,
|
|
163
|
-
activities,
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
async getModulesInfo() {
|
|
167
|
-
const packageJsonPath = path.resolve(process.cwd(), 'package.json');
|
|
168
|
-
return new Promise((resolve, reject) => {
|
|
169
|
-
fs.readFile(packageJsonPath, 'utf8', async (err, data) => {
|
|
170
|
-
if (err) {
|
|
171
|
-
reject(`Error reading package.json: ${err.message}`);
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
try {
|
|
175
|
-
const packageJson = JSON.parse(data);
|
|
176
|
-
const dependencies = packageJson.dependencies || {};
|
|
177
|
-
const hedgehogModules = await Promise.all(Object.keys(dependencies)
|
|
178
|
-
.filter((key) => key.startsWith('@hedhog'))
|
|
179
|
-
.map(async (key) => {
|
|
180
|
-
const currentVersion = dependencies[key].replace(/^[\^~]/, '');
|
|
181
|
-
const latestVersion = await this.getLatestVersion(key);
|
|
182
|
-
return {
|
|
183
|
-
name: key,
|
|
184
|
-
version: dependencies[key],
|
|
185
|
-
latestVersion,
|
|
186
|
-
upToDate: currentVersion === latestVersion,
|
|
187
|
-
};
|
|
188
|
-
}));
|
|
189
|
-
resolve(hedgehogModules);
|
|
190
|
-
}
|
|
191
|
-
catch (parseError) {
|
|
192
|
-
reject(`Error parsing package.json: ${parseError === null || parseError === void 0 ? void 0 : parseError.message}`);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
async getLatestVersion(moduleName) {
|
|
198
|
-
return new Promise((resolve, reject) => {
|
|
199
|
-
(0, child_process_1.exec)(`npm show ${moduleName} version`, (error, stdout, stderr) => {
|
|
200
|
-
if (error) {
|
|
201
|
-
reject(`Error fetching latest version for ${moduleName}: ${error.message}`);
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
if (stderr) {
|
|
205
|
-
reject(`stderr: ${stderr}`);
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
resolve(stdout.trim());
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
getCpuInfo(cpus, averageSpeed) {
|
|
213
|
-
return {
|
|
214
|
-
model: cpus[0].model,
|
|
215
|
-
speed: averageSpeed,
|
|
216
|
-
physicalCores: cpus.length / 2, // Assuming hyper-threading, this gives physical cores
|
|
217
|
-
virtualCores: cpus.length,
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
getMemoryInfo() {
|
|
221
|
-
return {
|
|
222
|
-
total: os.totalmem(),
|
|
223
|
-
free: os.freemem(),
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
async getDiskInfo() {
|
|
227
|
-
return new Promise((resolve, reject) => {
|
|
228
|
-
const command = this.getDiskCommand();
|
|
229
|
-
if (!command) {
|
|
230
|
-
reject('Unsupported OS');
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
(0, child_process_1.exec)(command, (error, stdout, stderr) => {
|
|
234
|
-
if (error) {
|
|
235
|
-
reject(`error: ${error.message}`);
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
if (stderr) {
|
|
239
|
-
reject(`stderr: ${stderr}`);
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
const diskInfo = os.platform() === 'win32'
|
|
243
|
-
? this.parseWindowsDiskInfo(stdout)
|
|
244
|
-
: this.parseUnixDiskInfo(stdout);
|
|
245
|
-
resolve(diskInfo.filter((disk) => disk.filesystem !== undefined));
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
getDiskCommand() {
|
|
250
|
-
switch (os.platform()) {
|
|
251
|
-
case 'win32':
|
|
252
|
-
if (fs.existsSync('C:\\Windows\\System32\\wbem\\wmic.exe')) {
|
|
253
|
-
return 'wmic logicaldisk get size,freespace,caption';
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
return 'powershell -Command "Get-PSDrive -PSProvider FileSystem | Select-Object Name,Used,Free"';
|
|
257
|
-
}
|
|
258
|
-
case 'darwin':
|
|
259
|
-
case 'linux':
|
|
260
|
-
return 'df -h';
|
|
261
|
-
default:
|
|
262
|
-
return null;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
parseWindowsDiskInfo(output) {
|
|
266
|
-
const lines = output.trim().split('\n');
|
|
267
|
-
const result = [];
|
|
268
|
-
for (let i = 1; i < lines.length; i++) {
|
|
269
|
-
const parts = lines[i].trim().split(/\s+/);
|
|
270
|
-
if (parts.length === 3) {
|
|
271
|
-
result.push({
|
|
272
|
-
filesystem: parts[0].replace(':', ''),
|
|
273
|
-
size: parseInt(parts[1], 10),
|
|
274
|
-
free: parseInt(parts[2], 10),
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
return result;
|
|
279
|
-
}
|
|
280
|
-
parsedSizeFormated(size) {
|
|
281
|
-
const unit = size.slice(-1).toUpperCase();
|
|
282
|
-
const value = parseFloat(size.slice(0, -1));
|
|
283
|
-
switch (unit) {
|
|
284
|
-
case 'T':
|
|
285
|
-
return value * 1024 ** 4;
|
|
286
|
-
case 'G':
|
|
287
|
-
return value * 1024 ** 3;
|
|
288
|
-
case 'M':
|
|
289
|
-
return value * 1024 ** 2;
|
|
290
|
-
case 'K':
|
|
291
|
-
return value * 1024;
|
|
292
|
-
default:
|
|
293
|
-
return value; // Assume bytes if no unit is provided
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
parseUnixDiskInfo(output) {
|
|
297
|
-
const lines = output.trim().split('\n');
|
|
298
|
-
const result = [];
|
|
299
|
-
for (let i = 1; i < lines.length; i++) {
|
|
300
|
-
const parts = lines[i].split(/\s+/);
|
|
301
|
-
if (parts.length >= 6) {
|
|
302
|
-
const size = this.parsedSizeFormated(parts[1]);
|
|
303
|
-
const free = this.parsedSizeFormated(parts[3]);
|
|
304
|
-
result.push({
|
|
305
|
-
filesystem: parts[0],
|
|
306
|
-
free,
|
|
307
|
-
size,
|
|
308
|
-
mountpoint: parts[5],
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
return result;
|
|
313
|
-
}
|
|
314
|
-
};
|
|
315
|
-
exports.CoreService = CoreService;
|
|
316
|
-
exports.CoreService = CoreService = __decorate([
|
|
317
|
-
(0, common_1.Injectable)(),
|
|
318
|
-
__metadata("design:paramtypes", [api_prisma_1.PrismaService])
|
|
319
|
-
], CoreService);
|
|
320
|
-
//# sourceMappingURL=core.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.service.js","sourceRoot":"","sources":["../../src/core/core.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,2CAA4C;AAC5C,iDAAqC;AACrC,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAGtB,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9C,OAAO;YACL,EAAE,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAC9B,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;gBACrB,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE;gBACvB,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;gBACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;gBACxC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC5B,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE;aAC/B;YACD,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE;YACpC,KAAK,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE;YAChC,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE;SACvC,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;YACnB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,WAAW,EAAE,IAAI,EAAE,gBAAgB,CAAC;QAExC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,CAAC,WAAW,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAA,uCAAuC,EAAE,iBAAiB;gBACtF,IAAI,CAAC,aAAa;qBACf,SAAS,CAAA,6CAA6C,EAAE,iBAAiB;gBAC5E,IAAI,CAAC,aAAa;qBACf,SAAS,CAAA,+CAA+C,EAAE,iBAAiB;aAC/E,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,CAAC,WAAW,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxD,IAAI,CAAC,aAAa;qBACf,SAAS,CAAA,uDAAuD,EAAE,YAAY;gBACjF,IAAI,CAAC,aAAa;qBACf,SAAS,CAAA,+GAA+G,EAAE,YAAY;gBACzI,IAAI,CAAC,aAAa;qBACf,SAAS,CAAA,6CAA6C,EAAE,YAAY;aACxE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACvE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,gBAAgB,EACd,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;SACrE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnD,OAAO,EAAE;gBACP,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC;qBACX;oBACD,MAAM,EAAE;wBACN,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC;YACjE,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;iBAC9D;aACF;YACD,IAAI,EAAE,EAAE;YACR,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM;aACnB;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,IAAI;qBACT;iBACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;YAC/D,MAAM,EAAE,CAAC;YACT,UAAU;SACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QAEpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACvD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrC,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;oBACpD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;yBACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;yBAC1C,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBACjB,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC/D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;wBACvD,OAAO;4BACL,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;4BAC1B,aAAa;4BACb,QAAQ,EAAE,cAAc,KAAK,aAAa;yBAC3C,CAAC;oBACJ,CAAC,CAAC,CACL,CAAC;oBAEF,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,UAAe,EAAE,CAAC;oBACzB,MAAM,CAAC,+BAA+B,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,oBAAI,EAAC,YAAY,UAAU,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CACJ,qCAAqC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CACpE,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,IAAkB,EAAE,YAAoB;QACzD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YACpB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,sDAAsD;YACtF,YAAY,EAAE,IAAI,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,OAAO;YACL,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE;YACpB,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE;SACnB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAA,oBAAI,EAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClC,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GACZ,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;oBACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBACnC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtB,KAAK,OAAO;gBACV,IAAI,EAAE,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE,CAAC;oBAC3D,OAAO,6CAA6C,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,OAAO,yFAAyF,CAAC;gBACnG,CAAC;YACH,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACV,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;oBACrC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC5B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;YAC3B,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;YAC3B,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;YAC3B,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,IAAI,CAAC;YACtB;gBACE,OAAO,KAAK,CAAC,CAAC,sCAAsC;QACxD,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC;oBACV,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpB,IAAI;oBACJ,IAAI;oBACJ,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA/RY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAEwB,0BAAa;GADrC,WAAW,CA+RvB"}
|