@globus/sdk 1.18.1 → 2.0.1

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.
Files changed (45) hide show
  1. package/README.md +0 -1
  2. package/cjs/lib/services/auth/service/oauth2/token.d.ts +16 -12
  3. package/cjs/lib/services/auth/service/oauth2/token.d.ts.map +1 -1
  4. package/cjs/lib/services/auth/service/oauth2/token.js +25 -4
  5. package/cjs/lib/services/auth/service/oauth2/token.js.map +1 -1
  6. package/cjs/lib/services/flows/service/flows.d.ts +0 -13
  7. package/cjs/lib/services/flows/service/flows.d.ts.map +1 -1
  8. package/cjs/lib/services/flows/service/flows.js +1 -6
  9. package/cjs/lib/services/flows/service/flows.js.map +1 -1
  10. package/cjs/lib/services/globus-connect-server/client.d.ts +1651 -675
  11. package/cjs/lib/services/globus-connect-server/client.d.ts.map +1 -1
  12. package/cjs/lib/services/globus-connect-server/service/collections.d.ts +2 -8
  13. package/cjs/lib/services/globus-connect-server/service/collections.d.ts.map +1 -1
  14. package/cjs/lib/services/globus-connect-server/service/roles.d.ts +1 -3
  15. package/cjs/lib/services/globus-connect-server/service/roles.d.ts.map +1 -1
  16. package/cjs/lib/services/globus-connect-server/service/storage-gateways.d.ts +2 -6
  17. package/cjs/lib/services/globus-connect-server/service/storage-gateways.d.ts.map +1 -1
  18. package/cjs/lib/services/globus-connect-server/service/user-credentials.d.ts +1 -4
  19. package/cjs/lib/services/globus-connect-server/service/user-credentials.d.ts.map +1 -1
  20. package/cjs/lib/services/shared.d.ts.map +1 -1
  21. package/cjs/lib/services/shared.js +5 -2
  22. package/cjs/lib/services/shared.js.map +1 -1
  23. package/esm/lib/services/auth/service/oauth2/token.d.ts +16 -12
  24. package/esm/lib/services/auth/service/oauth2/token.d.ts.map +1 -1
  25. package/esm/lib/services/auth/service/oauth2/token.js +25 -4
  26. package/esm/lib/services/auth/service/oauth2/token.js.map +1 -1
  27. package/esm/lib/services/flows/service/flows.d.ts +0 -13
  28. package/esm/lib/services/flows/service/flows.d.ts.map +1 -1
  29. package/esm/lib/services/flows/service/flows.js +0 -5
  30. package/esm/lib/services/flows/service/flows.js.map +1 -1
  31. package/esm/lib/services/globus-connect-server/client.d.ts +1651 -675
  32. package/esm/lib/services/globus-connect-server/client.d.ts.map +1 -1
  33. package/esm/lib/services/globus-connect-server/service/collections.d.ts +2 -8
  34. package/esm/lib/services/globus-connect-server/service/collections.d.ts.map +1 -1
  35. package/esm/lib/services/globus-connect-server/service/roles.d.ts +1 -3
  36. package/esm/lib/services/globus-connect-server/service/roles.d.ts.map +1 -1
  37. package/esm/lib/services/globus-connect-server/service/storage-gateways.d.ts +2 -6
  38. package/esm/lib/services/globus-connect-server/service/storage-gateways.d.ts.map +1 -1
  39. package/esm/lib/services/globus-connect-server/service/user-credentials.d.ts +1 -4
  40. package/esm/lib/services/globus-connect-server/service/user-credentials.d.ts.map +1 -1
  41. package/esm/lib/services/shared.d.ts.map +1 -1
  42. package/esm/lib/services/shared.js +5 -2
  43. package/esm/lib/services/shared.js.map +1 -1
  44. package/package.json +3 -3
  45. package/umd/globus.production.js +1 -1
package/README.md CHANGED
@@ -29,7 +29,6 @@ We aim to support all Active LTS [Node.js releases](https://nodejs.org/en/about/
29
29
 
30
30
  | Version | | |
31
31
  | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
32
- | Node.js 16 | [![lts/gallium](https://img.shields.io/github/actions/workflow/status/globus/globus-sdk-javascript/ci.yml?style=flat-square&label=)](https://github.com/globus/globus-sdk-javascript/actions/workflows/ci.yml) | **⚠️ Node.js 16 is now EOL. Support will be removed in a breaking change release (`v2.x`), but based on this library being in its early stages, we recommend upgrading immediately.** |
33
32
  | Node.js 18 | [![lts/hydrogen](https://img.shields.io/github/actions/workflow/status/globus/globus-sdk-javascript/ci.yml?style=flat-square&label=)](https://github.com/globus/globus-sdk-javascript/actions/workflows/ci.yml) | |
34
33
  | Node.js 20 | [![lts/iron](https://img.shields.io/github/actions/workflow/status/globus/globus-sdk-javascript/ci.yml?style=flat-square&label=)](https://github.com/globus/globus-sdk-javascript/actions/workflows/ci.yml) | |
35
34
  | Node.js 22 | 🧪 Experimental Support[^1] | |
@@ -1,12 +1,21 @@
1
+ type IntrospectPayload = {
2
+ token: string;
3
+ include?: string;
4
+ };
5
+ type RevokePayload = {
6
+ token: string;
7
+ token_type_hint?: 'access_token';
8
+ };
9
+ type ValidatePayload = {
10
+ token: string;
11
+ client_id: string;
12
+ };
1
13
  /**
2
14
  * Token Introspection
3
15
  * @see https://docs.globus.org/api/auth/reference/#token-introspect
4
16
  */
5
17
  export declare const introspect: (options: ({
6
- payload: {
7
- token: string;
8
- include?: string;
9
- };
18
+ payload: IntrospectPayload;
10
19
  } & {
11
20
  query?: {
12
21
  [key: string]: string | number | (string | number | null | undefined)[] | null | undefined;
@@ -18,10 +27,7 @@ export declare const introspect: (options: ({
18
27
  * @see https://docs.globus.org/api/auth/reference/#token-revoke
19
28
  */
20
29
  export declare const revoke: (options: ({
21
- payload: {
22
- token: string;
23
- token_type_hint?: 'access_token';
24
- };
30
+ payload: RevokePayload;
25
31
  } & {
26
32
  query?: {
27
33
  [key: string]: string | number | (string | number | null | undefined)[] | null | undefined;
@@ -33,14 +39,12 @@ export declare const revoke: (options: ({
33
39
  * @deprecated Rather than using `validate` to check if a token is valid, it is recommended to make a request to the resource server with the token and handle the error response.
34
40
  */
35
41
  export declare const validate: (options: ({
36
- payload: {
37
- token: string;
38
- client_id: string;
39
- };
42
+ payload: ValidatePayload;
40
43
  } & {
41
44
  query?: {
42
45
  [key: string]: string | number | (string | number | null | undefined)[] | null | undefined;
43
46
  } | undefined;
44
47
  headers?: import("../../../types.js").Headers | undefined;
45
48
  }) | undefined, sdkOptions?: import("../../../types.js").SDKOptions | undefined) => Promise<Response>;
49
+ export {};
46
50
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/services/auth/service/oauth2/token.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,UAAU;aAYZ;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;;;;;;qGACD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM;aAYR;QACP,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,cAAc,CAAC;KAClC;;;;;;qGACD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ;aAYV;QACP,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB;;;;;;qGACD,CAAC"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/services/auth/service/oauth2/token.ts"],"names":[],"mappings":"AAKA,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAiCF;;;GAGG;AACH,eAAO,MAAM,UAAU;aAeZ,iBAAiB;;;;;;qGAC1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM;aAeR,aAAa;;;;;;qGACtB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ;aAeV,eAAe;;;;;;qGACxB,CAAC"}
@@ -3,21 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validate = exports.revoke = exports.introspect = void 0;
4
4
  const config_js_1 = require("../../config.js");
5
5
  const shared_js_1 = require("../../../../services/shared.js");
6
+ function serialize(payload) {
7
+ return new URLSearchParams(payload);
8
+ }
6
9
  /**
7
10
  * Format and inject properties that are specific to the `/token` resources.
8
11
  */
9
12
  function injectServiceOptions(options) {
10
- return Object.assign(Object.assign({}, options), { body: new URLSearchParams(options === null || options === void 0 ? void 0 : options.payload).toString(), headers: Object.assign(Object.assign({}, ((options === null || options === void 0 ? void 0 : options.headers) || {})), { 'Content-Type': 'application/x-www-form-urlencoded' }) });
13
+ return Object.assign(Object.assign({}, options), {
14
+ /**
15
+ * The `token` service methods always expect a form-encoded body. We still allow
16
+ * end-consumers to pass a raw body, but if `payload` is provided it is serialized.
17
+ */
18
+ body: serialize(options.payload), headers: Object.assign(Object.assign({}, ((options === null || options === void 0 ? void 0 : options.headers) || {})), {
19
+ /**
20
+ * Force the `Content-Type` header to be `application/x-www-form-urlencoded` and `charset=UTF-8`.
21
+ */
22
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }) });
11
23
  }
12
24
  /**
13
25
  * Token Introspection
14
26
  * @see https://docs.globus.org/api/auth/reference/#token-introspect
15
27
  */
16
28
  exports.introspect = function (options, sdkOptions) {
29
+ if (!(options === null || options === void 0 ? void 0 : options.payload)) {
30
+ throw new Error(`'payload' is required for introspect`);
31
+ }
17
32
  return (0, shared_js_1.serviceRequest)({
18
33
  service: config_js_1.ID,
19
34
  scope: undefined,
20
- path: `/v2/oauth/token/introspect`,
35
+ path: `/v2/oauth2/token/introspect`,
21
36
  method: shared_js_1.HTTP_METHODS.POST,
22
37
  }, injectServiceOptions(options), sdkOptions);
23
38
  };
@@ -26,10 +41,13 @@ exports.introspect = function (options, sdkOptions) {
26
41
  * @see https://docs.globus.org/api/auth/reference/#token-revoke
27
42
  */
28
43
  exports.revoke = function (options, sdkOptions) {
44
+ if (!(options === null || options === void 0 ? void 0 : options.payload)) {
45
+ throw new Error(`'payload' is required for revoke`);
46
+ }
29
47
  return (0, shared_js_1.serviceRequest)({
30
48
  service: config_js_1.ID,
31
49
  scope: undefined,
32
- path: `/v2/oauth/token/revoke`,
50
+ path: `/v2/oauth2/token/revoke`,
33
51
  method: shared_js_1.HTTP_METHODS.POST,
34
52
  }, injectServiceOptions(options), sdkOptions);
35
53
  };
@@ -38,10 +56,13 @@ exports.revoke = function (options, sdkOptions) {
38
56
  * @deprecated Rather than using `validate` to check if a token is valid, it is recommended to make a request to the resource server with the token and handle the error response.
39
57
  */
40
58
  exports.validate = function (options, sdkOptions) {
59
+ if (!(options === null || options === void 0 ? void 0 : options.payload)) {
60
+ throw new Error(`'payload' is required for validate`);
61
+ }
41
62
  return (0, shared_js_1.serviceRequest)({
42
63
  service: config_js_1.ID,
43
64
  scope: undefined,
44
- path: `/v2/oauth/token/validate`,
65
+ path: `/v2/oauth2/token/validate`,
45
66
  method: shared_js_1.HTTP_METHODS.POST,
46
67
  }, injectServiceOptions(options), sdkOptions);
47
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../../../src/lib/services/auth/service/oauth2/token.ts"],"names":[],"mappings":";;;AAAA,+CAAqC;AACrC,8DAA8E;AAI9E;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAA6B;IACzD,uCACK,OAAO,KACV,IAAI,EAAE,IAAI,eAAe,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAiC,CAAC,CAAC,QAAQ,EAAE,EAChF,OAAO,kCACF,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,EAAE,CAAC,KAC3B,cAAc,EAAE,mCAAmC,OAErD;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,UAAU,GAAG,UAAU,OAAO,EAAE,UAAW;IACtD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,wBAAY,CAAC,IAAI;KAC1B,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,CAKE,CAAC;AAEH;;;GAGG;AACU,QAAA,MAAM,GAAG,UAAU,OAAO,EAAE,UAAW;IAClD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,wBAAY,CAAC,IAAI;KAC1B,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,CAKE,CAAC;AAEH;;;GAGG;AACU,QAAA,QAAQ,GAAG,UAAU,OAAO,EAAE,UAAW;IACpD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,wBAAY,CAAC,IAAI;KAC1B,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,CAKE,CAAC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../../../src/lib/services/auth/service/oauth2/token.ts"],"names":[],"mappings":";;;AAAA,+CAAqC;AACrC,8DAA8E;AAqB9E,SAAS,SAAS,CAAC,OAA2B;IAC5C,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,OAEC;IAED,uCACK,OAAO;QACV;;;WAGG;QACH,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAChC,OAAO,kCACF,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,EAAE,CAAC;YAC3B;;eAEG;YACH,cAAc,EAAE,kDAAkD,OAEpE;AACJ,CAAC;AAED;;;GAGG;AACU,QAAA,UAAU,GAAG,UAAU,OAAO,EAAE,UAAW;IACtD,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IACD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,wBAAY,CAAC,IAAI;KAC1B,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,CAEE,CAAC;AAEH;;;GAGG;AACU,QAAA,MAAM,GAAG,UAAU,OAAO,EAAE,UAAW;IAClD,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IACD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,wBAAY,CAAC,IAAI;KAC1B,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,CAEE,CAAC;AAEH;;;GAGG;AACU,QAAA,QAAQ,GAAG,UAAU,OAAO,EAAE,UAAW;IACpD,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,wBAAY,CAAC,IAAI;KAC1B,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,CAEE,CAAC"}
@@ -31,17 +31,4 @@ export declare const remove: (flow_id: string, options?: ({
31
31
  } | undefined;
32
32
  headers?: import("../../types.js").Headers | undefined;
33
33
  }) | undefined, sdkOptions?: import("../../types.js").SDKOptions | undefined) => Promise<Response>;
34
- /**
35
- * @deprecated `destroy` is deprecated in favor of `remove`. This method will be removed in a future release.
36
- * @since 1.15.0
37
- */
38
- export declare const destroy: (flow_id: string, options?: ({
39
- query?: undefined;
40
- payload?: undefined;
41
- } & {
42
- query?: {
43
- [key: string]: string | number | (string | number | null | undefined)[] | null | undefined;
44
- } | undefined;
45
- headers?: import("../../types.js").Headers | undefined;
46
- }) | undefined, sdkOptions?: import("../../types.js").SDKOptions | undefined) => Promise<Response>;
47
34
  //# sourceMappingURL=flows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/services/flows/service/flows.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;kGAajB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;kGAUqD,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;kGAiBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;;;kGAAS,CAAC"}
1
+ {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/services/flows/service/flows.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;kGAajB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;kGAUqD,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;kGAiBlB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.destroy = exports.remove = exports.get = exports.getAll = void 0;
3
+ exports.remove = exports.get = exports.getAll = void 0;
4
4
  const config_js_1 = require("../config.js");
5
5
  const shared_js_1 = require("../../../services/shared.js");
6
6
  /**
@@ -34,9 +34,4 @@ exports.remove = function (flow_id, options, sdkOptions) {
34
34
  method: shared_js_1.HTTP_METHODS.DELETE,
35
35
  }, options, sdkOptions);
36
36
  };
37
- /**
38
- * @deprecated `destroy` is deprecated in favor of `remove`. This method will be removed in a future release.
39
- * @since 1.15.0
40
- */
41
- exports.destroy = exports.remove;
42
37
  //# sourceMappingURL=flows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../../../../src/lib/services/flows/service/flows.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,2DAA2E;AAG3E;;GAEG;AACU,QAAA,MAAM,GAAG,UAAU,OAAQ,EAAE,UAAW;IACnD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,kBAAM,CAAC,UAAU;QACxB,IAAI,EAAE,QAAQ;KACf,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAGE,CAAC;AAEH;;GAEG;AACU,QAAA,GAAG,GAAG,UAAU,OAAO,EAAE,OAAQ,EAAE,UAAW;IACzD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,kBAAM,CAAC,UAAU;QACxB,IAAI,EAAE,UAAU,OAAO,EAAE;KAC1B,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAAqE,CAAC;AAEtE;;GAEG;AACU,QAAA,MAAM,GAAG,UAAU,OAAO,EAAE,OAAQ,EAAE,UAAW;IAC5D,OAAO,IAAA,0BAAc,EACnB;QACE,KAAK,EAAE,kBAAM,CAAC,YAAY;QAC1B,OAAO,EAAE,cAAE;QACX,IAAI,EAAE,UAAU,OAAO,EAAE;QACzB,MAAM,EAAE,wBAAY,CAAC,MAAM;KAC5B,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAMC,CAAC;AAEF;;;GAGG;AACU,QAAA,OAAO,GAAG,cAAM,CAAC"}
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../../../../src/lib/services/flows/service/flows.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,2DAA2E;AAG3E;;GAEG;AACU,QAAA,MAAM,GAAG,UAAU,OAAQ,EAAE,UAAW;IACnD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,kBAAM,CAAC,UAAU;QACxB,IAAI,EAAE,QAAQ;KACf,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAGE,CAAC;AAEH;;GAEG;AACU,QAAA,GAAG,GAAG,UAAU,OAAO,EAAE,OAAQ,EAAE,UAAW;IACzD,OAAO,IAAA,0BAAc,EACnB;QACE,OAAO,EAAE,cAAE;QACX,KAAK,EAAE,kBAAM,CAAC,UAAU;QACxB,IAAI,EAAE,UAAU,OAAO,EAAE;KAC1B,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAAqE,CAAC;AAEtE;;GAEG;AACU,QAAA,MAAM,GAAG,UAAU,OAAO,EAAE,OAAQ,EAAE,UAAW;IAC5D,OAAO,IAAA,0BAAc,EACnB;QACE,KAAK,EAAE,kBAAM,CAAC,YAAY;QAC1B,OAAO,EAAE,cAAE;QACX,IAAI,EAAE,UAAU,OAAO,EAAE;QACzB,MAAM,EAAE,wBAAY,CAAC,MAAM;KAC5B,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAMC,CAAC"}