Deploy via committed dist: local Nest build, server runs with .env

Build on the developer machine without Docker, commit dist/, and run on the server with Dockerfile.dist plus compose env_file.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-05 21:35:22 +03:30
co-authored by Cursor
parent 67cfc17079
commit cbcea58e94
199 changed files with 10895 additions and 4 deletions
+61
View File
@@ -0,0 +1,61 @@
import { AdminUsersService } from './admin-users.service';
import { CreateAdminUserDto, SetAdminActiveDto, UpdateAdminUserDto } from './dto/admin-user.dto';
export declare class AdminUsersController {
private readonly adminUsersService;
constructor(adminUsersService: AdminUsersService);
findAll(): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}[]>;
findOne(id: string): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
create(dto: CreateAdminUserDto): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
update(id: string, dto: UpdateAdminUserDto): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
setActive(id: string, dto: SetAdminActiveDto): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
}
+83
View File
@@ -0,0 +1,83 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdminUsersController = void 0;
const common_1 = require("@nestjs/common");
const admin_users_service_1 = require("./admin-users.service");
const auth_decorators_1 = require("../common/decorators/auth.decorators");
const admin_user_dto_1 = require("./dto/admin-user.dto");
let AdminUsersController = class AdminUsersController {
adminUsersService;
constructor(adminUsersService) {
this.adminUsersService = adminUsersService;
}
findAll() {
return this.adminUsersService.findAll();
}
findOne(id) {
return this.adminUsersService.findOne(id);
}
create(dto) {
return this.adminUsersService.create(dto);
}
update(id, dto) {
return this.adminUsersService.update(id, dto);
}
setActive(id, dto) {
return this.adminUsersService.setActive(id, dto.isActive);
}
};
exports.AdminUsersController = AdminUsersController;
__decorate([
(0, common_1.Get)(),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], AdminUsersController.prototype, "findAll", null);
__decorate([
(0, common_1.Get)(':id'),
__param(0, (0, common_1.Param)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0)
], AdminUsersController.prototype, "findOne", null);
__decorate([
(0, common_1.Post)(),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [admin_user_dto_1.CreateAdminUserDto]),
__metadata("design:returntype", void 0)
], AdminUsersController.prototype, "create", null);
__decorate([
(0, common_1.Patch)(':id'),
__param(0, (0, common_1.Param)('id')),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, admin_user_dto_1.UpdateAdminUserDto]),
__metadata("design:returntype", void 0)
], AdminUsersController.prototype, "update", null);
__decorate([
(0, common_1.Patch)(':id/active'),
__param(0, (0, common_1.Param)('id')),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, admin_user_dto_1.SetAdminActiveDto]),
__metadata("design:returntype", void 0)
], AdminUsersController.prototype, "setActive", null);
exports.AdminUsersController = AdminUsersController = __decorate([
(0, common_1.Controller)('admin/users'),
(0, auth_decorators_1.AuthType)('admin'),
__metadata("design:paramtypes", [admin_users_service_1.AdminUsersService])
], AdminUsersController);
//# sourceMappingURL=admin-users.controller.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"admin-users.controller.js","sourceRoot":"","sources":["../../src/admin-users/admin-users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,+DAA0D;AAC1D,0EAAgE;AAChE,yDAI8B;AAIvB,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACF;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGrE,OAAO;QACL,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAGD,OAAO,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAGD,MAAM,CAAS,GAAuB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAGD,MAAM,CAAc,EAAU,EAAU,GAAuB;QAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAGD,SAAS,CAAc,EAAU,EAAU,GAAsB;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA3BY,oDAAoB;AAI/B;IADC,IAAA,YAAG,GAAE;;;;mDAGL;AAGD;IADC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;mDAEnB;AAGD;IADC,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,mCAAkB;;kDAErC;AAGD;IADC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,mCAAkB;;kDAE9D;AAGD;IADC,IAAA,cAAK,EAAC,YAAY,CAAC;IACT,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,kCAAiB;;qDAEhE;+BA1BU,oBAAoB;IAFhC,IAAA,mBAAU,EAAC,aAAa,CAAC;IACzB,IAAA,0BAAQ,EAAC,OAAO,CAAC;qCAEgC,uCAAiB;GADtD,oBAAoB,CA2BhC"}
+2
View File
@@ -0,0 +1,2 @@
export declare class AdminUsersModule {
}
+23
View File
@@ -0,0 +1,23 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdminUsersModule = void 0;
const common_1 = require("@nestjs/common");
const admin_users_controller_1 = require("./admin-users.controller");
const admin_users_service_1 = require("./admin-users.service");
let AdminUsersModule = class AdminUsersModule {
};
exports.AdminUsersModule = AdminUsersModule;
exports.AdminUsersModule = AdminUsersModule = __decorate([
(0, common_1.Module)({
controllers: [admin_users_controller_1.AdminUsersController],
providers: [admin_users_service_1.AdminUsersService],
exports: [admin_users_service_1.AdminUsersService],
})
], AdminUsersModule);
//# sourceMappingURL=admin-users.module.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"admin-users.module.js","sourceRoot":"","sources":["../../src/admin-users/admin-users.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAAgE;AAChE,+DAA0D;AAOnD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAL5B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,6CAAoB,CAAC;QACnC,SAAS,EAAE,CAAC,uCAAiB,CAAC;QAC9B,OAAO,EAAE,CAAC,uCAAiB,CAAC;KAC7B,CAAC;GACW,gBAAgB,CAAG"}
+63
View File
@@ -0,0 +1,63 @@
import { PrismaService } from '../prisma/prisma.service';
import { CreateAdminUserDto, UpdateAdminUserDto } from './dto/admin-user.dto';
export declare class AdminUsersService {
private readonly prisma;
constructor(prisma: PrismaService);
findAll(): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}[]>;
findOne(id: string): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
create(dto: CreateAdminUserDto): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
update(id: string, dto: UpdateAdminUserDto): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
setActive(id: string, isActive: boolean): Promise<{
id: string;
fullName: string;
phone: string;
email: string;
role: import("@prisma/client").$Enums.AdminRole;
isActive: boolean;
lastLoginAt: string | null;
createdAt: string;
updatedAt: string;
}>;
private ensure;
private map;
}
+160
View File
@@ -0,0 +1,160 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdminUsersService = void 0;
const common_1 = require("@nestjs/common");
const client_1 = require("@prisma/client");
const bcrypt = __importStar(require("bcryptjs"));
const prisma_service_1 = require("../prisma/prisma.service");
const phone_1 = require("../common/utils/phone");
const DEFAULT_PASSWORD = 'admin123';
let AdminUsersService = class AdminUsersService {
prisma;
constructor(prisma) {
this.prisma = prisma;
}
async findAll() {
const users = await this.prisma.adminUser.findMany({
orderBy: { createdAt: 'desc' },
});
return users.map((u) => this.map(u));
}
async findOne(id) {
const user = await this.prisma.adminUser.findUnique({ where: { id } });
if (!user)
throw new common_1.NotFoundException('کاربر ادمین یافت نشد');
return this.map(user);
}
async create(dto) {
const phone = (0, phone_1.normalizePhone)((0, phone_1.toEnglishDigits)(dto.phone));
if (!(0, phone_1.isValidPhone)(phone)) {
throw new common_1.BadRequestException('شماره موبایل نامعتبر است');
}
const passwordHash = await bcrypt.hash(dto.password?.trim() || DEFAULT_PASSWORD, 10);
try {
const user = await this.prisma.adminUser.create({
data: {
fullName: dto.fullName.trim(),
phone,
email: dto.email.trim().toLowerCase(),
passwordHash,
role: dto.role ?? client_1.AdminRole.admin,
isActive: dto.isActive ?? true,
},
});
return this.map(user);
}
catch (e) {
if (e instanceof client_1.Prisma.PrismaClientKnownRequestError && e.code === 'P2002') {
throw new common_1.ConflictException('شماره یا ایمیل تکراری است');
}
throw e;
}
}
async update(id, dto) {
await this.ensure(id);
const phone = dto.phone !== undefined
? (0, phone_1.normalizePhone)((0, phone_1.toEnglishDigits)(dto.phone))
: undefined;
if (phone !== undefined && !(0, phone_1.isValidPhone)(phone)) {
throw new common_1.BadRequestException('شماره موبایل نامعتبر است');
}
const data = {
fullName: dto.fullName?.trim(),
phone,
email: dto.email?.trim().toLowerCase(),
role: dto.role,
isActive: dto.isActive,
};
if (dto.password?.trim()) {
data.passwordHash = await bcrypt.hash(dto.password.trim(), 10);
}
try {
const user = await this.prisma.adminUser.update({
where: { id },
data,
});
return this.map(user);
}
catch (e) {
if (e instanceof client_1.Prisma.PrismaClientKnownRequestError && e.code === 'P2002') {
throw new common_1.ConflictException('شماره یا ایمیل تکراری است');
}
throw e;
}
}
async setActive(id, isActive) {
await this.ensure(id);
const user = await this.prisma.adminUser.update({
where: { id },
data: { isActive },
});
return this.map(user);
}
async ensure(id) {
const user = await this.prisma.adminUser.findUnique({ where: { id } });
if (!user)
throw new common_1.NotFoundException('کاربر ادمین یافت نشد');
return user;
}
map(user) {
return {
id: user.id,
fullName: user.fullName,
phone: user.phone,
email: user.email,
role: user.role,
isActive: user.isActive,
lastLoginAt: user.lastLoginAt?.toISOString() ?? null,
createdAt: user.createdAt.toISOString(),
updatedAt: user.updatedAt.toISOString(),
};
}
};
exports.AdminUsersService = AdminUsersService;
exports.AdminUsersService = AdminUsersService = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [prisma_service_1.PrismaService])
], AdminUsersService);
//# sourceMappingURL=admin-users.service.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"admin-users.service.js","sourceRoot":"","sources":["../../src/admin-users/admin-users.service.ts"],"names":[],"mappings":"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"}
+20
View File
@@ -0,0 +1,20 @@
import { AdminRole } from '@prisma/client';
export declare class CreateAdminUserDto {
fullName: string;
phone: string;
email: string;
password?: string;
role?: AdminRole;
isActive?: boolean;
}
export declare class UpdateAdminUserDto {
fullName?: string;
phone?: string;
email?: string;
password?: string;
role?: AdminRole;
isActive?: boolean;
}
export declare class SetAdminActiveDto {
isActive: boolean;
}
+103
View File
@@ -0,0 +1,103 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SetAdminActiveDto = exports.UpdateAdminUserDto = exports.CreateAdminUserDto = void 0;
const class_validator_1 = require("class-validator");
const client_1 = require("@prisma/client");
class CreateAdminUserDto {
fullName;
phone;
email;
password;
role;
isActive;
}
exports.CreateAdminUserDto = CreateAdminUserDto;
__decorate([
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(1),
__metadata("design:type", String)
], CreateAdminUserDto.prototype, "fullName", void 0);
__decorate([
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(10),
__metadata("design:type", String)
], CreateAdminUserDto.prototype, "phone", void 0);
__decorate([
(0, class_validator_1.IsEmail)(),
__metadata("design:type", String)
], CreateAdminUserDto.prototype, "email", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(4),
__metadata("design:type", String)
], CreateAdminUserDto.prototype, "password", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEnum)(client_1.AdminRole),
__metadata("design:type", String)
], CreateAdminUserDto.prototype, "role", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsBoolean)(),
__metadata("design:type", Boolean)
], CreateAdminUserDto.prototype, "isActive", void 0);
class UpdateAdminUserDto {
fullName;
phone;
email;
password;
role;
isActive;
}
exports.UpdateAdminUserDto = UpdateAdminUserDto;
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(1),
__metadata("design:type", String)
], UpdateAdminUserDto.prototype, "fullName", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], UpdateAdminUserDto.prototype, "phone", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEmail)(),
__metadata("design:type", String)
], UpdateAdminUserDto.prototype, "email", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(4),
__metadata("design:type", String)
], UpdateAdminUserDto.prototype, "password", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEnum)(client_1.AdminRole),
__metadata("design:type", String)
], UpdateAdminUserDto.prototype, "role", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsBoolean)(),
__metadata("design:type", Boolean)
], UpdateAdminUserDto.prototype, "isActive", void 0);
class SetAdminActiveDto {
isActive;
}
exports.SetAdminActiveDto = SetAdminActiveDto;
__decorate([
(0, class_validator_1.IsBoolean)(),
__metadata("design:type", Boolean)
], SetAdminActiveDto.prototype, "isActive", void 0);
//# sourceMappingURL=admin-user.dto.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"admin-user.dto.js","sourceRoot":"","sources":["../../../src/admin-users/dto/admin-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AACzB,2CAA2C;AAE3C,MAAa,kBAAkB;IAG7B,QAAQ,CAAU;IAIlB,KAAK,CAAU;IAGf,KAAK,CAAU;IAKf,QAAQ,CAAU;IAIlB,IAAI,CAAa;IAIjB,QAAQ,CAAW;CACpB;AAxBD,gDAwBC;AArBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;oDACK;AAIlB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;iDACC;AAGf;IADC,IAAA,yBAAO,GAAE;;iDACK;AAKf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;oDACK;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,kBAAS,CAAC;;gDACD;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;oDACO;AAGrB,MAAa,kBAAkB;IAI7B,QAAQ,CAAU;IAIlB,KAAK,CAAU;IAIf,KAAK,CAAU;IAKf,QAAQ,CAAU;IAIlB,IAAI,CAAa;IAIjB,QAAQ,CAAW;CACpB;AA1BD,gDA0BC;AAtBC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;oDACK;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;iDACK;AAKf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;oDACK;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,kBAAS,CAAC;;gDACD;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;oDACO;AAGrB,MAAa,iBAAiB;IAE5B,QAAQ,CAAW;CACpB;AAHD,8CAGC;AADC;IADC,IAAA,2BAAS,GAAE;;mDACO"}