@aigne/ash 0.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 (146) hide show
  1. package/DESIGN.md +41 -0
  2. package/dist/ai-dev-loop/ash-run-result.cjs +12 -0
  3. package/dist/ai-dev-loop/ash-run-result.d.cts +28 -0
  4. package/dist/ai-dev-loop/ash-run-result.d.cts.map +1 -0
  5. package/dist/ai-dev-loop/ash-run-result.d.mts +28 -0
  6. package/dist/ai-dev-loop/ash-run-result.d.mts.map +1 -0
  7. package/dist/ai-dev-loop/ash-run-result.mjs +11 -0
  8. package/dist/ai-dev-loop/ash-run-result.mjs.map +1 -0
  9. package/dist/ai-dev-loop/ash-typed-error.cjs +51 -0
  10. package/dist/ai-dev-loop/ash-typed-error.d.cts +54 -0
  11. package/dist/ai-dev-loop/ash-typed-error.d.cts.map +1 -0
  12. package/dist/ai-dev-loop/ash-typed-error.d.mts +54 -0
  13. package/dist/ai-dev-loop/ash-typed-error.d.mts.map +1 -0
  14. package/dist/ai-dev-loop/ash-typed-error.mjs +50 -0
  15. package/dist/ai-dev-loop/ash-typed-error.mjs.map +1 -0
  16. package/dist/ai-dev-loop/ash-validate.cjs +27 -0
  17. package/dist/ai-dev-loop/ash-validate.d.cts +7 -0
  18. package/dist/ai-dev-loop/ash-validate.d.cts.map +1 -0
  19. package/dist/ai-dev-loop/ash-validate.d.mts +7 -0
  20. package/dist/ai-dev-loop/ash-validate.d.mts.map +1 -0
  21. package/dist/ai-dev-loop/ash-validate.mjs +28 -0
  22. package/dist/ai-dev-loop/ash-validate.mjs.map +1 -0
  23. package/dist/ai-dev-loop/dev-loop.cjs +134 -0
  24. package/dist/ai-dev-loop/dev-loop.d.cts +28 -0
  25. package/dist/ai-dev-loop/dev-loop.d.cts.map +1 -0
  26. package/dist/ai-dev-loop/dev-loop.d.mts +28 -0
  27. package/dist/ai-dev-loop/dev-loop.d.mts.map +1 -0
  28. package/dist/ai-dev-loop/dev-loop.mjs +135 -0
  29. package/dist/ai-dev-loop/dev-loop.mjs.map +1 -0
  30. package/dist/ai-dev-loop/index.cjs +24 -0
  31. package/dist/ai-dev-loop/index.d.cts +9 -0
  32. package/dist/ai-dev-loop/index.d.mts +9 -0
  33. package/dist/ai-dev-loop/index.mjs +10 -0
  34. package/dist/ai-dev-loop/live-mode.cjs +17 -0
  35. package/dist/ai-dev-loop/live-mode.d.cts +24 -0
  36. package/dist/ai-dev-loop/live-mode.d.cts.map +1 -0
  37. package/dist/ai-dev-loop/live-mode.d.mts +24 -0
  38. package/dist/ai-dev-loop/live-mode.d.mts.map +1 -0
  39. package/dist/ai-dev-loop/live-mode.mjs +17 -0
  40. package/dist/ai-dev-loop/live-mode.mjs.map +1 -0
  41. package/dist/ai-dev-loop/meta-tools.cjs +123 -0
  42. package/dist/ai-dev-loop/meta-tools.d.cts +24 -0
  43. package/dist/ai-dev-loop/meta-tools.d.cts.map +1 -0
  44. package/dist/ai-dev-loop/meta-tools.d.mts +24 -0
  45. package/dist/ai-dev-loop/meta-tools.d.mts.map +1 -0
  46. package/dist/ai-dev-loop/meta-tools.mjs +120 -0
  47. package/dist/ai-dev-loop/meta-tools.mjs.map +1 -0
  48. package/dist/ai-dev-loop/structured-runner.cjs +154 -0
  49. package/dist/ai-dev-loop/structured-runner.d.cts +12 -0
  50. package/dist/ai-dev-loop/structured-runner.d.cts.map +1 -0
  51. package/dist/ai-dev-loop/structured-runner.d.mts +12 -0
  52. package/dist/ai-dev-loop/structured-runner.d.mts.map +1 -0
  53. package/dist/ai-dev-loop/structured-runner.mjs +155 -0
  54. package/dist/ai-dev-loop/structured-runner.mjs.map +1 -0
  55. package/dist/ai-dev-loop/system-prompt.cjs +55 -0
  56. package/dist/ai-dev-loop/system-prompt.d.cts +20 -0
  57. package/dist/ai-dev-loop/system-prompt.d.cts.map +1 -0
  58. package/dist/ai-dev-loop/system-prompt.d.mts +20 -0
  59. package/dist/ai-dev-loop/system-prompt.d.mts.map +1 -0
  60. package/dist/ai-dev-loop/system-prompt.mjs +54 -0
  61. package/dist/ai-dev-loop/system-prompt.mjs.map +1 -0
  62. package/dist/ast.d.cts +140 -0
  63. package/dist/ast.d.cts.map +1 -0
  64. package/dist/ast.d.mts +140 -0
  65. package/dist/ast.d.mts.map +1 -0
  66. package/dist/compiler.cjs +802 -0
  67. package/dist/compiler.d.cts +103 -0
  68. package/dist/compiler.d.cts.map +1 -0
  69. package/dist/compiler.d.mts +103 -0
  70. package/dist/compiler.d.mts.map +1 -0
  71. package/dist/compiler.mjs +802 -0
  72. package/dist/compiler.mjs.map +1 -0
  73. package/dist/index.cjs +14 -0
  74. package/dist/index.d.cts +7 -0
  75. package/dist/index.d.mts +7 -0
  76. package/dist/index.mjs +7 -0
  77. package/dist/lexer.cjs +451 -0
  78. package/dist/lexer.d.cts +14 -0
  79. package/dist/lexer.d.cts.map +1 -0
  80. package/dist/lexer.d.mts +14 -0
  81. package/dist/lexer.d.mts.map +1 -0
  82. package/dist/lexer.mjs +451 -0
  83. package/dist/lexer.mjs.map +1 -0
  84. package/dist/parser.cjs +734 -0
  85. package/dist/parser.d.cts +40 -0
  86. package/dist/parser.d.cts.map +1 -0
  87. package/dist/parser.d.mts +40 -0
  88. package/dist/parser.d.mts.map +1 -0
  89. package/dist/parser.mjs +734 -0
  90. package/dist/parser.mjs.map +1 -0
  91. package/dist/reference.cjs +130 -0
  92. package/dist/reference.d.cts +11 -0
  93. package/dist/reference.d.cts.map +1 -0
  94. package/dist/reference.d.mts +11 -0
  95. package/dist/reference.d.mts.map +1 -0
  96. package/dist/reference.mjs +130 -0
  97. package/dist/reference.mjs.map +1 -0
  98. package/dist/template.cjs +85 -0
  99. package/dist/template.mjs +84 -0
  100. package/dist/template.mjs.map +1 -0
  101. package/dist/type-checker.cjs +582 -0
  102. package/dist/type-checker.d.cts +31 -0
  103. package/dist/type-checker.d.cts.map +1 -0
  104. package/dist/type-checker.d.mts +31 -0
  105. package/dist/type-checker.d.mts.map +1 -0
  106. package/dist/type-checker.mjs +573 -0
  107. package/dist/type-checker.mjs.map +1 -0
  108. package/package.json +29 -0
  109. package/src/ai-dev-loop/ash-run-result.test.ts +113 -0
  110. package/src/ai-dev-loop/ash-run-result.ts +46 -0
  111. package/src/ai-dev-loop/ash-typed-error.test.ts +136 -0
  112. package/src/ai-dev-loop/ash-typed-error.ts +50 -0
  113. package/src/ai-dev-loop/ash-validate.test.ts +54 -0
  114. package/src/ai-dev-loop/ash-validate.ts +34 -0
  115. package/src/ai-dev-loop/dev-loop.test.ts +364 -0
  116. package/src/ai-dev-loop/dev-loop.ts +156 -0
  117. package/src/ai-dev-loop/dry-run.test.ts +107 -0
  118. package/src/ai-dev-loop/e2e-multi-fix.test.ts +473 -0
  119. package/src/ai-dev-loop/e2e.test.ts +324 -0
  120. package/src/ai-dev-loop/index.ts +15 -0
  121. package/src/ai-dev-loop/invariants.test.ts +253 -0
  122. package/src/ai-dev-loop/live-mode.test.ts +63 -0
  123. package/src/ai-dev-loop/live-mode.ts +33 -0
  124. package/src/ai-dev-loop/meta-tools.test.ts +120 -0
  125. package/src/ai-dev-loop/meta-tools.ts +142 -0
  126. package/src/ai-dev-loop/structured-runner.test.ts +159 -0
  127. package/src/ai-dev-loop/structured-runner.ts +209 -0
  128. package/src/ai-dev-loop/system-prompt.test.ts +102 -0
  129. package/src/ai-dev-loop/system-prompt.ts +81 -0
  130. package/src/ast.ts +186 -0
  131. package/src/compiler.test.ts +2933 -0
  132. package/src/compiler.ts +1103 -0
  133. package/src/e2e.test.ts +552 -0
  134. package/src/index.ts +16 -0
  135. package/src/lexer.test.ts +538 -0
  136. package/src/lexer.ts +222 -0
  137. package/src/parser.test.ts +1024 -0
  138. package/src/parser.ts +835 -0
  139. package/src/reference.test.ts +166 -0
  140. package/src/reference.ts +125 -0
  141. package/src/template.test.ts +210 -0
  142. package/src/template.ts +139 -0
  143. package/src/type-checker.test.ts +1494 -0
  144. package/src/type-checker.ts +785 -0
  145. package/tsconfig.json +9 -0
  146. package/tsdown.config.ts +12 -0
@@ -0,0 +1,103 @@
1
+ import { Program, QueryCondition, TriggerDeclaration } from "./ast.cjs";
2
+ import { AshDiagnostic } from "./type-checker.cjs";
3
+
4
+ //#region src/compiler.d.ts
5
+ interface CompileResult {
6
+ program?: CompiledProgram;
7
+ diagnostics: AshDiagnostic[];
8
+ sourceHash?: string;
9
+ }
10
+ declare function compileSource(source: string): CompileResult;
11
+ interface OutputEvent {
12
+ kind: "text";
13
+ content: string;
14
+ context?: LogContext;
15
+ }
16
+ interface OutputHandler {
17
+ output(event: OutputEvent): void;
18
+ }
19
+ interface JobContext {
20
+ world: WorldInterface;
21
+ caps: Set<string>;
22
+ logger: JobLogger;
23
+ output?: OutputHandler;
24
+ }
25
+ interface WorldInterface {
26
+ read(path: string, query?: QueryCondition): unknown[] | Promise<unknown[]>;
27
+ write(path: string, data: unknown[]): void;
28
+ publish(topic: string, data: unknown[]): void;
29
+ exec?(path: string, input: unknown[], params?: Record<string, unknown>): Promise<unknown[]>;
30
+ input?(prompt: string): string | Promise<string>;
31
+ }
32
+ interface LogContext {
33
+ programId?: string;
34
+ procId?: string;
35
+ agentId?: string;
36
+ sessionId?: string;
37
+ jobName?: string;
38
+ stageIndex?: number;
39
+ }
40
+ interface JobLogger {
41
+ log(stage: string, action: string, detail?: unknown): void;
42
+ emit?(level: "debug" | "info" | "warn" | "error", message: string, context?: LogContext): void;
43
+ }
44
+ interface JobResult {
45
+ status: "ok" | "error" | "partial";
46
+ recordCount: number;
47
+ errors: string[];
48
+ }
49
+ interface StageMetrics {
50
+ name: string;
51
+ index: number;
52
+ inputCount: number;
53
+ outputCount: number;
54
+ durationMs: number;
55
+ error?: string;
56
+ }
57
+ interface JobReport extends JobResult {
58
+ jobName: string;
59
+ totalDurationMs: number;
60
+ stages: StageMetrics[];
61
+ }
62
+ interface ProgramReport {
63
+ jobs: JobReport[];
64
+ totalDurationMs: number;
65
+ }
66
+ interface CompiledJob {
67
+ kind: "job";
68
+ name: string;
69
+ trigger?: TriggerDeclaration;
70
+ execute(ctx: JobContext, initialStream?: unknown[]): Promise<JobResult>;
71
+ }
72
+ interface CompiledOutput {
73
+ kind: "output";
74
+ message: string;
75
+ execute(ctx: JobContext): Promise<void>;
76
+ }
77
+ type CompiledUnit = CompiledJob | CompiledOutput;
78
+ interface CompiledProgram {
79
+ jobs: CompiledJob[];
80
+ units: CompiledUnit[];
81
+ jobMap: Map<string, CompiledJob>;
82
+ params: Map<string, string | number>;
83
+ routeTargets?: Set<string>;
84
+ }
85
+ declare class AshCompiler {
86
+ private _currentJobName?;
87
+ private _currentStageIndex?;
88
+ private _jobMap;
89
+ compile(ast: Program): CompiledProgram;
90
+ private compileStatement;
91
+ private compileTopLevelOutput;
92
+ private compileJob;
93
+ private executeStage;
94
+ private resolveQueryVars;
95
+ private resolveWhereVars;
96
+ private evaluateWhere;
97
+ private resolveField;
98
+ private evaluateExpression;
99
+ private executeFanout;
100
+ }
101
+ //#endregion
102
+ export { AshCompiler, CompileResult, CompiledJob, CompiledOutput, CompiledProgram, CompiledUnit, JobContext, JobLogger, JobReport, JobResult, OutputEvent, OutputHandler, ProgramReport, StageMetrics, WorldInterface, compileSource };
103
+ //# sourceMappingURL=compiler.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.cts","names":[],"sources":["../src/compiler.ts"],"mappings":";;;;UAOiB,aAAA;EACf,OAAA,GAAU,eAAA;EACV,WAAA,EAAa,aAAA;EACb,UAAA;AAAA;AAAA,iBAuBc,aAAA,CAAc,MAAA,WAAiB,aAAA;AAAA,UAgQ9B,WAAA;EACf,IAAA;EACA,OAAA;EACA,OAAA,GAAU,UAAA;AAAA;AAAA,UAGK,aAAA;EACf,MAAA,CAAO,KAAA,EAAO,WAAA;AAAA;AAAA,UAGC,UAAA;EACf,KAAA,EAAO,cAAA;EACP,IAAA,EAAM,GAAA;EACN,MAAA,EAAQ,SAAA;EACR,MAAA,GAAS,aAAA;AAAA;AAAA,UAGM,cAAA;EACf,IAAA,CAAK,IAAA,UAAc,KAAA,GAAQ,cAAA,eAA6B,OAAA;EACxD,KAAA,CAAM,IAAA,UAAc,IAAA;EACpB,OAAA,CAAQ,KAAA,UAAe,IAAA;EACvB,IAAA,EAAM,IAAA,UAAc,KAAA,aAAkB,MAAA,GAAS,MAAA,oBAA0B,OAAA;EACzE,KAAA,EAAO,MAAA,oBAA0B,OAAA;AAAA;AAAA,UAGlB,UAAA;EACf,SAAA;EACA,MAAA;EACA,OAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,UAGe,SAAA;EACf,GAAA,CAAI,KAAA,UAAe,MAAA,UAAgB,MAAA;EACnC,IAAA,EAAM,KAAA,uCAA4C,OAAA,UAAiB,OAAA,GAAU,UAAA;AAAA;AAAA,UAG9D,SAAA;EACf,MAAA;EACA,WAAA;EACA,MAAA;AAAA;AAAA,UAGe,YAAA;EACf,IAAA;EACA,KAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,KAAA;AAAA;AAAA,UAGe,SAAA,SAAkB,SAAA;EACjC,OAAA;EACA,eAAA;EACA,MAAA,EAAQ,YAAA;AAAA;AAAA,UAGO,aAAA;EACf,IAAA,EAAM,SAAA;EACN,eAAA;AAAA;AAAA,UAGe,WAAA;EACf,IAAA;EACA,IAAA;EACA,OAAA,GAAU,kBAAA;EACV,OAAA,CAAQ,GAAA,EAAK,UAAA,EAAY,aAAA,eAA4B,OAAA,CAAQ,SAAA;AAAA;AAAA,UAG9C,cAAA;EACf,IAAA;EACA,OAAA;EACA,OAAA,CAAQ,GAAA,EAAK,UAAA,GAAa,OAAA;AAAA;AAAA,KAGhB,YAAA,GAAe,WAAA,GAAc,cAAA;AAAA,UAExB,eAAA;EACf,IAAA,EAAM,WAAA;EACN,KAAA,EAAO,YAAA;EACP,MAAA,EAAQ,GAAA,SAAY,WAAA;EACpB,MAAA,EAAQ,GAAA;EACR,YAAA,GAAe,GAAA;AAAA;AAAA,cAqCJ,WAAA;EAAA,QACH,eAAA;EAAA,QACA,kBAAA;EAAA,QACA,OAAA;EAER,OAAA,CAAQ,GAAA,EAAK,OAAA,GAAU,eAAA;EAAA,QAmDf,gBAAA;EAAA,QAOA,qBAAA;EAAA,QAWA,UAAA;EAAA,QA+MM,YAAA;EAAA,QA2SN,gBAAA;EAAA,QAWA,gBAAA;EAAA,QAYA,aAAA;EAAA,QAwBA,YAAA;EAAA,QAWA,kBAAA;EAAA,QAqCM,aAAA;AAAA"}
@@ -0,0 +1,103 @@
1
+ import { Program, QueryCondition, TriggerDeclaration } from "./ast.mjs";
2
+ import { AshDiagnostic } from "./type-checker.mjs";
3
+
4
+ //#region src/compiler.d.ts
5
+ interface CompileResult {
6
+ program?: CompiledProgram;
7
+ diagnostics: AshDiagnostic[];
8
+ sourceHash?: string;
9
+ }
10
+ declare function compileSource(source: string): CompileResult;
11
+ interface OutputEvent {
12
+ kind: "text";
13
+ content: string;
14
+ context?: LogContext;
15
+ }
16
+ interface OutputHandler {
17
+ output(event: OutputEvent): void;
18
+ }
19
+ interface JobContext {
20
+ world: WorldInterface;
21
+ caps: Set<string>;
22
+ logger: JobLogger;
23
+ output?: OutputHandler;
24
+ }
25
+ interface WorldInterface {
26
+ read(path: string, query?: QueryCondition): unknown[] | Promise<unknown[]>;
27
+ write(path: string, data: unknown[]): void;
28
+ publish(topic: string, data: unknown[]): void;
29
+ exec?(path: string, input: unknown[], params?: Record<string, unknown>): Promise<unknown[]>;
30
+ input?(prompt: string): string | Promise<string>;
31
+ }
32
+ interface LogContext {
33
+ programId?: string;
34
+ procId?: string;
35
+ agentId?: string;
36
+ sessionId?: string;
37
+ jobName?: string;
38
+ stageIndex?: number;
39
+ }
40
+ interface JobLogger {
41
+ log(stage: string, action: string, detail?: unknown): void;
42
+ emit?(level: "debug" | "info" | "warn" | "error", message: string, context?: LogContext): void;
43
+ }
44
+ interface JobResult {
45
+ status: "ok" | "error" | "partial";
46
+ recordCount: number;
47
+ errors: string[];
48
+ }
49
+ interface StageMetrics {
50
+ name: string;
51
+ index: number;
52
+ inputCount: number;
53
+ outputCount: number;
54
+ durationMs: number;
55
+ error?: string;
56
+ }
57
+ interface JobReport extends JobResult {
58
+ jobName: string;
59
+ totalDurationMs: number;
60
+ stages: StageMetrics[];
61
+ }
62
+ interface ProgramReport {
63
+ jobs: JobReport[];
64
+ totalDurationMs: number;
65
+ }
66
+ interface CompiledJob {
67
+ kind: "job";
68
+ name: string;
69
+ trigger?: TriggerDeclaration;
70
+ execute(ctx: JobContext, initialStream?: unknown[]): Promise<JobResult>;
71
+ }
72
+ interface CompiledOutput {
73
+ kind: "output";
74
+ message: string;
75
+ execute(ctx: JobContext): Promise<void>;
76
+ }
77
+ type CompiledUnit = CompiledJob | CompiledOutput;
78
+ interface CompiledProgram {
79
+ jobs: CompiledJob[];
80
+ units: CompiledUnit[];
81
+ jobMap: Map<string, CompiledJob>;
82
+ params: Map<string, string | number>;
83
+ routeTargets?: Set<string>;
84
+ }
85
+ declare class AshCompiler {
86
+ private _currentJobName?;
87
+ private _currentStageIndex?;
88
+ private _jobMap;
89
+ compile(ast: Program): CompiledProgram;
90
+ private compileStatement;
91
+ private compileTopLevelOutput;
92
+ private compileJob;
93
+ private executeStage;
94
+ private resolveQueryVars;
95
+ private resolveWhereVars;
96
+ private evaluateWhere;
97
+ private resolveField;
98
+ private evaluateExpression;
99
+ private executeFanout;
100
+ }
101
+ //#endregion
102
+ export { AshCompiler, CompileResult, CompiledJob, CompiledOutput, CompiledProgram, CompiledUnit, JobContext, JobLogger, JobReport, JobResult, OutputEvent, OutputHandler, ProgramReport, StageMetrics, WorldInterface, compileSource };
103
+ //# sourceMappingURL=compiler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.mts","names":[],"sources":["../src/compiler.ts"],"mappings":";;;;UAOiB,aAAA;EACf,OAAA,GAAU,eAAA;EACV,WAAA,EAAa,aAAA;EACb,UAAA;AAAA;AAAA,iBAuBc,aAAA,CAAc,MAAA,WAAiB,aAAA;AAAA,UAgQ9B,WAAA;EACf,IAAA;EACA,OAAA;EACA,OAAA,GAAU,UAAA;AAAA;AAAA,UAGK,aAAA;EACf,MAAA,CAAO,KAAA,EAAO,WAAA;AAAA;AAAA,UAGC,UAAA;EACf,KAAA,EAAO,cAAA;EACP,IAAA,EAAM,GAAA;EACN,MAAA,EAAQ,SAAA;EACR,MAAA,GAAS,aAAA;AAAA;AAAA,UAGM,cAAA;EACf,IAAA,CAAK,IAAA,UAAc,KAAA,GAAQ,cAAA,eAA6B,OAAA;EACxD,KAAA,CAAM,IAAA,UAAc,IAAA;EACpB,OAAA,CAAQ,KAAA,UAAe,IAAA;EACvB,IAAA,EAAM,IAAA,UAAc,KAAA,aAAkB,MAAA,GAAS,MAAA,oBAA0B,OAAA;EACzE,KAAA,EAAO,MAAA,oBAA0B,OAAA;AAAA;AAAA,UAGlB,UAAA;EACf,SAAA;EACA,MAAA;EACA,OAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,UAGe,SAAA;EACf,GAAA,CAAI,KAAA,UAAe,MAAA,UAAgB,MAAA;EACnC,IAAA,EAAM,KAAA,uCAA4C,OAAA,UAAiB,OAAA,GAAU,UAAA;AAAA;AAAA,UAG9D,SAAA;EACf,MAAA;EACA,WAAA;EACA,MAAA;AAAA;AAAA,UAGe,YAAA;EACf,IAAA;EACA,KAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,KAAA;AAAA;AAAA,UAGe,SAAA,SAAkB,SAAA;EACjC,OAAA;EACA,eAAA;EACA,MAAA,EAAQ,YAAA;AAAA;AAAA,UAGO,aAAA;EACf,IAAA,EAAM,SAAA;EACN,eAAA;AAAA;AAAA,UAGe,WAAA;EACf,IAAA;EACA,IAAA;EACA,OAAA,GAAU,kBAAA;EACV,OAAA,CAAQ,GAAA,EAAK,UAAA,EAAY,aAAA,eAA4B,OAAA,CAAQ,SAAA;AAAA;AAAA,UAG9C,cAAA;EACf,IAAA;EACA,OAAA;EACA,OAAA,CAAQ,GAAA,EAAK,UAAA,GAAa,OAAA;AAAA;AAAA,KAGhB,YAAA,GAAe,WAAA,GAAc,cAAA;AAAA,UAExB,eAAA;EACf,IAAA,EAAM,WAAA;EACN,KAAA,EAAO,YAAA;EACP,MAAA,EAAQ,GAAA,SAAY,WAAA;EACpB,MAAA,EAAQ,GAAA;EACR,YAAA,GAAe,GAAA;AAAA;AAAA,cAqCJ,WAAA;EAAA,QACH,eAAA;EAAA,QACA,kBAAA;EAAA,QACA,OAAA;EAER,OAAA,CAAQ,GAAA,EAAK,OAAA,GAAU,eAAA;EAAA,QAmDf,gBAAA;EAAA,QAOA,qBAAA;EAAA,QAWA,UAAA;EAAA,QA+MM,YAAA;EAAA,QA2SN,gBAAA;EAAA,QAWA,gBAAA;EAAA,QAYA,aAAA;EAAA,QAwBA,YAAA;EAAA,QAWA,kBAAA;EAAA,QAqCM,aAAA;AAAA"}