@xyo-network/module-model 2.64.6 → 2.64.8

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 (69) hide show
  1. package/dist/cjs/Queries/{ModuleAccount → ModuleAddress}/Payload.js.map +1 -1
  2. package/dist/cjs/Queries/ModuleAddress/Query.js +5 -0
  3. package/dist/cjs/Queries/ModuleAddress/Query.js.map +1 -0
  4. package/dist/cjs/Queries/ModuleAddress/index.js.map +1 -0
  5. package/dist/cjs/Queries/index.js +1 -1
  6. package/dist/cjs/asModule.js +28 -0
  7. package/dist/cjs/asModule.js.map +1 -0
  8. package/dist/cjs/index.js +1 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/isModule.js +46 -9
  11. package/dist/cjs/isModule.js.map +1 -1
  12. package/dist/cjs/withModule.js +4 -3
  13. package/dist/cjs/withModule.js.map +1 -1
  14. package/dist/docs.json +5751 -2708
  15. package/dist/esm/Queries/{ModuleAccount → ModuleAddress}/Payload.js.map +1 -1
  16. package/dist/esm/Queries/ModuleAddress/Query.js +2 -0
  17. package/dist/esm/Queries/ModuleAddress/Query.js.map +1 -0
  18. package/dist/esm/Queries/ModuleAddress/index.js.map +1 -0
  19. package/dist/esm/Queries/index.js +1 -1
  20. package/dist/esm/asModule.js +25 -0
  21. package/dist/esm/asModule.js.map +1 -0
  22. package/dist/esm/index.js +1 -0
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/isModule.js +41 -8
  25. package/dist/esm/isModule.js.map +1 -1
  26. package/dist/esm/withModule.js +4 -3
  27. package/dist/esm/withModule.js.map +1 -1
  28. package/dist/types/Module.d.ts +15 -7
  29. package/dist/types/Module.d.ts.map +1 -1
  30. package/dist/types/Queries/{ModuleAccount → ModuleAddress}/Payload.d.ts.map +1 -1
  31. package/dist/types/Queries/ModuleAddress/Query.d.ts +7 -0
  32. package/dist/types/Queries/{ModuleAccount → ModuleAddress}/Query.d.ts.map +1 -1
  33. package/dist/types/Queries/ModuleAddress/index.d.ts.map +1 -0
  34. package/dist/types/Queries/index.d.ts +3 -3
  35. package/dist/types/Query/QueryBoundWitness.d.ts +2 -0
  36. package/dist/types/Query/QueryBoundWitness.d.ts.map +1 -1
  37. package/dist/types/asModule.d.ts +16 -0
  38. package/dist/types/asModule.d.ts.map +1 -0
  39. package/dist/types/index.d.ts +1 -0
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/dist/types/isModule.d.ts +12 -4
  42. package/dist/types/isModule.d.ts.map +1 -1
  43. package/dist/types/withModule.d.ts +5 -5
  44. package/dist/types/withModule.d.ts.map +1 -1
  45. package/package.json +11 -10
  46. package/src/Module.ts +25 -8
  47. package/src/Queries/ModuleAddress/Query.ts +8 -0
  48. package/src/Queries/index.ts +3 -3
  49. package/src/asModule.ts +39 -0
  50. package/src/index.ts +1 -0
  51. package/src/isModule.ts +59 -14
  52. package/src/withModule.ts +7 -7
  53. package/dist/cjs/Queries/ModuleAccount/Query.js +0 -5
  54. package/dist/cjs/Queries/ModuleAccount/Query.js.map +0 -1
  55. package/dist/cjs/Queries/ModuleAccount/index.js.map +0 -1
  56. package/dist/esm/Queries/ModuleAccount/Query.js +0 -2
  57. package/dist/esm/Queries/ModuleAccount/Query.js.map +0 -1
  58. package/dist/esm/Queries/ModuleAccount/index.js.map +0 -1
  59. package/dist/types/Queries/ModuleAccount/Query.d.ts +0 -7
  60. package/dist/types/Queries/ModuleAccount/index.d.ts.map +0 -1
  61. package/src/Queries/ModuleAccount/Query.ts +0 -8
  62. /package/dist/cjs/Queries/{ModuleAccount → ModuleAddress}/Payload.js +0 -0
  63. /package/dist/cjs/Queries/{ModuleAccount → ModuleAddress}/index.js +0 -0
  64. /package/dist/esm/Queries/{ModuleAccount → ModuleAddress}/Payload.js +0 -0
  65. /package/dist/esm/Queries/{ModuleAccount → ModuleAddress}/index.js +0 -0
  66. /package/dist/types/Queries/{ModuleAccount → ModuleAddress}/Payload.d.ts +0 -0
  67. /package/dist/types/Queries/{ModuleAccount → ModuleAddress}/index.d.ts +0 -0
  68. /package/src/Queries/{ModuleAccount → ModuleAddress}/Payload.ts +0 -0
  69. /package/src/Queries/{ModuleAccount → ModuleAddress}/index.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../../src/Queries/ModuleAccount/Payload.ts"],"names":[],"mappings":";;;AAAA,gFAAmE;AAGtD,QAAA,yBAAyB,GAAG,GAAG,sCAAa,gBAAgB,CAAA"}
1
+ {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../../src/Queries/ModuleAddress/Payload.ts"],"names":[],"mappings":";;;AAAA,gFAAmE;AAGtD,QAAA,yBAAyB,GAAG,GAAG,sCAAa,gBAAgB,CAAA"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleAddressQuerySchema = void 0;
4
+ exports.ModuleAddressQuerySchema = 'network.xyo.query.module.address';
5
+ //# sourceMappingURL=Query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../../../src/Queries/ModuleAddress/Query.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAA6B,kCAAkC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Queries/ModuleAddress/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,kDAAuB"}
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./Discover"), exports);
5
- tslib_1.__exportStar(require("./ModuleAccount"), exports);
5
+ tslib_1.__exportStar(require("./ModuleAddress"), exports);
6
6
  tslib_1.__exportStar(require("./Subscribe"), exports);
7
7
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.asModuleInstance = exports.asModule = exports.AsFactory = void 0;
4
+ const assert_1 = require("@xylabs/assert");
5
+ const isModule_1 = require("./isModule");
6
+ exports.AsFactory = {
7
+ create: (typeCheck) => {
8
+ function func(
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ module, assert) {
11
+ const result = typeCheck(module) ? module : undefined;
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const noUndefined = (assert) => {
14
+ return !!assert;
15
+ };
16
+ if (noUndefined(assert)) {
17
+ return (0, assert_1.assertEx)(result, typeof assert === 'function' ? assert() : assert);
18
+ }
19
+ else {
20
+ return result;
21
+ }
22
+ }
23
+ return func;
24
+ },
25
+ };
26
+ exports.asModule = exports.AsFactory.create(isModule_1.isModule);
27
+ exports.asModuleInstance = exports.AsFactory.create(isModule_1.isModuleInstance);
28
+ //# sourceMappingURL=asModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asModule.js","sourceRoot":"","sources":["../../src/asModule.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAEzC,yCAA0E;AAE7D,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,CAAyB,SAAqC,EAAE,EAAE;QAUxE,SAAS,IAAI;QACX,8DAA8D;QAC9D,MAAW,EACX,MAAgC;YAEhC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YAErD,8DAA8D;YAC9D,MAAM,WAAW,GAAG,CAAC,MAAW,EAAqB,EAAE;gBACrD,OAAO,CAAC,CAAC,MAAM,CAAA;YACjB,CAAC,CAAA;YAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;gBACvB,OAAO,IAAA,iBAAQ,EAAC,MAAM,EAAE,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;aAC1E;iBAAM;gBACL,OAAO,MAAM,CAAA;aACd;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAEY,QAAA,QAAQ,GAAG,iBAAS,CAAC,MAAM,CAAC,mBAAQ,CAAC,CAAA;AACrC,QAAA,gBAAgB,GAAG,iBAAS,CAAC,MAAM,CAAC,2BAAgB,CAAC,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./asModule"), exports);
4
5
  tslib_1.__exportStar(require("./Config"), exports);
5
6
  tslib_1.__exportStar(require("./CreatableModule"), exports);
6
7
  tslib_1.__exportStar(require("./Error"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,4DAAiC;AACjC,kDAAuB;AACvB,qDAA0B;AAC1B,mDAAwB;AACxB,8DAAmC;AACnC,yDAA8B;AAC9B,yDAA8B;AAC9B,8DAAmC;AACnC,6DAAkC;AAClC,oDAAyB;AACzB,kDAAuB;AACvB,uDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,mDAAwB;AACxB,4DAAiC;AACjC,kDAAuB;AACvB,qDAA0B;AAC1B,mDAAwB;AACxB,8DAAmC;AACnC,yDAA8B;AAC9B,yDAA8B;AAC9B,8DAAmC;AACnC,6DAAkC;AAClC,oDAAyB;AACzB,kDAAuB;AACvB,uDAA4B"}
@@ -1,18 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isModule = exports.IsModuleFactory = void 0;
3
+ exports.isModule = exports.isModuleInstance = exports.IsModuleFactory = exports.IsInstanceFactory = exports.isType = void 0;
4
+ const isType = (value, expectedType) => {
5
+ if (expectedType === 'array') {
6
+ return Array.isArray(value);
7
+ }
8
+ else if (expectedType === 'payload') {
9
+ return typeof value === 'object' && typeof value.schema === 'string';
10
+ }
11
+ else {
12
+ return typeof value === expectedType;
13
+ }
14
+ };
15
+ exports.isType = isType;
16
+ exports.IsInstanceFactory = {
17
+ create: (shape, additionalCheck) => {
18
+ return (module = {}) => {
19
+ var _a, _b;
20
+ return (((_a = additionalCheck === null || additionalCheck === void 0 ? void 0 : additionalCheck(module)) !== null && _a !== void 0 ? _a : true) &&
21
+ ((_b = Object.entries(shape !== null && shape !== void 0 ? shape : {}).reduce((prev, [key, type]) => prev && (0, exports.isType)(module[key], type), true)) !== null && _b !== void 0 ? _b : true));
22
+ };
23
+ },
24
+ };
4
25
  exports.IsModuleFactory = {
5
- create: (baseCheck, expectedFunctions,
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- additionalCheck) => {
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- return (module) => {
26
+ create: (expectedQueries, additionalCheck) => {
27
+ return (module = {}) => {
10
28
  var _a, _b;
11
- return (((baseCheck === null || baseCheck === void 0 ? void 0 : baseCheck(module)) || true) &&
29
+ return ((0, exports.isModuleInstance)(module) &&
12
30
  ((_a = additionalCheck === null || additionalCheck === void 0 ? void 0 : additionalCheck(module)) !== null && _a !== void 0 ? _a : true) &&
13
- ((_b = expectedFunctions === null || expectedFunctions === void 0 ? void 0 : expectedFunctions.reduce((prev, value) => prev && typeof module[value] === 'function', true)) !== null && _b !== void 0 ? _b : true));
31
+ ((_b = expectedQueries === null || expectedQueries === void 0 ? void 0 : expectedQueries.reduce((prev, query) => prev && module.queries.includes(query), true)) !== null && _b !== void 0 ? _b : true));
14
32
  };
15
33
  },
16
34
  };
17
- exports.isModule = exports.IsModuleFactory.create(undefined, ['query'], (module) => typeof module.config === 'object');
35
+ exports.isModuleInstance = exports.IsInstanceFactory.create({
36
+ account: 'object',
37
+ address: 'string',
38
+ config: 'object',
39
+ discover: 'function',
40
+ downResolver: 'object',
41
+ manifest: 'function',
42
+ params: 'object',
43
+ queries: 'array',
44
+ query: 'function',
45
+ queryable: 'function',
46
+ upResolver: 'object',
47
+ });
48
+ const isModule = (module = {}, expectedQueries, additionalCheck) => {
49
+ var _a, _b;
50
+ return ((0, exports.isModuleInstance)(module) &&
51
+ ((_a = additionalCheck === null || additionalCheck === void 0 ? void 0 : additionalCheck(module)) !== null && _a !== void 0 ? _a : true) &&
52
+ ((_b = expectedQueries === null || expectedQueries === void 0 ? void 0 : expectedQueries.reduce((prev, query) => prev && module.queries.includes(query), true)) !== null && _b !== void 0 ? _b : true));
53
+ };
54
+ exports.isModule = isModule;
18
55
  //# sourceMappingURL=isModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isModule.js","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,CACN,SAA2B,EAC3B,iBAA4B;IAC5B,8DAA8D;IAC9D,eAA0C,EACtB,EAAE;QACtB,8DAA8D;QAC9D,OAAO,CAAC,MAAW,EAAe,EAAE;;YAClC,OAAO,CACL,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,MAAM,CAAC,KAAI,IAAI,CAAC;gBAC7B,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,MAAM,CAAC,mCAAI,IAAI,CAAC;gBACnC,CAAC,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,EAAE,IAAI,CAAC,mCAAI,IAAI,CAAC,CACxG,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAEY,QAAA,QAAQ,GAA4B,uBAAe,CAAC,MAAM,CAAS,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"isModule.js","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":";;;AAWO,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,YAAuB,EAAE,EAAE;IAC5D,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;KAC5B;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE;QACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAA;KACrE;SAAM;QACL,OAAO,OAAO,KAAK,KAAK,YAAY,CAAA;KACrC;AACH,CAAC,CAAA;AARY,QAAA,MAAM,UAQlB;AAEY,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,CAA4B,KAAyB,EAAE,eAA0C,EAAwB,EAAE;QACjI,OAAO,CAAC,SAAc,EAAE,EAAe,EAAE;;YACvC,OAAO,CACL,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,MAAM,CAAC,mCAAI,IAAI,CAAC;gBACnC,CAAC,MAAA,MAAM,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,IAAA,cAAM,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,mCAAI,IAAI,CAAC,CAC7G,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,CAA4C,eAA0B,EAAE,eAA0C,EAAsB,EAAE;QAChJ,OAAO,CAAC,SAAc,EAAE,EAAe,EAAE;;YACvC,OAAO,CACL,IAAA,wBAAgB,EAAC,MAAM,CAAC;gBACxB,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,MAAM,CAAC,mCAAI,IAAI,CAAC;gBACnC,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,mCAAI,IAAI,CAAC,CACjG,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAEY,QAAA,gBAAgB,GAAsC,yBAAiB,CAAC,MAAM,CAAiB;IAC1G,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA;AAEK,MAAM,QAAQ,GAAG,CACtB,SAAc,EAAE,EAChB,eAA0B,EAC1B,eAA0C,EAC7B,EAAE;;IACf,OAAO,CACL,IAAA,wBAAgB,EAAC,MAAM,CAAC;QACxB,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,MAAM,CAAC,mCAAI,IAAI,CAAC;QACnC,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,mCAAI,IAAI,CAAC,CACjG,CAAA;AACH,CAAC,CAAA;AAVY,QAAA,QAAQ,YAUpB"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withModule = exports.WithModuleFactory = void 0;
3
+ exports.withModuleInstance = exports.withModule = exports.WithFactory = void 0;
4
4
  const isModule_1 = require("./isModule");
5
- exports.WithModuleFactory = {
5
+ exports.WithFactory = {
6
6
  create: (typeCheck) => {
7
7
  return (
8
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -13,5 +13,6 @@ exports.WithModuleFactory = {
13
13
  };
14
14
  },
15
15
  };
16
- exports.withModule = exports.WithModuleFactory.create(isModule_1.isModule);
16
+ exports.withModule = exports.WithFactory.create(isModule_1.isModule);
17
+ exports.withModuleInstance = exports.WithFactory.create(isModule_1.isModuleInstance);
17
18
  //# sourceMappingURL=withModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withModule.js","sourceRoot":"","sources":["../../src/withModule.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AAGzC,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,CAA4B,SAA6B,EAAE,EAAE;QACnE,OAAO;QACL,8DAA8D;QAC9D,MAAW;QACX,8DAA8D;QAC9D,OAA2B,EACZ,EAAE;YACjB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxD,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAEY,QAAA,UAAU,GAAG,yBAAiB,CAAC,MAAM,CAAC,mBAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"withModule.js","sourceRoot":"","sources":["../../src/withModule.ts"],"names":[],"mappings":";;;AAAA,yCAA0E;AAE7D,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,CAAmB,SAA+B,EAAE,EAAE;QAC5D,OAAO;QACL,8DAA8D;QAC9D,MAAW;QACX,8DAA8D;QAC9D,OAAyB,EACV,EAAE;YACjB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxD,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAEY,QAAA,UAAU,GAAG,mBAAW,CAAC,MAAM,CAAC,mBAAQ,CAAC,CAAA;AACzC,QAAA,kBAAkB,GAAG,mBAAW,CAAC,MAAM,CAAC,2BAAgB,CAAC,CAAA"}