@ikas/component-cli 1.4.0-beta.91 → 1.4.0-beta.93
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/dist/commands/create.d.ts +4 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +878 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/utils/compile.d.ts.map +1 -1
- package/dist/utils/compile.js +5 -96
- package/dist/utils/compile.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAy3BpC,wBAAgB,mBAAmB,IAAI,OAAO,CA4B7C;AAGD,wBAAsB,GAAG,kBAiCxB"}
|
|
@@ -0,0 +1,878 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import * as fs from "fs";
|
|
4
|
+
import inquirer from "inquirer";
|
|
5
|
+
import ora from "ora";
|
|
6
|
+
import * as path from "path";
|
|
7
|
+
import { generateComponentId, generateProjectId } from "../utils/component-helpers.js";
|
|
8
|
+
const PROP_TYPES = [
|
|
9
|
+
"TEXT",
|
|
10
|
+
"NUMBER",
|
|
11
|
+
"BOOLEAN",
|
|
12
|
+
"IMAGE",
|
|
13
|
+
"LINK",
|
|
14
|
+
"LIST_OF_LINK",
|
|
15
|
+
"COLOR",
|
|
16
|
+
"SELECT",
|
|
17
|
+
"PRODUCT",
|
|
18
|
+
"PRODUCT_LIST",
|
|
19
|
+
"CATEGORY",
|
|
20
|
+
"CATEGORY_LIST",
|
|
21
|
+
"BRAND",
|
|
22
|
+
"BRAND_LIST",
|
|
23
|
+
"BLOG",
|
|
24
|
+
"BLOG_LIST",
|
|
25
|
+
"TYPE",
|
|
26
|
+
"ENUM"
|
|
27
|
+
];
|
|
28
|
+
async function createProject(projectName) {
|
|
29
|
+
const spinner = ora("Creating project...").start();
|
|
30
|
+
try {
|
|
31
|
+
const projectPath = path.resolve(process.cwd(), projectName);
|
|
32
|
+
// Check if directory exists
|
|
33
|
+
if (fs.existsSync(projectPath)) {
|
|
34
|
+
spinner.fail(`Directory "${projectName}" already exists`);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
// Create directory structure
|
|
38
|
+
fs.mkdirSync(projectPath, { recursive: true });
|
|
39
|
+
fs.mkdirSync(path.join(projectPath, "src/components/ExampleComponent"), { recursive: true });
|
|
40
|
+
fs.mkdirSync(path.join(projectPath, "src/components/ExampleSection"), { recursive: true });
|
|
41
|
+
// Create package.json
|
|
42
|
+
const packageJson = {
|
|
43
|
+
name: projectName,
|
|
44
|
+
version: "1.0.0",
|
|
45
|
+
type: "module",
|
|
46
|
+
scripts: {
|
|
47
|
+
dev: "ikas-component dev",
|
|
48
|
+
build: "ikas-component build",
|
|
49
|
+
add: "ikas-component add",
|
|
50
|
+
publish: "ikas-component publish"
|
|
51
|
+
},
|
|
52
|
+
dependencies: {
|
|
53
|
+
preact: "^10.19.3"
|
|
54
|
+
},
|
|
55
|
+
devDependencies: {
|
|
56
|
+
"@ikas/component-cli": "*",
|
|
57
|
+
"@ikas/bp-storefront": "*",
|
|
58
|
+
"@ikas/code-components-mcp": "*",
|
|
59
|
+
typescript: "^5.3.0",
|
|
60
|
+
vite: "^5.0.0"
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
fs.writeFileSync(path.join(projectPath, "package.json"), JSON.stringify(packageJson, null, 2));
|
|
64
|
+
// Create tsconfig.json
|
|
65
|
+
const tsConfig = {
|
|
66
|
+
compilerOptions: {
|
|
67
|
+
target: "ES2022",
|
|
68
|
+
lib: ["DOM", "DOM.Iterable", "ES2022"],
|
|
69
|
+
module: "ESNext",
|
|
70
|
+
moduleResolution: "bundler",
|
|
71
|
+
jsx: "react-jsx",
|
|
72
|
+
jsxImportSource: "preact",
|
|
73
|
+
strict: true,
|
|
74
|
+
esModuleInterop: true,
|
|
75
|
+
skipLibCheck: true,
|
|
76
|
+
forceConsistentCasingInFileNames: true,
|
|
77
|
+
resolveJsonModule: true,
|
|
78
|
+
declaration: true,
|
|
79
|
+
declarationMap: true,
|
|
80
|
+
outDir: "./dist",
|
|
81
|
+
rootDir: "./src"
|
|
82
|
+
},
|
|
83
|
+
include: ["src/**/*"],
|
|
84
|
+
exclude: ["node_modules", "dist"]
|
|
85
|
+
};
|
|
86
|
+
fs.writeFileSync(path.join(projectPath, "tsconfig.json"), JSON.stringify(tsConfig, null, 2));
|
|
87
|
+
// Create vite.config.ts
|
|
88
|
+
const viteConfig = `import { defineConfig } from "vite";
|
|
89
|
+
import preact from "@preact/preset-vite";
|
|
90
|
+
|
|
91
|
+
export default defineConfig({
|
|
92
|
+
plugins: [preact()],
|
|
93
|
+
build: {
|
|
94
|
+
lib: {
|
|
95
|
+
entry: "./src/components/index.ts",
|
|
96
|
+
formats: ["es"]
|
|
97
|
+
},
|
|
98
|
+
rollupOptions: {
|
|
99
|
+
external: ["preact", "preact/hooks", "@ikas/component-utils"]
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
`;
|
|
104
|
+
fs.writeFileSync(path.join(projectPath, "vite.config.ts"), viteConfig);
|
|
105
|
+
// Create ikas.config.json
|
|
106
|
+
const projectId = generateProjectId();
|
|
107
|
+
const ikasConfig = {
|
|
108
|
+
name: projectName,
|
|
109
|
+
version: "1.0.0",
|
|
110
|
+
projectId,
|
|
111
|
+
globalStyles: "./src/global.css",
|
|
112
|
+
components: [
|
|
113
|
+
{
|
|
114
|
+
id: generateComponentId(projectId, "example-component"),
|
|
115
|
+
name: "Example Component",
|
|
116
|
+
entry: "./src/components/ExampleComponent/index.tsx",
|
|
117
|
+
styles: "./src/components/ExampleComponent/styles.css",
|
|
118
|
+
props: [
|
|
119
|
+
{
|
|
120
|
+
name: "title",
|
|
121
|
+
displayName: "Title",
|
|
122
|
+
type: "TEXT",
|
|
123
|
+
required: true,
|
|
124
|
+
defaultValue: "Hello World",
|
|
125
|
+
description: "The main title text"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "description",
|
|
129
|
+
displayName: "Description",
|
|
130
|
+
type: "TEXT",
|
|
131
|
+
required: false,
|
|
132
|
+
defaultValue: "This is an example ikas code component built with Preact.",
|
|
133
|
+
description: "The description text below the title"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: "showButton",
|
|
137
|
+
displayName: "Show Button",
|
|
138
|
+
type: "BOOLEAN",
|
|
139
|
+
required: false,
|
|
140
|
+
defaultValue: true,
|
|
141
|
+
description: "Whether to show the action button"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "buttonText",
|
|
145
|
+
displayName: "Button Text",
|
|
146
|
+
type: "TEXT",
|
|
147
|
+
required: false,
|
|
148
|
+
defaultValue: "Click Me",
|
|
149
|
+
description: "The text displayed on the button"
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
id: generateComponentId(projectId, "example-section"),
|
|
155
|
+
name: "Example Section",
|
|
156
|
+
entry: "./src/components/ExampleSection/index.tsx",
|
|
157
|
+
styles: "./src/components/ExampleSection/styles.css",
|
|
158
|
+
type: "section",
|
|
159
|
+
props: [
|
|
160
|
+
{
|
|
161
|
+
name: "heading",
|
|
162
|
+
displayName: "Heading",
|
|
163
|
+
type: "TEXT",
|
|
164
|
+
required: true,
|
|
165
|
+
defaultValue: "Welcome to Our Store",
|
|
166
|
+
description: "The section heading text",
|
|
167
|
+
groupId: "content"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: "subtitle",
|
|
171
|
+
displayName: "Subtitle",
|
|
172
|
+
type: "TEXT",
|
|
173
|
+
required: false,
|
|
174
|
+
defaultValue: "Discover our latest products and collections.",
|
|
175
|
+
description: "The subtitle text below the heading",
|
|
176
|
+
groupId: "content"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: "backgroundColor",
|
|
180
|
+
displayName: "Background Color",
|
|
181
|
+
type: "COLOR",
|
|
182
|
+
required: false,
|
|
183
|
+
description: "The section background color",
|
|
184
|
+
groupId: "appearance"
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
propGroups: [
|
|
188
|
+
{ id: "content", name: "Content", description: "Text and copy settings" },
|
|
189
|
+
{ id: "appearance", name: "Appearance", description: "Colors and visual style" }
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
};
|
|
194
|
+
fs.writeFileSync(path.join(projectPath, "ikas.config.json"), JSON.stringify(ikasConfig, null, 2));
|
|
195
|
+
// Create ExampleComponent
|
|
196
|
+
const exampleComponentTsx = `import { Props } from "./types";
|
|
197
|
+
|
|
198
|
+
export function ExampleComponent({
|
|
199
|
+
title,
|
|
200
|
+
description = "This is an example ikas code component built with Preact.",
|
|
201
|
+
showButton,
|
|
202
|
+
buttonText = "Click Me",
|
|
203
|
+
}: Props) {
|
|
204
|
+
return (
|
|
205
|
+
<div className="example-component">
|
|
206
|
+
<h1 className="example-title">{title}</h1>
|
|
207
|
+
<p className="example-description">{description}</p>
|
|
208
|
+
{showButton && (
|
|
209
|
+
<button className="example-button">
|
|
210
|
+
{buttonText}
|
|
211
|
+
</button>
|
|
212
|
+
)}
|
|
213
|
+
</div>
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export default ExampleComponent;
|
|
218
|
+
`;
|
|
219
|
+
fs.writeFileSync(path.join(projectPath, "src/components/ExampleComponent/index.tsx"), exampleComponentTsx);
|
|
220
|
+
// Create component types
|
|
221
|
+
const componentTypes = `// Auto-generated types based on ikas.config.json props
|
|
222
|
+
export interface Props {
|
|
223
|
+
title: string;
|
|
224
|
+
description?: string;
|
|
225
|
+
showButton?: boolean;
|
|
226
|
+
buttonText?: string;
|
|
227
|
+
}
|
|
228
|
+
`;
|
|
229
|
+
fs.writeFileSync(path.join(projectPath, "src/components/ExampleComponent/types.ts"), componentTypes);
|
|
230
|
+
// Create component styles
|
|
231
|
+
const componentStyles = `.example-component {
|
|
232
|
+
padding: 24px;
|
|
233
|
+
border-radius: 8px;
|
|
234
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
235
|
+
color: white;
|
|
236
|
+
font-family: system-ui, -apple-system, sans-serif;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.example-title {
|
|
240
|
+
margin: 0 0 12px 0;
|
|
241
|
+
font-size: 28px;
|
|
242
|
+
font-weight: 700;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.example-description {
|
|
246
|
+
margin: 0 0 20px 0;
|
|
247
|
+
font-size: 16px;
|
|
248
|
+
opacity: 0.9;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.example-button {
|
|
252
|
+
padding: 12px 24px;
|
|
253
|
+
border: none;
|
|
254
|
+
border-radius: 6px;
|
|
255
|
+
background: white;
|
|
256
|
+
color: #667eea;
|
|
257
|
+
font-size: 16px;
|
|
258
|
+
font-weight: 600;
|
|
259
|
+
cursor: pointer;
|
|
260
|
+
transition: transform 0.2s, box-shadow 0.2s;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.example-button:hover {
|
|
264
|
+
transform: translateY(-2px);
|
|
265
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
266
|
+
}
|
|
267
|
+
`;
|
|
268
|
+
fs.writeFileSync(path.join(projectPath, "src/components/ExampleComponent/styles.css"), componentStyles);
|
|
269
|
+
// Create ExampleSection
|
|
270
|
+
const exampleSectionTsx = `import { Props } from "./types";
|
|
271
|
+
|
|
272
|
+
export function ExampleSection({ heading, subtitle, backgroundColor }: Props) {
|
|
273
|
+
return (
|
|
274
|
+
<section className="example-section" style={backgroundColor ? { backgroundColor } : undefined}>
|
|
275
|
+
<div className="example-section-inner">
|
|
276
|
+
<h2 className="example-section-heading">{heading}</h2>
|
|
277
|
+
{subtitle && <p className="example-section-subtitle">{subtitle}</p>}
|
|
278
|
+
</div>
|
|
279
|
+
</section>
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export default ExampleSection;
|
|
284
|
+
`;
|
|
285
|
+
fs.writeFileSync(path.join(projectPath, "src/components/ExampleSection/index.tsx"), exampleSectionTsx);
|
|
286
|
+
// Create section types
|
|
287
|
+
const sectionTypes = `// Auto-generated types based on ikas.config.json props
|
|
288
|
+
export interface Props {
|
|
289
|
+
heading: string;
|
|
290
|
+
subtitle?: string;
|
|
291
|
+
backgroundColor?: string;
|
|
292
|
+
}
|
|
293
|
+
`;
|
|
294
|
+
fs.writeFileSync(path.join(projectPath, "src/components/ExampleSection/types.ts"), sectionTypes);
|
|
295
|
+
// Create section styles
|
|
296
|
+
const sectionStyles = `.example-section {
|
|
297
|
+
width: 100%;
|
|
298
|
+
padding: 64px 24px;
|
|
299
|
+
background: #f8f9fa;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.example-section-inner {
|
|
303
|
+
max-width: 1200px;
|
|
304
|
+
margin: 0 auto;
|
|
305
|
+
text-align: center;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.example-section-heading {
|
|
309
|
+
margin: 0 0 16px 0;
|
|
310
|
+
font-size: 36px;
|
|
311
|
+
font-weight: 700;
|
|
312
|
+
color: #1a1a2e;
|
|
313
|
+
font-family: system-ui, -apple-system, sans-serif;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.example-section-subtitle {
|
|
317
|
+
margin: 0;
|
|
318
|
+
font-size: 18px;
|
|
319
|
+
color: #6b7280;
|
|
320
|
+
font-family: system-ui, -apple-system, sans-serif;
|
|
321
|
+
max-width: 600px;
|
|
322
|
+
margin-left: auto;
|
|
323
|
+
margin-right: auto;
|
|
324
|
+
}
|
|
325
|
+
`;
|
|
326
|
+
fs.writeFileSync(path.join(projectPath, "src/components/ExampleSection/styles.css"), sectionStyles);
|
|
327
|
+
// Create global CSS file
|
|
328
|
+
const globalCss = `/*
|
|
329
|
+
* Global styles for your ikas code components project.
|
|
330
|
+
* These styles are NOT scoped — they apply across all components.
|
|
331
|
+
* Use this for CSS resets, base typography, utility classes, or CSS variables.
|
|
332
|
+
*
|
|
333
|
+
* Loading order:
|
|
334
|
+
* 1. Global CSS (this file) — lowest specificity
|
|
335
|
+
* 2. Shared chunk CSS — multi-scope (.cc_a .sel, .cc_b .sel)
|
|
336
|
+
* 3. Component CSS — single scope (.cc_id .sel) — highest specificity
|
|
337
|
+
*
|
|
338
|
+
* Component-scoped styles naturally override these globals.
|
|
339
|
+
*/
|
|
340
|
+
`;
|
|
341
|
+
fs.writeFileSync(path.join(projectPath, "src/global.css"), globalCss);
|
|
342
|
+
// Create components index
|
|
343
|
+
const componentsIndex = `export { ExampleComponent } from "./ExampleComponent/index";
|
|
344
|
+
export { ExampleSection } from "./ExampleSection/index";
|
|
345
|
+
`;
|
|
346
|
+
fs.writeFileSync(path.join(projectPath, "src/components/index.ts"), componentsIndex);
|
|
347
|
+
// Create README
|
|
348
|
+
const readme = `# ${projectName}
|
|
349
|
+
|
|
350
|
+
An ikas code components project.
|
|
351
|
+
|
|
352
|
+
## Getting Started
|
|
353
|
+
|
|
354
|
+
1. Install dependencies:
|
|
355
|
+
\`\`\`bash
|
|
356
|
+
npm install
|
|
357
|
+
\`\`\`
|
|
358
|
+
|
|
359
|
+
2. Start the development server:
|
|
360
|
+
\`\`\`bash
|
|
361
|
+
npm run dev
|
|
362
|
+
\`\`\`
|
|
363
|
+
|
|
364
|
+
3. Open the ikas editor and connect to the dev server from the Dev Components panel.
|
|
365
|
+
|
|
366
|
+
## Commands
|
|
367
|
+
|
|
368
|
+
- \`npm run dev\` - Start development server with live editor updates
|
|
369
|
+
- \`npm run build\` - Build components for production
|
|
370
|
+
- \`npm run add\` - Add a new component to the project
|
|
371
|
+
|
|
372
|
+
## Project Structure
|
|
373
|
+
|
|
374
|
+
\`\`\`
|
|
375
|
+
${projectName}/
|
|
376
|
+
├── src/
|
|
377
|
+
│ └── components/
|
|
378
|
+
│ ├── ExampleComponent/ # A child component (type: "component")
|
|
379
|
+
│ │ ├── index.tsx
|
|
380
|
+
│ │ ├── styles.css
|
|
381
|
+
│ │ └── types.ts
|
|
382
|
+
│ ├── ExampleSection/ # A page-level section (type: "section")
|
|
383
|
+
│ │ ├── index.tsx
|
|
384
|
+
│ │ ├── styles.css
|
|
385
|
+
│ │ └── types.ts
|
|
386
|
+
│ └── index.ts
|
|
387
|
+
├── ikas.config.json
|
|
388
|
+
├── package.json
|
|
389
|
+
├── tsconfig.json
|
|
390
|
+
└── vite.config.ts
|
|
391
|
+
\`\`\`
|
|
392
|
+
|
|
393
|
+
## Sections vs Components
|
|
394
|
+
|
|
395
|
+
There are two types of code components:
|
|
396
|
+
|
|
397
|
+
- **Sections** are page-level, full-width containers (e.g. Header, Hero Banner, Footer).
|
|
398
|
+
Set \`"type": "section"\` on the component entry in \`ikas.config.json\`.
|
|
399
|
+
- **Components** are child elements placed inside sections (e.g. buttons, cards, badges).
|
|
400
|
+
No \`type\` field needed — it defaults to \`"component"\`.
|
|
401
|
+
|
|
402
|
+
## Adding Props
|
|
403
|
+
|
|
404
|
+
Edit \`ikas.config.json\` to add props to your components. Available prop types:
|
|
405
|
+
|
|
406
|
+
- \`TEXT\` - String input
|
|
407
|
+
- \`NUMBER\` - Number input
|
|
408
|
+
- \`BOOLEAN\` - Checkbox toggle
|
|
409
|
+
- \`IMAGE\` - Image picker
|
|
410
|
+
- \`LINK\` - Link/URL input
|
|
411
|
+
- \`LIST_OF_LINK\` - List of navigation links
|
|
412
|
+
- \`COLOR\` - Color picker
|
|
413
|
+
- \`SELECT\` - Dropdown selection
|
|
414
|
+
- \`PRODUCT\` - Single product selector
|
|
415
|
+
- \`PRODUCT_LIST\` - Multiple products selector
|
|
416
|
+
- \`CATEGORY\` - Single category selector
|
|
417
|
+
- \`CATEGORY_LIST\` - Multiple categories selector
|
|
418
|
+
- \`BRAND\` - Single brand selector
|
|
419
|
+
- \`BRAND_LIST\` - Multiple brands selector
|
|
420
|
+
- \`BLOG\` - Single blog post selector
|
|
421
|
+
- \`BLOG_LIST\` - Multiple blog posts selector
|
|
422
|
+
|
|
423
|
+
## Building for Production
|
|
424
|
+
|
|
425
|
+
Run \`npm run build\` to compile your components. The output will be ready to upload to the ikas editor.
|
|
426
|
+
`;
|
|
427
|
+
fs.writeFileSync(path.join(projectPath, "README.md"), readme);
|
|
428
|
+
// Create .gitignore
|
|
429
|
+
const gitignore = `node_modules/
|
|
430
|
+
dist/
|
|
431
|
+
.DS_Store
|
|
432
|
+
*.log
|
|
433
|
+
`;
|
|
434
|
+
fs.writeFileSync(path.join(projectPath, ".gitignore"), gitignore);
|
|
435
|
+
// Create type declarations for virtual modules
|
|
436
|
+
const componentUtilsTypes = `declare module "@ikas/component-utils" {
|
|
437
|
+
export function observer<T extends (props: any) => any>(component: T): T;
|
|
438
|
+
}
|
|
439
|
+
`;
|
|
440
|
+
fs.writeFileSync(path.join(projectPath, "src/ikas-component-utils.d.ts"), componentUtilsTypes);
|
|
441
|
+
// Create CLAUDE.md for Claude Code AI assistant
|
|
442
|
+
const claudeMd = `# ikas Code Components Project
|
|
443
|
+
|
|
444
|
+
You are building **Preact + TypeScript components for an e-commerce storefront**.
|
|
445
|
+
This project uses the ikas Code Components framework with an MCP server for API documentation.
|
|
446
|
+
|
|
447
|
+
**ALWAYS query MCP tools before writing code that uses storefront APIs.**
|
|
448
|
+
Never guess function signatures or type shapes — the MCP server is the source of truth.
|
|
449
|
+
|
|
450
|
+
## CRITICAL: Auto-Generated Files
|
|
451
|
+
|
|
452
|
+
**NEVER manually create or edit \`types.ts\`** — it is auto-generated by CLI commands.
|
|
453
|
+
Use \`npx ikas-component config add-component --props '[...]'\` or \`npx ikas-component config add-prop\` to manage props.
|
|
454
|
+
These commands update BOTH \`ikas.config.json\` AND \`types.ts\` automatically.
|
|
455
|
+
|
|
456
|
+
## MCP Tools (12 tools)
|
|
457
|
+
|
|
458
|
+
### Starting a New Section
|
|
459
|
+
| Tool | Purpose |
|
|
460
|
+
|------|---------|
|
|
461
|
+
| \`get_section_template(sectionType)\` | **Start here** — production-ready starter template (index.tsx + types.ts + styles.css + config) for common sections: header, footer, product-detail, product-list, cart, login, register, hero-banner, blog-post, faq, etc. |
|
|
462
|
+
| \`get_framework_guide(topic)\` | Framework docs — "ai-workflow", "common-pitfalls", "prop-types", "css-scoping", "form-handling", "imports", "sections-vs-components" |
|
|
463
|
+
| \`get_code_example(task)\` | Code examples — "add to cart", "variant selection", "image-handling", "product-detail-section", "cart-section" |
|
|
464
|
+
|
|
465
|
+
### Looking Up APIs
|
|
466
|
+
| Tool | Purpose |
|
|
467
|
+
|------|---------|
|
|
468
|
+
| \`search_docs(query)\` | Search across all storefront API docs and framework guides |
|
|
469
|
+
| \`get_function_doc(name)\` | Full docs for a specific function (e.g. "addItemToCart", "Router.navigate") |
|
|
470
|
+
| \`list_functions(category?)\` | List functions by category: ProductDetail, Cart, ProductList, Navigation, Customer, Order, Image, Blog, Brand, Category, Pricing, Form, Validation, Pagination, Filtering |
|
|
471
|
+
| \`get_prop_types()\` | All available ikas.config.json prop types with TS types and examples |
|
|
472
|
+
|
|
473
|
+
### Exploring Types
|
|
474
|
+
| Tool | Purpose |
|
|
475
|
+
|------|---------|
|
|
476
|
+
| \`get_model_guide(model)\` | **One-stop-shop** — type definition + all utility functions + examples + related types for a model (e.g. "IkasProduct", "IkasOrder") |
|
|
477
|
+
| \`get_type_definition(name)\` | Full definition of a type or enum (e.g. "IkasProduct", "IkasOrderStatus") |
|
|
478
|
+
| \`get_functions_for_type(typeName)\` | All utility functions for a type (e.g. "IkasImage") |
|
|
479
|
+
| \`search_types(query)\` | Search types/enums by keyword (e.g. "price", "address", "status") |
|
|
480
|
+
| \`list_types(domain?, kind?)\` | List all types, optionally filtered by domain ("product", "cart", "order") or kind ("type", "enum") |
|
|
481
|
+
|
|
482
|
+
## CLI Commands
|
|
483
|
+
|
|
484
|
+
**Never edit ikas.config.json or types.ts manually** — use the CLI commands:
|
|
485
|
+
|
|
486
|
+
| Command | Purpose |
|
|
487
|
+
|---------|---------|
|
|
488
|
+
| \`npx ikas-component config add-component --name "Name" --type section --props '[...]'\` | **Primary** — create component with all props in one command |
|
|
489
|
+
| \`npx ikas-component config add-component --name "Name" --type section\` | Create component with no props (add later) |
|
|
490
|
+
| \`npx ikas-component config add-prop --component "Name" --name title --displayName "Title" --type TEXT --required [--group content]\` | Add a single prop incrementally |
|
|
491
|
+
| \`npx ikas-component config update-prop --component "Name" --prop title --type RICH_TEXT [--group colors]\` | Update a prop's type or group |
|
|
492
|
+
| \`npx ikas-component config remove-prop --component "Name" --prop title\` | Remove a prop |
|
|
493
|
+
| \`npx ikas-component config remove-component --name "Name"\` | Remove a component |
|
|
494
|
+
| \`npx ikas-component config add-prop-group --component "Name" --id colors --name "Colors" [--description "..."] [--parent style]\` | Create a prop group |
|
|
495
|
+
| \`npx ikas-component config update-prop-group --component "Name" --id colors [--name "..."] [--description "..."]\` | Update a prop group |
|
|
496
|
+
| \`npx ikas-component config remove-prop-group --component "Name" --id colors\` | Remove a prop group |
|
|
497
|
+
| \`npx ikas-component config list\` | List all components and their props |
|
|
498
|
+
| \`npx ikas-component check --json\` | Type-check all components, output errors as JSON |
|
|
499
|
+
| \`npx ikas-component build\` | Compile server.js + client.js + styles.css per component |
|
|
500
|
+
| \`npx ikas-component dev\` | Start dev server (Vite 5200 + WebSocket 5201) |
|
|
501
|
+
|
|
502
|
+
## Workflow: Building a New Section
|
|
503
|
+
|
|
504
|
+
1. \`get_section_template("product-detail")\` → get starter files + CLI command with --props
|
|
505
|
+
2. Run the CLI command (creates component + props + types.ts in one step)
|
|
506
|
+
3. Write \`index.tsx\` and \`styles.css\` using the template (do NOT edit types.ts — it's already generated)
|
|
507
|
+
4. Look up APIs → \`get_model_guide("IkasProduct")\`, \`get_function_doc("addItemToCart")\`
|
|
508
|
+
5. \`npx ikas-component check --json\` → fix type errors
|
|
509
|
+
6. \`npx ikas-component build\` → verify clean build
|
|
510
|
+
|
|
511
|
+
## Sub-Component Structure
|
|
512
|
+
|
|
513
|
+
**ALWAYS create sub-components in \`src/sub-components/\` with their own folder containing \`index.tsx\` and \`styles.css\`. NEVER create flat .tsx files inside a component folder.**
|
|
514
|
+
|
|
515
|
+
\`\`\`
|
|
516
|
+
src/
|
|
517
|
+
├── components/
|
|
518
|
+
│ ├── ProductList/
|
|
519
|
+
│ │ ├── index.tsx # imports from ../../sub-components/...
|
|
520
|
+
│ │ ├── types.ts # auto-generated (CLI-managed)
|
|
521
|
+
│ │ └── styles.css # @import "../../sub-components/.../styles.css"
|
|
522
|
+
│ └── index.ts
|
|
523
|
+
└── sub-components/
|
|
524
|
+
├── ProductCard/
|
|
525
|
+
│ ├── index.tsx # sub-component with inline Props
|
|
526
|
+
│ └── styles.css
|
|
527
|
+
└── FilterSidebar/
|
|
528
|
+
├── index.tsx
|
|
529
|
+
└── styles.css
|
|
530
|
+
\`\`\`
|
|
531
|
+
|
|
532
|
+
**Key rules:**
|
|
533
|
+
- \`src/components/\` = registered in ikas.config.json. \`src/sub-components/\` = internal helpers (NOT in ikas.config.json)
|
|
534
|
+
- Sub-components do NOT have \`types.ts\` — define \`Props\` inline in \`index.tsx\`
|
|
535
|
+
- CSS: use \`@import "../../sub-components/ProductCard/styles.css";\` in parent styles.css
|
|
536
|
+
- TSX: use \`import ProductCard from "../../sub-components/ProductCard";\`
|
|
537
|
+
- Sub-components that read MobX stores need \`observer()\`, others don't
|
|
538
|
+
- Sub-components can be shared across multiple parent sections
|
|
539
|
+
|
|
540
|
+
\`\`\`tsx
|
|
541
|
+
// src/sub-components/ProductCard/index.tsx — inline Props, no types.ts
|
|
542
|
+
import { IkasProduct, getSelectedProductVariant } from "@ikas/bp-storefront";
|
|
543
|
+
|
|
544
|
+
interface Props { product: IkasProduct; }
|
|
545
|
+
|
|
546
|
+
export default function ProductCard({ product }: Props) { ... }
|
|
547
|
+
\`\`\`
|
|
548
|
+
|
|
549
|
+
## Key Patterns
|
|
550
|
+
|
|
551
|
+
### Component Exports & Reactivity
|
|
552
|
+
\`\`\`tsx
|
|
553
|
+
// Root components are automatically reactive — the ikas runtime wraps them in autorun().
|
|
554
|
+
// Do NOT import or use observer() on root exports.
|
|
555
|
+
import { Props } from "./types";
|
|
556
|
+
|
|
557
|
+
export function MySection({ product }: Props) { ... }
|
|
558
|
+
export default MySection;
|
|
559
|
+
\`\`\`
|
|
560
|
+
|
|
561
|
+
\`\`\`tsx
|
|
562
|
+
// Only use observer() on extracted SUB-COMPONENTS that independently read MobX stores:
|
|
563
|
+
import { observer } from "@ikas/component-utils";
|
|
564
|
+
|
|
565
|
+
const CartBadge = observer(function CartBadge() {
|
|
566
|
+
const count = cartStore.order?.orderLineItems?.length ?? 0;
|
|
567
|
+
return <span>{count}</span>;
|
|
568
|
+
});
|
|
569
|
+
\`\`\`
|
|
570
|
+
|
|
571
|
+
### Null Safety
|
|
572
|
+
\`\`\`tsx
|
|
573
|
+
// Storefront models can be null — always check before accessing
|
|
574
|
+
if (!product) return null;
|
|
575
|
+
const price = product.selectedVariant?.price?.formattedPrice ?? "";
|
|
576
|
+
\`\`\`
|
|
577
|
+
|
|
578
|
+
### Mutations
|
|
579
|
+
\`\`\`tsx
|
|
580
|
+
// Functions like addItemToCart() mutate the model in-place (MobX observable)
|
|
581
|
+
// No need to capture return value — root components re-render automatically via autorun()
|
|
582
|
+
await addItemToCart({ product });
|
|
583
|
+
\`\`\`
|
|
584
|
+
|
|
585
|
+
### Type Casts
|
|
586
|
+
\`\`\`tsx
|
|
587
|
+
// Use "as unknown as" when passing storefront models as prop values
|
|
588
|
+
<ChildComponent product={product as unknown as IkasProduct} />
|
|
589
|
+
\`\`\`
|
|
590
|
+
|
|
591
|
+
### CSS Scoping
|
|
592
|
+
All CSS is auto-scoped with \`.cc_{componentId}\` prefix. Write plain class names — they are scoped at build time.
|
|
593
|
+
|
|
594
|
+
### Preact Event Handling
|
|
595
|
+
Use \`onInput\` instead of \`onChange\` for text inputs (Preact behavior).
|
|
596
|
+
|
|
597
|
+
### Import Source
|
|
598
|
+
\`\`\`tsx
|
|
599
|
+
import { addItemToCart, IkasProduct, IkasImage } from "@ikas/bp-storefront";
|
|
600
|
+
\`\`\`
|
|
601
|
+
|
|
602
|
+
## No Static Text Rule
|
|
603
|
+
|
|
604
|
+
**CRITICAL: Never hardcode user-visible text in JSX.** All text strings (headings, button labels,
|
|
605
|
+
empty states, loading messages, form labels) MUST be TEXT props with defaultValues.
|
|
606
|
+
|
|
607
|
+
Wrong: \`<h1>Sign In</h1>\`
|
|
608
|
+
Correct: \`<h1>{title}</h1>\` with \`title\` as TEXT prop (defaultValue: "Sign In")
|
|
609
|
+
|
|
610
|
+
For button loading states, use two separate props:
|
|
611
|
+
- \`submitButtonText\` (default: "Sign In")
|
|
612
|
+
- \`submittingButtonText\` (default: "Signing in...")
|
|
613
|
+
|
|
614
|
+
Group text props under a "Texts" propGroup when the component has 5+ props.
|
|
615
|
+
|
|
616
|
+
## Sections vs Components
|
|
617
|
+
|
|
618
|
+
- **Sections** = page-level, full-width containers (Header, Hero, Product Grid, Footer).
|
|
619
|
+
Set \`"type": "section"\` via CLI. Use \`<section>\` root element. Props interface: \`Props\`.
|
|
620
|
+
**Sections MUST always include a \`backgroundColor\` COLOR prop** (default: \`#ffffff\`).
|
|
621
|
+
Apply via inline style: \`style={backgroundColor ? { backgroundColor } : undefined}\`
|
|
622
|
+
Consider also adding \`textColor\` COLOR props for text elements directly on the section background.
|
|
623
|
+
- **Components** = child elements placed inside sections (buttons, cards, badges).
|
|
624
|
+
Defaults to \`"component"\`. Use \`<div>\` root element. Props interface: \`Props\`.
|
|
625
|
+
|
|
626
|
+
## Prop Groups
|
|
627
|
+
|
|
628
|
+
Organize props into collapsible groups in the editor sidebar. Use prop groups when a component has 5+ props to improve UX.
|
|
629
|
+
|
|
630
|
+
### Config Format
|
|
631
|
+
- Define groups in \`propGroups\` array on the component in \`ikas.config.json\`
|
|
632
|
+
- Assign props to groups via \`groupId\` on each prop
|
|
633
|
+
- Groups can nest 1 level deep via \`children\`
|
|
634
|
+
- Props without \`groupId\` appear ungrouped at root level
|
|
635
|
+
- Group IDs must be unique within a component
|
|
636
|
+
|
|
637
|
+
### CLI Commands
|
|
638
|
+
- \`config add-prop-group --component "Name" --id content --name "Content"\` — create group
|
|
639
|
+
- \`config add-prop-group --component "Name" --id colors --name "Colors" --parent style\` — create nested group
|
|
640
|
+
- \`config add-prop --component "Name" --name title --displayName "Title" --type TEXT --group content\` — add prop to group
|
|
641
|
+
- \`config update-prop --component "Name" --prop title --group colors\` — move prop to different group
|
|
642
|
+
- \`config remove-prop-group --component "Name" --id content\` — remove group (props become ungrouped)
|
|
643
|
+
|
|
644
|
+
### When to Use
|
|
645
|
+
- 5+ props → group related props
|
|
646
|
+
- Sections with content + style props → separate "Content" and "Appearance" groups
|
|
647
|
+
- Complex sections → use nested groups (e.g., "Style" → "Colors", "Typography")
|
|
648
|
+
|
|
649
|
+
## Workflow Addition
|
|
650
|
+
|
|
651
|
+
When building a section with 5+ props, organize into prop groups after defining props:
|
|
652
|
+
\`\`\`bash
|
|
653
|
+
npx ikas-component config add-prop-group --component "Name" --id content --name "Content"
|
|
654
|
+
npx ikas-component config update-prop --component "Name" --prop title --group content
|
|
655
|
+
\`\`\`
|
|
656
|
+
|
|
657
|
+
## Build Verification
|
|
658
|
+
|
|
659
|
+
IMPORTANT: After completing any task, always run \`npx ikas-component build\` (or \`npm run build\`) to check for
|
|
660
|
+
TypeScript and build errors. Fix any errors before considering the task done.
|
|
661
|
+
`;
|
|
662
|
+
fs.writeFileSync(path.join(projectPath, "CLAUDE.md"), claudeMd);
|
|
663
|
+
// Create .cursorrules for Cursor AI assistant
|
|
664
|
+
const cursorrules = `# ikas Code Components
|
|
665
|
+
|
|
666
|
+
You are building **Preact + TypeScript components for an e-commerce storefront**.
|
|
667
|
+
**ALWAYS query MCP tools before writing code that uses storefront APIs.**
|
|
668
|
+
|
|
669
|
+
## CRITICAL: Auto-Generated Files
|
|
670
|
+
|
|
671
|
+
**NEVER manually create or edit \`types.ts\`** — it is auto-generated by CLI commands.
|
|
672
|
+
Use \`npx ikas-component config add-component --props '[...]'\` or \`npx ikas-component config add-prop\` to manage props.
|
|
673
|
+
These commands update BOTH \`ikas.config.json\` AND \`types.ts\` automatically.
|
|
674
|
+
|
|
675
|
+
## MCP Tools (12 tools)
|
|
676
|
+
|
|
677
|
+
### Starting a New Section
|
|
678
|
+
- get_section_template(sectionType) — **Start here** — production-ready starter template for common sections (header, footer, product-detail, product-list, cart, login, hero-banner, blog-post, faq, etc.)
|
|
679
|
+
- get_framework_guide(topic) — Framework docs ("ai-workflow", "common-pitfalls", "prop-types", "css-scoping", "form-handling", "imports")
|
|
680
|
+
- get_code_example(task) — Code examples ("add to cart", "variant selection", "image-handling")
|
|
681
|
+
|
|
682
|
+
### Looking Up APIs
|
|
683
|
+
- search_docs(query) — Search all storefront API docs and framework guides
|
|
684
|
+
- get_function_doc(name) — Full docs for a function (e.g. "addItemToCart", "Router.navigate")
|
|
685
|
+
- list_functions(category?) — List functions by category (ProductDetail, Cart, ProductList, Navigation, Customer, Order, Image, Blog, Brand, Pricing, Form, Validation, Pagination, Filtering)
|
|
686
|
+
- get_prop_types() — All available ikas.config.json prop types
|
|
687
|
+
|
|
688
|
+
### Exploring Types
|
|
689
|
+
- get_model_guide(model) — **One-stop-shop** — type def + utility functions + examples for a model (e.g. "IkasProduct", "IkasOrder")
|
|
690
|
+
- get_type_definition(name) — Full definition of a type or enum
|
|
691
|
+
- get_functions_for_type(typeName) — All utility functions for a type
|
|
692
|
+
- search_types(query) — Search types/enums by keyword ("price", "address", "status")
|
|
693
|
+
- list_types(domain?, kind?) — List all types, filter by domain or kind ("type"/"enum")
|
|
694
|
+
|
|
695
|
+
## CLI Commands (never edit ikas.config.json or types.ts manually)
|
|
696
|
+
- npx ikas-component config add-component --name "Name" --type section --props '[...]' — **Primary** — create with all props in one command
|
|
697
|
+
- npx ikas-component config add-component --name "Name" --type section — Create component with no props
|
|
698
|
+
- npx ikas-component config add-prop --component "Name" --name title --displayName "Title" --type TEXT --required [--group content] — Add a prop incrementally
|
|
699
|
+
- npx ikas-component config update-prop --component "Name" --prop title --type RICH_TEXT [--group colors] — Update a prop or group
|
|
700
|
+
- npx ikas-component config remove-prop --component "Name" --prop title — Remove a prop
|
|
701
|
+
- npx ikas-component config remove-component --name "Name" — Remove a component
|
|
702
|
+
- npx ikas-component config add-prop-group --component "Name" --id colors --name "Colors" [--parent style] — Create a prop group
|
|
703
|
+
- npx ikas-component config update-prop-group --component "Name" --id colors [--name "..."] — Update a prop group
|
|
704
|
+
- npx ikas-component config remove-prop-group --component "Name" --id colors — Remove a prop group
|
|
705
|
+
- npx ikas-component config list — List all components and their props
|
|
706
|
+
- npx ikas-component check --json — Type-check all components
|
|
707
|
+
- npx ikas-component build — Compile server.js + client.js + styles.css per component
|
|
708
|
+
- npx ikas-component dev — Start dev server (Vite 5200 + WebSocket 5201)
|
|
709
|
+
|
|
710
|
+
## Workflow: Building a New Section
|
|
711
|
+
1. get_section_template("product-detail") → get starter files + CLI command with --props
|
|
712
|
+
2. Run the CLI command (creates component + props + types.ts in one step)
|
|
713
|
+
3. Write index.tsx and styles.css using the template (do NOT edit types.ts — it's already generated)
|
|
714
|
+
4. Look up APIs: get_model_guide("IkasProduct"), get_function_doc("addItemToCart")
|
|
715
|
+
5. npx ikas-component check --json → fix type errors
|
|
716
|
+
6. npx ikas-component build → verify clean build
|
|
717
|
+
|
|
718
|
+
## Sub-Component Structure
|
|
719
|
+
**ALWAYS create sub-components in \`src/sub-components/\` with their own folder containing \`index.tsx\` and \`styles.css\`.**
|
|
720
|
+
- \`src/components/\` = registered in ikas.config.json. \`src/sub-components/\` = internal helpers (NOT in ikas.config.json)
|
|
721
|
+
- Sub-components do NOT have \`types.ts\` — define \`Props\` inline in \`index.tsx\`
|
|
722
|
+
- CSS: \`@import "../../sub-components/ProductCard/styles.css";\` in parent styles.css
|
|
723
|
+
- TSX: \`import ProductCard from "../../sub-components/ProductCard";\`
|
|
724
|
+
- Sub-components that read MobX stores need \`observer()\`, others don't
|
|
725
|
+
- Sub-components can be shared across multiple parent sections
|
|
726
|
+
- NEVER create flat .tsx files inside a component folder
|
|
727
|
+
|
|
728
|
+
## Key Patterns
|
|
729
|
+
- Root components are automatically reactive (ikas runtime uses autorun). Do NOT use observer() on root exports.
|
|
730
|
+
Pattern: \`export function MySection({ title }: Props) { ... }\` + \`export default MySection;\`
|
|
731
|
+
Only use observer() on extracted sub-components that independently read MobX stores.
|
|
732
|
+
- Null safety: storefront models can be null — always check before accessing
|
|
733
|
+
- Mutations: addItemToCart() etc. mutate MobX observables in-place — no return capture needed
|
|
734
|
+
- Type casts: use \`as unknown as IkasProduct\` when passing storefront models as props
|
|
735
|
+
- CSS: write plain class names — auto-scoped with .cc_{componentId} at build time
|
|
736
|
+
- Events: use onInput (not onChange) for text inputs (Preact behavior)
|
|
737
|
+
- Imports: \`import { addItemToCart, IkasProduct } from "@ikas/bp-storefront"\`
|
|
738
|
+
|
|
739
|
+
## No Static Text Rule
|
|
740
|
+
**CRITICAL: Never hardcode user-visible text in JSX.** All text strings (headings, button labels,
|
|
741
|
+
empty states, loading messages, form labels) MUST be TEXT props with defaultValues.
|
|
742
|
+
Wrong: \`<h1>Sign In</h1>\`
|
|
743
|
+
Correct: \`<h1>{title}</h1>\` with \`title\` as TEXT prop (defaultValue: "Sign In")
|
|
744
|
+
For button loading states, use two separate props (e.g., \`submitButtonText\` + \`submittingButtonText\`).
|
|
745
|
+
Group text props under a "Texts" propGroup when the component has 5+ props.
|
|
746
|
+
|
|
747
|
+
## Sections vs Components
|
|
748
|
+
- Sections = page-level containers (Header, Hero, Product Grid, Footer)
|
|
749
|
+
Set "type": "section" via CLI. Use <section> root element. Props interface: Props.
|
|
750
|
+
**Sections MUST always include a \`backgroundColor\` COLOR prop** (default: \`#ffffff\`).
|
|
751
|
+
Apply via inline style: \`style={backgroundColor ? { backgroundColor } : undefined}\`
|
|
752
|
+
Consider also adding \`textColor\` COLOR props for text elements directly on the section background.
|
|
753
|
+
- Components = child elements inside sections (buttons, cards, badges)
|
|
754
|
+
Defaults to "component". Use <div> root element. Props interface: Props.
|
|
755
|
+
|
|
756
|
+
## Prop Groups
|
|
757
|
+
Organize 5+ props into collapsible groups in editor sidebar.
|
|
758
|
+
- Define groups in \`propGroups\` on component in ikas.config.json
|
|
759
|
+
- Assign props via \`groupId\` on each prop
|
|
760
|
+
- Nest 1 level deep with \`children\`
|
|
761
|
+
- Group IDs must be unique within a component
|
|
762
|
+
- CLI: add-prop-group, update-prop-group, remove-prop-group
|
|
763
|
+
- Add prop to group: add-prop --group <groupId> or update-prop --group <groupId>
|
|
764
|
+
|
|
765
|
+
## Build Verification
|
|
766
|
+
IMPORTANT: After completing any task, always run \`npx ikas-component build\` (or \`npm run build\`)
|
|
767
|
+
to check for TypeScript and build errors. Fix any errors before considering the task done.
|
|
768
|
+
`;
|
|
769
|
+
fs.writeFileSync(path.join(projectPath, ".cursorrules"), cursorrules);
|
|
770
|
+
// Create .mcp.json for MCP server configuration
|
|
771
|
+
// Uses npx which resolves the bin through node_modules hierarchy,
|
|
772
|
+
// working both in standalone projects and monorepo workspaces.
|
|
773
|
+
const mcpConfig = {
|
|
774
|
+
mcpServers: {
|
|
775
|
+
"ikas-code-components": {
|
|
776
|
+
command: "npx",
|
|
777
|
+
args: ["ikas-mcp"]
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
fs.writeFileSync(path.join(projectPath, ".mcp.json"), JSON.stringify(mcpConfig, null, 2));
|
|
782
|
+
// Create or merge .cursor/mcp.json for Cursor editor
|
|
783
|
+
// Uses node + ${workspaceFolder} instead of npx because Cursor
|
|
784
|
+
// doesn't reliably inherit the shell PATH.
|
|
785
|
+
const cursorDir = path.join(projectPath, ".cursor");
|
|
786
|
+
const cursorMcpPath = path.join(cursorDir, "mcp.json");
|
|
787
|
+
fs.mkdirSync(cursorDir, { recursive: true });
|
|
788
|
+
let cursorMcpConfig = { mcpServers: {} };
|
|
789
|
+
if (fs.existsSync(cursorMcpPath)) {
|
|
790
|
+
try {
|
|
791
|
+
cursorMcpConfig = JSON.parse(fs.readFileSync(cursorMcpPath, "utf-8"));
|
|
792
|
+
if (!cursorMcpConfig.mcpServers) {
|
|
793
|
+
cursorMcpConfig.mcpServers = {};
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
catch {
|
|
797
|
+
cursorMcpConfig = { mcpServers: {} };
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
cursorMcpConfig.mcpServers["ikas-code-components"] = {
|
|
801
|
+
command: "node",
|
|
802
|
+
args: ["${workspaceFolder}/node_modules/@ikas/code-components-mcp/dist/index.js"]
|
|
803
|
+
};
|
|
804
|
+
fs.writeFileSync(cursorMcpPath, JSON.stringify(cursorMcpConfig, null, 2));
|
|
805
|
+
spinner.succeed(chalk.green(`Project "${projectName}" created successfully!`));
|
|
806
|
+
console.log("\n" + chalk.cyan("Next steps:"));
|
|
807
|
+
console.log(chalk.white(` cd ${projectName}`));
|
|
808
|
+
console.log(chalk.white(" npm install"));
|
|
809
|
+
console.log(chalk.white(" npm run dev"));
|
|
810
|
+
console.log("\n" + chalk.gray("Happy coding! 🚀"));
|
|
811
|
+
}
|
|
812
|
+
catch (error) {
|
|
813
|
+
spinner.fail("Failed to create project");
|
|
814
|
+
console.error(error);
|
|
815
|
+
process.exit(1);
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
export function createCreateCommand() {
|
|
819
|
+
return new Command("create")
|
|
820
|
+
.description("Create a new ikas component project")
|
|
821
|
+
.argument("[name]", "Project name")
|
|
822
|
+
.action(async (name) => {
|
|
823
|
+
let projectName = name;
|
|
824
|
+
if (!projectName) {
|
|
825
|
+
const answers = await inquirer.prompt([
|
|
826
|
+
{
|
|
827
|
+
type: "input",
|
|
828
|
+
name: "projectName",
|
|
829
|
+
message: "What is your project name?",
|
|
830
|
+
default: "my-ikas-components",
|
|
831
|
+
validate: (input) => {
|
|
832
|
+
if (!input.trim())
|
|
833
|
+
return "Project name is required";
|
|
834
|
+
if (!/^[a-z0-9-_]+$/i.test(input)) {
|
|
835
|
+
return "Project name can only contain letters, numbers, hyphens, and underscores";
|
|
836
|
+
}
|
|
837
|
+
return true;
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
]);
|
|
841
|
+
projectName = answers.projectName;
|
|
842
|
+
}
|
|
843
|
+
await createProject(projectName);
|
|
844
|
+
});
|
|
845
|
+
}
|
|
846
|
+
// Standalone runner for create-ikas-component command
|
|
847
|
+
export async function run() {
|
|
848
|
+
const program = new Command();
|
|
849
|
+
program
|
|
850
|
+
.name("create-ikas-component")
|
|
851
|
+
.description("Create a new ikas component project")
|
|
852
|
+
.argument("[name]", "Project name")
|
|
853
|
+
.action(async (name) => {
|
|
854
|
+
let projectName = name;
|
|
855
|
+
if (!projectName) {
|
|
856
|
+
const answers = await inquirer.prompt([
|
|
857
|
+
{
|
|
858
|
+
type: "input",
|
|
859
|
+
name: "projectName",
|
|
860
|
+
message: "What is your project name?",
|
|
861
|
+
default: "my-ikas-components",
|
|
862
|
+
validate: (input) => {
|
|
863
|
+
if (!input.trim())
|
|
864
|
+
return "Project name is required";
|
|
865
|
+
if (!/^[a-z0-9-_]+$/i.test(input)) {
|
|
866
|
+
return "Project name can only contain letters, numbers, hyphens, and underscores";
|
|
867
|
+
}
|
|
868
|
+
return true;
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
]);
|
|
872
|
+
projectName = answers.projectName;
|
|
873
|
+
}
|
|
874
|
+
await createProject(projectName);
|
|
875
|
+
});
|
|
876
|
+
program.parse(process.argv);
|
|
877
|
+
}
|
|
878
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMvF,MAAM,UAAU,GAAG;IACjB,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,cAAc;IACd,OAAO;IACP,QAAQ;IACR,SAAS;IACT,cAAc;IACd,UAAU;IACV,eAAe;IACf,OAAO;IACP,YAAY;IACZ,MAAM;IACN,WAAW;IACX,MAAM;IACN,MAAM;CACP,CAAC;AAEF,KAAK,UAAU,aAAa,CAAC,WAAmB;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAE7D,4BAA4B;QAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,cAAc,WAAW,kBAAkB,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iCAAiC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,sBAAsB;QACtB,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,GAAG,EAAE,oBAAoB;gBACzB,KAAK,EAAE,sBAAsB;gBAC7B,GAAG,EAAE,oBAAoB;gBACzB,OAAO,EAAE,wBAAwB;aAClC;YACD,YAAY,EAAE;gBACZ,MAAM,EAAE,UAAU;aACnB;YACD,eAAe,EAAE;gBACf,qBAAqB,EAAE,GAAG;gBAC1B,qBAAqB,EAAE,GAAG;gBAC1B,2BAA2B,EAAE,GAAG;gBAChC,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EACtC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAC;QAEF,uBAAuB;QACvB,MAAM,QAAQ,GAAG;YACf,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,EAAE,WAAW;gBAChB,eAAe,EAAE,QAAQ;gBACzB,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,gCAAgC,EAAE,IAAI;gBACtC,iBAAiB,EAAE,IAAI;gBACvB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,OAAO;aACjB;YACD,OAAO,EAAE,CAAC,UAAU,CAAC;YACrB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;SAClC,CAAC;QACF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;QAEF,wBAAwB;QACxB,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;CAetB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,SAAS;YACT,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC;oBACvD,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,6CAA6C;oBACpD,MAAM,EAAE,8CAA8C;oBACtD,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,OAAO;4BACpB,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,IAAI;4BACd,YAAY,EAAE,aAAa;4BAC3B,WAAW,EAAE,qBAAqB;yBACnC;wBACD;4BACE,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,aAAa;4BAC1B,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE,2DAA2D;4BACzE,WAAW,EAAE,sCAAsC;yBACpD;wBACD;4BACE,IAAI,EAAE,YAAY;4BAClB,WAAW,EAAE,aAAa;4BAC1B,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,mCAAmC;yBACjD;wBACD;4BACE,IAAI,EAAE,YAAY;4BAClB,WAAW,EAAE,aAAa;4BAC1B,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE,UAAU;4BACxB,WAAW,EAAE,kCAAkC;yBAChD;qBACF;iBACF;gBACD;oBACE,EAAE,EAAE,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC;oBACrD,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,2CAA2C;oBAClD,MAAM,EAAE,4CAA4C;oBACpD,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,SAAS;4BACtB,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,IAAI;4BACd,YAAY,EAAE,sBAAsB;4BACpC,WAAW,EAAE,0BAA0B;4BACvC,OAAO,EAAE,SAAS;yBACnB;wBACD;4BACE,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,UAAU;4BACvB,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE,+CAA+C;4BAC7D,WAAW,EAAE,qCAAqC;4BAClD,OAAO,EAAE,SAAS;yBACnB;wBACD;4BACE,IAAI,EAAE,iBAAiB;4BACvB,WAAW,EAAE,kBAAkB;4BAC/B,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,KAAK;4BACf,WAAW,EAAE,8BAA8B;4BAC3C,OAAO,EAAE,YAAY;yBACtB;qBACF;oBACD,UAAU,EAAE;wBACV,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE;wBACzE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE;qBACjF;iBACF;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CACpC,CAAC;QAEF,0BAA0B;QAC1B,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB/B,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,2CAA2C,CAAC,EACnE,mBAAmB,CACpB,CAAC;QAEF,yBAAyB;QACzB,MAAM,cAAc,GAAG;;;;;;;CAO1B,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,0CAA0C,CAAC,EAClE,cAAc,CACf,CAAC;QAEF,0BAA0B;QAC1B,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC3B,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4CAA4C,CAAC,EACpE,eAAe,CAChB,CAAC;QAEF,wBAAwB;QACxB,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;CAc7B,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yCAAyC,CAAC,EACjE,iBAAiB,CAClB,CAAC;QAEF,uBAAuB;QACvB,MAAM,YAAY,GAAG;;;;;;CAMxB,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wCAAwC,CAAC,EAChE,YAAY,CACb,CAAC;QAEF,wBAAwB;QACxB,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzB,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,0CAA0C,CAAC,EAClE,aAAa,CACd,CAAC;QAEF,yBAAyB;QACzB,MAAM,SAAS,GAAG;;;;;;;;;;;;CAYrB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC;QAEtE,0BAA0B;QAC1B,MAAM,eAAe,GAAG;;CAE3B,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,EACjD,eAAe,CAChB,CAAC;QAEF,gBAAgB;QAChB,MAAM,MAAM,GAAG,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDZ,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAE9D,oBAAoB;QACpB,MAAM,SAAS,GAAG;;;;CAIrB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;QAElE,+CAA+C;QAC/C,MAAM,mBAAmB,GAAG;;;CAG/B,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,EACvD,mBAAmB,CACpB,CAAC;QAEF,gDAAgD;QAChD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2NpB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEhE,8CAA8C;QAC9C,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGvB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,CAAC;QAEtE,gDAAgD;QAChD,kEAAkE;QAClE,+DAA+D;QAC/D,MAAM,SAAS,GAAG;YAChB,UAAU,EAAE;gBACV,sBAAsB,EAAE;oBACtB,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,CAAC,UAAU,CAAC;iBACnB;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EACnC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CACnC,CAAC;QAEF,qDAAqD;QACrD,+DAA+D;QAC/D,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEvD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,IAAI,eAAe,GAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;oBAChC,eAAe,CAAC,UAAU,GAAG,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,eAAe,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG;YACnD,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,yEAAyE,CAAC;SAClF,CAAC;QAEF,EAAE,CAAC,aAAa,CACd,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CACzC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,WAAW,yBAAyB,CAAC,CAAC,CAAC;QAE/E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAErD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9B,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EAAE,oBAAoB;oBAC7B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;wBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;4BAAE,OAAO,0BAA0B,CAAC;wBACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClC,OAAO,0EAA0E,CAAC;wBACpF,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC,CAAC;YACH,WAAW,GAAG,OAAO,CAAC,WAAqB,CAAC;QAC9C,CAAC;QAED,MAAM,aAAa,CAAC,WAAY,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,uBAAuB,CAAC;SAC7B,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9B,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EAAE,oBAAoB;oBAC7B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;wBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;4BAAE,OAAO,0BAA0B,CAAC;wBACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClC,OAAO,0EAA0E,CAAC;wBACpF,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC,CAAC;YACH,WAAW,GAAG,OAAO,CAAC,WAAqB,CAAC;QAC9C,CAAC;QAED,MAAM,aAAa,CAAC,WAAY,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AA4ClG;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAGzE;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AA4ClG;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAGzE;AA0hBD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,EACnE,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAgUjC"}
|
package/dist/utils/compile.js
CHANGED
|
@@ -656,75 +656,6 @@ function commonBuildOptions() {
|
|
|
656
656
|
sourcemap: false,
|
|
657
657
|
};
|
|
658
658
|
}
|
|
659
|
-
/**
|
|
660
|
-
* Analyze an esbuild metafile to extract the chunk dependency graph:
|
|
661
|
-
* - directEntryChunks: entryId → set of chunks the entry imports directly
|
|
662
|
-
* - chunkDeps: chunkId → list of chunks it imports
|
|
663
|
-
* - sortedChunkIds: chunks in dependency-first (topological) order
|
|
664
|
-
*
|
|
665
|
-
* Used to track each build (server and client) independently, since the two
|
|
666
|
-
* builds split into differently-named `chunk-[hash]` files.
|
|
667
|
-
*/
|
|
668
|
-
function analyzeChunkGraph(metafile, entryIds) {
|
|
669
|
-
const chunkNames = new Set();
|
|
670
|
-
for (const outputPath of Object.keys(metafile.outputs)) {
|
|
671
|
-
const baseName = path.basename(outputPath, ".js");
|
|
672
|
-
if (!entryIds.has(baseName) && baseName.startsWith("chunk-")) {
|
|
673
|
-
chunkNames.add(baseName);
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
const directEntryChunks = new Map();
|
|
677
|
-
const chunkDeps = new Map();
|
|
678
|
-
for (const chunkId of chunkNames)
|
|
679
|
-
chunkDeps.set(chunkId, []);
|
|
680
|
-
for (const [outputPath, outputMeta] of Object.entries(metafile.outputs)) {
|
|
681
|
-
const baseName = path.basename(outputPath, ".js");
|
|
682
|
-
const imports = outputMeta.imports || [];
|
|
683
|
-
if (entryIds.has(baseName)) {
|
|
684
|
-
const set = directEntryChunks.get(baseName) || new Set();
|
|
685
|
-
for (const imp of imports) {
|
|
686
|
-
const impBase = path.basename(imp.path, ".js");
|
|
687
|
-
if (chunkNames.has(impBase))
|
|
688
|
-
set.add(impBase);
|
|
689
|
-
}
|
|
690
|
-
directEntryChunks.set(baseName, set);
|
|
691
|
-
}
|
|
692
|
-
else if (chunkNames.has(baseName)) {
|
|
693
|
-
for (const imp of imports) {
|
|
694
|
-
const impBase = path.basename(imp.path, ".js");
|
|
695
|
-
if (chunkNames.has(impBase) && impBase !== baseName) {
|
|
696
|
-
chunkDeps.get(baseName).push(impBase);
|
|
697
|
-
}
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
// Topological sort: dependency-first (a chunk appears after the chunks it imports).
|
|
702
|
-
const depInDegree = new Map();
|
|
703
|
-
for (const [chunkId, deps] of chunkDeps)
|
|
704
|
-
depInDegree.set(chunkId, deps.length);
|
|
705
|
-
const queue = [];
|
|
706
|
-
for (const [chunkId, deg] of depInDegree)
|
|
707
|
-
if (deg === 0)
|
|
708
|
-
queue.push(chunkId);
|
|
709
|
-
const sortedChunkIds = [];
|
|
710
|
-
while (queue.length > 0) {
|
|
711
|
-
const current = queue.shift();
|
|
712
|
-
sortedChunkIds.push(current);
|
|
713
|
-
for (const [chunkId, deps] of chunkDeps) {
|
|
714
|
-
if (deps.includes(current)) {
|
|
715
|
-
depInDegree.set(chunkId, depInDegree.get(chunkId) - 1);
|
|
716
|
-
if (depInDegree.get(chunkId) === 0)
|
|
717
|
-
queue.push(chunkId);
|
|
718
|
-
}
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
// Cycle fallback — append anything not yet emitted (shouldn't happen).
|
|
722
|
-
for (const chunkId of chunkDeps.keys()) {
|
|
723
|
-
if (!sortedChunkIds.includes(chunkId))
|
|
724
|
-
sortedChunkIds.push(chunkId);
|
|
725
|
-
}
|
|
726
|
-
return { directEntryChunks, chunkDeps, sortedChunkIds };
|
|
727
|
-
}
|
|
728
659
|
/**
|
|
729
660
|
* Compile all components together with esbuild code splitting.
|
|
730
661
|
* Shared code is automatically extracted into chunk files.
|
|
@@ -752,14 +683,8 @@ export async function compileAllComponents(components, globalStylesPath) {
|
|
|
752
683
|
entryPoints[comp.id] = path.resolve(process.cwd(), comp.entryPath);
|
|
753
684
|
}
|
|
754
685
|
try {
|
|
755
|
-
// Server build with code splitting
|
|
756
|
-
|
|
757
|
-
// client build (different platform/externals → different `chunk-[hash]` names),
|
|
758
|
-
// so server-only chunks must be tracked separately. Otherwise they never make it
|
|
759
|
-
// into any entry's `entryChunkIds` → `usedSharedModuleIds`, get pruned from the
|
|
760
|
-
// persisted theme, and the storefront build fails with
|
|
761
|
-
// `Could not resolve "./chunk-XXXX.js" from "component.server.js"`.
|
|
762
|
-
const serverBuildResult = await esbuild.build({
|
|
686
|
+
// Server build with code splitting
|
|
687
|
+
await esbuild.build({
|
|
763
688
|
...commonBuildOptions(),
|
|
764
689
|
entryPoints,
|
|
765
690
|
format: "esm",
|
|
@@ -775,7 +700,6 @@ export async function compileAllComponents(components, globalStylesPath) {
|
|
|
775
700
|
outdir: serverDir,
|
|
776
701
|
entryNames: "[name]",
|
|
777
702
|
chunkNames: "chunk-[hash]",
|
|
778
|
-
metafile: true,
|
|
779
703
|
});
|
|
780
704
|
// Client build with code splitting (metafile enabled for dependency tracking)
|
|
781
705
|
const clientBuildResult = await esbuild.build({
|
|
@@ -1010,37 +934,22 @@ export async function compileAllComponents(components, globalStylesPath) {
|
|
|
1010
934
|
directEntryChunks.get(entryId)?.add(chunkId);
|
|
1011
935
|
}
|
|
1012
936
|
}
|
|
1013
|
-
// The client metafile only knows about CLIENT chunks. The server build splits
|
|
1014
|
-
// independently (different names), so analyze its metafile too and fold the
|
|
1015
|
-
// server-side entry→chunk closure into `entryChunkIds`. Chunk name spaces are
|
|
1016
|
-
// disjoint between the two builds, so the graphs simply merge.
|
|
1017
|
-
const serverGraph = analyzeChunkGraph(serverBuildResult.metafile, entryIds);
|
|
1018
|
-
const mergedChunkDeps = new Map();
|
|
1019
|
-
for (const [k, v] of chunkDeps)
|
|
1020
|
-
mergedChunkDeps.set(k, v);
|
|
1021
|
-
for (const [k, v] of serverGraph.chunkDeps)
|
|
1022
|
-
mergedChunkDeps.set(k, v);
|
|
1023
|
-
// Combined dependency-first order (client chunks then server chunks; disjoint).
|
|
1024
|
-
const combinedSortedChunkIds = [...sortedChunkIds, ...serverGraph.sortedChunkIds];
|
|
1025
937
|
const entryChunkIds = new Map();
|
|
1026
938
|
for (const comp of components) {
|
|
1027
939
|
const reachable = new Set();
|
|
1028
|
-
const queue = [
|
|
1029
|
-
...(directEntryChunks.get(comp.id) || []),
|
|
1030
|
-
...(serverGraph.directEntryChunks.get(comp.id) || []),
|
|
1031
|
-
];
|
|
940
|
+
const queue = Array.from(directEntryChunks.get(comp.id) || []);
|
|
1032
941
|
while (queue.length > 0) {
|
|
1033
942
|
const next = queue.shift();
|
|
1034
943
|
if (reachable.has(next))
|
|
1035
944
|
continue;
|
|
1036
945
|
reachable.add(next);
|
|
1037
|
-
for (const dep of
|
|
946
|
+
for (const dep of chunkDeps.get(next) || []) {
|
|
1038
947
|
if (!reachable.has(dep))
|
|
1039
948
|
queue.push(dep);
|
|
1040
949
|
}
|
|
1041
950
|
}
|
|
1042
951
|
// Emit in topo order so consumers can evaluate dependency-first.
|
|
1043
|
-
entryChunkIds.set(comp.id,
|
|
952
|
+
entryChunkIds.set(comp.id, sortedChunkIds.filter(id => reachable.has(id)));
|
|
1044
953
|
}
|
|
1045
954
|
return { success: true, entries, chunks, css, chunkCss, globalCss, entryChunkIds };
|
|
1046
955
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;AAC3E,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,kEAAkE,CAAC,CAAC;AAEtG;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG;IACvB,QAAQ;IACR,cAAc;IACd,yBAAyB;IACzB,MAAM;CACP,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,QAAQ;IACR,cAAc;IACd,MAAM;CACP,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,UAAkB,EAClB,WAAmB;IAEnB,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YACvC,GAAG,kBAAkB,EAAE;YACvB,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE;gBACP,iCAAiC,EAAE;gBACnC,4BAA4B,EAAE;gBAC9B,wBAAwB,EAAE;aAC3B;SACF,CAAC,CAAC;QAEH,sCAAsC;QACtC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YACvC,GAAG,kBAAkB,EAAE;YACvB,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE;gBACP,iCAAiC,EAAE;gBACnC,4BAA4B,EAAE;gBAC9B,wBAAwB,EAAE;aAC3B;SACF,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjD,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,YAAY;QACZ,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE;YACjD,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE;YACjD,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;SACtC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,WAAmB;IACvD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,OAAO,sBAAsB,CAAC,MAAM,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,YAAsB;IAC/D,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO,mBAAmB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,oFAAoF;AACpF,oFAAoF;AACpF,uFAAuF;AACvF,sFAAsF;AACtF,2EAA2E;AAC3E,EAAE;AACF,2FAA2F;AAC3F,yFAAyF;AACzF,6FAA6F;AAC7F,MAAM,gBAAgB,GAAG,+EAA+E,CAAC;AAEzG;;;;;;;;;;;;;GAaG;AACH,SAAS,mBAAmB,CAAC,GAAW,EAAE,YAAsB;IAC9D,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QACjC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,yBAAyB;QACzB,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,OAAO,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAChC,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9C,wEAAwE;YACxE,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;gBACtD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzD,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACtD,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC;gBACzC,CAAC,CAAC,IAAI,CAAC;YACT,uEAAuE;YACvE,2EAA2E;YAC3E,kDAAkD;YAClD,GAAG,IAAI,GAAG,MAAM,IAAI,WAAW,GAAG,CAAC;YACnC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,qEAAqE;QACrE,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACzB,qFAAqF;YACrF,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM;QACR,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,sFAAsF;YACtF,uFAAuF;YACvF,sFAAsF;YACtF,qFAAqF;YACrF,kDAAkD;YAClD,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,qFAAqF;YACrF,gBAAgB;YAChB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC,GAAG,MAAM,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC;aACnD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;aACrD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,0EAA0E;QAC1E,GAAG,IAAI,GAAG,cAAc,KAAK,IAAI,GAAG,CAAC;QACrC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,CAAC,EAAE,CAAC,CAAC,6BAA6B;gBAClC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB;YAC3C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B;QACrF,CAAC;QACD,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IACD,mFAAmF;IACnF,uFAAuF;IACvF,oFAAoF;IACpF,0FAA0F;IAC1F,yFAAyF;IACzF,4BAA4B;IAC5B,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAC,CAAC,8BAA8B;YAC3E,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAClB,CAAC,EAAE,CAAC,CAAC,qDAAqD;wBAC1D,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB;gBACrD,CAAC;gBACD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,gDAAgD;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,+CAA+C;IAC7E,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;kDACkD;AAClD,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAa;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QACrC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aACrC,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,UAAkB;IACnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;2EAC2E;AAC3E,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAa;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QACrC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aACrC,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACzE,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;4FAC4F;AAC5F,SAAS,iBAAiB,CAAC,CAAS;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACjC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACtC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;kFAiBkF;AAElF,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACpE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC/D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAE3E,SAAS,sBAAsB,CAAC,GAAW,EAAE,MAAc;IACzD,uFAAuF;IACvF,yFAAyF;IACzF,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAU,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;QAC5F,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC;QAC1D,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,aAAa,EAAE,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE,EAAU,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;QAChG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,gBAAgB;YAAE,OAAO,CAAC,CAAC;QAC9D,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,iBAAiB,EAAE,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,GAAG,GAAG,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,4BAA4B,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;AACtG,CAAC;AAED;wFACwF;AACxF,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QACjC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW,EAAE,OAAoB,EAAE,MAAc;IAC9E,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,EAAE;QACpD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACrC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,IAAI,YAAY,GAAG,OAAO;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAChC,uDAAuD,EACvD,CAAC,EAAE,EAAE,GAAW,EAAE,EAAU,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;YACpC,IAAI,EAAE;gBAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,GAAG,CAAC;YACrC,IAAI,EAAE;gBAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,GAAG,CAAC;YACrC,OAAO,GAAG,GAAG,GAAG,QAAQ,EAAE,CAAC;QAC7B,CAAC,CACF,CAAC;QACF,GAAG,IAAI,MAAM,GAAG,aAAa,GAAG,GAAG,CAAC;QACpC,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAW,EACX,aAA0B,EAC1B,eAA4B,EAC5B,iBAA8B,EAC9B,MAAc;IAEd,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,uFAAuF;IACvF,kEAAkE;IAClE,MAAM,WAAW,GACf,iBAAiB,CAAC,IAAI,GAAG,CAAC;QACxB,CAAC,CAAC,IAAI,MAAM,CAAC,gCAAgC,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;QAC5F,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;QAChC,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAI,CAAC,GAAG,KAAK,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,UAAU,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,YAAY,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;oBAC9C,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;oBAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,OAAO,CAAC,CAAC;oBAClD,IAAI,EAAE,KAAK,SAAS;wBAAE,OAAO,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC;oBAClD,IAAI,EAAE,KAAK,SAAS;wBAAE,OAAO,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC;oBAClD,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,cAAc,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAkB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAkB;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,IAAI,MAAM,CAAC,iBAAiB,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAkB;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,SAAmC;IACrE,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;QACjC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5F,GAAG,IAAI,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;YAC7B,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4FAA4F;AAC5F,SAAS,gBAAgB,CAAC,CAAS;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC9B,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,SAAkD;IACvF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAI,CAAC;QAClC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aAClD,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9B,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChG,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,GAAG,IAAI,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,EAAE,CAAC;aACrC,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,WAAW;QAChB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,CAAC,eAAe,CAAC;QACzB,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,GAAG,EAAE,OAAO;gBACZ,UAAU,EAAE,UAAU;gBACtB,kBAAkB,EAAE,iBAAiB;aACtC;SACF;QACD,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CACxB,QAAuE,EACvE,QAAqB;IAMrB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,UAAU;QAAE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7D,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACjE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS;QAAE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,WAAW;QAAE,IAAI,GAAG,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,GAAG,CAAC,CAAC,CAAC;gBACxD,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IACD,uEAAuE;IACvE,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAmE,EACnE,gBAAyB;IAEzB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,IAAI,GAAG,EAAE;YACjB,GAAG,EAAE,IAAI,GAAG,EAAE;YACd,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,aAAa,EAAE,IAAI,GAAG,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,sDAAsD;IACtD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACH,oCAAoC;QACpC,+EAA+E;QAC/E,gFAAgF;QAChF,iFAAiF;QACjF,gFAAgF;QAChF,uDAAuD;QACvD,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YAC5C,GAAG,kBAAkB,EAAE;YACvB,WAAW;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE;gBACP,iCAAiC,EAAE;gBACnC,4BAA4B,EAAE;gBAC9B,wBAAwB,EAAE;aAC3B;YACD,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,8EAA8E;QAC9E,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YAC5C,GAAG,kBAAkB,EAAE;YACvB,WAAW;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE;gBACP,iCAAiC,EAAE;gBACnC,4BAA4B,EAAE;gBAC9B,wBAAwB,EAAE;aAC3B;YACD,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkD,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkD,CAAC;QAEzE,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,qBAAqB;QACrB,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAS,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,uCAAuC;QACtF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,4CAA4C;QAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,gCAAgC;QACjF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,gCAAgC;QACjF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,6CAA6C;QAEjG,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAExD,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEtC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YACzC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnD,IAAI,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBACrC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,cAAc,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,4CAA4C;QAC3F,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YACzC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnD,IAAI,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC7D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,EAAE,CAAC;gBAC1C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,+EAA+E;QAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,IAAI,GAAG,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,qEAAqE;YACrE,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,GAAG,CAAC,CAAC,CAAC;oBACxD,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,kEAAkE;QAClE,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkD,CAAC;QAC/E,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,SAAS;gBAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,wEAAwE;QACxE,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,iEAAiE;QACjE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,qDAAqD;YACrD,6FAA6F;YAC7F,uEAAuE;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9C,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjD,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACvE,CAAC;YAED,+FAA+F;YAC/F,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,MAAM;oBAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,eAAe,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,MAAM,MAAM,GAAG,qBAAqB,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;YACjF,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAChC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAAE,SAAS;gBAChE,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvD,UAAU,IAAI,IAAI,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;YACrF,CAAC;YAED,sCAAsC;YACtC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,oBAAoB;QACpB,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAErC,+EAA+E;YAC/E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAChF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEzC,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACrD,WAAW,IAAI,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,SAA6B,CAAC;QAClC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC1E,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;gBACnE,SAAS,GAAG,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,qFAAqF;QACrF,0FAA0F;QAC1F,uFAAuF;QACvF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,UAAU;YAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,cAAc,EAAE,CAAC;YAClD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;gBAChC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,4EAA4E;QAC5E,8EAA8E;QAC9E,+DAA+D;QAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,QAAS,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;QACpD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS;YAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS;YAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,gFAAgF;QAChF,MAAM,sBAAsB,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QAElF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YACpC,MAAM,KAAK,GAAa;gBACtB,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;aACtD,CAAC;YACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAClC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,iEAAiE;YACjE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACrF,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,IAAI,GAAG,EAAE;YACjB,GAAG,EAAE,IAAI,GAAG,EAAE;YACd,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;SACtC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,0BAA0B;QAC1B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,UAAoB,EACpB,UAAmB,EACnB,WAAsB;IAEtB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,IAAI,UAAU;QAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,IAAI,WAAW;QAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAElC,mDAAmD;QACnD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"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"}
|