@reidelsaltres/pureper 0.1.114 → 0.1.116

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.
@@ -0,0 +1,87 @@
1
+ /**
2
+ * HMLEParser - HTML Markup Language Extensions Parser
3
+ *
4
+ * Two-stage parsing:
5
+ * Stage 1: String processing - @for loops, @(expression) interpolations
6
+ * Stage 2: DOM processing - @[event](handler) bindings, attribute directives
7
+ *
8
+ * Usage:
9
+ * const parser = new HMLEParser();
10
+ * parser.addVariable('items', [{name: 'Item 1'}, {name: 'Item 2'}]);
11
+ * const fragment = parser.parseToDOM(templateString, scopeObject);
12
+ */
13
+ export default class HMLEParser {
14
+ private static extractBalancedBraces;
15
+ private static extractBalancedParens;
16
+ private static rules;
17
+ private static domRules;
18
+ variables: Record<string, unknown>;
19
+ /**
20
+ * Add a variable to the parser's global scope
21
+ */
22
+ addVariable(name: string, value: unknown): this;
23
+ /**
24
+ * Build execution context that includes prototype methods from scope
25
+ */
26
+ private buildContext;
27
+ /**
28
+ * Resolve a dotted expression against the parser variables and optional local scope.
29
+ */
30
+ resolveExpression(expr: string, scope?: Record<string, any>): any;
31
+ /**
32
+ * Convert value to string for text content
33
+ */
34
+ private stringifyValue;
35
+ /**
36
+ * Evaluate a JavaScript expression in a given context
37
+ */
38
+ private evaluateInContext;
39
+ /**
40
+ * Parse HMLE template string and return processed HTML string
41
+ * @param content HMLE template string
42
+ * @param scope Optional scope object (can be a class instance)
43
+ * @returns Processed HTML string
44
+ */
45
+ parse(content: string, scope?: Record<string, any>): string;
46
+ /**
47
+ * Stage 2: Process DOM rules on a fragment
48
+ * Walks all elements and applies DOM rules based on attributes
49
+ */
50
+ private processDOMRules;
51
+ /**
52
+ * Parse HMLE template and create DOM elements (Stage 1 + Stage 2)
53
+ * @param content HMLE template string
54
+ * @param scope Optional scope object
55
+ * @returns DocumentFragment containing parsed HTML with bindings applied
56
+ */
57
+ parseToDOM(content: string, scope?: Record<string, any>): DocumentFragment;
58
+ /**
59
+ * Parse HMLE template and return single element (first child)
60
+ * @param content HMLE template string
61
+ * @param scope Optional scope object
62
+ * @returns First element from parsed HTML, or null
63
+ */
64
+ parseToElement<T extends Element = Element>(content: string, scope?: Record<string, any>): T | null;
65
+ /**
66
+ * Parse and append to a parent element
67
+ * @param content HMLE template string
68
+ * @param parent Parent element to append to
69
+ * @param scope Optional scope object
70
+ * @returns The parent element
71
+ */
72
+ parseAndAppend(content: string, parent: Element, scope?: Record<string, any>): Element;
73
+ /**
74
+ * Parse and replace element's innerHTML
75
+ * @param content HMLE template string
76
+ * @param element Element to update
77
+ * @param scope Optional scope object
78
+ * @returns The updated element
79
+ */
80
+ parseAndReplace(content: string, element: Element, scope?: Record<string, any>): Element;
81
+ /**
82
+ * Apply DOM rules to an existing element (Stage 2 only)
83
+ * Useful when you already have DOM and just want to process bindings
84
+ */
85
+ applyBindings(element: Element, scope?: Record<string, any>): Element;
86
+ }
87
+ //# sourceMappingURL=HMLEParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HMLEParser.d.ts","sourceRoot":"","sources":["../../src/foundation/HMLEParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA8BH,MAAM,CAAC,OAAO,OAAO,UAAU;IAE3B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAcpC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAcpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAkFlB;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAuHrB;IAEK,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAE/C;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKtD;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAWxE;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAqClE;;;OAGG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB;IAajF;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAK1G;;;;;;OAMG;IACI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;IAM7F;;;;;;OAMG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;IAO/F;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;CAI/E"}
@@ -0,0 +1,430 @@
1
+ /**
2
+ * HMLEParser - HTML Markup Language Extensions Parser
3
+ *
4
+ * Two-stage parsing:
5
+ * Stage 1: String processing - @for loops, @(expression) interpolations
6
+ * Stage 2: DOM processing - @[event](handler) bindings, attribute directives
7
+ *
8
+ * Usage:
9
+ * const parser = new HMLEParser();
10
+ * parser.addVariable('items', [{name: 'Item 1'}, {name: 'Item 2'}]);
11
+ * const fragment = parser.parseToDOM(templateString, scopeObject);
12
+ */
13
+ // Stage 1: String-based rules
14
+ class HMLEParserRule {
15
+ pattern;
16
+ replacer;
17
+ constructor(pattern, replacer) {
18
+ this.pattern = pattern;
19
+ this.replacer = replacer;
20
+ }
21
+ }
22
+ // Stage 2: DOM-based rules for attribute processing
23
+ class HMLEDOMRule {
24
+ attrPattern;
25
+ processor;
26
+ constructor(attrPattern, processor) {
27
+ this.attrPattern = attrPattern;
28
+ this.processor = processor;
29
+ }
30
+ }
31
+ export default class HMLEParser {
32
+ // Extract balanced braces { ... }
33
+ static extractBalancedBraces(content, start) {
34
+ if (content[start] !== '{')
35
+ return null;
36
+ let depth = 1;
37
+ let i = start + 1;
38
+ while (i < content.length && depth > 0) {
39
+ if (content[i] === '{')
40
+ depth++;
41
+ else if (content[i] === '}')
42
+ depth--;
43
+ i++;
44
+ }
45
+ if (depth !== 0)
46
+ return null;
47
+ return { block: content.slice(start + 1, i - 1), end: i };
48
+ }
49
+ // Extract balanced parentheses ( ... )
50
+ static extractBalancedParens(content, start) {
51
+ if (content[start] !== '(')
52
+ return null;
53
+ let depth = 1;
54
+ let i = start + 1;
55
+ while (i < content.length && depth > 0) {
56
+ if (content[i] === '(')
57
+ depth++;
58
+ else if (content[i] === ')')
59
+ depth--;
60
+ i++;
61
+ }
62
+ if (depth !== 0)
63
+ return null;
64
+ return { block: content.slice(start + 1, i - 1), end: i };
65
+ }
66
+ // Predefined rules processed in order
67
+ static rules = [
68
+ // Rule: @for (item in items) { ... }
69
+ new HMLEParserRule(/@for\s*\(\s*([A-Za-z_$][A-Za-z0-9_$]*)\s+in\s+([A-Za-z_$][A-Za-z0-9_$.]*)\s*\)\s*\{/g, (parser, match, input, scope) => {
70
+ const iterVar = match[1];
71
+ const iterableExpr = match[2];
72
+ const blockStart = match.index + match[0].length - 1; // position of '{'
73
+ const extracted = HMLEParser.extractBalancedBraces(input, blockStart);
74
+ if (!extracted)
75
+ return match[0];
76
+ const inner = extracted.block;
77
+ const resolved = parser.resolveExpression(iterableExpr, scope);
78
+ const arr = Array.isArray(resolved) ? resolved : [];
79
+ const parts = [];
80
+ for (const item of arr) {
81
+ const fullScope = Object.assign({}, scope, { [iterVar]: item });
82
+ parts.push(parser.parse(inner, fullScope));
83
+ }
84
+ return { text: parts.join('\n'), end: extracted.end };
85
+ }),
86
+ // Rule: @(( code )) — double-paren for complex expressions
87
+ new HMLEParserRule(/@\(\(/g, (parser, match, input, scope) => {
88
+ const blockStart = match.index + match[0].length - 1; // points at inner '('
89
+ const extracted = HMLEParser.extractBalancedParens(input, blockStart);
90
+ if (!extracted)
91
+ return match[0];
92
+ const code = extracted.block;
93
+ const ctx = parser.buildContext(scope);
94
+ let result;
95
+ try {
96
+ const fn = new Function('with(this){ return (' + code + '); }');
97
+ result = fn.call(ctx);
98
+ }
99
+ catch (e) {
100
+ try {
101
+ const fn2 = new Function('with(this){ ' + code + ' }');
102
+ result = fn2.call(ctx);
103
+ }
104
+ catch (e2) {
105
+ return { text: '', end: extracted.end };
106
+ }
107
+ }
108
+ // Skip outer ')' if present
109
+ let finalEnd = extracted.end;
110
+ if (input[extracted.end] === ')')
111
+ finalEnd = extracted.end + 1;
112
+ return { text: parser.stringifyValue(result), end: finalEnd };
113
+ }),
114
+ // Rule: @( code ) — single-paren expression
115
+ new HMLEParserRule(/@\(/g, (parser, match, input, scope) => {
116
+ const blockStart = match.index + match[0].length - 1; // points at '('
117
+ const extracted = HMLEParser.extractBalancedParens(input, blockStart);
118
+ if (!extracted)
119
+ return match[0];
120
+ const code = extracted.block;
121
+ const ctx = parser.buildContext(scope);
122
+ let result;
123
+ try {
124
+ const fn = new Function('with(this){ return (' + code + '); }');
125
+ result = fn.call(ctx);
126
+ }
127
+ catch (e) {
128
+ try {
129
+ const fn2 = new Function('with(this){ ' + code + ' }');
130
+ result = fn2.call(ctx);
131
+ }
132
+ catch (e2) {
133
+ return { text: '', end: extracted.end };
134
+ }
135
+ }
136
+ return { text: parser.stringifyValue(result), end: extracted.end };
137
+ }),
138
+ ];
139
+ // Stage 2: DOM rules for attribute processing
140
+ static domRules = [
141
+ // Rule: @[eventName](expression) — event binding
142
+ // Example: @[onClick](handleClick) or @[onInput](value = $event.target.value)
143
+ new HMLEDOMRule(/^@\[on([A-Za-z]+)\]$/i, (parser, element, attrName, attrValue, match, scope) => {
144
+ const eventName = match[1].toLowerCase(); // onClick -> click
145
+ const ctx = parser.buildContext(scope);
146
+ const handler = (event) => {
147
+ // Add $event to context
148
+ const eventCtx = Object.assign({}, ctx, { $event: event, $el: element });
149
+ try {
150
+ const fn = new Function('with(this){ ' + attrValue + ' }');
151
+ fn.call(eventCtx);
152
+ }
153
+ catch (e) {
154
+ console.error(`HMLEParser: Error in @[on${match[1]}] handler:`, e);
155
+ }
156
+ };
157
+ element.addEventListener(eventName, handler);
158
+ element.removeAttribute(attrName);
159
+ }),
160
+ // Rule: @[bind:attribute](expression) — two-way binding
161
+ // Example: @[bind:value](inputValue)
162
+ new HMLEDOMRule(/^@\[bind:([A-Za-z-]+)\]$/, (parser, element, attrName, attrValue, match, scope) => {
163
+ const boundAttr = match[1];
164
+ const ctx = parser.buildContext(scope);
165
+ // Set initial value
166
+ const initialValue = parser.evaluateInContext(attrValue, ctx);
167
+ if (boundAttr === 'value' && 'value' in element) {
168
+ element.value = initialValue ?? '';
169
+ }
170
+ else {
171
+ element.setAttribute(boundAttr, parser.stringifyValue(initialValue));
172
+ }
173
+ // For input elements, listen for changes
174
+ if (boundAttr === 'value' && (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || element.tagName === 'SELECT')) {
175
+ element.addEventListener('input', (event) => {
176
+ const newValue = event.target.value;
177
+ // Try to update the bound variable in scope
178
+ if (scope && attrValue in scope) {
179
+ scope[attrValue] = newValue;
180
+ }
181
+ else if (attrValue in parser.variables) {
182
+ parser.variables[attrValue] = newValue;
183
+ }
184
+ });
185
+ }
186
+ element.removeAttribute(attrName);
187
+ }),
188
+ // Rule: @[ref](refName) — element reference
189
+ // Example: @[ref](myButton)
190
+ new HMLEDOMRule(/^@\[ref\]$/, (parser, element, attrName, attrValue, match, scope) => {
191
+ if (scope && attrValue) {
192
+ scope[attrValue] = element;
193
+ }
194
+ else if (attrValue) {
195
+ parser.variables[attrValue] = element;
196
+ }
197
+ element.removeAttribute(attrName);
198
+ }),
199
+ // Rule: @[class:className](condition) — conditional class
200
+ // Example: @[class:active](isActive)
201
+ new HMLEDOMRule(/^@\[class:([A-Za-z_-][A-Za-z0-9_-]*)\]$/, (parser, element, attrName, attrValue, match, scope) => {
202
+ const className = match[1];
203
+ const ctx = parser.buildContext(scope);
204
+ const condition = parser.evaluateInContext(attrValue, ctx);
205
+ if (condition) {
206
+ element.classList.add(className);
207
+ }
208
+ else {
209
+ element.classList.remove(className);
210
+ }
211
+ element.removeAttribute(attrName);
212
+ }),
213
+ // Rule: @[style:property](expression) — dynamic style
214
+ // Example: @[style:color](textColor)
215
+ new HMLEDOMRule(/^@\[style:([A-Za-z-]+)\]$/, (parser, element, attrName, attrValue, match, scope) => {
216
+ const styleProp = match[1];
217
+ const ctx = parser.buildContext(scope);
218
+ const value = parser.evaluateInContext(attrValue, ctx);
219
+ if (value != null) {
220
+ element.style.setProperty(styleProp, String(value));
221
+ }
222
+ element.removeAttribute(attrName);
223
+ }),
224
+ // Rule: @[if](condition) — conditional rendering
225
+ // Example: @[if](showElement)
226
+ new HMLEDOMRule(/^@\[if\]$/, (parser, element, attrName, attrValue, match, scope) => {
227
+ const ctx = parser.buildContext(scope);
228
+ const condition = parser.evaluateInContext(attrValue, ctx);
229
+ if (!condition) {
230
+ // Create a placeholder comment
231
+ const placeholder = document.createComment(`@[if](${attrValue})`);
232
+ element.parentNode?.replaceChild(placeholder, element);
233
+ }
234
+ else {
235
+ element.removeAttribute(attrName);
236
+ }
237
+ }),
238
+ ];
239
+ variables = {};
240
+ /**
241
+ * Add a variable to the parser's global scope
242
+ */
243
+ addVariable(name, value) {
244
+ this.variables[name] = value;
245
+ return this;
246
+ }
247
+ /**
248
+ * Build execution context that includes prototype methods from scope
249
+ */
250
+ buildContext(scope) {
251
+ const ctx = Object.assign({}, this.variables);
252
+ if (scope) {
253
+ // Copy own properties
254
+ Object.assign(ctx, scope);
255
+ // Copy prototype methods (for class instances)
256
+ let proto = Object.getPrototypeOf(scope);
257
+ while (proto && proto !== Object.prototype) {
258
+ for (const key of Object.getOwnPropertyNames(proto)) {
259
+ if (key !== 'constructor' && typeof proto[key] === 'function' && !(key in ctx)) {
260
+ ctx[key] = proto[key].bind(scope);
261
+ }
262
+ }
263
+ proto = Object.getPrototypeOf(proto);
264
+ }
265
+ }
266
+ return ctx;
267
+ }
268
+ /**
269
+ * Resolve a dotted expression against the parser variables and optional local scope.
270
+ */
271
+ resolveExpression(expr, scope) {
272
+ const combined = this.buildContext(scope);
273
+ const parts = expr.split('.').map(p => p.trim()).filter(Boolean);
274
+ let cur = combined;
275
+ for (const part of parts) {
276
+ if (cur == null)
277
+ return undefined;
278
+ cur = cur[part];
279
+ }
280
+ return cur;
281
+ }
282
+ /**
283
+ * Convert value to string for text content
284
+ */
285
+ stringifyValue(val) {
286
+ if (val == null)
287
+ return '';
288
+ if (typeof val === 'string')
289
+ return val;
290
+ return String(val);
291
+ }
292
+ /**
293
+ * Evaluate a JavaScript expression in a given context
294
+ */
295
+ evaluateInContext(code, ctx) {
296
+ try {
297
+ const fn = new Function('with(this){ return (' + code + '); }');
298
+ return fn.call(ctx);
299
+ }
300
+ catch (e) {
301
+ try {
302
+ const fn2 = new Function('with(this){ ' + code + ' }');
303
+ return fn2.call(ctx);
304
+ }
305
+ catch (e2) {
306
+ return undefined;
307
+ }
308
+ }
309
+ }
310
+ /**
311
+ * Parse HMLE template string and return processed HTML string
312
+ * @param content HMLE template string
313
+ * @param scope Optional scope object (can be a class instance)
314
+ * @returns Processed HTML string
315
+ */
316
+ parse(content, scope) {
317
+ let working = content;
318
+ for (const rule of HMLEParser.rules) {
319
+ const pattern = rule.pattern;
320
+ let result = '';
321
+ let lastIndex = 0;
322
+ let match;
323
+ // Reset scanning position
324
+ pattern.lastIndex = 0;
325
+ while ((match = pattern.exec(working)) !== null) {
326
+ // Append text before this match
327
+ result += working.slice(lastIndex, match.index);
328
+ const out = rule.replacer(this, match, working, scope);
329
+ if (typeof out === 'string') {
330
+ result += out;
331
+ lastIndex = match.index + match[0].length;
332
+ }
333
+ else {
334
+ result += out.text;
335
+ lastIndex = out.end;
336
+ }
337
+ // Continue scanning from the correct position
338
+ pattern.lastIndex = lastIndex;
339
+ }
340
+ // Append tail and update working
341
+ result += working.slice(lastIndex);
342
+ working = result;
343
+ }
344
+ return working;
345
+ }
346
+ /**
347
+ * Stage 2: Process DOM rules on a fragment
348
+ * Walks all elements and applies DOM rules based on attributes
349
+ */
350
+ processDOMRules(fragment, scope) {
351
+ const elements = fragment instanceof DocumentFragment
352
+ ? Array.from(fragment.querySelectorAll('*'))
353
+ : [fragment, ...Array.from(fragment.querySelectorAll('*'))];
354
+ for (const element of elements) {
355
+ // Get all attributes to process (copy to avoid mutation issues)
356
+ const attrs = Array.from(element.attributes);
357
+ for (const attr of attrs) {
358
+ // Check each DOM rule
359
+ for (const rule of HMLEParser.domRules) {
360
+ rule.attrPattern.lastIndex = 0;
361
+ const match = rule.attrPattern.exec(attr.name);
362
+ if (match) {
363
+ rule.processor(this, element, attr.name, attr.value, match, scope);
364
+ break; // Only one rule per attribute
365
+ }
366
+ }
367
+ }
368
+ }
369
+ }
370
+ /**
371
+ * Parse HMLE template and create DOM elements (Stage 1 + Stage 2)
372
+ * @param content HMLE template string
373
+ * @param scope Optional scope object
374
+ * @returns DocumentFragment containing parsed HTML with bindings applied
375
+ */
376
+ parseToDOM(content, scope) {
377
+ // Stage 1: String processing
378
+ const html = this.parse(content, scope);
379
+ const template = document.createElement('template');
380
+ template.innerHTML = html.trim();
381
+ const fragment = template.content;
382
+ // Stage 2: DOM processing
383
+ this.processDOMRules(fragment, scope);
384
+ return fragment;
385
+ }
386
+ /**
387
+ * Parse HMLE template and return single element (first child)
388
+ * @param content HMLE template string
389
+ * @param scope Optional scope object
390
+ * @returns First element from parsed HTML, or null
391
+ */
392
+ parseToElement(content, scope) {
393
+ const fragment = this.parseToDOM(content, scope);
394
+ return fragment.firstElementChild;
395
+ }
396
+ /**
397
+ * Parse and append to a parent element
398
+ * @param content HMLE template string
399
+ * @param parent Parent element to append to
400
+ * @param scope Optional scope object
401
+ * @returns The parent element
402
+ */
403
+ parseAndAppend(content, parent, scope) {
404
+ const fragment = this.parseToDOM(content, scope);
405
+ parent.appendChild(fragment);
406
+ return parent;
407
+ }
408
+ /**
409
+ * Parse and replace element's innerHTML
410
+ * @param content HMLE template string
411
+ * @param element Element to update
412
+ * @param scope Optional scope object
413
+ * @returns The updated element
414
+ */
415
+ parseAndReplace(content, element, scope) {
416
+ const fragment = this.parseToDOM(content, scope);
417
+ element.innerHTML = '';
418
+ element.appendChild(fragment);
419
+ return element;
420
+ }
421
+ /**
422
+ * Apply DOM rules to an existing element (Stage 2 only)
423
+ * Useful when you already have DOM and just want to process bindings
424
+ */
425
+ applyBindings(element, scope) {
426
+ this.processDOMRules(element, scope);
427
+ return element;
428
+ }
429
+ }
430
+ //# sourceMappingURL=HMLEParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HMLEParser.js","sourceRoot":"","sources":["../../src/foundation/HMLEParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,8BAA8B;AAC9B,MAAM,cAAc;IACT,OAAO,CAAS;IAChB,QAAQ,CAAqI;IAEpJ,YACI,OAAe,EACf,QAA4I;QAE5I,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,oDAAoD;AACpD,MAAM,WAAW;IACN,WAAW,CAAS;IACpB,SAAS,CAA2I;IAE3J,YACI,WAAmB,EACnB,SAAmJ;QAEnJ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,kCAAkC;IAC1B,MAAM,CAAC,qBAAqB,CAAC,OAAe,EAAE,KAAa;QAC/D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACrC,CAAC,EAAE,CAAC;QACR,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,uCAAuC;IAC/B,MAAM,CAAC,qBAAqB,CAAC,OAAe,EAAE,KAAa;QAC/D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACrC,CAAC,EAAE,CAAC;QACR,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,sCAAsC;IAC9B,MAAM,CAAC,KAAK,GAAqB;QACrC,qCAAqC;QACrC,IAAI,cAAc,CAAC,sFAAsF,EACrG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB;YAExE,MAAM,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1D,CAAC,CACJ;QAED,2DAA2D;QAC3D,IAAI,cAAc,CAAC,QAAQ,EACvB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,sBAAsB;YAE5E,MAAM,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;gBAChE,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;oBACvD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;YAED,4BAA4B;YAC5B,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;YAC7B,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG;gBAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;YAE/D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAClE,CAAC,CACJ;QAED,4CAA4C;QAC5C,IAAI,cAAc,CAAC,MAAM,EACrB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,gBAAgB;YAEtE,MAAM,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;gBAChE,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;oBACvD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;QACvE,CAAC,CACJ;KACJ,CAAC;IAEF,8CAA8C;IACtC,MAAM,CAAC,QAAQ,GAAkB;QACrC,iDAAiD;QACjD,8EAA8E;QAC9E,IAAI,WAAW,CAAC,uBAAuB,EACnC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,mBAAmB;YAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEvC,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC7B,wBAAwB;gBACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC;oBACD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;oBAC3D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC,CAAC;YAEF,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CACJ;QAED,wDAAwD;QACxD,qCAAqC;QACrC,IAAI,WAAW,CAAC,0BAA0B,EACtC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEvC,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,SAAS,KAAK,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC7C,OAA4B,CAAC,KAAK,GAAG,YAAY,IAAI,EAAE,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,yCAAyC;YACzC,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC3H,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACxC,MAAM,QAAQ,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;oBAC1D,4CAA4C;oBAC5C,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;wBAC9B,KAAK,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;oBAChC,CAAC;yBAAM,IAAI,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACvC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;oBAC3C,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CACJ;QAED,4CAA4C;QAC5C,4BAA4B;QAC5B,IAAI,WAAW,CAAC,YAAY,EACxB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAC/B,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CACJ;QAED,0DAA0D;QAC1D,qCAAqC;QACrC,IAAI,WAAW,CAAC,yCAAyC,EACrD,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE3D,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CACJ;QAED,sDAAsD;QACtD,qCAAqC;QACrC,IAAI,WAAW,CAAC,2BAA2B,EACvC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAEvD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACf,OAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CACJ;QAED,iDAAiD;QACjD,8BAA8B;QAC9B,IAAI,WAAW,CAAC,WAAW,EACvB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,SAAS,GAAa,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAErE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,+BAA+B;gBAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CACJ;KACJ,CAAC;IAEK,SAAS,GAA4B,EAAE,CAAC;IAE/C;;OAEG;IACI,WAAW,CAAC,IAAY,EAAE,KAAc;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAA2B;QAC5C,MAAM,GAAG,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,KAAK,EAAE,CAAC;YACR,sBAAsB;YACtB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,+CAA+C;YAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,IAAI,GAAG,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC7E,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,IAAY,EAAE,KAA2B;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,GAAG,GAAQ,QAAQ,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC;YAClC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAQ;QAC3B,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAY,EAAE,GAAwB;QAC5D,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;gBACvD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAe,EAAE,KAA2B;QACrD,IAAI,OAAO,GAAG,OAAO,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,KAA6B,CAAC;YAElC,0BAA0B;YAC1B,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9C,gCAAgC;gBAChC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEvD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,CAAC;oBACd,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;oBACnB,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC;gBACxB,CAAC;gBAED,8CAA8C;gBAC9C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAClC,CAAC;YAED,iCAAiC;YACjC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,GAAG,MAAM,CAAC;QACrB,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,QAAoC,EAAE,KAA2B;QACrF,MAAM,QAAQ,GAAG,QAAQ,YAAY,gBAAgB;YACjD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEhE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,gEAAgE;YAChE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,sBAAsB;gBACtB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;wBACnE,MAAM,CAAC,8BAA8B;oBACzC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,OAAe,EAAE,KAA2B;QAC1D,6BAA6B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;QAElC,0BAA0B;QAC1B,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAA8B,OAAe,EAAE,KAA2B;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,iBAA6B,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,OAAe,EAAE,MAAe,EAAE,KAA2B;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,OAAe,EAAE,OAAgB,EAAE,KAA2B;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,OAAgB,EAAE,KAA2B;QAC9D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAI7E,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC,SAAS,OAAO,CAAE,YAAW,QAAQ;IAC/D,OAAO,CAAC,GAAG,CAAC,CAA0B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAgB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;gBAE9C,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAWhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAcxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,OAAO,CAAC,UAAU;IAUL,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDhF,OAAO,CAAC,mBAAmB;CAsC9B;AAED,UAAU,QAAQ;IACd,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,CAAE,YAAW,QAAQ;aAO1C,MAAM,CAAC,EAAE,MAAM;aACf,GAAG,CAAC,EAAE,MAAM;aACZ,EAAE,CAAC,EAAE,MAAM;IARxB,GAAG,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAmB;IAE5C,SAAgB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEjE,OAAO;WAMO,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAQ/F,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAIxD,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC;IAIjD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAM/C,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;CAG7B"}
1
+ {"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAK7E,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC,SAAS,OAAO,CAAE,YAAW,QAAQ;IAC/D,OAAO,CAAC,GAAG,CAAC,CAA0B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAgB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;gBAE9C,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAWhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAcxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,OAAO,CAAC,UAAU;IAUL,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDhF,OAAO,CAAC,mBAAmB;CAmC9B;AAED,UAAU,QAAQ;IACd,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,CAAE,YAAW,QAAQ;aAO1C,MAAM,CAAC,EAAE,MAAM;aACf,GAAG,CAAC,EAAE,MAAM;aACZ,EAAE,CAAC,EAAE,MAAM;IARxB,GAAG,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAmB;IAE5C,SAAgB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEjE,OAAO;WAMO,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAQ/F,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAIxD,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC;IAIjD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAM/C,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;CAG7B"}
@@ -3,7 +3,7 @@ import { Router } from "./worker/Router.js";
3
3
  import ServiceWorker from "./worker/ServiceWorker.js";
4
4
  import Page from "./component_api/Page.js";
5
5
  import Component from "./component_api/Component.js";
6
- import PHTMLParser from "./PHTMLParser.js";
6
+ import HMLEParser from "./HMLEParser.js";
7
7
  import { HOSTING_ORIGIN } from "../index.js";
8
8
  export default class Triplet {
9
9
  uni;
@@ -116,30 +116,24 @@ export default class Triplet {
116
116
  };
117
117
  let proto = ori.prototype;
118
118
  proto._init = async function () {
119
- ///
120
119
  const fullPath = that.markup;
121
- var markup = "";
122
- if (fullPath.endsWith(".phtml")) {
123
- const parser = new PHTMLParser();
124
- markup = parser.parse(await Fetcher.fetchText(fullPath), this);
125
- }
126
- else {
127
- markup = await Fetcher.fetchText(fullPath);
128
- }
129
- ///
130
- return markup;
120
+ const parser = new HMLEParser();
121
+ var domFragment = parser.parseToDOM(await Fetcher.fetchText(fullPath), this);
122
+ return domFragment;
131
123
  };
132
124
  proto._postInit = async function (preHtml) {
133
125
  if (that.css) {
134
126
  const link = that.createLink(that.css);
135
- preHtml = link.outerHTML + "\n" + preHtml;
127
+ preHtml.prepend(link);
128
+ //preHtml.appendChild(link);
136
129
  }
137
130
  for (const [type, filePath] of that.additionalFiles) {
138
131
  if (!filePath.endsWith(".css"))
139
132
  continue;
140
133
  if (type !== 'light-dom') {
141
134
  const link = that.createLink(filePath);
142
- preHtml = link.outerHTML + "\n" + preHtml;
135
+ preHtml.prepend(link);
136
+ //preHtml.appendChild(link)
143
137
  }
144
138
  }
145
139
  return preHtml;
@@ -1 +1 @@
1
- {"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export default interface IElementHolder {
2
- readonly element: HTMLElement;
2
+ readonly element: HTMLElement | DocumentFragment;
3
3
  }
4
4
  //# sourceMappingURL=ElementHolder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementHolder.d.ts","sourceRoot":"","sources":["../../../src/foundation/api/ElementHolder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,cAAc;IACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CACjC"}
1
+ {"version":3,"file":"ElementHolder.d.ts","sourceRoot":"","sources":["../../../src/foundation/api/ElementHolder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,cAAc;IACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAC;CACpD"}
@@ -39,6 +39,6 @@ export default class UniHtml {
39
39
  * @param element Target container
40
40
  * @param html HTML content
41
41
  */
42
- protected render(holder: IElementHolder, renderTarget: HTMLElement | ShadowRoot): Promise<void>;
42
+ protected render(holder: IElementHolder, renderTarget: HTMLElement | DocumentFragment): Promise<void>;
43
43
  }
44
44
  //# sourceMappingURL=UniHtml.d.ts.map