@frontiers-labs/argon 0.4.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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/dist/annotations.d.ts +23 -0
  4. package/dist/annotations.d.ts.map +1 -0
  5. package/dist/annotations.js +23 -0
  6. package/dist/annotations.js.map +1 -0
  7. package/dist/codegen/client.d.ts +14 -0
  8. package/dist/codegen/client.d.ts.map +1 -0
  9. package/dist/codegen/client.js +964 -0
  10. package/dist/codegen/client.js.map +1 -0
  11. package/dist/codegen/dts.d.ts +3 -0
  12. package/dist/codegen/dts.d.ts.map +1 -0
  13. package/dist/codegen/dts.js +82 -0
  14. package/dist/codegen/dts.js.map +1 -0
  15. package/dist/codegen/js.d.ts +3 -0
  16. package/dist/codegen/js.d.ts.map +1 -0
  17. package/dist/codegen/js.js +278 -0
  18. package/dist/codegen/js.js.map +1 -0
  19. package/dist/codegen/rust.d.ts +6 -0
  20. package/dist/codegen/rust.d.ts.map +1 -0
  21. package/dist/codegen/rust.js +1076 -0
  22. package/dist/codegen/rust.js.map +1 -0
  23. package/dist/component.d.ts +35 -0
  24. package/dist/component.d.ts.map +1 -0
  25. package/dist/component.js +120 -0
  26. package/dist/component.js.map +1 -0
  27. package/dist/diagnostics.d.ts +20 -0
  28. package/dist/diagnostics.d.ts.map +1 -0
  29. package/dist/diagnostics.js +40 -0
  30. package/dist/diagnostics.js.map +1 -0
  31. package/dist/docs.d.ts +3 -0
  32. package/dist/docs.d.ts.map +1 -0
  33. package/dist/docs.js +42 -0
  34. package/dist/docs.js.map +1 -0
  35. package/dist/error-catalog.d.ts +11 -0
  36. package/dist/error-catalog.d.ts.map +1 -0
  37. package/dist/error-catalog.js +92 -0
  38. package/dist/error-catalog.js.map +1 -0
  39. package/dist/html-attrs.d.ts +2 -0
  40. package/dist/html-attrs.d.ts.map +1 -0
  41. package/dist/html-attrs.js +37 -0
  42. package/dist/html-attrs.js.map +1 -0
  43. package/dist/html.d.ts +41 -0
  44. package/dist/html.d.ts.map +1 -0
  45. package/dist/html.js +188 -0
  46. package/dist/html.js.map +1 -0
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +139 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/ir.d.ts +321 -0
  52. package/dist/ir.d.ts.map +1 -0
  53. package/dist/ir.js +243 -0
  54. package/dist/ir.js.map +1 -0
  55. package/dist/jsx.d.ts +31 -0
  56. package/dist/jsx.d.ts.map +1 -0
  57. package/dist/jsx.js +242 -0
  58. package/dist/jsx.js.map +1 -0
  59. package/dist/lower.d.ts +6 -0
  60. package/dist/lower.d.ts.map +1 -0
  61. package/dist/lower.js +1341 -0
  62. package/dist/lower.js.map +1 -0
  63. package/dist/parser.d.ts +3 -0
  64. package/dist/parser.d.ts.map +1 -0
  65. package/dist/parser.js +714 -0
  66. package/dist/parser.js.map +1 -0
  67. package/dist/ssr-subset.d.ts +29 -0
  68. package/dist/ssr-subset.d.ts.map +1 -0
  69. package/dist/ssr-subset.js +119 -0
  70. package/dist/ssr-subset.js.map +1 -0
  71. package/dist/template.d.ts +32 -0
  72. package/dist/template.d.ts.map +1 -0
  73. package/dist/template.js +90 -0
  74. package/dist/template.js.map +1 -0
  75. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/codegen/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ModuleIR } from "../ir.js";
2
+ export declare function compileDts(module: ModuleIR): string;
3
+ //# sourceMappingURL=dts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dts.d.ts","sourceRoot":"","sources":["../../src/codegen/dts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,QAAQ,EAAoB,MAAM,UAAU,CAAC;AAExE,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAqBnD"}
@@ -0,0 +1,82 @@
1
+ // Declaration backend: ModuleIR → a .d.ts companion for the CSR module.
2
+ //
3
+ // Consumers get typed element classes (constructor props and reactive
4
+ // accessors) plus HTMLElementTagNameMap entries, so document.createElement
5
+ // and querySelector return the right type without hand-written casts.
6
+ export function compileDts(module) {
7
+ const structs = reachableStructs(module);
8
+ const interfaces = structs.map(printStruct);
9
+ const classes = module.components.map(printComponent);
10
+ const tagMap = module.components
11
+ .map(c => ` '${c.tagName}': ${c.className};`)
12
+ .join("\n");
13
+ return [
14
+ "// Generated by Argon compiler — do not edit by hand.",
15
+ "",
16
+ ...interfaces,
17
+ ...classes,
18
+ `declare global {
19
+ interface HTMLElementTagNameMap {
20
+ ${tagMap}
21
+ }
22
+ }`,
23
+ "export {};",
24
+ "",
25
+ ].join("\n");
26
+ }
27
+ // Structs reachable from component props, in declaration order.
28
+ function reachableStructs(module) {
29
+ const used = new Set();
30
+ const visit = (type) => {
31
+ if (type.kind === "array" || type.kind === "fixed")
32
+ visit(type.elem);
33
+ else if (type.kind === "tuple")
34
+ for (const e of type.elems)
35
+ visit(e);
36
+ else if (type.kind === "option")
37
+ visit(type.inner);
38
+ else if (type.kind === "struct" && !used.has(type.name)) {
39
+ used.add(type.name);
40
+ for (const field of module.structs.get(type.name)?.fields ?? [])
41
+ visit(field.type);
42
+ }
43
+ };
44
+ for (const component of module.components) {
45
+ for (const prop of component.props)
46
+ visit(prop.type);
47
+ }
48
+ return [...module.structs.values()].filter(s => used.has(s.name));
49
+ }
50
+ function printStruct(struct) {
51
+ const fields = struct.fields.map(f => f.type.kind === "option"
52
+ ? ` ${f.name}?: ${tsType(f.type.inner)};`
53
+ : ` ${f.name}: ${tsType(f.type)};`);
54
+ return `export interface ${struct.name} {\n${fields.join("\n")}\n}\n`;
55
+ }
56
+ function printComponent(component) {
57
+ // Required props must be passed for client-side construction; props with a
58
+ // default (or marked optional) may be omitted.
59
+ const ctorProps = component.props.map(p => {
60
+ const required = p.default === undefined && p.type.kind !== "option";
61
+ return `${p.name}${required ? "" : "?"}: ${tsType(p.type)}`;
62
+ });
63
+ const accessors = component.props.map(p => ` ${p.name}: ${tsType(p.type)};`);
64
+ return `export declare class ${component.className} extends HTMLElement {
65
+ constructor(props?: { ${ctorProps.join("; ")} });
66
+ ${accessors.join("\n")}${accessors.length ? "\n" : ""}}\n`;
67
+ }
68
+ function tsType(type) {
69
+ switch (type.kind) {
70
+ case "string": return "string";
71
+ case "number": return "number";
72
+ case "boolean": return "boolean";
73
+ case "array":
74
+ case "fixed":
75
+ return `${tsType(type.elem)}[]`;
76
+ case "tuple": return `[${type.elems.map(tsType).join(", ")}]`;
77
+ case "struct": return type.name;
78
+ case "option": return `${tsType(type.inner)} | undefined`;
79
+ case "unknown": return "unknown";
80
+ }
81
+ }
82
+ //# sourceMappingURL=dts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dts.js","sourceRoot":"","sources":["../../src/codegen/dts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { IrModule } from '../ir.js';
2
+ export declare function generateJS(module: IrModule): string;
3
+ //# sourceMappingURL=js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../src/codegen/js.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EAET,MAAM,UAAU,CAAC;AAWlB,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CA4BnD"}
@@ -0,0 +1,278 @@
1
+ import ts from 'typescript';
2
+ // ── Public API ─────────────────────────────────────────────────────────────────
3
+ function componentHasCsr(comp) {
4
+ if (comp.renderBodySource)
5
+ return true;
6
+ // Function components: CSR is possible when there is a render template
7
+ if (!comp.hydrateBodySource && comp.renderTemplate.length > 0)
8
+ return true;
9
+ return false;
10
+ }
11
+ export function generateJS(module) {
12
+ const parts = [
13
+ '// Generated by Argon compiler — do not edit by hand.\n',
14
+ ];
15
+ // Data constants
16
+ for (const dc of module.dataConsts) {
17
+ parts.push(`const ${dc.name} = ${literalToJS(dc.value)};\n`);
18
+ }
19
+ // Helper functions (compiled from IR)
20
+ for (const fn of module.functions) {
21
+ const paramsJS = fn.params.map(p => p.name).join(', ');
22
+ const bodyJS = stripTypeAnnotations(`function __wrapper__(${fn.params.map(p => `${p.name}: any`).join(', ')}) {\n${fn.bodySource}\n}`);
23
+ // Extract just the body from the transpiled wrapper
24
+ const body = extractFunctionBody(bodyJS);
25
+ parts.push(`function ${fn.name}(${paramsJS}) {\n${body}\n}\n`);
26
+ }
27
+ // JS-only helper functions (type-stripped from raw source)
28
+ for (const fn of module.jsFunctions) {
29
+ parts.push(stripTypeAnnotations(fn.source) + '\n');
30
+ }
31
+ // Custom element class
32
+ parts.push(componentToJS(module.component));
33
+ return parts.join('\n');
34
+ }
35
+ // ── Literal → JS ───────────────────────────────────────────────────────────────
36
+ function literalToJS(lit) {
37
+ switch (lit.kind) {
38
+ case 'string': return JSON.stringify(lit.value);
39
+ case 'number': return String(lit.value);
40
+ case 'boolean': return String(lit.value);
41
+ case 'array': return `[${lit.elements.map(literalToJS).join(', ')}]`;
42
+ case 'object': {
43
+ const entries = lit.properties.map(p => ` ${JSON.stringify(p.key)}: ${literalToJS(p.value)}`);
44
+ return `{\n${entries.join(',\n')}\n}`;
45
+ }
46
+ }
47
+ }
48
+ // ── Type stripping ─────────────────────────────────────────────────────────────
49
+ function stripTypeAnnotations(source) {
50
+ const result = ts.transpileModule(source, {
51
+ compilerOptions: {
52
+ target: ts.ScriptTarget.ESNext,
53
+ module: ts.ModuleKind.ESNext,
54
+ useDefineForClassFields: false,
55
+ },
56
+ });
57
+ return result.outputText;
58
+ }
59
+ function extractFunctionBody(transpiled) {
60
+ const open = transpiled.indexOf('{');
61
+ const close = transpiled.lastIndexOf('}');
62
+ if (open === -1 || close === -1)
63
+ return transpiled;
64
+ return transpiled.slice(open + 1, close).trim();
65
+ }
66
+ function stripMethodTypes(methodSrc) {
67
+ const classWrapped = `class __X__ extends HTMLElement {\n${methodSrc}\n}`;
68
+ const out = stripTypeAnnotations(classWrapped);
69
+ // Remove the class wrapper lines
70
+ const lines = out.split('\n');
71
+ // Drop first line (class __X__...) and last line (closing })
72
+ const inner = lines.slice(1, lines.length - 2);
73
+ return inner.join('\n').trim();
74
+ }
75
+ function stripExprTypes(source) {
76
+ const result = ts.transpileModule(`const __e = ${source}`, {
77
+ compilerOptions: { target: ts.ScriptTarget.ESNext, module: ts.ModuleKind.ESNext },
78
+ });
79
+ const out = result.outputText.trim();
80
+ const prefix = 'const __e = ';
81
+ if (out.startsWith(prefix)) {
82
+ return out.slice(prefix.length).replace(/;$/, '').trim();
83
+ }
84
+ return source;
85
+ }
86
+ function stripBodyTypes(body, paramsSrc) {
87
+ const src = `class __X__ extends HTMLElement {\n __m__(${paramsSrc}) {\n${body}\n }\n}`;
88
+ const out = stripTypeAnnotations(src);
89
+ const methodMatch = out.match(/__m__\([^)]*\)\s*\{([\s\S]*)\s*\}\s*\}\s*$/);
90
+ if (methodMatch)
91
+ return methodMatch[1].trim();
92
+ // Fallback: crude regex strip
93
+ return body
94
+ .replace(/<[A-Z][A-Za-z<>, [\]|&]*>/g, '') // remove generic params
95
+ .replace(/\s*:\s*[A-Z][A-Za-z<>, [\]|&]+/g, '') // remove type annotations
96
+ .replace(/([^!])!/g, '$1'); // remove non-null assertions
97
+ }
98
+ // ── Component → JS class ───────────────────────────────────────────────────────
99
+ function rewritePropsInRenderBody(js, className, props) {
100
+ let out = js;
101
+ for (const prop of props) {
102
+ out = out.replace(new RegExp(`\\bthis\\.${prop.name}\\b`, 'g'), `this.#${prop.name}`);
103
+ }
104
+ // Static styles field accessed as ClassName.styles → ClassName.#styles
105
+ out = out.replace(new RegExp(`\\b${className}\\.styles\\b`, 'g'), `${className}.#styles`);
106
+ return out;
107
+ }
108
+ // ── IR → JS expression codegen ─────────────────────────────────────────────────
109
+ function irExprToJS(expr, className) {
110
+ switch (expr.kind) {
111
+ case 'self_field':
112
+ return `this.#${expr.field}`;
113
+ case 'local_ref':
114
+ return expr.name === '__styles__' ? `${className}.#styles` : expr.name;
115
+ case 'prop_access':
116
+ return `${irExprToJS(expr.object, className)}.${expr.property}`;
117
+ case 'index':
118
+ return `${irExprToJS(expr.object, className)}[${irExprToJS(expr.index, className)}]`;
119
+ case 'call':
120
+ return `${expr.callee}(${expr.args.map(a => irExprToJS(a, className)).join(', ')})`;
121
+ case 'method_call':
122
+ return `${irExprToJS(expr.receiver, className)}.${expr.method}(${expr.args.map(a => irExprToJS(a, className)).join(', ')})`;
123
+ case 'binary':
124
+ return `(${irExprToJS(expr.left, className)} ${expr.op} ${irExprToJS(expr.right, className)})`;
125
+ case 'eq':
126
+ return `(${irExprToJS(expr.left, className)} === ${irExprToJS(expr.right, className)})`;
127
+ case 'ternary':
128
+ return `(${irExprToJS(expr.condition, className)} ? ${irExprToJS(expr.then, className)} : ${irExprToJS(expr.else, className)})`;
129
+ case 'array_literal':
130
+ return `[${expr.elements.map(e => irExprToJS(e, className)).join(', ')}]`;
131
+ case 'object_literal':
132
+ return `{${expr.properties.map(p => `${JSON.stringify(p.key)}: ${irExprToJS(p.value, className)}`).join(', ')}}`;
133
+ case 'spread':
134
+ return `...${irExprToJS(expr.expr, className)}`;
135
+ case 'template_str': {
136
+ const parts = expr.parts.map(p => p.kind === 'static' ? p.text.replace(/`/g, '\\`').replace(/\\/g, '\\\\') : `\${${irExprToJS(p.expr, className)}}`).join('');
137
+ return `\`${parts}\``;
138
+ }
139
+ case 'literal':
140
+ return literalToJS(expr.value);
141
+ case 'as_expr':
142
+ return irExprToJS(expr.expr, className);
143
+ case 'arrow_fn': {
144
+ const params = expr.params.map(p => p.destructured ? `[${p.destructured.join(', ')}]` : p.name).join(', ');
145
+ if (Array.isArray(expr.body)) {
146
+ const stmts = expr.body.map(s => irStmtToJS(s, className)).join(' ');
147
+ return `(${params}) => { ${stmts} }`;
148
+ }
149
+ return `(${params}) => ${irExprToJS(expr.body, className)}`;
150
+ }
151
+ }
152
+ }
153
+ function irStmtToJS(stmt, className) {
154
+ if (stmt.kind === 'const') {
155
+ const lhs = stmt.names.length === 1 ? stmt.names[0] : `[${stmt.names.join(', ')}]`;
156
+ return `const ${lhs} = ${irExprToJS(stmt.init, className)};`;
157
+ }
158
+ if (stmt.kind === 'return')
159
+ return `return ${irExprToJS(stmt.value, className)};`;
160
+ return `${irExprToJS(stmt.expr, className)};`;
161
+ }
162
+ function renderBodyFromIR(bindings, template, className) {
163
+ const lines = [];
164
+ for (const b of bindings) {
165
+ lines.push(` const ${b.name} = ${irExprToJS(b.init, className)};`);
166
+ }
167
+ const templateBody = template.map(node => node.kind === 'static'
168
+ ? node.text.replace(/\\/g, '\\\\').replace(/`/g, '\\`')
169
+ : `\${${irExprToJS(node.expr, className)}}`).join('');
170
+ lines.push(` return \`${templateBody}\`;`);
171
+ return lines.join('\n');
172
+ }
173
+ function eventBindingsToHydrate(bindings, props, isFunctionComponent) {
174
+ return bindings.map(b => {
175
+ let handler = stripExprTypes(b.handlerSource);
176
+ // For function components, prop names in handlers are bare identifiers; rewrite to this.#prop.
177
+ if (isFunctionComponent) {
178
+ for (const prop of props) {
179
+ // Negative lookbehind/lookahead for quotes so we don't rewrite string literal contents.
180
+ handler = handler.replace(new RegExp(`(?<!['"\\w])\\b${prop.name}\\b(?!['"\\w])`, 'g'), `this.#${prop.name}`);
181
+ }
182
+ }
183
+ return ` root.querySelector('[data-e${b.elementId}]').addEventListener('${b.eventName}', ${handler});`;
184
+ });
185
+ }
186
+ function componentToJS(comp) {
187
+ const { tagName, className, props, styles, renderBodySource, hydrateBodySource, eventBindings, privateMethods, renderBindings, renderTemplate } = comp;
188
+ const isFunctionComponent = !renderBodySource && !hydrateBodySource;
189
+ const hasCsr = componentHasCsr(comp);
190
+ // Static styles — needed so #renderHTML() can embed them
191
+ const stylesField = styles && hasCsr
192
+ ? ` static #styles = ${JSON.stringify(styles)};\n`
193
+ : '';
194
+ // Private field declarations
195
+ const propFields = props.map(p => ` #${p.name} = ${literalToJS(p.defaultValue)};`).join('\n');
196
+ const isCSRField = hasCsr ? ` #isCSR = false;` : '';
197
+ const fields = [propFields, isCSRField].filter(Boolean).join('\n');
198
+ // Constructor (CSR path)
199
+ let constructorBlock = '';
200
+ if (hasCsr) {
201
+ const propInits = props.map(p => ` this.#${p.name} = props.${p.name} ?? ${literalToJS(p.defaultValue)};`).join('\n');
202
+ constructorBlock = `
203
+ constructor(props) {
204
+ super();
205
+ if (props !== undefined) {
206
+ this.#isCSR = true;
207
+ ${propInits}
208
+ const shadow = this.attachShadow({ mode: 'open' });
209
+ shadow.innerHTML = this.#renderHTML();
210
+ this.#hydrate(shadow);
211
+ }
212
+ }
213
+ `;
214
+ }
215
+ // connectedCallback: SSR hydration path
216
+ const attrInits = props.map(p => {
217
+ const def = literalToJS(p.defaultValue);
218
+ return ` this.#${p.name} = this.dataset['${p.name}'] || ${def};`;
219
+ }).join('\n');
220
+ const csrGuard = hasCsr ? ` if (this.#isCSR) return;\n` : '';
221
+ // #hydrate: template-derived event bindings first, then manual body
222
+ const hydrateLines = [
223
+ ...eventBindingsToHydrate(eventBindings, props, isFunctionComponent),
224
+ ...(() => {
225
+ const manual = stripBodyTypes(hydrateBodySource, 'root');
226
+ return manual ? [` ${manual}`] : [];
227
+ })(),
228
+ ];
229
+ const hydrateBody = hydrateLines.join('\n');
230
+ // #renderHTML() for CSR
231
+ let renderMethod = '';
232
+ if (hasCsr) {
233
+ let renderBody;
234
+ if (isFunctionComponent) {
235
+ renderBody = renderBodyFromIR(renderBindings, renderTemplate, className);
236
+ }
237
+ else {
238
+ const rawRenderJS = stripBodyTypes(renderBodySource, '');
239
+ const rewritten = rewritePropsInRenderBody(rawRenderJS, className, props);
240
+ // Strip the html tag — plain template literals work identically at runtime
241
+ renderBody = ` ${rewritten.replace(/\bhtml`/g, '`')}`;
242
+ }
243
+ renderMethod = `
244
+ #renderHTML() {
245
+ ${renderBody}
246
+ }
247
+ `;
248
+ }
249
+ // Private methods — strip types from each
250
+ const privateMethodsJS = privateMethods.map(m => {
251
+ const stripped = stripMethodTypes(m.source);
252
+ return `\n${stripped}`;
253
+ }).join('\n');
254
+ const connectRender = hasCsr
255
+ ? `\n } else {\n const shadow = this.attachShadow({ mode: 'open' });\n shadow.innerHTML = this.#renderHTML();\n this.#hydrate(shadow);\n }`
256
+ : `\n }`;
257
+ return `
258
+ class ${className} extends HTMLElement {
259
+ ${stylesField}${fields}
260
+ ${constructorBlock}
261
+ connectedCallback() {
262
+ ${csrGuard}${attrInits}
263
+ if (this.shadowRoot) {
264
+ this.#hydrate(this.shadowRoot);
265
+ ${connectRender}
266
+ this.setAttribute('hydrated', '');
267
+ }
268
+
269
+ #hydrate(root) {
270
+ ${hydrateBody}
271
+ }
272
+ ${renderMethod}${privateMethodsJS}
273
+ }
274
+
275
+ customElements.define('${tagName}', ${className});
276
+ `;
277
+ }
278
+ //# sourceMappingURL=js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/codegen/js.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type ModuleIR } from "../ir.js";
2
+ export interface RustOptions {
3
+ compat03?: boolean;
4
+ }
5
+ export declare function compileRust(module: ModuleIR, opts?: RustOptions): string;
6
+ //# sourceMappingURL=rust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/codegen/rust.ts"],"names":[],"mappings":"AAOA,OAAO,EAWL,KAAK,QAAQ,EAKd,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,WAAW;IAG1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,MAAM,CAG5E"}