@carlonicora/nestjs-neo4jsonapi 5.0.2 → 5.1.0
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/common/interfaces/s3.key-access.policy.interface.d.ts +12 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.d.ts.map +1 -1
- package/dist/common/interfaces/s3.key-access.policy.interface.js.map +1 -1
- package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -1
- package/dist/foundations/s3/controllers/s3.controller.js +7 -0
- package/dist/foundations/s3/controllers/s3.controller.js.map +1 -1
- package/dist/foundations/s3/services/s3.service.d.ts +5 -1
- package/dist/foundations/s3/services/s3.service.d.ts.map +1 -1
- package/dist/foundations/s3/services/s3.service.js +19 -4
- package/dist/foundations/s3/services/s3.service.js.map +1 -1
- package/dist/tools/migrate-entity/__tests__/descriptor-generator.spec.js +2 -2
- package/dist/tools/migrate-entity/lib/descriptor-generator.js +2 -2
- package/package.json +1 -1
|
@@ -29,6 +29,18 @@ export interface S3KeyAccessParams {
|
|
|
29
29
|
*/
|
|
30
30
|
export interface S3KeyAccessPolicy {
|
|
31
31
|
canAccess(params: S3KeyAccessParams): boolean | Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Optional: whether `key` may be signed as a permanent (non-expiring) link.
|
|
34
|
+
*
|
|
35
|
+
* When implemented, `S3Service.generateSignedUrl` signs a normal expiring
|
|
36
|
+
* link for an `isPublic` request on a key this returns false for, and the
|
|
37
|
+
* object route refuses (401) a token without expiry for such a key. The rule
|
|
38
|
+
* applies to every caller, Administrators included.
|
|
39
|
+
*
|
|
40
|
+
* When absent (or no policy is bound), `isPublic` is honoured and permanent
|
|
41
|
+
* tokens are accepted for every key, as before.
|
|
42
|
+
*/
|
|
43
|
+
isPermanentKey?(key: string): boolean;
|
|
32
44
|
}
|
|
33
45
|
/**
|
|
34
46
|
* Optional injection token resolving to an S3KeyAccessPolicy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.key-access.policy.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"s3.key-access.policy.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAK7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.key-access.policy.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"s3.key-access.policy.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAyDH,8CAKC;AApBD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAGL,iBAAiB,EAElB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AASvF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBANV,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAGjD,SAAS,CAAC,EAAE,iBAAiB;IAK1C,eAAe,CACL,GAAG,EAAE,MAAM,EACH,WAAW,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO;IAahC,YAAY,CACF,GAAG,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM;IAchC,UAAU,CAAe,GAAG,EAAE,MAAM;IAM1C;;;OAGG;YACW,eAAe;IAsB7B;;;OAGG;IAEG,SAAS,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,YAAY,EACV,KAAK,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzF;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"s3.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAGL,iBAAiB,EAElB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AASvF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBANV,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAGjD,SAAS,CAAC,EAAE,iBAAiB;IAK1C,eAAe,CACL,GAAG,EAAE,MAAM,EACH,WAAW,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO;IAahC,YAAY,CACF,GAAG,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM;IAchC,UAAU,CAAe,GAAG,EAAE,MAAM;IAM1C;;;OAGG;YACW,eAAe;IAsB7B;;;OAGG;IAEG,SAAS,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,YAAY,EACV,KAAK,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzF;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;CAqBrB"}
|
|
@@ -185,6 +185,13 @@ let S3Controller = class S3Controller {
|
|
|
185
185
|
// Only the server signs tokens, but a signed key must still be one the logged-in routes accept.
|
|
186
186
|
if (!(0, s3_key_access_policy_interface_1.isWellFormedS3Key)(payload.k))
|
|
187
187
|
throw new common_1.BadRequestException("Invalid S3 key");
|
|
188
|
+
// A permanent (non-expiring) download link is honoured only for keys the bound policy allows to
|
|
189
|
+
// be permanent: this stops already-issued permanent links to sensitive files.
|
|
190
|
+
if (op === "get" &&
|
|
191
|
+
payload.e === undefined &&
|
|
192
|
+
this.keyPolicy?.isPermanentKey &&
|
|
193
|
+
!this.keyPolicy.isPermanentKey(payload.k))
|
|
194
|
+
throw new common_1.UnauthorizedException("Permanent object token not allowed for this key");
|
|
188
195
|
return payload;
|
|
189
196
|
}
|
|
190
197
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.controller.js","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"s3.controller.js","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Readable } from "stream";
|
|
2
2
|
import { ConfigService } from "@nestjs/config";
|
|
3
3
|
import { ClsService } from "nestjs-cls";
|
|
4
|
+
import { S3KeyAccessPolicy } from "../../../common/interfaces/s3.key-access.policy.interface";
|
|
4
5
|
import { BaseConfigInterface } from "../../../config/interfaces";
|
|
5
6
|
import { JsonApiDataInterface } from "../../../core/jsonapi/interfaces/jsonapi.data.interface";
|
|
6
7
|
import { JsonApiService } from "../../../core/jsonapi/services/jsonapi.service";
|
|
@@ -12,13 +13,14 @@ export declare class S3Service {
|
|
|
12
13
|
private readonly configService;
|
|
13
14
|
private readonly logger;
|
|
14
15
|
private readonly cipher;
|
|
16
|
+
private readonly keyPolicy?;
|
|
15
17
|
private s3Client;
|
|
16
18
|
private blobServiceClient;
|
|
17
19
|
private containerClient;
|
|
18
20
|
private _bucket;
|
|
19
21
|
private _endpoint;
|
|
20
22
|
private _storageType;
|
|
21
|
-
constructor(builder: JsonApiService, clsService: ClsService, configService: ConfigService<BaseConfigInterface>, logger: AppLoggingService, cipher: S3CipherService);
|
|
23
|
+
constructor(builder: JsonApiService, clsService: ClsService, configService: ConfigService<BaseConfigInterface>, logger: AppLoggingService, cipher: S3CipherService, keyPolicy?: S3KeyAccessPolicy);
|
|
22
24
|
private get s3Config();
|
|
23
25
|
/** Token-verified api URL served by S3Controller: `${api.url}s3/objects/<token>`. */
|
|
24
26
|
private _apiObjectUrl;
|
|
@@ -79,6 +81,8 @@ export declare class S3Service {
|
|
|
79
81
|
isPublic?: boolean;
|
|
80
82
|
filename?: string;
|
|
81
83
|
}): Promise<string>;
|
|
84
|
+
/** True unless a bound policy implements `isPermanentKey` and rejects `key`. */
|
|
85
|
+
private _mayBePermanent;
|
|
82
86
|
/** Unix seconds: start of the current signing window + ttl + window (`s3.signingWindowSeconds`, default 3600). */
|
|
83
87
|
private _windowedExpiry;
|
|
84
88
|
uploadFile(params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAY,MAAM,QAAQ,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAyC,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAUnF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBACa,SAAS;IASlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"s3.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.S3Service = void 0;
|
|
13
16
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
@@ -18,6 +21,7 @@ const common_1 = require("@nestjs/common");
|
|
|
18
21
|
const config_1 = require("@nestjs/config");
|
|
19
22
|
const crypto_1 = require("crypto");
|
|
20
23
|
const nestjs_cls_1 = require("nestjs-cls");
|
|
24
|
+
const s3_key_access_policy_interface_1 = require("../../../common/interfaces/s3.key-access.policy.interface");
|
|
21
25
|
const jsonapi_service_1 = require("../../../core/jsonapi/services/jsonapi.service");
|
|
22
26
|
const logging_service_1 = require("../../../core/logging/services/logging.service");
|
|
23
27
|
const s3_model_1 = require("../../s3/entities/s3.model");
|
|
@@ -25,12 +29,13 @@ const s3_meta_1 = require("../../s3/entities/s3.meta");
|
|
|
25
29
|
const s3_cipher_core_1 = require("../cipher/s3-cipher.core");
|
|
26
30
|
const s3_cipher_service_1 = require("./s3-cipher.service");
|
|
27
31
|
let S3Service = class S3Service {
|
|
28
|
-
constructor(builder, clsService, configService, logger, cipher) {
|
|
32
|
+
constructor(builder, clsService, configService, logger, cipher, keyPolicy) {
|
|
29
33
|
this.builder = builder;
|
|
30
34
|
this.clsService = clsService;
|
|
31
35
|
this.configService = configService;
|
|
32
36
|
this.logger = logger;
|
|
33
37
|
this.cipher = cipher;
|
|
38
|
+
this.keyPolicy = keyPolicy;
|
|
34
39
|
}
|
|
35
40
|
get s3Config() {
|
|
36
41
|
return this.configService.get("s3");
|
|
@@ -347,15 +352,23 @@ let S3Service = class S3Service {
|
|
|
347
352
|
// passes the rest through. The expiry is anchored to the start of the current signing window
|
|
348
353
|
// so the same key yields the same URL for the whole window and browser/image caches can hit;
|
|
349
354
|
// the window is added so the URL stays valid for at least the requested ttl from now.
|
|
350
|
-
// Public assets get no expiry
|
|
355
|
+
// Public assets get no expiry, but only for keys the bound policy allows to be permanent: any
|
|
356
|
+
// other key silently gets a normal expiring link (serialisers call this and must not throw).
|
|
357
|
+
const permanent = params.isPublic === true && this._mayBePermanent(params.key);
|
|
351
358
|
const token = this.cipher.signObjectToken({
|
|
352
359
|
op: "get",
|
|
353
360
|
key: params.key,
|
|
354
361
|
filename: params.filename,
|
|
355
|
-
expiresAt:
|
|
362
|
+
expiresAt: permanent ? undefined : this._windowedExpiry(params.ttl ?? s3_cipher_core_1.S3_OBJECT_TOKEN_TTL_SECONDS),
|
|
356
363
|
});
|
|
357
364
|
return this._apiObjectUrl(token);
|
|
358
365
|
}
|
|
366
|
+
/** True unless a bound policy implements `isPermanentKey` and rejects `key`. */
|
|
367
|
+
_mayBePermanent(key) {
|
|
368
|
+
if (!this.keyPolicy?.isPermanentKey)
|
|
369
|
+
return true;
|
|
370
|
+
return this.keyPolicy.isPermanentKey(key);
|
|
371
|
+
}
|
|
359
372
|
/** Unix seconds: start of the current signing window + ttl + window (`s3.signingWindowSeconds`, default 3600). */
|
|
360
373
|
_windowedExpiry(ttl) {
|
|
361
374
|
const configuredWindow = this.s3Config.signingWindowSeconds;
|
|
@@ -945,10 +958,12 @@ let S3Service = class S3Service {
|
|
|
945
958
|
exports.S3Service = S3Service;
|
|
946
959
|
exports.S3Service = S3Service = __decorate([
|
|
947
960
|
(0, common_1.Injectable)(),
|
|
961
|
+
__param(5, (0, common_1.Optional)()),
|
|
962
|
+
__param(5, (0, common_1.Inject)(s3_key_access_policy_interface_1.S3_KEY_ACCESS_POLICY)),
|
|
948
963
|
__metadata("design:paramtypes", [jsonapi_service_1.JsonApiService,
|
|
949
964
|
nestjs_cls_1.ClsService,
|
|
950
965
|
config_1.ConfigService,
|
|
951
966
|
logging_service_1.AppLoggingService,
|
|
952
|
-
s3_cipher_service_1.S3CipherService])
|
|
967
|
+
s3_cipher_service_1.S3CipherService, Object])
|
|
953
968
|
], S3Service);
|
|
954
969
|
//# sourceMappingURL=s3.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAQ4B;AAE5B,sDAA8C;AAC9C,mCAA4C;AAC5C,sDAAqG;AAErG,2CAA4C;AAC5C,2CAA+C;AAC/C,mCAAoC;AACpC,2CAAwC;AAGxC,oFAAgF;AAChF,oFAAmF;AACnF,yDAAqD;AACrD,uDAAuE;AACvE,6DAMkC;AAClC,2DAAsD;AAG/C,IAAM,SAAS,GAAf,MAAM,SAAS;IAQpB,YACmB,OAAuB,EACvB,UAAsB,EACtB,aAAiD,EACjD,MAAyB,EACzB,MAAuB;QAJvB,YAAO,GAAP,OAAO,CAAgB;QACvB,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAoC;QACjD,WAAM,GAAN,MAAM,CAAmB;QACzB,WAAM,GAAN,MAAM,CAAiB;IACvC,CAAC;IAEJ,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAoB,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,qFAAqF;IAC7E,aAAa,CAAC,KAAa;QACjC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAqB,KAAK,CAAC,CAAC,GAAG,GAAG,gBAAM,CAAC,QAAQ,IAAI,4BAAkB,IAAI,KAAK,EAAE,CAAC;IACrH,CAAC;IAED,qGAAqG;IAC7F,YAAY,CAAC,GAAW;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,2CAA0B,CAAC,EAAE,6CAA4B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,CAAC;IAED,sHAAsH;IAC9G,KAAK,CAAC,YAAY,CACxB,GAAW,EACX,MAAc;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC;IAED,+FAA+F;IACvF,iBAAiB,CAAC,GAAW;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,MAAM,IAAI,wCAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,gFAAgF;IACxE,cAAc,CAAC,KAAc,EAAE,GAAW;QAChD,IAAI,KAAK,YAAY,wCAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACjE,OAAO,IAAI,wCAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8GAA8G;IACtG,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,QAA4C,EAAE,KAAa;QAC9F,IAAI,CAAC,IAAA,0CAAyB,EAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,2GAA2G;IACnG,WAAW,CAAC,GAAW,EAAE,QAA4C,EAAE,MAAgB;QAC7F,IAAI,CAAC,IAAA,0CAAyB,EAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAExD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAA,iBAAQ,EAAC,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAU,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAW,EACX,QAA4C,EAC5C,IAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAEnC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrD,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACzB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC;gBACF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;oBAC/B,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC;gBACF,MAAM,KAAK,GAAG,GAAG,EAAE;oBACjB,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,iBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC;gBACF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;oBAC/B,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC;gBACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAA0C;QACtE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,OAAO,oBAAoB,CAAC;gBAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC;oBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC5B,WAAW,EAAE;wBACX,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;wBAC9B,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACtC;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,cAAc,CAAC;YACpB,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrF,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC;oBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAChC,WAAW,EAAE;wBACX,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;wBAC9B,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACtC;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC;gBAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAChC,MAAM,EAAE,OAAO;oBACf,WAAW,EAAE;wBACX,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;wBAC9B,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACtC;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAE3C,IAAI,CAAC;oBACH,6EAA6E;oBAC7E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACvE,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;oBAErE,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACxC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;wBAEtC,wDAAwD;wBACxD,MAAM,mBAAmB,GAAG,IAAI,yCAA0B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;wBACpF,IAAI,CAAC,SAAS,GAAG,WAAW,WAAW,yBAAyB,CAAC;wBACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,gCAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;oBACtF,CAAC;yBAAM,CAAC;wBACN,0EAA0E;wBAC1E,IAAI,CAAC,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;wBAClF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;wBACvE,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvE,IAAI,CAAC,SAAS,GAAG,WAAW,WAAW,yBAAyB,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/E,MAAM;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAK1B;QACC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,yFAAyF;QACzF,gFAAgF;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACxC,EAAE,EAAE,KAAK;YACT,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,gBAAgB,EAAE,4CAA2B;SAC9C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9B,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,SAAS;YACnB,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QAC9C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAExE,IAAI,CAAC;YACH,IAAI,iBAAqC,CAAC;YAE1C,GAAG,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,gCAAoB,CAAC;oBAC3C,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,MAAM,EAAE,MAAM;oBACd,iBAAiB,EAAE,iBAAiB;iBACrC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE3D,IAAI,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9D,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC1D,GAAG,EAAE,GAAG,CAAC,GAAI;qBACd,CAAC,CAAC,CAAC;oBAEJ,MAAM,aAAa,GAAG,IAAI,gCAAoB,CAAC;wBAC7C,MAAM,EAAE,IAAI,CAAC,OAAO;wBACpB,MAAM,EAAE;4BACN,OAAO,EAAE,eAAe;yBACzB;qBACF,CAAC,CAAC;oBAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1C,CAAC;gBAED,iBAAiB,GAAG,YAAY,CAAC,qBAAqB,CAAC;YACzD,CAAC,QAAQ,iBAAiB,EAAE;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAExE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QAC5C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,OAAO,GAAG,IAAI,+BAAmB,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,4BAA4B,CAAC,QAAgB;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,GAAW;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;QAC5C,IAAI,QAAQ,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEO,mBAAmB,CAAC,IAA6B,EAAE,QAAgB;QACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAEjF,OAAO,GAAG,IAAI,eAAe,KAAK,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA8D;QAChF,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAKvB;QACC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,2FAA2F;QAC3F,6FAA6F;QAC7F,6FAA6F;QAC7F,sFAAsF;QACtF,+BAA+B;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACxC,EAAE,EAAE,KAAK;YACT,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,4CAA2B,CAAC;SACzG,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,kHAAkH;IAC1G,eAAe,CAAC,GAAW;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC5D,MAAM,aAAa,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC;QAE9F,OAAO,WAAW,GAAG,GAAG,GAAG,aAAa,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAIhB;QACC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,eAAe,GACnB,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,0BAA0B,CAAC;QAEjG,iEAAiE;QACjE,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7D,mDAAmD;QACnD,MAAM,gBAAgB,GAA2B;YAC/C,yEAAyE,EAAE,MAAM;YACjF,mEAAmE,EAAE,MAAM;YAC3E,2EAA2E,EAAE,MAAM;YACnF,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,MAAM,SAAS,GACb,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/G,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,4BAAgB,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,QAAQ;aACnB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAI9B;QACC,MAAM,eAAe,GACnB,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,0BAA0B,CAAC;QAEjG,iEAAiE;QACjE,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7D,mDAAmD;QACnD,MAAM,gBAAgB,GAA2B;YAC/C,yEAAyE,EAAE,MAAM;YACjF,mEAAmE,EAAE,MAAM;YAC3E,2EAA2E,EAAE,MAAM;YACnF,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,MAAM,SAAS,GACb,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/G,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,eAAe,EAAE;oBACf,eAAe,EAAE,eAAe;iBACjC;gBACD,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAuC;QAC7D,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,4BAAgB,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAG/B;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,eAAe,EAAE;oBACf,eAAe,EAAE,WAAW;iBAC7B;gBACD,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAc;QACzC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnE,MAAM,YAAY,GAA2B;YAC3C,UAAU,EAAE,WAAW,EAAE,MAAM;YAC/B,QAAQ,EAAE,YAAY,EAAE,OAAO;YAC/B,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,WAAW,EAAE,YAAY;YACrC,UAAU,EAAE,WAAW,EAAE,MAAM;YAC/B,UAAU,EAAE,YAAY,EAAE,uBAAuB;YACjD,UAAU,EAAE,YAAY,EAAE,oBAAoB;YAC9C,UAAU,EAAE,YAAY,EAAE,cAAc;YACxC,MAAM,EAAE,WAAW,EAAE,MAAM;SAC5B,CAAC;QAEF,6CAA6C;QAC7C,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAI7B;QACC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,eAAe,EAAE;oBACf,eAAe,EAAE,MAAM,CAAC,WAAW;iBACpC;gBACD,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAgF;QAC/F,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9E,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,eAAe,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE;gBACxD,QAAQ;aACT,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YAChD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QAC5C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAiC,CAAC,CAAC;YACrF,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAuB;QAC1D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,kBAA2C,CAAC,CAAC;YACvG,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YAClF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,MAKrB;QACC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC3C,IAAI,gCAAoB,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YACpE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CACH,CAAC;QAEF,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAChF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QAC9C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAC9E,OAAO;gBACL,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAC1E,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,SAAS;aACvD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAiC,CAAC,CAAC;QACrF,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;YAClE,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,MAA8D;QAC/E,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,GAAa,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAA,iBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5C,IAAI,KAAK;oBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE;gBACtD,eAAe,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE;gBACxD,QAAQ;aACT,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE,QAAQ;aACnB;YACD,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC1B,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAqD;QAClE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACjF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC/E,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE;YACjD,GAAG,EAAE,MAAM,CAAC,cAAc;SAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAA0B;QAC1C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YAAE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,IAAI,iBAAqC,CAAC;QAE1C,GAAG,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC3C,IAAI,gCAAoB,CAAC;gBACvB,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,iBAAiB,EAAE,iBAAiB;aACrC,CAAC,CACH,CAAC;YAEF,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACxC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iBAAiB,GAAG,YAAY,CAAC,qBAAqB,CAAC;QACzD,CAAC,QAAQ,iBAAiB,EAAE;QAE5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAA0B;QACxD,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5E,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,IAAI,CAAC,IAAI;gBACd,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAuB;QAChD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,QAAgC,CAAC;QACrC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,IAAA,0CAAyB,EAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAElG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxF,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,MAAuB;QAC9D,IAAI,gBAA4C,CAAC;QACjD,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;gBAAE,OAAO,IAAI,CAAC;YACtD,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChG,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAuB;QAChD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,QAAgC,CAAC;QACrC,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAChC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,MAAuB;QAC9D,IAAI,gBAA4C,CAAC;QACjD,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;gBAAE,OAAO,IAAI,CAAC;YACtD,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAuB;QAChD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,QAAgC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;gBACnC,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;YAEH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,sDAAsD;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAgB,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAAuB;QAC1C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,gBAA4C,CAAC;YACjD,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,EAAE,UAAU,KAAK,GAAG;oBAAE,OAAO,IAAI,CAAC;gBAC3C,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;gBAAE,OAAO,IAAI,CAAC;YAEtD,OAAO;gBACL,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CACjC,MAAM,CAAC,GAAG,EACV,gBAAgB,CAAC,QAAQ,EACzB,gBAAgB,CAAC,kBAA8B,CAChD;gBACD,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,SAAS;aACvD,CAAC;QACJ,CAAC;QAED,IAAI,QAAgC,CAAC;QACrC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE,SAAS,EAAE,cAAc,KAAK,GAAG;gBACvG,OAAO,IAAI,CAAC;YACd,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAgB,CAAC;YAC7F,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,MAAuB;QAC9D,IAAI,gBAA4C,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAEtD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,kBAA8B,CAAC,CAAC;IAClH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAA4D;QACpF,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9E,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzC,eAAe,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE;gBACxD,QAAQ;aACT,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,4BAAgB,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA1iCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;qCAUiB,gCAAc;QACX,uBAAU;QACP,sBAAa;QACpB,mCAAiB;QACjB,mCAAe;GAb/B,SAAS,CA0iCrB"}
|
|
1
|
+
{"version":3,"file":"s3.service.js","sourceRoot":"","sources":["../../../../src/foundations/s3/services/s3.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -361,7 +361,7 @@ function getParsedRelationshipEntity() {
|
|
|
361
361
|
// Check for single URL transform pattern with tilde prefix handling
|
|
362
362
|
(0, vitest_1.expect)(result.code).toContain("if (!data.url) return undefined;");
|
|
363
363
|
(0, vitest_1.expect)(result.code).toContain('if (data.url.startsWith("~")) return data.url.substring(1);');
|
|
364
|
-
(0, vitest_1.expect)(result.code).toContain("services.S3Service.generateSignedUrl({ key: data.url
|
|
364
|
+
(0, vitest_1.expect)(result.code).toContain("services.S3Service.generateSignedUrl({ key: data.url })");
|
|
365
365
|
});
|
|
366
366
|
(0, vitest_1.it)("should generate array URL transform correctly", () => {
|
|
367
367
|
const parsed = getParsedTestEntity();
|
|
@@ -371,7 +371,7 @@ function getParsedRelationshipEntity() {
|
|
|
371
371
|
(0, vitest_1.expect)(result.code).toContain("if (!data.samplePhotographs?.length) return [];");
|
|
372
372
|
(0, vitest_1.expect)(result.code).toContain("data.samplePhotographs.map(async (url: string) => {");
|
|
373
373
|
(0, vitest_1.expect)(result.code).toContain('if (url.startsWith("~")) return url.substring(1);');
|
|
374
|
-
(0, vitest_1.expect)(result.code).toContain("services.S3Service.generateSignedUrl({ key: url
|
|
374
|
+
(0, vitest_1.expect)(result.code).toContain("services.S3Service.generateSignedUrl({ key: url })");
|
|
375
375
|
});
|
|
376
376
|
});
|
|
377
377
|
/**
|
|
@@ -123,7 +123,7 @@ function generateS3TransformCode(fieldName, isArray) {
|
|
|
123
123
|
return Promise.all(
|
|
124
124
|
data.${fieldName}.map(async (url: string) => {
|
|
125
125
|
if (url.startsWith("~")) return url.substring(1);
|
|
126
|
-
return services.S3Service.generateSignedUrl({ key: url
|
|
126
|
+
return services.S3Service.generateSignedUrl({ key: url });
|
|
127
127
|
}),
|
|
128
128
|
);
|
|
129
129
|
}`;
|
|
@@ -133,7 +133,7 @@ function generateS3TransformCode(fieldName, isArray) {
|
|
|
133
133
|
return `async (data, services) => {
|
|
134
134
|
if (!data.${fieldName}) return undefined;
|
|
135
135
|
if (data.${fieldName}.startsWith("~")) return data.${fieldName}.substring(1);
|
|
136
|
-
return await services.S3Service.generateSignedUrl({ key: data.${fieldName}
|
|
136
|
+
return await services.S3Service.generateSignedUrl({ key: data.${fieldName} });
|
|
137
137
|
}`;
|
|
138
138
|
}
|
|
139
139
|
}
|
package/package.json
CHANGED