@wire-dsl/language-support 0.0.3 → 0.2.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.
- package/README.md +1 -1
- package/dist/completions.d.ts +1 -1
- package/dist/completions.d.ts.map +1 -1
- package/dist/completions.js +55 -95
- package/dist/completions.js.map +1 -1
- package/dist/components.d.ts +14 -12
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +342 -169
- package/dist/components.js.map +1 -1
- package/dist/context-detection.d.ts.map +1 -1
- package/dist/context-detection.js +8 -9
- package/dist/context-detection.js.map +1 -1
- package/dist/documentation.d.ts.map +1 -1
- package/dist/documentation.js +25 -20
- package/dist/documentation.js.map +1 -1
- package/dist/generate-grammar.d.ts.map +1 -1
- package/dist/generate-grammar.js +31 -4
- package/dist/generate-grammar.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ const suggestions = getCompletions('but'); // → [button, ...]
|
|
|
23
23
|
|
|
24
24
|
## What's Included
|
|
25
25
|
|
|
26
|
-
- **Core Keywords** - project, screen,
|
|
26
|
+
- **Core Keywords** - project, screen, style, layout, component, define
|
|
27
27
|
- **30+ UI Components** - All built-in components with autocomplete
|
|
28
28
|
- **Autocomplete Logic** - Context-aware suggestions
|
|
29
29
|
- **Syntax Grammar** - For Monaco, VS Code, and TextMate editors
|
package/dist/completions.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export declare function getPropertyValueSuggestions(componentName: string, prope
|
|
|
63
63
|
*
|
|
64
64
|
* Hierarchy:
|
|
65
65
|
* - empty-file: suggest 'project' to start
|
|
66
|
-
* - inside-project: suggest project-level keywords (screen,
|
|
66
|
+
* - inside-project: suggest project-level keywords (screen, style, colors, mocks, define)
|
|
67
67
|
* - inside-screen: suggest 'layout' keyword and containers (stack, grid, split, panel, card)
|
|
68
68
|
* - inside-layout: suggest components and nested layouts
|
|
69
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../src/completions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAGD,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAGlD,eAAO,MAAM,mBAAmB,EAAE,cAAc,EA6B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAoCjD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../src/completions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAGD,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAGlD,eAAO,MAAM,mBAAmB,EAAE,cAAc,EA6B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAoCjD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAUjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAAc,EA8EhD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAItE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GACf;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,EAAE,CAU/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAcpF;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,MAAM,EACrB,oBAAoB,GAAE,MAAM,EAAO,GAClC,oBAAoB,EAAE,CAiBxB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,oBAAoB,EAAE,CAgBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,GAAG,gBAAgB,GAAG,eAAe,GAAG,eAAe,GACzE,oBAAoB,EAAE,CAuFxB;;;;;;;;;;;;;;;AAED,wBAaE"}
|
package/dist/completions.js
CHANGED
|
@@ -23,7 +23,7 @@ export const KEYWORD_COMPLETIONS = [
|
|
|
23
23
|
label: 'component',
|
|
24
24
|
kind: 'Keyword',
|
|
25
25
|
detail: 'Use a component',
|
|
26
|
-
documentation: 'component Button
|
|
26
|
+
documentation: 'component Button text: "Click"',
|
|
27
27
|
insertText: 'component ',
|
|
28
28
|
},
|
|
29
29
|
{
|
|
@@ -72,69 +72,15 @@ export const CONTAINER_COMPLETIONS = [
|
|
|
72
72
|
},
|
|
73
73
|
];
|
|
74
74
|
export const COMPONENT_COMPLETIONS = [
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
documentation: 'button { label: "Click me" }',
|
|
80
|
-
insertText: 'button {\n\tid: "${1:btn}"\n\tlabel: "${2:Click}"\n\t$0\n}',
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
label: 'text',
|
|
84
|
-
kind: 'Component',
|
|
85
|
-
detail: 'Text content',
|
|
86
|
-
documentation: 'text { label: "Content" }',
|
|
87
|
-
insertText: 'text {\n\tlabel: "${1:Content}"\n\t$0\n}',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
label: 'input',
|
|
91
|
-
kind: 'Component',
|
|
92
|
-
detail: 'Text input field',
|
|
93
|
-
documentation: 'input { placeholder: "Enter..." }',
|
|
94
|
-
insertText: 'input {\n\tid: "${1:input}"\n\tplaceholder: "${2:Enter...}"\n\t$0\n}',
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
label: 'label',
|
|
98
|
-
kind: 'Component',
|
|
99
|
-
detail: 'Form label',
|
|
100
|
-
documentation: 'label { label: "Name" }',
|
|
101
|
-
insertText: 'label {\n\tlabel: "${1:Name}"\n\t$0\n}',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
label: 'select',
|
|
105
|
-
kind: 'Component',
|
|
106
|
-
detail: 'Dropdown select',
|
|
107
|
-
documentation: 'select { ... }',
|
|
108
|
-
insertText: 'select {\n\tid: "${1:select}"\n\t$0\n}',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
label: 'checkbox',
|
|
112
|
-
kind: 'Component',
|
|
113
|
-
detail: 'Checkbox input',
|
|
114
|
-
documentation: 'checkbox { label: "Agree" }',
|
|
115
|
-
insertText: 'checkbox {\n\tid: "${1:check}"\n\tlabel: "${2:Agree}"\n\t$0\n}',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
label: 'textarea',
|
|
119
|
-
kind: 'Component',
|
|
120
|
-
detail: 'Multi-line text area',
|
|
121
|
-
documentation: 'textarea { ... }',
|
|
122
|
-
insertText: 'textarea {\n\tid: "${1:textarea}"\n\tplaceholder: "${2:Enter text...}"\n\t$0\n}',
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
label: 'table',
|
|
126
|
-
kind: 'Component',
|
|
127
|
-
detail: 'Data table',
|
|
128
|
-
documentation: 'table { ... }',
|
|
129
|
-
insertText: 'table {\n\tid: "${1:table}"\n\t$0\n}',
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
label: 'form',
|
|
75
|
+
...Object.entries(COMPONENTS)
|
|
76
|
+
.filter(([name]) => /^[A-Z]/.test(name))
|
|
77
|
+
.map(([name, meta]) => ({
|
|
78
|
+
label: name,
|
|
133
79
|
kind: 'Component',
|
|
134
|
-
detail:
|
|
135
|
-
documentation:
|
|
136
|
-
insertText:
|
|
137
|
-
},
|
|
80
|
+
detail: meta.description,
|
|
81
|
+
documentation: meta.description,
|
|
82
|
+
insertText: `${name} `,
|
|
83
|
+
})),
|
|
138
84
|
];
|
|
139
85
|
export const PROPERTY_COMPLETIONS = [
|
|
140
86
|
{
|
|
@@ -155,15 +101,15 @@ export const PROPERTY_COMPLETIONS = [
|
|
|
155
101
|
label: 'width',
|
|
156
102
|
kind: 'Property',
|
|
157
103
|
detail: 'Element width',
|
|
158
|
-
documentation: 'width:
|
|
159
|
-
insertText: 'width: ${1:
|
|
104
|
+
documentation: 'width: 200',
|
|
105
|
+
insertText: 'width: ${1:200}',
|
|
160
106
|
},
|
|
161
107
|
{
|
|
162
108
|
label: 'height',
|
|
163
109
|
kind: 'Property',
|
|
164
110
|
detail: 'Element height',
|
|
165
|
-
documentation: 'height:
|
|
166
|
-
insertText: 'height: ${1:
|
|
111
|
+
documentation: 'height: 120',
|
|
112
|
+
insertText: 'height: ${1:120}',
|
|
167
113
|
},
|
|
168
114
|
{
|
|
169
115
|
label: 'gap',
|
|
@@ -176,8 +122,15 @@ export const PROPERTY_COMPLETIONS = [
|
|
|
176
122
|
label: 'padding',
|
|
177
123
|
kind: 'Property',
|
|
178
124
|
detail: 'Internal spacing',
|
|
179
|
-
documentation: 'padding:
|
|
180
|
-
insertText: 'padding: ${1:
|
|
125
|
+
documentation: 'padding: md',
|
|
126
|
+
insertText: 'padding: ${1:none|xs|sm|md|lg|xl}',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
label: 'spacing',
|
|
130
|
+
kind: 'Property',
|
|
131
|
+
detail: 'Spacing token',
|
|
132
|
+
documentation: 'spacing: sm',
|
|
133
|
+
insertText: 'spacing: ${1:none|xs|sm|md|lg|xl}',
|
|
181
134
|
},
|
|
182
135
|
{
|
|
183
136
|
label: 'color',
|
|
@@ -197,15 +150,15 @@ export const PROPERTY_COMPLETIONS = [
|
|
|
197
150
|
label: 'border',
|
|
198
151
|
kind: 'Property',
|
|
199
152
|
detail: 'Border style',
|
|
200
|
-
documentation: 'border:
|
|
201
|
-
insertText: 'border: ${1:
|
|
153
|
+
documentation: 'border: true',
|
|
154
|
+
insertText: 'border: ${1:true|false}',
|
|
202
155
|
},
|
|
203
156
|
{
|
|
204
157
|
label: 'variant',
|
|
205
158
|
kind: 'Property',
|
|
206
159
|
detail: 'Style variant',
|
|
207
|
-
documentation: 'variant: primary|secondary',
|
|
208
|
-
insertText: 'variant: ${1:primary|secondary}',
|
|
160
|
+
documentation: 'variant: default|primary|secondary|success|warning|danger|info',
|
|
161
|
+
insertText: 'variant: ${1:default|primary|secondary|success|warning|danger|info}',
|
|
209
162
|
},
|
|
210
163
|
];
|
|
211
164
|
/**
|
|
@@ -266,13 +219,13 @@ export function getComponentProperties(componentName) {
|
|
|
266
219
|
if (!component || !component.properties) {
|
|
267
220
|
return [];
|
|
268
221
|
}
|
|
269
|
-
return Object.
|
|
270
|
-
.map((
|
|
271
|
-
label:
|
|
222
|
+
return Object.values(component.properties)
|
|
223
|
+
.map((prop) => ({
|
|
224
|
+
label: prop.name,
|
|
272
225
|
kind: 'Property',
|
|
273
|
-
detail:
|
|
274
|
-
documentation: `Property: ${
|
|
275
|
-
insertText: `${
|
|
226
|
+
detail: prop.type,
|
|
227
|
+
documentation: `Property: ${prop.name} (${prop.type})`,
|
|
228
|
+
insertText: `${prop.name}: `,
|
|
276
229
|
}));
|
|
277
230
|
}
|
|
278
231
|
/**
|
|
@@ -284,13 +237,13 @@ export function getComponentPropertiesForCompletion(componentName, alreadyDeclar
|
|
|
284
237
|
if (!componentMeta) {
|
|
285
238
|
return PROPERTY_COMPLETIONS;
|
|
286
239
|
}
|
|
287
|
-
const availableProps = Object.
|
|
288
|
-
.filter((
|
|
289
|
-
.map((
|
|
290
|
-
label:
|
|
240
|
+
const availableProps = Object.values(componentMeta.properties || {})
|
|
241
|
+
.filter((prop) => !alreadyDeclaredProps.includes(prop.name))
|
|
242
|
+
.map((prop) => ({
|
|
243
|
+
label: prop.name,
|
|
291
244
|
kind: 'Property',
|
|
292
|
-
documentation: `Type: ${
|
|
293
|
-
insertText: `${
|
|
245
|
+
documentation: `Type: ${prop.type}`,
|
|
246
|
+
insertText: `${prop.name}: `,
|
|
294
247
|
detail: `${componentName} property`,
|
|
295
248
|
}));
|
|
296
249
|
return [...availableProps, ...PROPERTY_COMPLETIONS];
|
|
@@ -300,14 +253,14 @@ export function getComponentPropertiesForCompletion(componentName, alreadyDeclar
|
|
|
300
253
|
*/
|
|
301
254
|
export function getPropertyValueSuggestions(componentName, propertyName) {
|
|
302
255
|
const componentMeta = COMPONENTS[componentName];
|
|
303
|
-
if (!componentMeta
|
|
256
|
+
if (!componentMeta) {
|
|
304
257
|
return [];
|
|
305
258
|
}
|
|
306
|
-
const
|
|
307
|
-
if (!
|
|
259
|
+
const propDef = componentMeta.properties[propertyName];
|
|
260
|
+
if (!propDef || propDef.type !== 'enum' || !propDef.options) {
|
|
308
261
|
return [];
|
|
309
262
|
}
|
|
310
|
-
return (
|
|
263
|
+
return (propDef.options).map((value) => ({
|
|
311
264
|
label: value.toString(),
|
|
312
265
|
kind: 'Value',
|
|
313
266
|
documentation: `Value for ${propertyName}`,
|
|
@@ -318,7 +271,7 @@ export function getPropertyValueSuggestions(componentName, propertyName) {
|
|
|
318
271
|
*
|
|
319
272
|
* Hierarchy:
|
|
320
273
|
* - empty-file: suggest 'project' to start
|
|
321
|
-
* - inside-project: suggest project-level keywords (screen,
|
|
274
|
+
* - inside-project: suggest project-level keywords (screen, style, colors, mocks, define)
|
|
322
275
|
* - inside-screen: suggest 'layout' keyword and containers (stack, grid, split, panel, card)
|
|
323
276
|
* - inside-layout: suggest components and nested layouts
|
|
324
277
|
*/
|
|
@@ -329,7 +282,7 @@ export function getScopeBasedCompletions(scope) {
|
|
|
329
282
|
return KEYWORD_COMPLETIONS.filter(item => item.label === 'project');
|
|
330
283
|
case 'inside-project': {
|
|
331
284
|
// Suggest project-level keywords from KEYWORDS.topLevel
|
|
332
|
-
// topLevel: ['project', '
|
|
285
|
+
// topLevel: ['project', 'style', 'colors', 'mocks', 'define']
|
|
333
286
|
const topLevelCompletions = [
|
|
334
287
|
{
|
|
335
288
|
label: 'screen',
|
|
@@ -339,11 +292,11 @@ export function getScopeBasedCompletions(scope) {
|
|
|
339
292
|
insertText: 'screen ${1:MyScreen} {\n\t$0\n}',
|
|
340
293
|
},
|
|
341
294
|
{
|
|
342
|
-
label: '
|
|
295
|
+
label: 'style',
|
|
343
296
|
kind: 'Keyword',
|
|
344
|
-
detail: 'Define
|
|
345
|
-
documentation: '
|
|
346
|
-
insertText: '
|
|
297
|
+
detail: 'Define style properties',
|
|
298
|
+
documentation: 'style { density: "comfortable" ... }',
|
|
299
|
+
insertText: 'style {\n\t$0\n}',
|
|
347
300
|
},
|
|
348
301
|
{
|
|
349
302
|
label: 'colors',
|
|
@@ -393,6 +346,13 @@ export function getScopeBasedCompletions(scope) {
|
|
|
393
346
|
documentation: 'cell span: 2 { ... }',
|
|
394
347
|
insertText: 'cell span: ${1:1} {\n\t$0\n}',
|
|
395
348
|
},
|
|
349
|
+
{
|
|
350
|
+
label: 'component',
|
|
351
|
+
kind: 'Keyword',
|
|
352
|
+
detail: 'Insert component instance',
|
|
353
|
+
documentation: 'component Heading text: "Title"',
|
|
354
|
+
insertText: 'component ',
|
|
355
|
+
},
|
|
396
356
|
...COMPONENT_COMPLETIONS,
|
|
397
357
|
];
|
|
398
358
|
default:
|
package/dist/completions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../src/completions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../src/completions.ts"],"names":[],"mappings":"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"}
|
package/dist/components.d.ts
CHANGED
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Wire DSL Component Metadata
|
|
3
|
-
* Used for autocompletion and
|
|
3
|
+
* Used for autocompletion, validation, and code intelligence.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* 1. Built-in components: Check packages/engine/src/renderer/index.ts renderComponent() method
|
|
7
|
-
* for latest component implementations. Update this file when new components are added.
|
|
8
|
-
* 2. User-defined components: Syntax is `define Component "Name" { ... }`
|
|
9
|
-
* These are parsed and resolved before IR generation.
|
|
10
|
-
*
|
|
11
|
-
* Total components: 32 built-in + unlimited user-defined
|
|
12
|
-
* Last synced: February 2, 2026
|
|
5
|
+
* Last synced: February 16, 2026
|
|
13
6
|
*/
|
|
7
|
+
export interface PropertyMetadata {
|
|
8
|
+
name: string;
|
|
9
|
+
type: 'string' | 'enum' | 'boolean' | 'number' | 'color';
|
|
10
|
+
description?: string;
|
|
11
|
+
defaultValue?: any;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
options?: string[];
|
|
14
|
+
}
|
|
14
15
|
export interface ComponentMetadata {
|
|
15
16
|
name: string;
|
|
16
17
|
description: string;
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
category: ComponentCategory;
|
|
19
|
+
properties: Record<string, PropertyMetadata>;
|
|
19
20
|
example: string;
|
|
20
21
|
}
|
|
21
22
|
export interface LayoutMetadata {
|
|
22
23
|
name: string;
|
|
23
24
|
description: string;
|
|
24
|
-
properties: string
|
|
25
|
+
properties: Record<string, PropertyMetadata>;
|
|
25
26
|
example: string;
|
|
26
27
|
requiredProperties?: string[];
|
|
27
28
|
}
|
|
29
|
+
export type ComponentCategory = 'Text' | 'Action' | 'Input' | 'Navigation' | 'Data' | 'Media' | 'Layout' | 'Feedback';
|
|
28
30
|
export declare const COMPONENTS: Record<string, ComponentMetadata>;
|
|
29
31
|
export declare const LAYOUTS: Record<string, LayoutMetadata>;
|
|
30
32
|
export declare const PROPERTY_VALUES: Record<string, string[]>;
|
package/dist/components.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,MAAM,GACN,OAAO,GACP,QAAQ,GACR,UAAU,CAAC;AAmCf,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA0UxD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAuDlD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CASpD,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;CAOpB,CAAC"}
|