@toa.io/definitions 1.0.0-alpha.325 → 1.0.0-alpha.327

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 (43) hide show
  1. package/digest/extensions.cadence.json +1 -1
  2. package/digest/extensions.configuration.json +1 -1
  3. package/digest/extensions.exposition.json +1 -1
  4. package/package.json +13 -12
  5. package/readme.md +12 -12
  6. package/schemas/extensions.cadence/declaration.cos.yaml +7 -20
  7. package/schemas/extensions.cadence/pulse.cos.yaml +26 -0
  8. package/schemas/extensions.cadence/schedule.cos.yaml +25 -0
  9. package/transpiled/bindings.http/deployment.js +3 -1
  10. package/transpiled/bindings.http/deployment.js.map +1 -1
  11. package/transpiled/bindings.loop/index.js +5 -1
  12. package/transpiled/bindings.loop/index.js.map +1 -1
  13. package/transpiled/bridges.node/define.js +8 -2
  14. package/transpiled/bridges.node/define.js.map +1 -1
  15. package/transpiled/bridges.node/exports.js +7 -2
  16. package/transpiled/bridges.node/exports.js.map +1 -1
  17. package/transpiled/bridges.node/operations.js.map +1 -1
  18. package/transpiled/bridges.node/sources.js.map +1 -1
  19. package/transpiled/digest/read.js.map +1 -1
  20. package/transpiled/extensions.cadence/const.d.ts +2 -0
  21. package/transpiled/extensions.cadence/const.js +5 -1
  22. package/transpiled/extensions.cadence/const.js.map +1 -1
  23. package/transpiled/extensions.cadence/deployment.js +12 -5
  24. package/transpiled/extensions.cadence/deployment.js.map +1 -1
  25. package/transpiled/extensions.cadence/index.d.ts +3 -1
  26. package/transpiled/extensions.cadence/index.js +1 -0
  27. package/transpiled/extensions.cadence/index.js.map +1 -1
  28. package/transpiled/extensions.cadence/manifest.d.ts +3 -3
  29. package/transpiled/extensions.cadence/manifest.js +68 -15
  30. package/transpiled/extensions.cadence/manifest.js.map +1 -1
  31. package/transpiled/extensions.cadence/schedule.d.ts +11 -0
  32. package/transpiled/extensions.cadence/schedule.js +25 -0
  33. package/transpiled/extensions.cadence/schedule.js.map +1 -0
  34. package/transpiled/extensions.cadence/schemas.d.ts +3 -1
  35. package/transpiled/extensions.cadence/schemas.js +2 -0
  36. package/transpiled/extensions.cadence/schemas.js.map +1 -1
  37. package/transpiled/extensions.cadence/types.d.ts +26 -6
  38. package/transpiled/extensions.convergence/deployment.js +2 -4
  39. package/transpiled/extensions.convergence/deployment.js.map +1 -1
  40. package/transpiled/extensions.convergence/topology.js.map +1 -1
  41. package/transpiled/extensions.exposition/manifest.js +3 -3
  42. package/transpiled/extensions.exposition/manifest.js.map +1 -1
  43. package/transpiled/extensions.introspection/annotation.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../source/extensions.cadence/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,IAAY;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;IAEpD,sFAAsF;IACtF,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,IAAI,UAAU,kDAAkD,CAAC,CAAA;IAEnF,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAErD,SAAS,IAAI,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,CAAA;IACzD,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,UAAU,mBAAmB,CAAC,CAAA;IAEjF,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { Schema } from '@toa.io/schemas';
2
- import type { Annotation, Declaration } from './types.ts';
2
+ import type { Annotation, Declaration, Pulse, Schedule } from './types.ts';
3
3
  export declare const declaration: Schema<Declaration>;
4
+ export declare const pulse: Schema<Pulse>;
5
+ export declare const schedule: Schema<Schedule>;
4
6
  export declare const annotation: Schema<Annotation>;
@@ -3,5 +3,7 @@ import * as schemas from '@toa.io/schemas';
3
3
  const path = resolve(import.meta.dirname, '../../schemas/extensions.cadence');
4
4
  const namespace = schemas.namespace(path);
5
5
  export const declaration = namespace.schema('declaration');
6
+ export const pulse = namespace.schema('pulse');
7
+ export const schedule = namespace.schema('schedule');
6
8
  export const annotation = namespace.schema('annotation');
7
9
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../source/extensions.cadence/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAI1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAA;AAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAwB,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAuB,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../source/extensions.cadence/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAI1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAA;AAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAwB,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAC/E,MAAM,CAAC,MAAM,KAAK,GAAkB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAqB,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,UAAU,GAAuB,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA"}
@@ -1,12 +1,17 @@
1
- /** What one component declares under `cadence:`, by the operation each one calls. */
2
- export type Declaration = Record<string, Pulse>;
1
+ /** What one component declares under `cadence:`, by the operation each entry calls. */
2
+ export type Declaration = Record<string, Entry[]>;
3
+ /** One way an operation is called: on a cadence, or at the moments of a calendar. */
4
+ export type Entry = Pulse | Schedule;
3
5
  /**
4
- * What a manifest may state: a whole pulse, one with what it leaves to the default left out,
5
- * or the cycle alone.
6
+ * What a manifest may state for an operation: one entry or a list of them, each a whole entry,
7
+ * one with what it leaves to the default left out, or its cycle or its expression alone.
6
8
  */
7
- export type Declared = Record<string, number | (Partial<Pulse> & {
9
+ export type Declared = Record<string, Stated | Stated[]>;
10
+ export type Stated = number | string | (Partial<Pulse> & {
8
11
  cycle: number;
9
- })>;
12
+ }) | (Partial<Schedule> & {
13
+ schedule: string;
14
+ });
10
15
  export interface Pulse {
11
16
  /** seconds one whole cycle takes */
12
17
  cycle: number;
@@ -17,6 +22,21 @@ export interface Pulse {
17
22
  * is every replica's own, for what lives inside a process.
18
23
  */
19
24
  scope: Scope;
25
+ /** the rank of the region that makes the calls; every region makes them where absent */
26
+ region?: number;
27
+ }
28
+ export interface Schedule {
29
+ /** a cron expression of five fields, or of six where the first is seconds */
30
+ schedule: string;
31
+ /** the time zone the expression is read in */
32
+ zone: string;
33
+ /**
34
+ * Seconds a call may be late and still be made. Absent, it is made until the next one comes
35
+ * due, so that at most one occurrence is ever owed.
36
+ */
37
+ overdue?: number;
38
+ /** the rank of the region that makes the calls; every region makes them where absent */
39
+ region?: number;
20
40
  }
21
41
  export type Scope = 'group' | 'replica';
22
42
  /** `context.delay` — a call to be made later, answering the id that cancels it. */
@@ -12,15 +12,13 @@ export function deployment(_, annotation) {
12
12
  { name: REGION, value: String(region.priority) },
13
13
  { name: BINDING, value: provider(region) }
14
14
  ];
15
- const variables = createVariables(ID, normalize({ [BROKERS]: region.binding.pointer }), [
16
- { group: GLOBAL, selectors: [BROKERS] }
17
- ]);
15
+ const variables = createVariables(ID, normalize({ [BROKERS]: region.binding.pointer }), [{ group: GLOBAL, selectors: [BROKERS] }]);
18
16
  variables[GLOBAL] = (variables[GLOBAL] ?? []).concat(global);
19
17
  return { variables };
20
18
  }
21
19
  function read(annotation) {
22
20
  if (!Number.isInteger(annotation?.priority) || annotation.priority < 0)
23
- throw new Error('Convergence declares a priority, which is this region\'s rank: a whole number where ' +
21
+ throw new Error("Convergence declares a priority, which is this region's rank: a whole number where " +
24
22
  'zero outranks one, and the same in every region.');
25
23
  if (annotation.binding?.pointer === undefined)
26
24
  throw new Error('Convergence declares the brokers this region converges over.');
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../source/extensions.convergence/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKzD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,CAAuB,EAAE,UAAuB;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAe;QACzB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAChD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;KAC3C,CAAA;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE;QACtF,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;KACxC,CAAC,CAAA;IAEF,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE5D,OAAO,EAAE,SAAS,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,IAAI,CAAC,UAAuB;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,GAAG,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,sFAAsF;YACpF,kDAAkD,CACrD,CAAA;IAEH,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS;QAC3C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IAEjF,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAmB;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAA;IAEhD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;AACxC,CAAC;AAED,MAAM,MAAM,GAAG,QAAQ,CAAA;AACvB,MAAM,IAAI,GAAG,MAAM,CAAA;AAEnB,2DAA2D;AAC3D,MAAM,SAAS,GAA2B,EAAE,CAAC,IAAI,CAAC,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../source/extensions.convergence/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKzD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,CAAuB,EAAE,UAAuB;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAe;QACzB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAChD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;KAC3C,CAAA;IAED,MAAM,SAAS,GAAG,eAAe,CAC/B,EAAE,EACF,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAChD,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAC1C,CAAA;IAED,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE5D,OAAO,EAAE,SAAS,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,IAAI,CAAC,UAAuB;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,GAAG,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,qFAAqF;YACnF,kDAAkD,CACrD,CAAA;IAEH,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS;QAC3C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IAEjF,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAmB;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAA;IAEhD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;AACxC,CAAC;AAED,MAAM,MAAM,GAAG,QAAQ,CAAA;AACvB,MAAM,IAAI,GAAG,MAAM,CAAA;AAEnB,2DAA2D;AAC3D,MAAM,SAAS,GAA2B,EAAE,CAAC,IAAI,CAAC,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"topology.js","sourceRoot":"","sources":["../../source/extensions.convergence/topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topology.js","sourceRoot":"","sources":["../../source/extensions.convergence/topology.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,9 @@ function specifyMethod(method, manifest) {
31
31
  throw new Error(`Operation '${method.mapping.endpoint}' not found`);
32
32
  if (method.mapping.query === undefined)
33
33
  method.mapping.query = operation.query === false ? null : {};
34
- // a page is taken of a collection, and of nothing else: an operation that answers one object
35
- // takes no `omit` and no `limit`, and refuses a request that carries them
36
- method.mapping.paged = operation.type === 'observation' && operation.scope === 'entries';
34
+ // a page is taken of a set, whatever is done with it, and of nothing else: an operation over
35
+ // one object takes no `omit` and no `limit`, and refuses a request that carries them
36
+ method.mapping.paged = operation.scope === 'entries';
37
37
  method.mapping.streamed = operation.scope === 'stream';
38
38
  projects(method, operation.type);
39
39
  streams(method, operation);
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../source/extensions.exposition/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../source/extensions.exposition/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../source/extensions.introspection/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,GAAG,EACH,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAgD1D,MAAM,UAAU,OAAO,CAAC,UAAuB;IAC7C,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IACtF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA;IAEjG,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,gBAAgB;QAClD,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,iBAAiB;QACrD,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK;QAClE,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACjF,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;KAC1F,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,QAA4B,EAAE,QAAgB,EAAE,IAAY;IAC1E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAE3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAA;IAE3B,IAAI,GAAG,IAAI,GAAG;QACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;YACtF,wCAAwC,CAAC,CAAA;IAE7C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACnB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../source/extensions.introspection/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,GAAG,EACH,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAgD1D,MAAM,UAAU,OAAO,CAAC,UAAuB;IAC7C,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IACtF,MAAM,IAAI,GACR,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA;IAEtF,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,gBAAgB;QAClD,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,iBAAiB;QACrD,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK;QAClE,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACjF,UAAU,EAAE,MAAM,CAChB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAC3C,UAAU,EACV,YAAY,CACb;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,QAA4B,EAAE,QAAgB,EAAE,IAAY;IAC1E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAE3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAA;IAE3B,IAAI,GAAG,IAAI,GAAG;QACZ,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;YACtE,wCAAwC,CAC3C,CAAA;IAEH,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACnB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;AACrC,CAAC"}