subay 0.0.13 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/h.js CHANGED
@@ -1,173 +1,121 @@
1
+ import { arr } from './arr.js';
1
2
  import { cleanup, isReactive, root, S, sample } from './s.js';
2
3
  const cache = new Map();
3
- function random6LetterString() {
4
- const BASE = 36;
5
- const power5 = BASE ** 5;
6
- const min = 10 * power5;
7
- const length = 26 * power5;
8
- return Math.floor(Math.random() * length + min).toString(BASE);
9
- }
10
- const MarkStart = random6LetterString();
11
- const MarkEnd = random6LetterString();
4
+ const rnds = () => String.fromCharCode((97 + Math.random() * 26) | 0) + Math.random().toString(36).substring(2, 5);
5
+ const MarkStart = rnds();
6
+ const MarkEnd = rnds();
12
7
  const MarkReg = new RegExp(`([\\s\\S]*?)${MarkStart}(\\d+)${MarkEnd}([\\s\\S]*?)(?=${MarkStart}\\d+${MarkEnd}|$)`, 'g');
13
8
  const BlankText = /\s*\n\s*/g;
14
9
  const domParser = new DOMParser();
10
+ const isNum = (d) => typeof d === 'number';
11
+ const isFun = (d) => typeof d === 'function';
12
+ const isStr = (d) => typeof d === 'string';
13
+ const deferRemove = (d) => (cleanup(() => d.remove()), d);
14
+ const callif = (fun) => (isFun(fun) ? fun() : fun);
15
15
  const parseText = (data) => {
16
- const result = [];
17
16
  data = data.replace(BlankText, '');
17
+ if (!data)
18
+ return [];
18
19
  if (data.includes(MarkStart) && data.includes(MarkEnd)) {
20
+ const result = [];
19
21
  for (const res of data.matchAll(MarkReg)) {
20
22
  const [, prefix, index, suffix] = res;
21
23
  if (prefix) {
22
24
  result.push(prefix);
23
25
  }
24
26
  if (index) {
25
- result.push(Number(index));
27
+ result.push(+index);
26
28
  }
27
29
  if (suffix) {
28
30
  result.push(suffix);
29
31
  }
30
32
  }
33
+ return result;
31
34
  }
32
- else if (data) {
33
- result.push(data);
34
- }
35
- return result;
35
+ return [data];
36
36
  };
37
37
  const unparseText = (data, values) => {
38
38
  if (data.length === 1) {
39
- if (typeof data[0] === 'number') {
40
- return values[data[0]];
41
- }
42
- return data[0];
39
+ const head = data[0];
40
+ return isNum(head) ? values[head] : head;
43
41
  }
44
- return S(() => {
45
- return data
46
- .map((it) => {
47
- if (typeof it === 'number') {
48
- const value = values[it];
49
- if (typeof value === 'function') {
50
- return value();
51
- }
52
- return value;
53
- }
54
- return it;
55
- })
56
- .join('');
57
- });
42
+ return S(() => data.map((it) => (isNum(it) ? callif(values[it]) : it)).join(''));
58
43
  };
59
- const parse = (docType, wrapSource, unwrapNode, segments, indexMap) => {
44
+ const parse = (markup2nodeList, segments, indexMap) => {
60
45
  if (cache.has(segments)) {
61
46
  return cache.get(segments);
62
47
  }
63
48
  const htmlStr = segments
64
- .flatMap((segment, index, { length }) => {
65
- if (index === length - 1) {
66
- return [segment];
67
- }
68
- return [segment, MarkStart, indexMap[index], MarkEnd];
69
- })
49
+ .flatMap((segment, index, { length }) => index === length - 1 ? [segment] : [segment, MarkStart, indexMap[index], MarkEnd])
70
50
  .join('');
71
- const wrappedHtmlStr = wrapSource(htmlStr);
72
- const document = domParser.parseFromString(wrappedHtmlStr, docType);
73
51
  const dom2treenode = (domNodeList) => {
74
52
  const nodeList = [];
75
53
  for (let item = domNodeList.item(0), nextSibling = item?.nextSibling, index = 0; item != null; item = nextSibling, nextSibling = nextSibling?.nextSibling, index++) {
76
- do
77
- remove_and_dec_index: {
78
- if (item.nodeType === 1) {
79
- const el = item;
80
- const tag = parseText(el.tagName.toLowerCase());
81
- const isVariableElem = tag.length > 1 || typeof tag[0] === 'number';
82
- nodeList.push({
83
- _ns: el.namespaceURI,
84
- _type: 2,
85
- _tag: tag,
86
- _attrs: Array.from(el.attributes).flatMap((attr) => {
87
- const name = parseText(attr.nodeName);
88
- const value = parseText(attr.value);
89
- const isVariableAttr = name.length > 1 ||
90
- typeof name[0] === 'number' ||
91
- value.length > 1 ||
92
- typeof value[0] === 'number';
93
- if (!isVariableElem && !isVariableAttr) {
94
- return [];
95
- }
96
- else {
97
- el.removeAttribute(attr.nodeName);
98
- }
99
- return [
100
- {
101
- _name: name,
102
- _value: value.length === 0 ? [true] : value,
103
- },
104
- ];
105
- }),
106
- _content: el.childNodes.length > 0 ? dom2treenode(el.childNodes) : [],
107
- _sourceNode: isVariableElem ? null : el,
108
- _sourceIndex: index,
109
- });
110
- if (!isVariableElem) {
111
- break remove_and_dec_index;
112
- }
113
- }
114
- else if (item.nodeType === 3) {
115
- const data = item.data;
116
- const result = parseText(data);
117
- if (result.length > 0) {
118
- nodeList.push({
119
- _type: 1,
120
- _data: result,
121
- });
54
+ if (item.nodeType === 1) {
55
+ const el = item;
56
+ const tag = parseText(el.tagName.toLowerCase());
57
+ const isVariableElem = tag.length > 1 || isNum(tag[0]);
58
+ nodeList.push({
59
+ _ns: el.namespaceURI,
60
+ _type: 2,
61
+ _tag: tag,
62
+ _attrs: Array.from(el.attributes).flatMap((attr) => {
63
+ const name = parseText(attr.nodeName);
64
+ const value = parseText(attr.value);
65
+ const isVariableAttr = name.length > 1 || isNum(name[0]) || value.length > 1 || isNum(value[0]);
66
+ if (!isVariableElem && !isVariableAttr) {
67
+ return [];
122
68
  }
123
- }
124
- item.remove();
125
- index--;
69
+ el.removeAttribute(attr.nodeName);
70
+ return [
71
+ {
72
+ _name: name,
73
+ _value: value.length === 0 ? [true] : value,
74
+ },
75
+ ];
76
+ }),
77
+ _content: el.childNodes.length > 0 ? dom2treenode(el.childNodes) : [],
78
+ _sourceNode: isVariableElem ? null : el,
79
+ _sourceIndex: index,
80
+ });
81
+ if (!isVariableElem) {
82
+ continue;
83
+ }
84
+ }
85
+ else if (item.nodeType === 3) {
86
+ const result = parseText(item.data);
87
+ if (result.length > 0) {
88
+ nodeList.push({
89
+ _type: 1,
90
+ _data: result,
91
+ });
126
92
  }
127
- while (false);
93
+ }
94
+ item.remove();
95
+ index--;
128
96
  }
129
97
  return nodeList;
130
98
  };
131
- const rootList = unwrapNode(document);
132
- const treeNode = dom2treenode(rootList);
99
+ const treeNode = dom2treenode(markup2nodeList(htmlStr));
133
100
  cache.set(segments, treeNode);
134
101
  return treeNode;
135
102
  };
136
- const element = (ns, sourceNode, tagName, attrs, values, child) => {
137
- if (typeof tagName === 'function') {
138
- if (isReactive(tagName)) {
139
- return fragment(() => {
140
- const realTagName = tagName();
141
- return element(ns, null, realTagName, attrs, values, child);
142
- });
143
- }
144
- else {
145
- return fragment(() => {
146
- return tagName(...attrs.flatMap(({ _name: name, _value: value }) => {
147
- if (name[0] === '...' && typeof name[1] === 'number') {
148
- return unparseText(name.slice(1), values);
149
- }
150
- else {
151
- return unparseText(value, values);
152
- }
153
- }), child);
154
- });
155
- }
103
+ const element = (ns, sourceNode, tagName, child) => {
104
+ if (isFun(tagName)) {
105
+ return fragment(() => {
106
+ const realTagName = tagName();
107
+ if (!isStr(realTagName)) {
108
+ throw new Error(`Expecting string returned from ${tagName} but get ${realTagName}`, { cause: tagName });
109
+ }
110
+ return element(ns, null, realTagName, child);
111
+ });
156
112
  }
157
- if (typeof tagName !== 'string') {
113
+ if (!isStr(tagName)) {
158
114
  return [];
159
115
  }
160
- const el = sourceNode || (ns ? document.createElementNS(ns, tagName) : document.createElement(tagName));
116
+ const el = deferRemove(sourceNode || (ns ? document.createElementNS(ns, tagName) : document.createElement(tagName)));
161
117
  S(() => {
162
- for (const { _name: name, _value: value } of attrs) {
163
- if (name[0] === '...' && typeof name[1] === 'number') {
164
- spreadAttrs(el, unparseText(name.slice(1), values));
165
- }
166
- else {
167
- attribute(el, unparseText(name, values), unparseText(value, values));
168
- }
169
- }
170
- const subnodes = child();
118
+ const subnodes = child(el);
171
119
  if (subnodes.length === 0) {
172
120
  return;
173
121
  }
@@ -186,26 +134,17 @@ const element = (ns, sourceNode, tagName, attrs, values, child) => {
186
134
  }
187
135
  }
188
136
  });
189
- cleanup(() => el.remove());
190
137
  return [el];
191
138
  };
192
139
  let fragmentHeadNode = null;
193
140
  const fragment = (child) => {
194
- const firstNode = new Comment('');
195
- cleanup(() => firstNode.remove());
141
+ const firstNode = deferRemove(new Text(''));
196
142
  const tempArray = [firstNode];
197
143
  S(() => {
198
144
  fragmentHeadNode = firstNode;
199
145
  const c = child();
200
146
  const carr = Array.isArray(c) ? c : [c];
201
- const nodified = carr.map((c) => {
202
- if (c instanceof Node) {
203
- return c;
204
- }
205
- const node = new Text(c);
206
- cleanup(() => node.remove());
207
- return node;
208
- });
147
+ const nodified = carr.map((c) => (c instanceof Node ? c : deferRemove(new Text(c))));
209
148
  if (firstNode.isConnected) {
210
149
  firstNode.after(...nodified);
211
150
  }
@@ -215,189 +154,68 @@ const fragment = (child) => {
215
154
  });
216
155
  return tempArray;
217
156
  };
218
- function arrTrans(a, b, a2b, dela, keep) {
219
- const aLen = a.length;
220
- const bLen = b.length;
221
- if (a === b || (aLen === 0 && bLen === 0)) {
222
- return;
223
- }
224
- let start = 0;
225
- const minLen = Math.min(aLen, bLen);
226
- while (start < minLen && a[start] === b[start]) {
227
- start++;
228
- }
229
- let end = 0;
230
- while (end < minLen - start && a[aLen - 1 - end] === b[bLen - 1 - end]) {
231
- end++;
232
- }
233
- const aMidLen = aLen - start - end;
234
- const bMidLen = bLen - start - end;
235
- if (aMidLen === 0 && bMidLen === 0) {
236
- for (let i = 0; i < start; i++) {
237
- keep(a[i]);
238
- }
239
- for (let i = 0; i < end; i++) {
240
- keep(a[aLen - end + i]);
241
- }
242
- return;
243
- }
244
- const bIndexMap = new Map();
245
- for (let i = 0; i < bMidLen; i++) {
246
- bIndexMap.set(b[start + i], i);
247
- }
248
- const indices = [];
249
- for (let i = 0; i < aMidLen; i++) {
250
- const val = a[start + i];
251
- const bIdx = bIndexMap.get(val);
252
- if (bIdx !== undefined) {
253
- indices.push(bIdx);
254
- }
255
- }
256
- const tails = [];
257
- const parents = new Array(indices.length).fill(-1);
258
- const tailIndices = [];
259
- for (let i = 0; i < indices.length; i++) {
260
- const idx = indices[i];
261
- let left = 0;
262
- let right = tails.length;
263
- while (left < right) {
264
- const mid = (left + right) >> 1;
265
- if (tails[mid] < idx) {
266
- left = mid + 1;
267
- }
268
- else {
269
- right = mid;
270
- }
271
- }
272
- const pos = left;
273
- if (pos === tails.length) {
274
- tails.push(idx);
275
- tailIndices.push(i);
276
- }
277
- else {
278
- tails[pos] = idx;
279
- tailIndices[pos] = i;
280
- }
281
- if (pos > 0) {
282
- parents[i] = tailIndices[pos - 1];
283
- }
284
- }
285
- const keepSet = new Set();
286
- let curr = tailIndices.length > 0 ? tailIndices[tailIndices.length - 1] : -1;
287
- while (curr !== -1) {
288
- const bIdx = indices[curr];
289
- keepSet.add(b[start + bIdx]);
290
- curr = parents[curr];
291
- }
292
- for (let i = 0; i < start; i++) {
293
- keep(a[i]);
294
- }
295
- for (let i = 0; i < aMidLen; i++) {
296
- const val = a[start + i];
297
- if (!keepSet.has(val)) {
298
- dela(val);
299
- }
300
- }
301
- for (let i = 0; i < bMidLen; i++) {
302
- const val = b[start + i];
303
- if (keepSet.has(val)) {
304
- keep(val);
305
- }
306
- else {
307
- a2b(val);
308
- }
309
- }
310
- for (let i = 0; i < end; i++) {
311
- keep(a[aLen - end + i]);
312
- }
313
- }
314
157
  export const map = (array, f) => {
315
158
  return fragment(() => {
316
159
  const headNode = fragmentHeadNode;
317
- cleanup(() => {
318
- mapState()._itemDestroyer.forEach((f) => f());
319
- });
320
- const createItem = (item) => {
321
- return root((destroyItem) => {
322
- const domNodes = f(item);
323
- return [destroyItem, domNodes];
324
- });
325
- };
160
+ cleanup(() => mapState()._killer.forEach((f) => f()));
161
+ const createItem = (item) => root((destroyItem) => [destroyItem, f(item)]);
326
162
  const mapState = S((preState = {
327
- _arrayValue: [],
328
- _domNodesOfItem: [],
329
- _itemDestroyer: [],
163
+ _arr: [],
164
+ _nodes: [],
165
+ _killer: [],
330
166
  }) => {
331
167
  const currentArrayValue = array();
332
- const preArrayValue = preState._arrayValue;
168
+ const preArrayValue = preState._arr;
333
169
  const newState = {
334
- _arrayValue: currentArrayValue,
335
- _domNodesOfItem: [],
336
- _itemDestroyer: [],
170
+ _arr: currentArrayValue,
171
+ _nodes: [],
172
+ _killer: [],
337
173
  };
338
- arrTrans(preArrayValue, currentArrayValue, (newItem) => {
174
+ arr(preArrayValue, currentArrayValue, (oldItem) => preState._killer[preArrayValue.indexOf(oldItem)](), (newItem) => {
339
175
  const [destroyer, domNodes] = createItem(newItem);
340
- const preNode = newState._domNodesOfItem.at(-1)?.at(-1) ?? headNode;
176
+ const preNode = (newState._nodes.at(-1)?.at(-1) ?? headNode);
341
177
  preNode.after(...domNodes);
342
- newState._domNodesOfItem.push(domNodes);
343
- newState._itemDestroyer.push(destroyer);
178
+ newState._nodes.push(domNodes);
179
+ newState._killer.push(destroyer);
344
180
  }, (oldItem) => {
345
181
  const i = preArrayValue.indexOf(oldItem);
346
- preState._itemDestroyer[i]();
182
+ newState._nodes.push(preState._nodes[i]);
183
+ newState._killer.push(preState._killer[i]);
347
184
  }, (oldItem) => {
348
185
  const i = preArrayValue.indexOf(oldItem);
349
- newState._domNodesOfItem.push(preState._domNodesOfItem[i]);
350
- newState._itemDestroyer.push(preState._itemDestroyer[i]);
186
+ const preNode = (newState._nodes.at(-1)?.at(-1) ?? headNode);
187
+ const domNodes = preState._nodes[i];
188
+ preNode.after(...domNodes);
189
+ newState._nodes.push(domNodes);
190
+ newState._killer.push(preState._killer[i]);
351
191
  });
352
192
  return newState;
353
193
  });
354
- return sample(() => mapState()._domNodesOfItem.flat());
194
+ return sample(() => mapState()._nodes.flat());
355
195
  });
356
196
  };
357
- const isPropertyOf = (domEl, traitName) => {
358
- let descriptor;
359
- do {
360
- descriptor = Object.getOwnPropertyDescriptor(domEl, traitName);
361
- domEl = Object.getPrototypeOf(domEl);
362
- } while (domEl && !descriptor);
363
- if (!descriptor) {
364
- return false;
365
- }
366
- if (false === descriptor.writable) {
367
- return false;
368
- }
369
- if (descriptor.get && !descriptor.set) {
197
+ const isPropertyOf = (el, key) => {
198
+ if (!(key in el))
370
199
  return false;
371
- }
372
- return true;
200
+ let d;
201
+ while (el && !(d = Object.getOwnPropertyDescriptor(el, key)))
202
+ el = Object.getPrototypeOf(el);
203
+ return d && d.writable !== false && !!(!d.get || d.set);
373
204
  };
374
205
  const attribute = (node, key, val) => {
375
- if (typeof key !== 'function' && !isReactive(val)) {
376
- if (!node) {
377
- return;
378
- }
379
- if (!(node instanceof Element)) {
380
- return;
381
- }
382
- const isProp = isPropertyOf(node, key);
383
- if (isProp) {
384
- const preValue = node[key];
206
+ if (!(node instanceof Element)) {
207
+ return;
208
+ }
209
+ if (!isFun(key) && !isReactive(val)) {
210
+ if (isPropertyOf(node, key)) {
385
211
  node[key] = val;
386
- cleanup(() => {
387
- node[key] = preValue;
388
- });
389
212
  }
390
213
  else {
391
214
  node.setAttribute(key, String(val));
392
- cleanup(() => {
393
- node.removeAttribute(key);
394
- });
395
215
  }
396
216
  }
397
217
  else {
398
- S(() => {
399
- attribute(node, typeof key === 'function' ? key() : key, isReactive(val) ? val() : val);
400
- });
218
+ S(() => attribute(node, callif(key), isReactive(val) ? val() : val));
401
219
  }
402
220
  };
403
221
  const spreadAttrs = (node, value) => {
@@ -411,35 +229,32 @@ const spreadAttrs = (node, value) => {
411
229
  const tree2dom = (ns, node, values) => {
412
230
  if (node._type === 1) {
413
231
  return node._data.flatMap((part) => {
414
- if (typeof part === 'string') {
415
- const textNode = new Text(part);
416
- cleanup(() => textNode.remove());
417
- return textNode;
232
+ if (isStr(part)) {
233
+ return deferRemove(new Text(part));
418
234
  }
419
- else if (typeof part === 'number') {
420
- const value = values[part];
421
- if (typeof value === 'function') {
422
- if (isReactive(value)) {
423
- return fragment(() => value());
424
- }
425
- else {
426
- return fragment(value);
427
- }
428
- }
429
- else if (typeof value !== 'object') {
430
- const textNode = new Text(String(value));
431
- cleanup(() => textNode.remove());
432
- return textNode;
433
- }
434
- return value;
235
+ const value = values[part];
236
+ if (isFun(value)) {
237
+ return fragment(value);
238
+ }
239
+ else if (typeof value !== 'object') {
240
+ return deferRemove(new Text(String(value)));
435
241
  }
242
+ return value;
436
243
  });
437
244
  }
438
245
  else {
439
246
  const { _attrs: attrs, _content: content, _tag: tag, _sourceNode: sourceNode } = node;
440
247
  const tagValue = unparseText(tag, values);
441
248
  const currentNs = node._ns ?? ns;
442
- return element(currentNs, sourceNode, tagValue, attrs, values, () => {
249
+ return element(currentNs, sourceNode, tagValue, (el) => {
250
+ for (const { _name: name, _value: value } of attrs) {
251
+ if (name[0] === '...' && isNum(name[1])) {
252
+ spreadAttrs(el, unparseText(name.slice(1), values));
253
+ }
254
+ else {
255
+ attribute(el, unparseText(name, values), unparseText(value, values));
256
+ }
257
+ }
443
258
  return content.flatMap((t) => tree2dom(currentNs, t, values));
444
259
  });
445
260
  }
@@ -462,14 +277,12 @@ const cloneTreeNode = (treeNode, parentNode) => {
462
277
  };
463
278
  }
464
279
  };
465
- const tag = (ns, docType, wrapSource, unwrapNode) => (segments, ...values) => {
466
- const tree = parse(docType, wrapSource, unwrapNode, segments, values.map((it) => values.indexOf(it)));
280
+ const tag = (ns, markup2nodeList) => (segments, ...values) => {
281
+ const tree = parse(markup2nodeList, segments, values.map((it) => values.indexOf(it)));
467
282
  const clonedTree = tree.map((tree) => cloneTreeNode(tree, null));
468
- return fragment(() => {
469
- return clonedTree.flatMap((item) => tree2dom(ns, item, values));
470
- });
283
+ return fragment(() => clonedTree.flatMap((item) => tree2dom(ns, item, values)));
471
284
  };
472
285
  const svgns = 'http://www.w3.org/2000/svg';
473
- export const svg = tag(svgns, 'text/xml', (svg) => `<svg xmlns="${svgns}">${svg}</svg>`, (doc) => doc.firstChild.childNodes);
474
- export const html = tag(null, 'text/html', (html) => html, (doc) => doc.body.childNodes);
286
+ export const svg = tag(svgns, (svgStr) => domParser.parseFromString(`<svg xmlns="${svgns}">${svgStr}</svg>`, 'text/xml').firstChild.childNodes);
287
+ export const html = tag(null, (htmlStr) => domParser.parseFromString(htmlStr, 'text/html').body.childNodes);
475
288
  //# sourceMappingURL=h.js.map
package/lib/h.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.js","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA4B9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyC,CAAC;AAC/D,SAAS,mBAAmB;IACxB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AACD,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;AACxC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;AACtC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,eAAe,SAAS,SAAS,OAAO,kBAAkB,SAAS,OAAO,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;AACxH,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAElC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAsC,EAAE,MAAa,EAAE,EAAE;IAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,EAAE;QACV,OAAO,IAAI;aACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACR,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC9B,OAAO,KAAK,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CACV,OAA+B,EAC/B,UAAsC,EACtC,UAAwC,EACxC,QAA8B,EAC9B,QAAkB,EACH,EAAE;IACjB,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ;SACnB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACpC,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,CAAC,WAAqB,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KACI,IAAI,IAAI,GAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EACnG,IAAI,IAAI,IAAI,EACZ,IAAI,GAAG,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EACrE,CAAC;YACC;gBACI,oBAAoB,EAAE,CAAC;oBACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAyB,CAAC;wBAC7C,MAAM,EAAE,GAAG,IAAe,CAAC;wBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;wBAChD,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;wBAEpE,QAAQ,CAAC,IAAI,CAAC;4BACV,GAAG,EAAE,EAAE,CAAC,YAAY;4BACpB,KAAK,GAAuB;4BAC5B,IAAI,EAAE,GAAG;4BACT,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gCAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACtC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCACpC,MAAM,cAAc,GAChB,IAAI,CAAC,MAAM,GAAG,CAAC;oCACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;oCAC3B,KAAK,CAAC,MAAM,GAAG,CAAC;oCAChB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;gCAEjC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;oCACrC,OAAO,EAAE,CAAC;gCACd,CAAC;qCAAM,CAAC;oCACJ,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACtC,CAAC;gCACD,OAAO;oCACH;wCACI,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;qCACjB;iCACjC,CAAC;4BACN,CAAC,CAAC;4BACF,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;4BACrE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;4BACvC,YAAY,EAAE,KAAK;yBACtB,CAAC,CAAC;wBAEH,IAAI,CAAC,cAAc,EAAE,CAAC;4BAClB,MAAM,oBAAoB,CAAC;wBAC/B,CAAC;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAqB,CAAC;wBAChD,MAAM,IAAI,GAAI,IAAa,CAAC,IAAI,CAAC;wBACjC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,QAAQ,CAAC,IAAI,CAAC;gCACV,KAAK,GAAoB;gCACzB,KAAK,EAAE,MAAM;6BAChB,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;oBACA,IAAiC,CAAC,MAAM,EAAE,CAAC;oBAC5C,KAAK,EAAE,CAAC;gBACZ,CAAC;mBACE,KAAK,EAAE;QAClB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAExC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9B,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACZ,EAAiB,EACjB,UAA0B,EAC1B,OAAgE,EAChE,KAA2B,EAC3B,MAAa,EACb,KAAmB,EACb,EAAE;IACR,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,GAAG,EAAE;gBACjB,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;gBAC9B,OAAO,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,QAAQ,CAAC,GAAG,EAAE;gBACjB,OAAO,OAAO,CACV,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACnD,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACJ,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC,CAAC,EACF,KAAK,CACE,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,GAAG,EAAE;QACH,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnD,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACjB,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,KAAK,IAAI,IAAI,GAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;gBAC/G,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAE,CAAC;gBACpC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACjB,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAmB,IAAI,CAAC;AAC5C,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAU,EAAE;IAC7C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAW,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,GAAG,EAAE;QACH,gBAAgB,GAAG,SAAS,CAAC;QAC7B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,CAAC;YACb,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AACF,SAAS,QAAQ,CAAI,CAAe,EAAE,CAAe,EAAE,GAAmB,EAAE,IAAoB,EAAE,IAAoB;IAClH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO;IACX,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACrE,GAAG,EAAE,CAAC;IACV,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IAEnC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAExB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAE,GAAG,GAAG,EAAE,CAAC;gBACpB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,GAAG,CAAC;YAChB,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC;QACjB,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACjB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;QACvC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAK,CAAC;IAC7B,IAAI,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAE,CAAC,CAAC;QAC9B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;IAC1B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC;AAMD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAgB,EAAE,CAAsB,EAAU,EAAE;IACvE,OAAO,QAAQ,CAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAClC,OAAO,CAAC,GAAG,EAAE;YACT,QAAQ,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,IAAO,EAAE,EAAE;YAC3B,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAyB,CAAC;YAC3D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,CACd,CACI,WAAW;YACP,WAAW,EAAE,EAAS;YACtB,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;SACrB,EACH,EAAE;YACA,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC3C,MAAM,QAAQ,GAAgB;gBAC1B,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,EAAE;gBACnB,cAAc,EAAE,EAAE;aACrB,CAAC;YACF,QAAQ,CACJ,aAAa,EACb,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;gBACnE,OAA6B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAClD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAE,EAAE,CAAC;YAClC,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,CAAC;gBAC5D,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC9D,CAAC,CACJ,CAAC;YACF,OAAO,QAAQ,CAAC;QACpB,CAAC,CACJ,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAA+B,EAAE,SAAiB,EAAE,EAAE;IACxE,IAAI,UAAU,CAAC;IACf,GAAG,CAAC;QACA,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,EAAE;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,GAA4B,EAAE,GAAyB,EAAE,EAAE;IACzF,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,YAAY,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAW,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,QAAQ,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;YACnC,IAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE;gBACR,IAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,GAAG,EAAE;YACH,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,KAAgB,EAAE,EAAE;IACpD,CAAC,CAAC,GAAG,EAAE;QACH,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAiB,EAAE,IAAmB,EAAE,MAAa,EAAU,EAAE;IAC/E,IAAI,IAAI,CAAC,KAAK,MAAuB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjC,OAAO,QAAQ,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC9B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;wBACpB,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACJ,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjC,OAAO,QAAQ,CAAC;gBACpB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACtF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAuB,EAAE,UAA0B,EAAiB,EAAE;IACzF,IAAI,QAAQ,CAAC,KAAK,MAAuB,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,WAAW,GACb,UAAU,CAAC,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAa;YAClE,CAAC,CAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAa,CAAC;QAC1D,OAAO;YACH,GAAG,QAAQ;YACX,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACnD,CAAC;IACjC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,GAAG,GACL,CACI,EAAiB,EACjB,OAA+B,EAC/B,UAAsC,EACtC,UAAwC,EAC1C,EAAE,CACJ,CAAC,QAA8B,EAAE,GAAG,MAAa,EAAU,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CACd,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACzC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC,GAAG,EAAE;QACjB,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACN,MAAM,KAAK,GAAG,4BAA4B,CAAC;AAC3C,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAClB,KAAK,EACL,UAAU,EACV,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,KAAK,KAAK,GAAG,QAAQ,EAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAW,CAAC,UAAU,CACtC,CAAC;AACF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACnB,IAAI,EACJ,WAAW,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EACd,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAC/B,CAAC"}
1
+ {"version":3,"file":"h.js","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA4B9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyC,CAAC;AAC/D,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnH,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;AACzB,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC;AACvB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,eAAe,SAAS,SAAS,OAAO,kBAAkB,SAAS,OAAO,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;AACxH,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC,MAAM,KAAK,GAAG,CAAC,CAAM,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC7D,MAAM,KAAK,GAAG,CAAC,CAAM,EAAgC,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;AAChF,MAAM,KAAK,GAAG,CAAC,CAAM,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC7D,MAAM,WAAW,GAAG,CAAqC,CAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjG,MAAM,MAAM,GAAG,CAAI,GAAkB,EAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAsC,EAAE,MAAa,EAAE,EAAE;IAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CACV,eAA6C,EAC7C,QAA8B,EAC9B,QAAkB,EACH,EAAE;IACjB,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ;SACnB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CACpC,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CACpF;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,YAAY,GAAG,CAAC,WAAqB,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KACI,IAAI,IAAI,GAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EACnG,IAAI,IAAI,IAAI,EACZ,IAAI,GAAG,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EACrE,CAAC;YACC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAyB,CAAC;gBAC7C,MAAM,EAAE,GAAG,IAAe,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChD,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEvD,QAAQ,CAAC,IAAI,CAAC;oBACV,GAAG,EAAE,EAAE,CAAC,YAAY;oBACpB,KAAK,GAAuB;oBAC5B,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACtC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACpC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAEhG,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;4BACrC,OAAO,EAAE,CAAC;wBACd,CAAC;wBACD,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAClC,OAAO;4BACH;gCACI,KAAK,EAAE,IAAI;gCACX,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;6BACjB;yBACjC,CAAC;oBACN,CAAC,CAAC;oBACF,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oBACrE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACvC,YAAY,EAAE,KAAK;iBACtB,CAAC,CAAC;gBAEH,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,SAAS;gBACb,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAqB,CAAC;gBAChD,MAAM,MAAM,GAAG,SAAS,CAAE,IAAa,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC;wBACV,KAAK,GAAoB;wBACzB,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YACA,IAAiC,CAAC,MAAM,EAAE,CAAC;YAC5C,KAAK,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACZ,EAAiB,EACjB,UAA0B,EAC1B,OAAgC,EAChC,KAA8B,EACxB,EAAE;IACR,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC,GAAG,EAAE;YACjB,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,YAAY,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC,CAAC,GAAG,EAAE;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACjB,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,KAAK,IAAI,IAAI,GAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;gBAC/G,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAE,CAAC;gBACpC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACjB,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAmB,IAAI,CAAC;AAC5C,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAU,EAAE;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAW,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,GAAG,EAAE;QACH,gBAAgB,GAAG,SAAS,CAAC;QAC7B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAgB,EAAE,CAAsB,EAAU,EAAE;IACvE,OAAO,QAAQ,CAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAClC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAyB,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,CAAC,CACd,CACI,WAAW;YACP,IAAI,EAAE,EAAS;YACf,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACd,EACH,EAAE;YACA,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YACpC,MAAM,QAAQ,GAAgB;gBAC1B,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;aACd,CAAC;YACF,GAAG,CACC,aAAa,EACb,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAE,EAAE,EAChE,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAsB,CAAC;gBAClF,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC3B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;gBAC1C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;YAChD,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAsB,CAAC;gBAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC3B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;YAChD,CAAC,CACJ,CAAC;YACF,OAAO,QAAQ,CAAC;QACpB,CAAC,CACJ,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAA4B,EAAE,GAAW,EAAE,EAAE;IAC/D,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,CAAC,CAAC;IACN,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,wBAAwB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAAE,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,GAA4B,EAAE,GAAyB,EAAE,EAAE;IACzF,IAAI,CAAC,CAAC,IAAI,YAAY,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO;IACX,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,IAAW,EAAE,GAAG,CAAC,EAAE,CAAC;YAChC,IAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,KAAgB,EAAE,EAAE;IACpD,CAAC,CAAC,GAAG,EAAE;QACH,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAiB,EAAE,IAAmB,EAAE,MAAa,EAAU,EAAE;IAC/E,IAAI,IAAI,CAAC,KAAK,MAAuB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACtF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACnD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACJ,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAuB,EAAE,UAA0B,EAAiB,EAAE;IACzF,IAAI,QAAQ,CAAC,KAAK,MAAuB,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,WAAW,GACb,UAAU,CAAC,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAa;YAClE,CAAC,CAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAa,CAAC;QAC1D,OAAO;YACH,GAAG,QAAQ;YACX,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACnD,CAAC;IACjC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,GAAG,GACL,CAAC,EAAiB,EAAE,eAA6C,EAAE,EAAE,CACrE,CAAC,QAA8B,EAAE,GAAG,MAAa,EAAU,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CACd,eAAe,EACf,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACzC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC;AACN,MAAM,KAAK,GAAG,4BAA4B,CAAC;AAC3C,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAClB,KAAK,EACL,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,KAAK,KAAK,MAAM,QAAQ,EAAE,UAAU,CAAC,CAAC,UAAW,CAAC,UAAU,CACpH,CAAC;AACF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subay",
3
- "version": "0.0.13",
3
+ "version": "0.1.0",
4
4
  "description": "A lightweight reactive UI library with state management and template rendering",
5
5
  "keywords": [
6
6
  "reactive",