@intuitionrobotics/file-upload 2.2.3 → 2.3.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/api/routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAW/B,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/api/routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAa/B,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC"}
@@ -1,11 +1,11 @@
1
- // Auto-generated by thunderstorm-bootstrap-routes initial seed.
2
- // Hand-edit this from here. The tool runs ONCE; do not regenerate.
1
+ // Hand-wired handler(fn) routes for the file-upload lib.
3
2
  import { Router } from "express";
4
- import getUrlWithBucketName from "./v1/upload/get-url-with-bucket-name.js";
5
- import getUrl from "./v1/upload/get-url.js";
3
+ import { handler } from "@intuitionrobotics/thunderstorm/backend";
4
+ import { getUrlWithBucketName } from "./v1/upload/get-url-with-bucket-name.js";
5
+ import { getUrl } from "./v1/upload/get-url.js";
6
6
  const upload = Router();
7
- upload.post("/get-url-with-bucket-name", getUrlWithBucketName.handler);
8
- upload.post("/get-url", getUrl.handler);
7
+ upload.post("/get-url-with-bucket-name", handler(getUrlWithBucketName));
8
+ upload.post("/get-url", handler(getUrl));
9
9
  const v1 = Router();
10
10
  v1.use("/upload", upload);
11
11
  export const fileUploadRoutes = Router();
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/main/app-backend/api/routes.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,mEAAmE;AAEnE,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAE/B,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACvE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAExC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACpB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAW,MAAM,EAAE,CAAC;AACjD,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/main/app-backend/api/routes.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,yCAAyC,CAAC;AAEhE,OAAO,EAAC,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAE9C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACxE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACpB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAW,MAAM,EAAE,CAAC;AACjD,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC"}
@@ -1,10 +1,4 @@
1
- import { ApiResponse, type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
2
- import { type Api_GetUploadUrlWithBucketName, type Body_GetUploadUrlWithBucketName } from "../../../../shared/types.js";
3
- import { type QueryParams } from "@intuitionrobotics/thunderstorm";
4
- declare class ServerApi_GetUploadUrlWithBucketName extends ServerApi<Api_GetUploadUrlWithBucketName> {
5
- constructor();
6
- protected process(request: ExpressRequest, response: ApiResponse, queryParams: QueryParams, body: Body_GetUploadUrlWithBucketName): Promise<import("../../../../shared/types.js").TempSecureUrl[]>;
7
- }
8
- declare const _default: ServerApi_GetUploadUrlWithBucketName;
9
- export default _default;
1
+ import { type TypedHandler } from "@intuitionrobotics/thunderstorm/backend";
2
+ import { type Api_GetUploadUrlWithBucketName } from "../../../../shared/types.js";
3
+ export declare const getUrlWithBucketName: TypedHandler<Api_GetUploadUrlWithBucketName>;
10
4
  //# sourceMappingURL=get-url-with-bucket-name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-url-with-bucket-name.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url-with-bucket-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,KAAK,cAAc,EAAc,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAChH,OAAO,EAAC,KAAK,8BAA8B,EAAE,KAAK,+BAA+B,EAAC,MAAM,6BAA6B,CAAC;AACtH,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAIjE,cAAM,oCACL,SAAQ,SAAS,CAAC,8BAA8B,CAAC;;cAKjC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,+BAA+B;CAGvI;;AAED,wBAA0D"}
1
+ {"version":3,"file":"get-url-with-bucket-name.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url-with-bucket-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,KAAK,8BAA8B,EAAC,MAAM,6BAA6B,CAAC;AAEhF,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,8BAA8B,CAG7E,CAAC"}
@@ -1,14 +1,8 @@
1
- import { ApiResponse, HttpMethod, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
1
+ import {} from "@intuitionrobotics/thunderstorm/backend";
2
2
  import {} from "../../../../shared/types.js";
3
- import {} from "@intuitionrobotics/thunderstorm";
4
3
  import { UploaderModule } from "../../../modules/UploaderModule.js";
5
- class ServerApi_GetUploadUrlWithBucketName extends ServerApi {
6
- constructor() {
7
- super(HttpMethod.POST);
8
- }
9
- async process(request, response, queryParams, body) {
10
- return UploaderModule.getUrl(body.files, body.pathPrefix, body.bucketName);
11
- }
12
- }
13
- export default new ServerApi_GetUploadUrlWithBucketName();
4
+ export const getUrlWithBucketName = async (req) => {
5
+ const body = req.body;
6
+ return UploaderModule.getUrl(body.files, body.pathPrefix, body.bucketName);
7
+ };
14
8
  //# sourceMappingURL=get-url-with-bucket-name.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-url-with-bucket-name.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url-with-bucket-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAuB,UAAU,EAAE,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAChH,OAAO,EAA2E,MAAM,6BAA6B,CAAC;AACtH,OAAO,EAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAGlE,MAAM,oCACL,SAAQ,SAAyC;IACjD;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAwB,EAAE,IAAqC;QACtI,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;CACD;AAED,eAAe,IAAI,oCAAoC,EAAE,CAAC"}
1
+ {"version":3,"file":"get-url-with-bucket-name.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url-with-bucket-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAqC,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAiD,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/E,CAAC,CAAC"}
@@ -1,10 +1,4 @@
1
- import { ApiResponse, type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
2
- import { type Api_GetUploadUrl, type BaseUploaderFile } from "../../../../shared/types.js";
3
- import { type QueryParams } from "@intuitionrobotics/thunderstorm";
4
- declare class ServerApi_GetUploadUrl extends ServerApi<Api_GetUploadUrl> {
5
- constructor();
6
- protected process(request: ExpressRequest, response: ApiResponse, queryParams: QueryParams, body: BaseUploaderFile[]): Promise<import("../../../../shared/types.js").TempSecureUrl[]>;
7
- }
8
- declare const _default: ServerApi_GetUploadUrl;
9
- export default _default;
1
+ import { type TypedHandler } from "@intuitionrobotics/thunderstorm/backend";
2
+ import { type Api_GetUploadUrl } from "../../../../shared/types.js";
3
+ export declare const getUrl: TypedHandler<Api_GetUploadUrl>;
10
4
  //# sourceMappingURL=get-url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-url.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,KAAK,cAAc,EAAc,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAChH,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAIjE,cAAM,sBACL,SAAQ,SAAS,CAAC,gBAAgB,CAAC;;cAKnB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE;CAG1H;;AAED,wBAA4C"}
1
+ {"version":3,"file":"get-url.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAGjD,CAAC"}
@@ -1,14 +1,8 @@
1
- import { ApiResponse, HttpMethod, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
1
+ import {} from "@intuitionrobotics/thunderstorm/backend";
2
2
  import {} from "../../../../shared/types.js";
3
- import {} from "@intuitionrobotics/thunderstorm";
4
3
  import { UploaderModule } from "../../../modules/UploaderModule.js";
5
- class ServerApi_GetUploadUrl extends ServerApi {
6
- constructor() {
7
- super(HttpMethod.POST);
8
- }
9
- async process(request, response, queryParams, body) {
10
- return UploaderModule.getUrl(body);
11
- }
12
- }
13
- export default new ServerApi_GetUploadUrl();
4
+ export const getUrl = async (req) => {
5
+ const body = req.body;
6
+ return UploaderModule.getUrl(body);
7
+ };
14
8
  //# sourceMappingURL=get-url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-url.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAuB,UAAU,EAAE,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAChH,OAAO,EAGN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAGlE,MAAM,sBACL,SAAQ,SAA2B;IACnC;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAwB,EAAE,IAAwB;QACzH,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACD;AAED,eAAe,IAAI,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"get-url.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/upload/get-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAuB,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAClE,MAAM,CAAC,MAAM,MAAM,GAAmC,KAAK,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import { type TypeValidator } from "@intuitionrobotics/ts-common";
2
- import { ServerApi } from "@intuitionrobotics/thunderstorm/backend";
3
- import { BaseDB_ApiGenerator } from "@intuitionrobotics/db-api-generator/backend";
2
+ import { BaseDB_ApiGenerator, type CrudApiRoute } from "@intuitionrobotics/db-api-generator/backend";
4
3
  import { type DB_Temp_File } from "../../shared/types.js";
5
4
  export declare const TEMP_COLLECTION = "temp-files-upload";
6
5
  export declare const validateName: import("@intuitionrobotics/ts-common").Validator<string>;
7
6
  export declare class UploaderTempFileModule_Class extends BaseDB_ApiGenerator<DB_Temp_File> {
8
7
  static _validator: TypeValidator<DB_Temp_File>;
9
8
  constructor();
10
- apis(_pathPart?: string): ServerApi<any>[];
9
+ apis(_pathPart?: string): CrudApiRoute[];
11
10
  }
12
11
  export declare const UploaderTempFileModule: UploaderTempFileModule_Class;
13
12
  //# sourceMappingURL=UploaderTempFileModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderTempFileModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAGlB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,EACN,mBAAmB,EAEnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAExD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,YAAY,0DAA4B,CAAC;AAEtD,qBAAa,4BACZ,SAAQ,mBAAmB,CAAC,YAAY,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAW5C;;IAMF,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE;CAG1C;AAED,eAAO,MAAM,sBAAsB,8BAAqC,CAAC"}
1
+ {"version":3,"file":"UploaderTempFileModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAGlB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,mBAAmB,EACnB,KAAK,YAAY,EAEjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAExD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,YAAY,0DAA4B,CAAC;AAEtD,qBAAa,4BACZ,SAAQ,mBAAmB,CAAC,YAAY,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAW5C;;IAMF,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;CAGxC;AAED,eAAO,MAAM,sBAAsB,8BAAqC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { auditValidator, validateExists, validateRegexp } from "@intuitionrobotics/ts-common";
2
- import { ServerApi } from "@intuitionrobotics/thunderstorm/backend";
3
2
  import { BaseDB_ApiGenerator, validateUniqueId } from "@intuitionrobotics/db-api-generator/backend";
4
3
  import {} from "../../shared/types.js";
5
4
  export const TEMP_COLLECTION = "temp-files-upload";
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderTempFileModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EAEd,cAAc,EACd,cAAc,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAEtD,MAAM,OAAO,4BACZ,SAAQ,mBAAiC;IACzC,MAAM,CAAC,UAAU,GAAgC;QAChD,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;QAC9B,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,cAAc,EAAE;QACxB,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;KACnB,CAAC;IAEF;QACC,KAAK,CAAC,eAAe,EAAE,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,SAAkB;QACtB,OAAO,EAAE,CAAC;IACX,CAAC;;AAGF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"UploaderTempFileModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EAEd,cAAc,EACd,cAAc,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,mBAAmB,EAEnB,gBAAgB,EAChB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAEtD,MAAM,OAAO,4BACZ,SAAQ,mBAAiC;IACzC,MAAM,CAAC,UAAU,GAAgC;QAChD,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;QAC9B,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,cAAc,EAAE;QACxB,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;KACnB,CAAC;IAEF;QACC,KAAK,CAAC,eAAe,EAAE,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,SAAkB;QACtB,OAAO,EAAE,CAAC;IACX,CAAC;;AAGF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,4BAA4B,EAAE,CAAC"}