@dataclouder/nest-storage 0.0.4 → 0.0.6
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/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/models/cloud.model.d.ts +10 -0
- package/package.json +4 -2
- package/services/cloud-storage.service.d.ts +3 -1
- package/services/cloud-storage.service.js +22 -5
- package/services/cloud-storage.service.js.map +1 -1
- package/services/cloudflare-r2.service.d.ts +2 -1
- package/services/cloudflare-r2.service.js +17 -3
- package/services/cloudflare-r2.service.js.map +1 -1
package/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export * from './nest-storage.module';
|
|
|
2
2
|
export * from './models/cloud.model';
|
|
3
3
|
export * from './services/cloud-storage.service';
|
|
4
4
|
export * from './services/minio-storage.service';
|
|
5
|
+
export * from './services/cloudflare-r2.service';
|
|
5
6
|
export * from './services/storage.factory';
|
package/index.js
CHANGED
|
@@ -18,5 +18,6 @@ __exportStar(require("./nest-storage.module"), exports);
|
|
|
18
18
|
__exportStar(require("./models/cloud.model"), exports);
|
|
19
19
|
__exportStar(require("./services/cloud-storage.service"), exports);
|
|
20
20
|
__exportStar(require("./services/minio-storage.service"), exports);
|
|
21
|
+
__exportStar(require("./services/cloudflare-r2.service"), exports);
|
|
21
22
|
__exportStar(require("./services/storage.factory"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/nest-storage/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AAEtC,uDAAqC;AAErC,mEAAiD;AACjD,mEAAiD;AACjD,6DAA2C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/nest-storage/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AAEtC,uDAAqC;AAErC,mEAAiD;AACjD,mEAAiD;AACjD,mEAAiD;AACjD,6DAA2C"}
|
package/models/cloud.model.d.ts
CHANGED
|
@@ -31,12 +31,22 @@ export interface CloudFileStorage extends FileStorageData, CloudStorage {
|
|
|
31
31
|
auditable: IAuditable;
|
|
32
32
|
}
|
|
33
33
|
import { UploadWebpImageOptions } from '../services/cloud-storage.service';
|
|
34
|
+
export interface UploadPublicFileOptions {
|
|
35
|
+
bucketName?: string;
|
|
36
|
+
fileName: string;
|
|
37
|
+
fileBuffer: Buffer;
|
|
38
|
+
contentType?: string;
|
|
39
|
+
metadata?: {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
34
43
|
export interface IStorageService {
|
|
35
44
|
uploadFile(fileName: string, fileBuffer: Buffer, auditable: IAuditable, contentType?: string, bucketName?: string): Promise<CloudFileStorage>;
|
|
36
45
|
uploadWebpImage(options: UploadWebpImageOptions): Promise<Partial<CloudFileStorage>>;
|
|
37
46
|
uploadFileAndMakePublic(bucketName: string, fileName: string, fileBuffer: Buffer, contentType?: string, metadata?: {
|
|
38
47
|
[key: string]: any;
|
|
39
48
|
}): Promise<Partial<CloudFileStorage>>;
|
|
49
|
+
uploadPublicFile(options: UploadPublicFileOptions): Promise<Partial<CloudFileStorage>>;
|
|
40
50
|
deleteStorageFile(bucketName: string, fileName: string): Promise<any>;
|
|
41
51
|
removeAllStorageFilesPresentInObject(obj: any): Promise<any>;
|
|
42
52
|
removeAllStorageFilesByUrl(obj: any): Promise<any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dataclouder/nest-storage",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "NestJS library for storage services",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -30,7 +30,9 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"sharp": ">=0.32.6",
|
|
33
|
-
"minio": ">=8.0.5"
|
|
33
|
+
"minio": ">=8.0.5",
|
|
34
|
+
"@aws-sdk/client-s3": ">=3.863.0",
|
|
35
|
+
"@aws-sdk/s3-request-presigner": ">=3.863.0"
|
|
34
36
|
},
|
|
35
37
|
"publishConfig": {
|
|
36
38
|
"access": "public"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IAuditable } from '@dataclouder/nest-core';
|
|
2
2
|
import { ConfigService } from '@nestjs/config';
|
|
3
|
-
import { BasicStorage, CloudFileStorage, IStorageService } from '../models/cloud.model';
|
|
3
|
+
import { BasicStorage, CloudFileStorage, IStorageService, UploadPublicFileOptions } from '../models/cloud.model';
|
|
4
4
|
export interface UploadWebpImageOptions {
|
|
5
5
|
bucketName?: string;
|
|
6
6
|
fileName: string;
|
|
@@ -16,12 +16,14 @@ export declare class CloudStorageService implements IStorageService {
|
|
|
16
16
|
private storage;
|
|
17
17
|
private readonly logger;
|
|
18
18
|
private readonly storageBucket;
|
|
19
|
+
static instance: CloudStorageService;
|
|
19
20
|
constructor(configService: ConfigService);
|
|
20
21
|
uploadFile(fileName: string, fileBuffer: Buffer, auditable: IAuditable, contentType?: string, bucketName?: string): Promise<CloudFileStorage>;
|
|
21
22
|
uploadWebpImage(options: UploadWebpImageOptions): Promise<Partial<CloudFileStorage>>;
|
|
22
23
|
uploadFileAndMakePublic(bucketName: string, fileName: string, fileBuffer: Buffer, contentType?: string, metadata?: {
|
|
23
24
|
[key: string]: any;
|
|
24
25
|
}): Promise<Partial<CloudFileStorage>>;
|
|
26
|
+
uploadPublicFile(options: UploadPublicFileOptions): Promise<Partial<CloudFileStorage>>;
|
|
25
27
|
deleteStorageFile(bucketName: string, fileName: string): Promise<any>;
|
|
26
28
|
removeAllStorageFilesPresentInObject(obj: any): Promise<any>;
|
|
27
29
|
removeAllStorageFilesByUrl(obj: any): Promise<any>;
|
|
@@ -17,15 +17,18 @@ const storage_1 = require("@google-cloud/storage");
|
|
|
17
17
|
const sharp = require("sharp");
|
|
18
18
|
const FIREBASE_STORAGE_URL_REGEX = /https:\/\/firebasestorage\.googleapis\.com\/v0\/b\/([^/]+)\/o\/([^?]+)/;
|
|
19
19
|
const GOOGLE_STORAGE_URL_REGEX = /https:\/\/storage\.googleapis\.com\/([^/]+)\/(.+)/;
|
|
20
|
-
let CloudStorageService =
|
|
20
|
+
let CloudStorageService = class CloudStorageService {
|
|
21
|
+
static { CloudStorageService_1 = this; }
|
|
21
22
|
configService;
|
|
22
23
|
storage;
|
|
23
24
|
logger = new common_1.Logger(CloudStorageService_1.name);
|
|
24
25
|
storageBucket;
|
|
26
|
+
static instance;
|
|
25
27
|
constructor(configService) {
|
|
26
28
|
this.configService = configService;
|
|
27
29
|
this.storage = new storage_1.Storage();
|
|
28
30
|
this.storageBucket = this.configService.get('STORAGE_BUCKET');
|
|
31
|
+
CloudStorageService_1.instance = this;
|
|
29
32
|
}
|
|
30
33
|
async uploadFile(fileName, fileBuffer, auditable, contentType, bucketName) {
|
|
31
34
|
const bucketToUse = bucketName || this.storageBucket;
|
|
@@ -69,11 +72,25 @@ let CloudStorageService = CloudStorageService_1 = class CloudStorageService {
|
|
|
69
72
|
.resize(resizeWidth)
|
|
70
73
|
.webp({ quality: 80 })
|
|
71
74
|
.toBuffer();
|
|
72
|
-
const result = await this.
|
|
75
|
+
const result = await this.uploadPublicFile({
|
|
76
|
+
bucketName: bucketToUse,
|
|
77
|
+
fileName,
|
|
78
|
+
fileBuffer: webpBuffer,
|
|
79
|
+
contentType,
|
|
80
|
+
metadata,
|
|
81
|
+
});
|
|
73
82
|
return result;
|
|
74
83
|
}
|
|
75
84
|
async uploadFileAndMakePublic(bucketName, fileName, fileBuffer, contentType, metadata) {
|
|
76
|
-
|
|
85
|
+
return this.uploadPublicFile({ bucketName, fileName, fileBuffer, contentType, metadata });
|
|
86
|
+
}
|
|
87
|
+
async uploadPublicFile(options) {
|
|
88
|
+
const { bucketName, fileName, fileBuffer, contentType, metadata } = options;
|
|
89
|
+
const bucketToUse = bucketName || this.storageBucket;
|
|
90
|
+
if (!bucketToUse) {
|
|
91
|
+
throw new Error('Bucket name must be provided or set in the environment variables.');
|
|
92
|
+
}
|
|
93
|
+
const bucket = this.storage.bucket(bucketToUse);
|
|
77
94
|
const file = bucket.file(fileName);
|
|
78
95
|
if (metadata) {
|
|
79
96
|
await file.setMetadata({ metadata });
|
|
@@ -86,9 +103,9 @@ let CloudStorageService = CloudStorageService_1 = class CloudStorageService {
|
|
|
86
103
|
stream.on('finish', async () => {
|
|
87
104
|
try {
|
|
88
105
|
await file.makePublic();
|
|
89
|
-
this.logger.log(`gs://${
|
|
106
|
+
this.logger.log(`gs://${bucketToUse}/${fileName} uploaded and made public`);
|
|
90
107
|
resolve({
|
|
91
|
-
bucket:
|
|
108
|
+
bucket: bucketToUse,
|
|
92
109
|
path: file.name,
|
|
93
110
|
url: file.publicUrl(),
|
|
94
111
|
provider: 'google',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-storage.service.js","sourceRoot":"","sources":["../../../../../libs/nest-storage/src/services/cloud-storage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,2CAAoD;AACpD,2CAA+C;AAC/C,mDAAgD;AAChD,+BAA+B;AAY/B,MAAM,0BAA0B,GAAG,wEAAwE,CAAC;AAC5G,MAAM,wBAAwB,GAAG,mDAAmD,CAAC;AAG9E,IAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"cloud-storage.service.js","sourceRoot":"","sources":["../../../../../libs/nest-storage/src/services/cloud-storage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IAuditable } from '@dataclouder/nest-core';
|
|
2
|
-
import { IStorageService, BasicStorage, CloudFileStorage } from '../models/cloud.model';
|
|
2
|
+
import { IStorageService, BasicStorage, CloudFileStorage, UploadPublicFileOptions } from '../models/cloud.model';
|
|
3
3
|
import { UploadWebpImageOptions } from './cloud-storage.service';
|
|
4
4
|
import { ConfigService } from '@nestjs/config';
|
|
5
5
|
export declare class CloudflareR2Service implements IStorageService {
|
|
@@ -14,6 +14,7 @@ export declare class CloudflareR2Service implements IStorageService {
|
|
|
14
14
|
uploadFileAndMakePublic(bucketName: string, fileName: string, fileBuffer: Buffer, contentType?: string, metadata?: {
|
|
15
15
|
[key: string]: any;
|
|
16
16
|
}): Promise<Partial<CloudFileStorage>>;
|
|
17
|
+
uploadPublicFile(options: UploadPublicFileOptions): Promise<Partial<CloudFileStorage>>;
|
|
17
18
|
deleteStorageFile(bucketName: string, fileName: string): Promise<any>;
|
|
18
19
|
removeAllStorageFilesPresentInObject(_obj: any): Promise<any>;
|
|
19
20
|
removeAllStorageFilesByUrl(obj: any): Promise<any>;
|
|
@@ -79,11 +79,25 @@ let CloudflareR2Service = CloudflareR2Service_1 = class CloudflareR2Service {
|
|
|
79
79
|
const nameWithoutExtension = fileName.split('.').slice(0, -1).join('.');
|
|
80
80
|
const webpFileName = `${nameWithoutExtension}.webp`;
|
|
81
81
|
const webpBuffer = await sharp(imageBuffer).resize(resizeWidth).webp({ quality: 85 }).toBuffer();
|
|
82
|
-
return this.
|
|
82
|
+
return this.uploadPublicFile({
|
|
83
|
+
bucketName: bucketToUse,
|
|
84
|
+
fileName: webpFileName,
|
|
85
|
+
fileBuffer: webpBuffer,
|
|
86
|
+
contentType,
|
|
87
|
+
metadata,
|
|
88
|
+
});
|
|
83
89
|
}
|
|
84
90
|
async uploadFileAndMakePublic(bucketName, fileName, fileBuffer, contentType, metadata) {
|
|
91
|
+
return this.uploadPublicFile({ bucketName, fileName, fileBuffer, contentType, metadata });
|
|
92
|
+
}
|
|
93
|
+
async uploadPublicFile(options) {
|
|
94
|
+
const { bucketName, fileName, fileBuffer, contentType, metadata } = options;
|
|
95
|
+
const bucketToUse = bucketName || this.storageBucket;
|
|
96
|
+
if (!bucketToUse) {
|
|
97
|
+
throw new Error('Bucket name must be provided or set in the environment variables.');
|
|
98
|
+
}
|
|
85
99
|
const command = new client_s3_1.PutObjectCommand({
|
|
86
|
-
Bucket:
|
|
100
|
+
Bucket: bucketToUse,
|
|
87
101
|
Key: fileName,
|
|
88
102
|
Body: fileBuffer,
|
|
89
103
|
ContentType: contentType,
|
|
@@ -93,7 +107,7 @@ let CloudflareR2Service = CloudflareR2Service_1 = class CloudflareR2Service {
|
|
|
93
107
|
this.logger.log('Upload response:', response);
|
|
94
108
|
const publicUrl = `${this.r2PublicDomain}/${fileName}`;
|
|
95
109
|
return {
|
|
96
|
-
bucket:
|
|
110
|
+
bucket: bucketToUse,
|
|
97
111
|
path: fileName,
|
|
98
112
|
url: publicUrl,
|
|
99
113
|
provider: 'cloudflare',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-r2.service.js","sourceRoot":"","sources":["../../../../../libs/nest-storage/src/services/cloudflare-r2.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cloudflare-r2.service.js","sourceRoot":"","sources":["../../../../../libs/nest-storage/src/services/cloudflare-r2.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,2CAAoD;AACpD,kDAAgJ;AAChJ,wEAA6D;AAC7D,+BAA+B;AAG/B,2CAA+C;AAC/C,oDAAoD;AAG7C,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAMD;IALrB,QAAQ,CAAW;IACnB,cAAc,CAAS;IACvB,aAAa,CAAS;IACtB,MAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAEtD,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,eAAe,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,sBAAsB,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,gBAAgB,CAAC,CAAC;QAEtE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACvC,SAAS;YACT,WAAW;YACX,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;YAC1D,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,WAAW,SAAS,2BAA2B;SAC1D,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC;YAC3B,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,WAAW,SAAS,2BAA2B;YACzD,WAAW,EAAE;gBACX,WAAW;gBACX,eAAe;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,QAAgB,EAChB,UAAkB,EAClB,SAAqB,EACrB,WAAoB,EACpB,UAAmB;QAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,gCAAgB,EAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACjD,OAAO;YACL,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,YAAY;YACtB,SAAS;SACV,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAA+B;QAC1D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,GAAG,EAAE,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAEnG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAE/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;QAGD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,GAAG,oBAAoB,OAAO,CAAC;QAEpD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAGjG,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC3B,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,UAAU;YACtB,WAAW;YACX,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAKM,KAAK,CAAC,uBAAuB,CAClC,UAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,WAAoB,EACpB,QAAiC;QAEjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAgC;QAC5D,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC5E,MAAM,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAC;QAEvD,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,QAAgB;QACjE,MAAM,OAAO,GAAG,IAAI,+BAAmB,CAAC;YACtC,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAGM,KAAK,CAAC,oCAAoC,CAAC,IAAS;QAKzD,OAAO,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;QAC/H,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,0BAA0B,CAAC,GAAQ;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,UAAU;aACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE7B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEO,2BAA2B,CAAC,GAAW;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;YAClC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,GAAQ;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,GAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,OAAY,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,OAAO;YACpD,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,WAAW,CAAC,IAAkB;QACnC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvD,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,QAAgB;QACvD,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,QAAgB,EAAE,gBAAgB,GAAG,EAAE;QACxF,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;QACH,OAAO,IAAA,mCAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,MAAe;QACxD,MAAM,OAAO,GAAG,IAAI,gCAAoB,CAAC;YACvC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,IAAI,CAAC,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,YAAY;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,QAAgB;QAC1D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC;gBACpC,MAAM,EAAE,UAAU;gBAClB,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA7PY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAOiC,sBAAa;GAN9C,mBAAmB,CA6P/B"}
|