@proompteng/temporal-bun-sdk 0.2.0 → 0.3.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.
Files changed (60) hide show
  1. package/README.md +95 -0
  2. package/dist/src/client/serialization.d.ts +30 -1
  3. package/dist/src/client/serialization.d.ts.map +1 -1
  4. package/dist/src/client/serialization.js +76 -3
  5. package/dist/src/client/serialization.js.map +1 -1
  6. package/dist/src/client/types.d.ts +26 -0
  7. package/dist/src/client/types.d.ts.map +1 -1
  8. package/dist/src/client.d.ts +10 -2
  9. package/dist/src/client.d.ts.map +1 -1
  10. package/dist/src/client.js +243 -1
  11. package/dist/src/client.js.map +1 -1
  12. package/dist/src/index.d.ts +1 -1
  13. package/dist/src/index.d.ts.map +1 -1
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/worker/concurrency.d.ts +8 -0
  16. package/dist/src/worker/concurrency.d.ts.map +1 -1
  17. package/dist/src/worker/concurrency.js +5 -9
  18. package/dist/src/worker/concurrency.js.map +1 -1
  19. package/dist/src/worker/runtime.d.ts.map +1 -1
  20. package/dist/src/worker/runtime.js +303 -29
  21. package/dist/src/worker/runtime.js.map +1 -1
  22. package/dist/src/worker/update-protocol.d.ts +33 -0
  23. package/dist/src/worker/update-protocol.d.ts.map +1 -0
  24. package/dist/src/worker/update-protocol.js +228 -0
  25. package/dist/src/worker/update-protocol.js.map +1 -0
  26. package/dist/src/workflow/context.d.ts +52 -1
  27. package/dist/src/workflow/context.d.ts.map +1 -1
  28. package/dist/src/workflow/context.js +212 -2
  29. package/dist/src/workflow/context.js.map +1 -1
  30. package/dist/src/workflow/definition.d.ts +29 -3
  31. package/dist/src/workflow/definition.d.ts.map +1 -1
  32. package/dist/src/workflow/definition.js +30 -4
  33. package/dist/src/workflow/definition.js.map +1 -1
  34. package/dist/src/workflow/determinism.d.ts +59 -0
  35. package/dist/src/workflow/determinism.d.ts.map +1 -1
  36. package/dist/src/workflow/determinism.js +76 -1
  37. package/dist/src/workflow/determinism.js.map +1 -1
  38. package/dist/src/workflow/errors.d.ts +3 -0
  39. package/dist/src/workflow/errors.d.ts.map +1 -1
  40. package/dist/src/workflow/errors.js +6 -0
  41. package/dist/src/workflow/errors.js.map +1 -1
  42. package/dist/src/workflow/executor.d.ts +53 -0
  43. package/dist/src/workflow/executor.d.ts.map +1 -1
  44. package/dist/src/workflow/executor.js +237 -6
  45. package/dist/src/workflow/executor.js.map +1 -1
  46. package/dist/src/workflow/inbound.d.ts +84 -0
  47. package/dist/src/workflow/inbound.d.ts.map +1 -0
  48. package/dist/src/workflow/inbound.js +65 -0
  49. package/dist/src/workflow/inbound.js.map +1 -0
  50. package/dist/src/workflow/index.d.ts +1 -0
  51. package/dist/src/workflow/index.d.ts.map +1 -1
  52. package/dist/src/workflow/index.js +1 -0
  53. package/dist/src/workflow/index.js.map +1 -1
  54. package/dist/src/workflow/replay.d.ts +24 -2
  55. package/dist/src/workflow/replay.d.ts.map +1 -1
  56. package/dist/src/workflow/replay.js +459 -14
  57. package/dist/src/workflow/replay.js.map +1 -1
  58. package/dist/src/workflows/index.d.ts +1 -1
  59. package/dist/src/workflows/index.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ import type { Effect } from 'effect';
2
+ import * as Schema from 'effect/Schema';
3
+ declare const defaultSignalSchema: Schema.Schema<unknown>;
4
+ declare const defaultQueryInputSchema: Schema.Schema<unknown>;
5
+ declare const defaultQueryOutputSchema: Schema.Schema<unknown>;
6
+ type RecordValue<T> = Schema.Schema<T> | {
7
+ schema?: Schema.Schema<T>;
8
+ description?: string;
9
+ };
10
+ export interface WorkflowSignalHandle<I> {
11
+ readonly kind: 'workflow-signal';
12
+ readonly name: string;
13
+ readonly schema: Schema.Schema<I>;
14
+ readonly decodeArgumentsAsArray: boolean;
15
+ readonly description?: string;
16
+ }
17
+ export type WorkflowSignalsDefinition<T extends Record<string, RecordValue<unknown>>> = {
18
+ readonly [K in keyof T]: WorkflowSignalHandle<Schema.Schema.Type<ExtractSignalSchema<T[K]>>>;
19
+ };
20
+ type ExtractSignalSchema<T> = T extends Schema.Schema<infer I> ? Schema.Schema<I> : T extends {
21
+ schema?: Schema.Schema<infer I>;
22
+ } ? Schema.Schema<I> : typeof defaultSignalSchema;
23
+ export declare const defineWorkflowSignals: <T extends Record<string, RecordValue<unknown>>>(definitions: T) => WorkflowSignalsDefinition<T>;
24
+ export interface WorkflowSignalMetadata {
25
+ readonly eventId?: string | null;
26
+ readonly workflowTaskCompletedEventId?: string | null;
27
+ readonly identity?: string | null;
28
+ readonly timestamp?: string | null;
29
+ }
30
+ export interface WorkflowSignalDelivery<T> {
31
+ readonly payload: T;
32
+ readonly metadata: WorkflowSignalMetadata;
33
+ }
34
+ export interface WorkflowSignalDeliveryInput {
35
+ readonly name: string;
36
+ readonly args: readonly unknown[];
37
+ readonly metadata?: WorkflowSignalMetadata;
38
+ }
39
+ export type WorkflowSignalHandler<I, A = void> = (payload: I, metadata: WorkflowSignalMetadata) => Effect.Effect<A, unknown, never>;
40
+ export interface WorkflowSignalHandlerOptions {
41
+ readonly name?: string;
42
+ }
43
+ type QueryRecordValue<I, O> = Schema.Schema<I> | {
44
+ readonly input?: Schema.Schema<I>;
45
+ readonly output?: Schema.Schema<O>;
46
+ readonly description?: string;
47
+ };
48
+ export interface WorkflowQueryHandle<I, O> {
49
+ readonly kind: 'workflow-query';
50
+ readonly name: string;
51
+ readonly inputSchema: Schema.Schema<I>;
52
+ readonly outputSchema: Schema.Schema<O>;
53
+ readonly decodeInputAsArray: boolean;
54
+ readonly description?: string;
55
+ }
56
+ export type WorkflowQueriesDefinition<T extends Record<string, QueryRecordValue<unknown, unknown>>> = {
57
+ readonly [K in keyof T]: WorkflowQueryHandle<Schema.Schema.Type<ExtractQueryInputSchema<T[K]>>, Schema.Schema.Type<ExtractQueryOutputSchema<T[K]>>>;
58
+ };
59
+ type ExtractQueryInputSchema<T> = T extends Schema.Schema<infer I> ? Schema.Schema<I> : T extends {
60
+ input?: Schema.Schema<infer I>;
61
+ } ? Schema.Schema<I> : typeof defaultQueryInputSchema;
62
+ type ExtractQueryOutputSchema<T> = T extends {
63
+ output?: Schema.Schema<infer O>;
64
+ } ? Schema.Schema<O> : typeof defaultQueryOutputSchema;
65
+ export declare const defineWorkflowQueries: <T extends Record<string, QueryRecordValue<unknown, unknown>>>(definitions: T) => WorkflowQueriesDefinition<T>;
66
+ export interface WorkflowQueryMetadata {
67
+ readonly id?: string;
68
+ readonly identity?: string | null;
69
+ readonly header?: Record<string, unknown>;
70
+ }
71
+ export interface WorkflowQueryRequest {
72
+ readonly id?: string;
73
+ readonly name: string;
74
+ readonly args: readonly unknown[];
75
+ readonly metadata?: WorkflowQueryMetadata;
76
+ readonly source: 'legacy' | 'multi';
77
+ }
78
+ export type WorkflowQueryResolver<I, O> = (input: I, metadata: WorkflowQueryMetadata) => Effect.Effect<O, unknown, never>;
79
+ export interface WorkflowQueryHandlerOptions {
80
+ readonly name?: string;
81
+ }
82
+ export declare const normalizeInboundArguments: (raw: readonly unknown[] | undefined, decodeAsArray: boolean) => unknown;
83
+ export {};
84
+ //# sourceMappingURL=inbound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../../src/workflow/inbound.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import * as Schema from 'effect/Schema';
2
+ const defaultSignalSchema = Schema.Unknown;
3
+ const defaultQueryInputSchema = Schema.Unknown;
4
+ const defaultQueryOutputSchema = Schema.Unknown;
5
+ const shouldDecodeAsArray = (schema) => schema.ast._tag === 'TupleType';
6
+ export const defineWorkflowSignals = (definitions) => {
7
+ const handles = {};
8
+ for (const [name, value] of Object.entries(definitions)) {
9
+ const schema = Schema.isSchema(value) ? value : (value.schema ?? defaultSignalSchema);
10
+ const description = Schema.isSchema(value) ? undefined : value.description;
11
+ const decodeArgumentsAsArray = Schema.isSchema(value) || value.schema ? shouldDecodeAsArray(schema) : true;
12
+ handles[name] = {
13
+ kind: 'workflow-signal',
14
+ name,
15
+ schema,
16
+ decodeArgumentsAsArray,
17
+ ...(description ? { description } : {}),
18
+ };
19
+ }
20
+ return handles;
21
+ };
22
+ export const defineWorkflowQueries = (definitions) => {
23
+ const handles = {};
24
+ for (const [name, value] of Object.entries(definitions)) {
25
+ if (Schema.isSchema(value)) {
26
+ handles[name] = {
27
+ kind: 'workflow-query',
28
+ name,
29
+ inputSchema: value,
30
+ outputSchema: defaultQueryOutputSchema,
31
+ decodeInputAsArray: shouldDecodeAsArray(value),
32
+ };
33
+ continue;
34
+ }
35
+ const inputSchema = value.input ?? defaultQueryInputSchema;
36
+ const outputSchema = value.output ?? defaultQueryOutputSchema;
37
+ const decodeInputAsArray = value.input ? shouldDecodeAsArray(inputSchema) : true;
38
+ handles[name] = {
39
+ kind: 'workflow-query',
40
+ name,
41
+ inputSchema,
42
+ outputSchema,
43
+ decodeInputAsArray,
44
+ ...(value.description ? { description: value.description } : {}),
45
+ };
46
+ }
47
+ return handles;
48
+ };
49
+ export const normalizeInboundArguments = (raw, decodeAsArray) => {
50
+ if (decodeAsArray) {
51
+ return raw ?? [];
52
+ }
53
+ const values = raw ?? [];
54
+ if (!Array.isArray(values)) {
55
+ return values;
56
+ }
57
+ if (values.length === 0) {
58
+ return undefined;
59
+ }
60
+ if (values.length === 1) {
61
+ return values[0];
62
+ }
63
+ return values;
64
+ };
65
+ //# sourceMappingURL=inbound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/workflow/inbound.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export * from './definition';
4
4
  export * from './determinism';
5
5
  export * from './errors';
6
6
  export { WorkflowExecutor } from './executor';
7
+ export * from './inbound';
7
8
  export { WorkflowRegistry } from './registry';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
@@ -4,5 +4,6 @@ export * from './definition';
4
4
  export * from './determinism';
5
5
  export * from './errors';
6
6
  export { WorkflowExecutor } from './executor';
7
+ export * from './inbound';
7
8
  export { WorkflowRegistry } from './registry';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
@@ -5,17 +5,21 @@ import { EventType } from '../proto/temporal/api/enums/v1/event_type_pb';
5
5
  import type { HistoryEvent } from '../proto/temporal/api/history/v1/message_pb';
6
6
  import type { WorkflowCommandIntent } from './commands';
7
7
  import type { WorkflowInfo } from './context';
8
- import type { WorkflowDeterminismState } from './determinism';
8
+ import type { WorkflowDeterminismQueryRecord, WorkflowDeterminismSignalRecord, WorkflowDeterminismState, WorkflowUpdateDeterminismEntry } from './determinism';
9
+ import type { WorkflowUpdateInvocation } from './executor';
10
+ import type { WorkflowQueryRequest } from './inbound';
9
11
  export interface ReplayIntake {
10
12
  readonly info: WorkflowInfo;
11
13
  readonly history: HistoryEvent[];
12
14
  readonly dataConverter: DataConverter;
13
15
  readonly ignoreDeterminismMarker?: boolean;
16
+ readonly queries?: readonly WorkflowQueryRequest[];
14
17
  }
15
18
  export interface ReplayResult {
16
19
  readonly determinismState: WorkflowDeterminismState;
17
20
  readonly lastEventId: string | null;
18
21
  readonly hasDeterminismMarker: boolean;
22
+ readonly updates?: readonly WorkflowUpdateInvocation[];
19
23
  }
20
24
  export interface DeterminismMarkerInput {
21
25
  readonly info: WorkflowInfo;
@@ -55,7 +59,25 @@ export interface DeterminismMismatchTime {
55
59
  readonly expected?: number;
56
60
  readonly actual?: number;
57
61
  }
58
- export type DeterminismMismatch = DeterminismMismatchCommand | DeterminismMismatchRandom | DeterminismMismatchTime;
62
+ export interface DeterminismMismatchSignal {
63
+ readonly kind: 'signal';
64
+ readonly index: number;
65
+ readonly expected?: WorkflowDeterminismSignalRecord;
66
+ readonly actual?: WorkflowDeterminismSignalRecord;
67
+ }
68
+ export interface DeterminismMismatchQuery {
69
+ readonly kind: 'query';
70
+ readonly index: number;
71
+ readonly expected?: WorkflowDeterminismQueryRecord;
72
+ readonly actual?: WorkflowDeterminismQueryRecord;
73
+ }
74
+ export interface DeterminismMismatchUpdate {
75
+ readonly kind: 'update';
76
+ readonly index: number;
77
+ readonly expected?: WorkflowUpdateDeterminismEntry;
78
+ readonly actual?: WorkflowUpdateDeterminismEntry;
79
+ }
80
+ export type DeterminismMismatch = DeterminismMismatchCommand | DeterminismMismatchRandom | DeterminismMismatchTime | DeterminismMismatchSignal | DeterminismMismatchQuery | DeterminismMismatchUpdate;
59
81
  export declare const DETERMINISM_MARKER_NAME = "temporal-bun-sdk/determinism";
60
82
  /**
61
83
  * Encode a workflow determinism snapshot into a marker payload map suitable for
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/workflow/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/workflow/replay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,KAAK,aAAa,EAAkD,MAAM,oBAAoB,CAAA;AACvG,OAAO,EAAE,KAAK,QAAQ,EAAoC,MAAM,4CAA4C,CAAA;AAC5G,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAA;AAGxE,OAAO,KAAK,EAEV,YAAY,EAcb,MAAM,6CAA6C,CAAA;AAEpD,OAAO,KAAK,EAMV,qBAAqB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAIV,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EAExB,8BAA8B,EAE/B,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAErD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACnD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,CAAA;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAA;CACvD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,CAAA;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,CAAA;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,+BAA+B,CAAA;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAA;CAClD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAA;CACjD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAA;CACjD;AAED,MAAM,MAAM,mBAAmB,GAC3B,0BAA0B,GAC1B,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,wBAAwB,GACxB,yBAAyB,CAAA;AAE7B,eAAO,MAAM,uBAAuB,iCAAiC,CAAA;AAKrE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GACzC,WAAW,aAAa,EACxB,OAAO,sBAAsB,KAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAmBrD,CAAA;AAEJ,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAA;CACvD;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAC1C,OAAO,4BAA4B,KAClC,MAAM,CAAC,MAAM,CAAC,yBAAyB,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,CAkBlE,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAkEnG,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,wBAAwB,EAClC,QAAQ,wBAAwB,KAC/B,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAgGhD,CAAA;AAEJ,eAAO,MAAM,yBAAyB,GAAI,QAAQ,YAAY,EAAE,KAAG,MAAM,GAAG,IAgB3E,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO,wBAAwB,KAAG,wBAWtE,CAAA"}