common_nostr.mjs raw
1 // Package common/nostr
2 // Generated by TinyJS — TinyGo JavaScript backend
3
4 import * as $rt from './$runtime/index.mjs';
5
6 import * as common$crypto$secp256k1 from './common_crypto_secp256k1.mjs';
7 import * as common$crypto$sha256 from './common_crypto_sha256.mjs';
8 import * as common$helpers from './common_helpers.mjs';
9
10 // Package-level variables
11
12 $rt.types.registerType('common/nostr.Filter', {
13 id: 'common/nostr.Filter',
14 kind: 'struct',
15 methods: new Map(),
16 fields: [
17 { name: 'IDs', type: '[]string', tag: '', embedded: false },
18 { name: 'Authors', type: '[]string', tag: '', embedded: false },
19 { name: 'Kinds', type: '[]int', tag: '', embedded: false },
20 { name: 'Tags', type: 'map[string][]string', tag: '', embedded: false },
21 { name: 'Since', type: 'int64', tag: '', embedded: false },
22 { name: 'Until', type: 'int64', tag: '', embedded: false },
23 { name: 'Limit', type: 'int', tag: '', embedded: false },
24 { name: 'Proxy', type: '[]string', tag: '', embedded: false },
25 ],
26 zero: () => ({ IDs: null, Authors: null, Kinds: null, Tags: null, Since: 0, Until: 0, Limit: 0, Proxy: null }),
27 });
28 $rt.types.registerType('common/nostr.Event', {
29 id: 'common/nostr.Event',
30 kind: 'struct',
31 methods: new Map(),
32 fields: [
33 { name: 'ID', type: 'string', tag: 'json:"id"', embedded: false },
34 { name: 'PubKey', type: 'string', tag: 'json:"pubkey"', embedded: false },
35 { name: 'CreatedAt', type: 'int64', tag: 'json:"created_at"', embedded: false },
36 { name: 'Kind', type: 'int', tag: 'json:"kind"', embedded: false },
37 { name: 'Tags', type: 'common/nostr.Tags', tag: 'json:"tags"', embedded: false },
38 { name: 'Content', type: 'string', tag: 'json:"content"', embedded: false },
39 { name: 'Sig', type: 'string', tag: 'json:"sig"', embedded: false },
40 ],
41 zero: () => ({ ID: '', PubKey: '', CreatedAt: 0, Kind: 0, Tags: null, Content: '', Sig: '' }),
42 });
43 export function init() {
44 return;
45 }
46
47 export function appendField(buf, first) {
48 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
49 let $block = 0;
50 while (true) {
51 switch ($block) {
52 case 0: {
53 $t0_1 = first.$get();
54 if ($t0_1) {
55 $t5_6 = buf;
56 $block = 2; break;
57 }
58 else {
59 $block = 1; break;
60 }
61 break;
62 }
63 case 1: {
64 $t1_2 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
65 $t2_3 = $t1_2.$get().addr(0);
66 $t2_3.$set(44);
67 $t3_4 = $rt.builtin.sliceSlice($t1_2.$get(), undefined, undefined, undefined);
68 $t4_5 = $rt.builtin.appendSlice(buf, $t3_4);
69 $t5_6 = $t4_5;
70 $block = 2; break;
71 break;
72 }
73 case 2: {
74 first.$set(false);
75 return $t5_6;
76 break;
77 }
78 }
79 }
80 }
81
82 export function appendStrArray(buf, ss) {
83 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30;
84 let $block = 0;
85 while (true) {
86 switch ($block) {
87 case 0: {
88 $t0_1 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
89 $t1_2 = $t0_1.$get().addr(0);
90 $t1_2.$set(91);
91 $t2_3 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
92 $t3_4 = $rt.builtin.appendSlice(buf, $t2_3);
93 $t4_5 = $rt.builtin.len(ss);
94 $t5_6 = $t3_4;
95 $t6_7 = -1;
96 $block = 1; break;
97 break;
98 }
99 case 1: {
100 $t7_8 = ($t6_7 + 1);
101 $t8_9 = ($t7_8 < $t4_5);
102 if ($t8_9) {
103 $block = 2; break;
104 }
105 else {
106 $block = 3; break;
107 }
108 break;
109 }
110 case 2: {
111 $t9_10 = ss.addr($t7_8);
112 $t10_11 = $t9_10.$get();
113 $t11_12 = ($t7_8 > 0);
114 if ($t11_12) {
115 $block = 4; break;
116 }
117 else {
118 $t20_21 = $t5_6;
119 $block = 5; break;
120 }
121 break;
122 }
123 case 3: {
124 $t12_13 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
125 $t13_14 = $t12_13.$get().addr(0);
126 $t13_14.$set(93);
127 $t14_15 = $rt.builtin.sliceSlice($t12_13.$get(), undefined, undefined, undefined);
128 $t15_16 = $rt.builtin.appendSlice($t5_6, $t14_15);
129 return $t15_16;
130 break;
131 }
132 case 4: {
133 $t16_17 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
134 $t17_18 = $t16_17.$get().addr(0);
135 $t17_18.$set(44);
136 $t18_19 = $rt.builtin.sliceSlice($t16_17.$get(), undefined, undefined, undefined);
137 $t19_20 = $rt.builtin.appendSlice($t5_6, $t18_19);
138 $t20_21 = $t19_20;
139 $block = 5; break;
140 break;
141 }
142 case 5: {
143 $t21_22 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
144 $t22_23 = $t21_22.$get().addr(0);
145 $t22_23.$set(34);
146 $t23_24 = $rt.builtin.sliceSlice($t21_22.$get(), undefined, undefined, undefined);
147 $t24_25 = $rt.builtin.appendSlice($t20_21, $t23_24);
148 $t25_26 = $rt.builtin.appendString($t24_25, $t10_11);
149 $t26_27 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
150 $t27_28 = $t26_27.$get().addr(0);
151 $t27_28.$set(34);
152 $t28_29 = $rt.builtin.sliceSlice($t26_27.$get(), undefined, undefined, undefined);
153 $t29_30 = $rt.builtin.appendSlice($t25_26, $t28_29);
154 $t5_6 = $t29_30;
155 $t6_7 = $t7_8;
156 $block = 1; break;
157 break;
158 }
159 }
160 }
161 }
162
163 export function i64ToStr(n) {
164 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
165 let $block = 0;
166 while (true) {
167 switch ($block) {
168 case 0: {
169 $t0_1 = (n === 0);
170 if ($t0_1) {
171 $block = 1; break;
172 }
173 else {
174 $block = 2; break;
175 }
176 break;
177 }
178 case 1: {
179 return '0';
180 break;
181 }
182 case 2: {
183 $t1_2 = (n < 0);
184 if ($t1_2) {
185 $block = 3; break;
186 }
187 else {
188 $t3_4 = n;
189 $t4_5 = false;
190 $block = 4; break;
191 }
192 break;
193 }
194 case 3: {
195 $t2_3 = -n;
196 $t3_4 = $t2_3;
197 $t4_5 = true;
198 $block = 4; break;
199 break;
200 }
201 case 4: {
202 $t5_6 = { $value: $rt.builtin.makeSlice(20, 20, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
203 $t12_13 = $t3_4;
204 $t13_14 = 20;
205 $block = 7; break;
206 break;
207 }
208 case 5: {
209 $t6_7 = ($t13_14 - 1);
210 $t7_8 = ($t12_13 % 10);
211 $t8_9 = (48 + $t7_8);
212 $t9_10 = ($t8_9 & 0xFF);
213 $t10_11 = $t5_6.$get().addr($t6_7);
214 $t10_11.$set($t9_10);
215 $t11_12 = Math.trunc($t12_13 / 10);
216 $t12_13 = $t11_12;
217 $t13_14 = $t6_7;
218 $block = 7; break;
219 break;
220 }
221 case 6: {
222 if ($t4_5) {
223 $block = 8; break;
224 }
225 else {
226 $t17_18 = $t13_14;
227 $block = 9; break;
228 }
229 break;
230 }
231 case 7: {
232 $t14_15 = ($t12_13 > 0);
233 if ($t14_15) {
234 $block = 5; break;
235 }
236 else {
237 $block = 6; break;
238 }
239 break;
240 }
241 case 8: {
242 $t15_16 = ($t13_14 - 1);
243 $t16_17 = $t5_6.$get().addr($t15_16);
244 $t16_17.$set(45);
245 $t17_18 = $t15_16;
246 $block = 9; break;
247 break;
248 }
249 case 9: {
250 $t18_19 = $rt.builtin.sliceSlice($t5_6.$get(), $t17_18, undefined, undefined);
251 $t19_20 = $rt.builtin.bytesToString($t18_19);
252 return $t19_20;
253 break;
254 }
255 }
256 }
257 }
258
259 export function intToStr(n) {
260 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
261 let $block = 0;
262 while (true) {
263 switch ($block) {
264 case 0: {
265 $t0_1 = (n === 0);
266 if ($t0_1) {
267 $block = 1; break;
268 }
269 else {
270 $block = 2; break;
271 }
272 break;
273 }
274 case 1: {
275 return '0';
276 break;
277 }
278 case 2: {
279 $t1_2 = (n < 0);
280 if ($t1_2) {
281 $block = 3; break;
282 }
283 else {
284 $t3_4 = n;
285 $t4_5 = false;
286 $block = 4; break;
287 }
288 break;
289 }
290 case 3: {
291 $t2_3 = -n;
292 $t3_4 = $t2_3;
293 $t4_5 = true;
294 $block = 4; break;
295 break;
296 }
297 case 4: {
298 $t5_6 = { $value: $rt.builtin.makeSlice(20, 20, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
299 $t12_13 = $t3_4;
300 $t13_14 = 20;
301 $block = 7; break;
302 break;
303 }
304 case 5: {
305 $t6_7 = ($t13_14 - 1);
306 $t7_8 = ($t12_13 % 10);
307 $t8_9 = (48 + $t7_8);
308 $t9_10 = ($t8_9 & 0xFF);
309 $t10_11 = $t5_6.$get().addr($t6_7);
310 $t10_11.$set($t9_10);
311 $t11_12 = Math.trunc($t12_13 / 10);
312 $t12_13 = $t11_12;
313 $t13_14 = $t6_7;
314 $block = 7; break;
315 break;
316 }
317 case 6: {
318 if ($t4_5) {
319 $block = 8; break;
320 }
321 else {
322 $t17_18 = $t13_14;
323 $block = 9; break;
324 }
325 break;
326 }
327 case 7: {
328 $t14_15 = ($t12_13 > 0);
329 if ($t14_15) {
330 $block = 5; break;
331 }
332 else {
333 $block = 6; break;
334 }
335 break;
336 }
337 case 8: {
338 $t15_16 = ($t13_14 - 1);
339 $t16_17 = $t5_6.$get().addr($t15_16);
340 $t16_17.$set(45);
341 $t17_18 = $t15_16;
342 $block = 9; break;
343 break;
344 }
345 case 9: {
346 $t18_19 = $rt.builtin.sliceSlice($t5_6.$get(), $t17_18, undefined, undefined);
347 $t19_20 = $rt.builtin.bytesToString($t18_19);
348 return $t19_20;
349 break;
350 }
351 }
352 }
353 }
354
355 export function containsStr(ss, s) {
356 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
357 let $block = 0;
358 while (true) {
359 switch ($block) {
360 case 0: {
361 $t0_1 = $rt.builtin.len(ss);
362 $t1_2 = -1;
363 $block = 1; break;
364 break;
365 }
366 case 1: {
367 $t2_3 = ($t1_2 + 1);
368 $t3_4 = ($t2_3 < $t0_1);
369 if ($t3_4) {
370 $block = 2; break;
371 }
372 else {
373 $block = 3; break;
374 }
375 break;
376 }
377 case 2: {
378 $t4_5 = ss.addr($t2_3);
379 $t5_6 = $t4_5.$get();
380 $t6_7 = ($t5_6 === s);
381 if ($t6_7) {
382 $block = 4; break;
383 }
384 else {
385 $t1_2 = $t2_3;
386 $block = 1; break;
387 }
388 break;
389 }
390 case 3: {
391 return false;
392 break;
393 }
394 case 4: {
395 return true;
396 break;
397 }
398 }
399 }
400 }
401
402 export function containsInt(ns, n) {
403 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
404 let $block = 0;
405 while (true) {
406 switch ($block) {
407 case 0: {
408 $t0_1 = $rt.builtin.len(ns);
409 $t1_2 = -1;
410 $block = 1; break;
411 break;
412 }
413 case 1: {
414 $t2_3 = ($t1_2 + 1);
415 $t3_4 = ($t2_3 < $t0_1);
416 if ($t3_4) {
417 $block = 2; break;
418 }
419 else {
420 $block = 3; break;
421 }
422 break;
423 }
424 case 2: {
425 $t4_5 = ns.addr($t2_3);
426 $t5_6 = $t4_5.$get();
427 $t6_7 = ($t5_6 === n);
428 if ($t6_7) {
429 $block = 4; break;
430 }
431 else {
432 $t1_2 = $t2_3;
433 $block = 1; break;
434 }
435 break;
436 }
437 case 3: {
438 return false;
439 break;
440 }
441 case 4: {
442 return true;
443 break;
444 }
445 }
446 }
447 }
448
449 export function eventHasTagValue(e, tagKey, values) {
450 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22;
451 let $block = 0;
452 while (true) {
453 switch ($block) {
454 case 0: {
455 $t0_1 = { $get() { return e.$get().Tags; }, $set(v) { const obj = e.$get(); obj.Tags = v; e.$set(obj); } };
456 $t1_2 = $t0_1.$get();
457 $t2_3 = $rt.builtin.len($t1_2);
458 $t3_4 = -1;
459 $block = 1; break;
460 break;
461 }
462 case 1: {
463 $t4_5 = ($t3_4 + 1);
464 $t5_6 = ($t4_5 < $t2_3);
465 if ($t5_6) {
466 $block = 2; break;
467 }
468 else {
469 $block = 3; break;
470 }
471 break;
472 }
473 case 2: {
474 $t6_7 = $t1_2.addr($t4_5);
475 $t7_8 = $t6_7.$get();
476 $t8_9 = $rt.builtin.len($t7_8);
477 $t9_10 = ($t8_9 > 1);
478 if ($t9_10) {
479 $block = 5; break;
480 }
481 else {
482 $t3_4 = $t4_5;
483 $block = 1; break;
484 }
485 break;
486 }
487 case 3: {
488 return false;
489 break;
490 }
491 case 4: {
492 $t10_11 = $rt.builtin.len(values);
493 $t14_15 = -1;
494 $block = 6; break;
495 break;
496 }
497 case 5: {
498 $t11_12 = $t7_8.addr(0);
499 $t12_13 = $t11_12.$get();
500 $t13_14 = ($t12_13 === tagKey);
501 if ($t13_14) {
502 $block = 4; break;
503 }
504 else {
505 $t3_4 = $t4_5;
506 $block = 1; break;
507 }
508 break;
509 }
510 case 6: {
511 $t15_16 = ($t14_15 + 1);
512 $t16_17 = ($t15_16 < $t10_11);
513 if ($t16_17) {
514 $block = 7; break;
515 }
516 else {
517 $t3_4 = $t4_5;
518 $block = 1; break;
519 }
520 break;
521 }
522 case 7: {
523 $t17_18 = values.addr($t15_16);
524 $t18_19 = $t17_18.$get();
525 $t19_20 = $t7_8.addr(1);
526 $t20_21 = $t19_20.$get();
527 $t21_22 = ($t20_21 === $t18_19);
528 if ($t21_22) {
529 $block = 8; break;
530 }
531 else {
532 $t14_15 = $t15_16;
533 $block = 6; break;
534 }
535 break;
536 }
537 case 8: {
538 return true;
539 break;
540 }
541 }
542 }
543 }
544
545 export function serializeTags(buf, tags) {
546 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44;
547 let $block = 0;
548 while (true) {
549 switch ($block) {
550 case 0: {
551 $t0_1 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
552 $t1_2 = $t0_1.$get().addr(0);
553 $t1_2.$set(91);
554 $t2_3 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
555 $t3_4 = $rt.builtin.appendSlice(buf, $t2_3);
556 $t4_5 = $rt.builtin.len(tags);
557 $t5_6 = $t3_4;
558 $t6_7 = -1;
559 $block = 1; break;
560 break;
561 }
562 case 1: {
563 $t7_8 = ($t6_7 + 1);
564 $t8_9 = ($t7_8 < $t4_5);
565 if ($t8_9) {
566 $block = 2; break;
567 }
568 else {
569 $block = 3; break;
570 }
571 break;
572 }
573 case 2: {
574 $t9_10 = tags.addr($t7_8);
575 $t10_11 = $t9_10.$get();
576 $t11_12 = ($t7_8 > 0);
577 if ($t11_12) {
578 $block = 4; break;
579 }
580 else {
581 $t20_21 = $t5_6;
582 $block = 5; break;
583 }
584 break;
585 }
586 case 3: {
587 $t12_13 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
588 $t13_14 = $t12_13.$get().addr(0);
589 $t13_14.$set(93);
590 $t14_15 = $rt.builtin.sliceSlice($t12_13.$get(), undefined, undefined, undefined);
591 $t15_16 = $rt.builtin.appendSlice($t5_6, $t14_15);
592 return $t15_16;
593 break;
594 }
595 case 4: {
596 $t16_17 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
597 $t17_18 = $t16_17.$get().addr(0);
598 $t17_18.$set(44);
599 $t18_19 = $rt.builtin.sliceSlice($t16_17.$get(), undefined, undefined, undefined);
600 $t19_20 = $rt.builtin.appendSlice($t5_6, $t18_19);
601 $t20_21 = $t19_20;
602 $block = 5; break;
603 break;
604 }
605 case 5: {
606 $t21_22 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
607 $t22_23 = $t21_22.$get().addr(0);
608 $t22_23.$set(91);
609 $t23_24 = $rt.builtin.sliceSlice($t21_22.$get(), undefined, undefined, undefined);
610 $t24_25 = $rt.builtin.appendSlice($t20_21, $t23_24);
611 $t25_26 = $rt.builtin.len($t10_11);
612 $t26_27 = $t24_25;
613 $t27_28 = -1;
614 $block = 6; break;
615 break;
616 }
617 case 6: {
618 $t28_29 = ($t27_28 + 1);
619 $t29_30 = ($t28_29 < $t25_26);
620 if ($t29_30) {
621 $block = 7; break;
622 }
623 else {
624 $block = 8; break;
625 }
626 break;
627 }
628 case 7: {
629 $t30_31 = $t10_11.addr($t28_29);
630 $t31_32 = $t30_31.$get();
631 $t32_33 = ($t28_29 > 0);
632 if ($t32_33) {
633 $block = 9; break;
634 }
635 else {
636 $t41_42 = $t26_27;
637 $block = 10; break;
638 }
639 break;
640 }
641 case 8: {
642 $t33_34 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
643 $t34_35 = $t33_34.$get().addr(0);
644 $t34_35.$set(93);
645 $t35_36 = $rt.builtin.sliceSlice($t33_34.$get(), undefined, undefined, undefined);
646 $t36_37 = $rt.builtin.appendSlice($t26_27, $t35_36);
647 $t5_6 = $t36_37;
648 $t6_7 = $t7_8;
649 $block = 1; break;
650 break;
651 }
652 case 9: {
653 $t37_38 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
654 $t38_39 = $t37_38.$get().addr(0);
655 $t38_39.$set(44);
656 $t39_40 = $rt.builtin.sliceSlice($t37_38.$get(), undefined, undefined, undefined);
657 $t40_41 = $rt.builtin.appendSlice($t26_27, $t39_40);
658 $t41_42 = $t40_41;
659 $block = 10; break;
660 break;
661 }
662 case 10: {
663 $t42_43 = common$helpers.JsonString($t31_32);
664 $t43_44 = $rt.builtin.appendString($t41_42, $t42_43);
665 $t26_27 = $t43_44;
666 $t27_28 = $t28_29;
667 $block = 6; break;
668 break;
669 }
670 }
671 }
672 }
673
674 export function ParseEvent(s) {
675 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74;
676 let $block = 0;
677 while (true) {
678 switch ($block) {
679 case 0: {
680 $t0_1 = { $value: { ID: '', PubKey: '', CreatedAt: 0, Kind: 0, Tags: null, Content: '', Sig: '' }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
681 $t1_2 = skipWS(s, 0);
682 $t2_3 = $rt.builtin.len(s);
683 $t3_4 = ($t1_2 >= $t2_3);
684 if ($t3_4) {
685 $block = 1; break;
686 }
687 else {
688 $block = 3; break;
689 }
690 break;
691 }
692 case 1: {
693 return null;
694 break;
695 }
696 case 2: {
697 $t4_5 = ($t1_2 + 1);
698 $t10_11 = $t4_5;
699 $block = 6; break;
700 break;
701 }
702 case 3: {
703 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
704 $t5_6 = $rt.builtin.stringByteAt(s, $t1_2);
705 $t6_7 = ($t5_6 !== 123);
706 if ($t6_7) {
707 $block = 1; break;
708 }
709 else {
710 $block = 2; break;
711 }
712 break;
713 }
714 case 4: {
715 $t7_8 = skipWS(s, $t10_11);
716 $t8_9 = $rt.builtin.len(s);
717 $t9_10 = ($t7_8 >= $t8_9);
718 if ($t9_10) {
719 $block = 7; break;
720 }
721 else {
722 $block = 8; break;
723 }
724 break;
725 }
726 case 5: {
727 return $t0_1;
728 break;
729 }
730 case 6: {
731 $t11_12 = $rt.builtin.len(s);
732 $t12_13 = ($t10_11 < $t11_12);
733 if ($t12_13) {
734 $block = 4; break;
735 }
736 else {
737 $block = 5; break;
738 }
739 break;
740 }
741 case 7: {
742 return null;
743 break;
744 }
745 case 8: {
746 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
747 $t13_14 = $rt.builtin.stringByteAt(s, $t7_8);
748 $t14_15 = ($t13_14 === 125);
749 if ($t14_15) {
750 $block = 9; break;
751 }
752 else {
753 $block = 10; break;
754 }
755 break;
756 }
757 case 9: {
758 return $t0_1;
759 break;
760 }
761 case 10: {
762 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
763 $t15_16 = $rt.builtin.stringByteAt(s, $t7_8);
764 $t16_17 = ($t15_16 === 44);
765 if ($t16_17) {
766 $block = 11; break;
767 }
768 else {
769 $block = 12; break;
770 }
771 break;
772 }
773 case 11: {
774 $t17_18 = ($t7_8 + 1);
775 $t10_11 = $t17_18;
776 $block = 6; break;
777 break;
778 }
779 case 12: {
780 $t18_19 = parseString(s, $t7_8);
781 $t19_20 = $t18_19[0];
782 $t20_21 = $t18_19[1];
783 $t21_22 = ($t20_21 < 0);
784 if ($t21_22) {
785 $block = 13; break;
786 }
787 else {
788 $block = 14; break;
789 }
790 break;
791 }
792 case 13: {
793 return null;
794 break;
795 }
796 case 14: {
797 $t22_23 = skipWS(s, $t20_21);
798 $t23_24 = $rt.builtin.len(s);
799 $t24_25 = ($t22_23 >= $t23_24);
800 if ($t24_25) {
801 $block = 15; break;
802 }
803 else {
804 $block = 17; break;
805 }
806 break;
807 }
808 case 15: {
809 return null;
810 break;
811 }
812 case 16: {
813 $t25_26 = ($t22_23 + 1);
814 $t26_27 = skipWS(s, $t25_26);
815 $t27_28 = ($t19_20 === 'id');
816 if ($t27_28) {
817 $block = 18; break;
818 }
819 else {
820 $block = 20; break;
821 }
822 break;
823 }
824 case 17: {
825 $rt.runtime.boundsCheck($t22_23, $rt.builtin.byteLen(s));
826 $t28_29 = $rt.builtin.stringByteAt(s, $t22_23);
827 $t29_30 = ($t28_29 !== 58);
828 if ($t29_30) {
829 $block = 15; break;
830 }
831 else {
832 $block = 16; break;
833 }
834 break;
835 }
836 case 18: {
837 $t30_31 = parseString(s, $t26_27);
838 $t31_32 = $t30_31[0];
839 $t32_33 = { $get() { return $t0_1.$get().ID; }, $set(v) { const obj = $t0_1.$get(); obj.ID = v; $t0_1.$set(obj); } };
840 $t32_33.$set($t31_32);
841 $t33_34 = $t30_31[1];
842 $t34_35 = ($t33_34 < 0);
843 if ($t34_35) {
844 $block = 21; break;
845 }
846 else {
847 $t10_11 = $t33_34;
848 $block = 6; break;
849 }
850 break;
851 }
852 case 19: {
853 $t35_36 = parseString(s, $t26_27);
854 $t36_37 = $t35_36[0];
855 $t37_38 = { $get() { return $t0_1.$get().PubKey; }, $set(v) { const obj = $t0_1.$get(); obj.PubKey = v; $t0_1.$set(obj); } };
856 $t37_38.$set($t36_37);
857 $t38_39 = $t35_36[1];
858 $t39_40 = ($t38_39 < 0);
859 if ($t39_40) {
860 $block = 24; break;
861 }
862 else {
863 $t10_11 = $t38_39;
864 $block = 6; break;
865 }
866 break;
867 }
868 case 20: {
869 $t40_41 = ($t19_20 === 'pubkey');
870 if ($t40_41) {
871 $block = 19; break;
872 }
873 else {
874 $block = 23; break;
875 }
876 break;
877 }
878 case 21: {
879 return null;
880 break;
881 }
882 case 22: {
883 $t41_42 = parseInt(s, $t26_27);
884 $t42_43 = $t41_42[0];
885 $t43_44 = { $get() { return $t0_1.$get().CreatedAt; }, $set(v) { const obj = $t0_1.$get(); obj.CreatedAt = v; $t0_1.$set(obj); } };
886 $t43_44.$set($t42_43);
887 $t44_45 = $t41_42[1];
888 $t45_46 = ($t44_45 < 0);
889 if ($t45_46) {
890 $block = 27; break;
891 }
892 else {
893 $t10_11 = $t44_45;
894 $block = 6; break;
895 }
896 break;
897 }
898 case 23: {
899 $t46_47 = ($t19_20 === 'created_at');
900 if ($t46_47) {
901 $block = 22; break;
902 }
903 else {
904 $block = 26; break;
905 }
906 break;
907 }
908 case 24: {
909 return null;
910 break;
911 }
912 case 25: {
913 $t47_48 = parseInt(s, $t26_27);
914 $t48_49 = $t47_48[0];
915 $t49_50 = $t47_48[1];
916 $t50_51 = ($t49_50 < 0);
917 if ($t50_51) {
918 $block = 30; break;
919 }
920 else {
921 $block = 31; break;
922 }
923 break;
924 }
925 case 26: {
926 $t51_52 = ($t19_20 === 'kind');
927 if ($t51_52) {
928 $block = 25; break;
929 }
930 else {
931 $block = 29; break;
932 }
933 break;
934 }
935 case 27: {
936 return null;
937 break;
938 }
939 case 28: {
940 $t52_53 = parseString(s, $t26_27);
941 $t53_54 = $t52_53[0];
942 $t54_55 = { $get() { return $t0_1.$get().Content; }, $set(v) { const obj = $t0_1.$get(); obj.Content = v; $t0_1.$set(obj); } };
943 $t54_55.$set($t53_54);
944 $t55_56 = $t52_53[1];
945 $t56_57 = ($t55_56 < 0);
946 if ($t56_57) {
947 $block = 34; break;
948 }
949 else {
950 $t10_11 = $t55_56;
951 $block = 6; break;
952 }
953 break;
954 }
955 case 29: {
956 $t57_58 = ($t19_20 === 'content');
957 if ($t57_58) {
958 $block = 28; break;
959 }
960 else {
961 $block = 33; break;
962 }
963 break;
964 }
965 case 30: {
966 return null;
967 break;
968 }
969 case 31: {
970 $t58_59 = $t48_49;
971 $t59_60 = { $get() { return $t0_1.$get().Kind; }, $set(v) { const obj = $t0_1.$get(); obj.Kind = v; $t0_1.$set(obj); } };
972 $t59_60.$set($t58_59);
973 $t10_11 = $t49_50;
974 $block = 6; break;
975 break;
976 }
977 case 32: {
978 $t60_61 = parseString(s, $t26_27);
979 $t61_62 = $t60_61[0];
980 $t62_63 = { $get() { return $t0_1.$get().Sig; }, $set(v) { const obj = $t0_1.$get(); obj.Sig = v; $t0_1.$set(obj); } };
981 $t62_63.$set($t61_62);
982 $t63_64 = $t60_61[1];
983 $t64_65 = ($t63_64 < 0);
984 if ($t64_65) {
985 $block = 37; break;
986 }
987 else {
988 $t10_11 = $t63_64;
989 $block = 6; break;
990 }
991 break;
992 }
993 case 33: {
994 $t65_66 = ($t19_20 === 'sig');
995 if ($t65_66) {
996 $block = 32; break;
997 }
998 else {
999 $block = 36; break;
1000 }
1001 break;
1002 }
1003 case 34: {
1004 return null;
1005 break;
1006 }
1007 case 35: {
1008 $t66_67 = parseTags(s, $t26_27);
1009 $t67_68 = $t66_67[0];
1010 $t68_69 = { $get() { return $t0_1.$get().Tags; }, $set(v) { const obj = $t0_1.$get(); obj.Tags = v; $t0_1.$set(obj); } };
1011 $t68_69.$set($t67_68);
1012 $t69_70 = $t66_67[1];
1013 $t70_71 = ($t69_70 < 0);
1014 if ($t70_71) {
1015 $block = 39; break;
1016 }
1017 else {
1018 $t10_11 = $t69_70;
1019 $block = 6; break;
1020 }
1021 break;
1022 }
1023 case 36: {
1024 $t71_72 = ($t19_20 === 'tags');
1025 if ($t71_72) {
1026 $block = 35; break;
1027 }
1028 else {
1029 $block = 38; break;
1030 }
1031 break;
1032 }
1033 case 37: {
1034 return null;
1035 break;
1036 }
1037 case 38: {
1038 $t72_73 = skipValue(s, $t26_27);
1039 $t73_74 = ($t72_73 < 0);
1040 if ($t73_74) {
1041 $block = 40; break;
1042 }
1043 else {
1044 $t10_11 = $t72_73;
1045 $block = 6; break;
1046 }
1047 break;
1048 }
1049 case 39: {
1050 return null;
1051 break;
1052 }
1053 case 40: {
1054 return null;
1055 break;
1056 }
1057 }
1058 }
1059 }
1060
1061 export function ParseRelayMessage(s) {
1062 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116;
1063 let $block = 0;
1064 while (true) {
1065 switch ($block) {
1066 case 0: {
1067 $t0_1 = skipWS(s, 0);
1068 $t1_2 = $rt.builtin.len(s);
1069 $t2_3 = ($t0_1 >= $t1_2);
1070 if ($t2_3) {
1071 $block = 1; break;
1072 }
1073 else {
1074 $block = 3; break;
1075 }
1076 break;
1077 }
1078 case 1: {
1079 return ['', '', ''];
1080 break;
1081 }
1082 case 2: {
1083 $t3_4 = ($t0_1 + 1);
1084 $t4_5 = skipWS(s, $t3_4);
1085 $t5_6 = parseString(s, $t4_5);
1086 $t6_7 = $t5_6[0];
1087 $t7_8 = $t5_6[1];
1088 $t8_9 = ($t7_8 < 0);
1089 if ($t8_9) {
1090 $block = 4; break;
1091 }
1092 else {
1093 $block = 5; break;
1094 }
1095 break;
1096 }
1097 case 3: {
1098 $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen(s));
1099 $t9_10 = $rt.builtin.stringByteAt(s, $t0_1);
1100 $t10_11 = ($t9_10 !== 91);
1101 if ($t10_11) {
1102 $block = 1; break;
1103 }
1104 else {
1105 $block = 2; break;
1106 }
1107 break;
1108 }
1109 case 4: {
1110 return ['', '', ''];
1111 break;
1112 }
1113 case 5: {
1114 $t11_12 = ($t6_7 === 'EVENT');
1115 if ($t11_12) {
1116 $block = 7; break;
1117 }
1118 else {
1119 $block = 9; break;
1120 }
1121 break;
1122 }
1123 case 6: {
1124 return [$t6_7, $t12_13, $t13_14];
1125 break;
1126 }
1127 case 7: {
1128 $t14_15 = skipWS(s, $t7_8);
1129 $t15_16 = $rt.builtin.len(s);
1130 $t16_17 = ($t14_15 >= $t15_16);
1131 if ($t16_17) {
1132 $block = 10; break;
1133 }
1134 else {
1135 $block = 12; break;
1136 }
1137 break;
1138 }
1139 case 8: {
1140 $t17_18 = skipWS(s, $t7_8);
1141 $t18_19 = $rt.builtin.len(s);
1142 $t19_20 = ($t17_18 >= $t18_19);
1143 if ($t19_20) {
1144 $block = 22; break;
1145 }
1146 else {
1147 $block = 24; break;
1148 }
1149 break;
1150 }
1151 case 9: {
1152 $t20_21 = ($t6_7 === 'EOSE');
1153 if ($t20_21) {
1154 $block = 8; break;
1155 }
1156 else {
1157 $block = 21; break;
1158 }
1159 break;
1160 }
1161 case 10: {
1162 return [$t6_7, '', ''];
1163 break;
1164 }
1165 case 11: {
1166 $t21_22 = ($t14_15 + 1);
1167 $t22_23 = skipWS(s, $t21_22);
1168 $t23_24 = parseString(s, $t22_23);
1169 $t24_25 = $t23_24[0];
1170 $t25_26 = $t23_24[1];
1171 $t26_27 = ($t25_26 < 0);
1172 if ($t26_27) {
1173 $block = 13; break;
1174 }
1175 else {
1176 $block = 14; break;
1177 }
1178 break;
1179 }
1180 case 12: {
1181 $rt.runtime.boundsCheck($t14_15, $rt.builtin.byteLen(s));
1182 $t27_28 = $rt.builtin.stringByteAt(s, $t14_15);
1183 $t28_29 = ($t27_28 !== 44);
1184 if ($t28_29) {
1185 $block = 10; break;
1186 }
1187 else {
1188 $block = 11; break;
1189 }
1190 break;
1191 }
1192 case 13: {
1193 return [$t6_7, $t24_25, ''];
1194 break;
1195 }
1196 case 14: {
1197 $t29_30 = skipWS(s, $t25_26);
1198 $t30_31 = $rt.builtin.len(s);
1199 $t31_32 = ($t29_30 >= $t30_31);
1200 if ($t31_32) {
1201 $block = 15; break;
1202 }
1203 else {
1204 $block = 17; break;
1205 }
1206 break;
1207 }
1208 case 15: {
1209 return [$t6_7, $t24_25, ''];
1210 break;
1211 }
1212 case 16: {
1213 $t32_33 = ($t29_30 + 1);
1214 $t33_34 = skipWS(s, $t32_33);
1215 $t34_35 = skipValue(s, $t33_34);
1216 $t35_36 = ($t34_35 < 0);
1217 if ($t35_36) {
1218 $block = 18; break;
1219 }
1220 else {
1221 $block = 19; break;
1222 }
1223 break;
1224 }
1225 case 17: {
1226 $rt.runtime.boundsCheck($t29_30, $rt.builtin.byteLen(s));
1227 $t36_37 = $rt.builtin.stringByteAt(s, $t29_30);
1228 $t37_38 = ($t36_37 !== 44);
1229 if ($t37_38) {
1230 $block = 15; break;
1231 }
1232 else {
1233 $block = 16; break;
1234 }
1235 break;
1236 }
1237 case 18: {
1238 return [$t6_7, $t24_25, ''];
1239 break;
1240 }
1241 case 19: {
1242 $t38_39 = $rt.builtin.stringSlice(s, $t33_34, $t34_35);
1243 $t12_13 = $t24_25;
1244 $t13_14 = $t38_39;
1245 $block = 6; break;
1246 break;
1247 }
1248 case 20: {
1249 $t39_40 = skipWS(s, $t7_8);
1250 $t40_41 = $rt.builtin.len(s);
1251 $t41_42 = ($t39_40 >= $t40_41);
1252 if ($t41_42) {
1253 $block = 27; break;
1254 }
1255 else {
1256 $block = 29; break;
1257 }
1258 break;
1259 }
1260 case 21: {
1261 $t42_43 = ($t6_7 === 'OK');
1262 if ($t42_43) {
1263 $block = 20; break;
1264 }
1265 else {
1266 $block = 26; break;
1267 }
1268 break;
1269 }
1270 case 22: {
1271 return [$t6_7, '', ''];
1272 break;
1273 }
1274 case 23: {
1275 $t43_44 = ($t17_18 + 1);
1276 $t44_45 = skipWS(s, $t43_44);
1277 $t45_46 = parseString(s, $t44_45);
1278 $t46_47 = $t45_46[0];
1279 $t47_48 = $t45_46[1];
1280 $t12_13 = $t46_47;
1281 $t13_14 = '';
1282 $block = 6; break;
1283 break;
1284 }
1285 case 24: {
1286 $rt.runtime.boundsCheck($t17_18, $rt.builtin.byteLen(s));
1287 $t48_49 = $rt.builtin.stringByteAt(s, $t17_18);
1288 $t49_50 = ($t48_49 !== 44);
1289 if ($t49_50) {
1290 $block = 22; break;
1291 }
1292 else {
1293 $block = 23; break;
1294 }
1295 break;
1296 }
1297 case 25: {
1298 $t50_51 = skipWS(s, $t7_8);
1299 $t51_52 = $rt.builtin.len(s);
1300 $t52_53 = ($t50_51 >= $t51_52);
1301 if ($t52_53) {
1302 $block = 48; break;
1303 }
1304 else {
1305 $block = 50; break;
1306 }
1307 break;
1308 }
1309 case 26: {
1310 $t53_54 = ($t6_7 === 'NOTICE');
1311 if ($t53_54) {
1312 $block = 25; break;
1313 }
1314 else {
1315 $block = 47; break;
1316 }
1317 break;
1318 }
1319 case 27: {
1320 return [$t6_7, '', ''];
1321 break;
1322 }
1323 case 28: {
1324 $t54_55 = ($t39_40 + 1);
1325 $t55_56 = skipWS(s, $t54_55);
1326 $t56_57 = parseString(s, $t55_56);
1327 $t57_58 = $t56_57[0];
1328 $t58_59 = $t56_57[1];
1329 $t59_60 = ($t58_59 < 0);
1330 if ($t59_60) {
1331 $block = 30; break;
1332 }
1333 else {
1334 $block = 31; break;
1335 }
1336 break;
1337 }
1338 case 29: {
1339 $rt.runtime.boundsCheck($t39_40, $rt.builtin.byteLen(s));
1340 $t60_61 = $rt.builtin.stringByteAt(s, $t39_40);
1341 $t61_62 = ($t60_61 !== 44);
1342 if ($t61_62) {
1343 $block = 27; break;
1344 }
1345 else {
1346 $block = 28; break;
1347 }
1348 break;
1349 }
1350 case 30: {
1351 return [$t6_7, $t57_58, ''];
1352 break;
1353 }
1354 case 31: {
1355 $t62_63 = skipWS(s, $t58_59);
1356 $t63_64 = $rt.builtin.len(s);
1357 $t64_65 = ($t62_63 >= $t63_64);
1358 if ($t64_65) {
1359 $block = 32; break;
1360 }
1361 else {
1362 $block = 34; break;
1363 }
1364 break;
1365 }
1366 case 32: {
1367 return [$t6_7, $t57_58, ''];
1368 break;
1369 }
1370 case 33: {
1371 $t65_66 = ($t62_63 + 1);
1372 $t66_67 = skipWS(s, $t65_66);
1373 $t67_68 = ($t66_67 + 4);
1374 $t68_69 = $rt.builtin.len(s);
1375 $t69_70 = ($t67_68 <= $t68_69);
1376 if ($t69_70) {
1377 $block = 38; break;
1378 }
1379 else {
1380 $block = 37; break;
1381 }
1382 break;
1383 }
1384 case 34: {
1385 $rt.runtime.boundsCheck($t62_63, $rt.builtin.byteLen(s));
1386 $t70_71 = $rt.builtin.stringByteAt(s, $t62_63);
1387 $t71_72 = ($t70_71 !== 44);
1388 if ($t71_72) {
1389 $block = 32; break;
1390 }
1391 else {
1392 $block = 33; break;
1393 }
1394 break;
1395 }
1396 case 35: {
1397 $t72_73 = ($t66_67 + 4);
1398 $t73_74 = $t72_73;
1399 $t74_75 = true;
1400 $block = 36; break;
1401 break;
1402 }
1403 case 36: {
1404 $t75_76 = skipWS(s, $t73_74);
1405 $t76_77 = $rt.builtin.len(s);
1406 $t77_78 = ($t75_76 < $t76_77);
1407 if ($t77_78) {
1408 $block = 43; break;
1409 }
1410 else {
1411 $t93_94 = '';
1412 $block = 42; break;
1413 }
1414 break;
1415 }
1416 case 37: {
1417 $t78_79 = ($t66_67 + 5);
1418 $t79_80 = $rt.builtin.len(s);
1419 $t80_81 = ($t78_79 <= $t79_80);
1420 if ($t80_81) {
1421 $block = 40; break;
1422 }
1423 else {
1424 $t73_74 = $t66_67;
1425 $t74_75 = false;
1426 $block = 36; break;
1427 }
1428 break;
1429 }
1430 case 38: {
1431 $t81_82 = ($t66_67 + 4);
1432 $t82_83 = $rt.builtin.stringSlice(s, $t66_67, $t81_82);
1433 $t83_84 = ($t82_83 === 'true');
1434 if ($t83_84) {
1435 $block = 35; break;
1436 }
1437 else {
1438 $block = 37; break;
1439 }
1440 break;
1441 }
1442 case 39: {
1443 $t84_85 = ($t66_67 + 5);
1444 $t73_74 = $t84_85;
1445 $t74_75 = false;
1446 $block = 36; break;
1447 break;
1448 }
1449 case 40: {
1450 $t85_86 = ($t66_67 + 5);
1451 $t86_87 = $rt.builtin.stringSlice(s, $t66_67, $t85_86);
1452 $t87_88 = ($t86_87 === 'false');
1453 if ($t87_88) {
1454 $block = 39; break;
1455 }
1456 else {
1457 $t73_74 = $t66_67;
1458 $t74_75 = false;
1459 $block = 36; break;
1460 }
1461 break;
1462 }
1463 case 41: {
1464 $t88_89 = ($t75_76 + 1);
1465 $t89_90 = skipWS(s, $t88_89);
1466 $t90_91 = parseString(s, $t89_90);
1467 $t91_92 = $t90_91[0];
1468 $t92_93 = $t90_91[1];
1469 $t93_94 = $t91_92;
1470 $block = 42; break;
1471 break;
1472 }
1473 case 42: {
1474 if ($t74_75) {
1475 $block = 44; break;
1476 }
1477 else {
1478 $block = 45; break;
1479 }
1480 break;
1481 }
1482 case 43: {
1483 $rt.runtime.boundsCheck($t75_76, $rt.builtin.byteLen(s));
1484 $t94_95 = $rt.builtin.stringByteAt(s, $t75_76);
1485 $t95_96 = ($t94_95 === 44);
1486 if ($t95_96) {
1487 $block = 41; break;
1488 }
1489 else {
1490 $t93_94 = '';
1491 $block = 42; break;
1492 }
1493 break;
1494 }
1495 case 44: {
1496 $t96_97 = ('true:' + $t93_94);
1497 $t12_13 = $t57_58;
1498 $t13_14 = $t96_97;
1499 $block = 6; break;
1500 break;
1501 }
1502 case 45: {
1503 $t97_98 = ('false:' + $t93_94);
1504 $t12_13 = $t57_58;
1505 $t13_14 = $t97_98;
1506 $block = 6; break;
1507 break;
1508 }
1509 case 46: {
1510 $t98_99 = skipWS(s, $t7_8);
1511 $t99_100 = $rt.builtin.len(s);
1512 $t100_101 = ($t98_99 >= $t99_100);
1513 if ($t100_101) {
1514 $block = 51; break;
1515 }
1516 else {
1517 $block = 53; break;
1518 }
1519 break;
1520 }
1521 case 47: {
1522 $t101_102 = ($t6_7 === 'AUTH');
1523 if ($t101_102) {
1524 $block = 46; break;
1525 }
1526 else {
1527 $t12_13 = '';
1528 $t13_14 = '';
1529 $block = 6; break;
1530 }
1531 break;
1532 }
1533 case 48: {
1534 return [$t6_7, '', ''];
1535 break;
1536 }
1537 case 49: {
1538 $t102_103 = ($t50_51 + 1);
1539 $t103_104 = skipWS(s, $t102_103);
1540 $t104_105 = parseString(s, $t103_104);
1541 $t105_106 = $t104_105[0];
1542 $t106_107 = $t104_105[1];
1543 $t12_13 = '';
1544 $t13_14 = $t105_106;
1545 $block = 6; break;
1546 break;
1547 }
1548 case 50: {
1549 $rt.runtime.boundsCheck($t50_51, $rt.builtin.byteLen(s));
1550 $t107_108 = $rt.builtin.stringByteAt(s, $t50_51);
1551 $t108_109 = ($t107_108 !== 44);
1552 if ($t108_109) {
1553 $block = 48; break;
1554 }
1555 else {
1556 $block = 49; break;
1557 }
1558 break;
1559 }
1560 case 51: {
1561 return [$t6_7, '', ''];
1562 break;
1563 }
1564 case 52: {
1565 $t109_110 = ($t98_99 + 1);
1566 $t110_111 = skipWS(s, $t109_110);
1567 $t111_112 = parseString(s, $t110_111);
1568 $t112_113 = $t111_112[0];
1569 $t113_114 = $t111_112[1];
1570 $t12_13 = '';
1571 $t13_14 = $t112_113;
1572 $block = 6; break;
1573 break;
1574 }
1575 case 53: {
1576 $rt.runtime.boundsCheck($t98_99, $rt.builtin.byteLen(s));
1577 $t114_115 = $rt.builtin.stringByteAt(s, $t98_99);
1578 $t115_116 = ($t114_115 !== 44);
1579 if ($t115_116) {
1580 $block = 51; break;
1581 }
1582 else {
1583 $block = 52; break;
1584 }
1585 break;
1586 }
1587 }
1588 }
1589 }
1590
1591 export function ParseFilter(s) {
1592 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82;
1593 let $block = 0;
1594 while (true) {
1595 switch ($block) {
1596 case 0: {
1597 $t0_1 = { $value: { IDs: null, Authors: null, Kinds: null, Tags: null, Since: 0, Until: 0, Limit: 0, Proxy: null }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
1598 $t1_2 = skipWS(s, 0);
1599 $t2_3 = $rt.builtin.len(s);
1600 $t3_4 = ($t1_2 >= $t2_3);
1601 if ($t3_4) {
1602 $block = 1; break;
1603 }
1604 else {
1605 $block = 3; break;
1606 }
1607 break;
1608 }
1609 case 1: {
1610 return null;
1611 break;
1612 }
1613 case 2: {
1614 $t4_5 = ($t1_2 + 1);
1615 $t10_11 = $t4_5;
1616 $block = 6; break;
1617 break;
1618 }
1619 case 3: {
1620 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
1621 $t5_6 = $rt.builtin.stringByteAt(s, $t1_2);
1622 $t6_7 = ($t5_6 !== 123);
1623 if ($t6_7) {
1624 $block = 1; break;
1625 }
1626 else {
1627 $block = 2; break;
1628 }
1629 break;
1630 }
1631 case 4: {
1632 $t7_8 = skipWS(s, $t10_11);
1633 $t8_9 = $rt.builtin.len(s);
1634 $t9_10 = ($t7_8 >= $t8_9);
1635 if ($t9_10) {
1636 $block = 7; break;
1637 }
1638 else {
1639 $block = 8; break;
1640 }
1641 break;
1642 }
1643 case 5: {
1644 return $t0_1;
1645 break;
1646 }
1647 case 6: {
1648 $t11_12 = $rt.builtin.len(s);
1649 $t12_13 = ($t10_11 < $t11_12);
1650 if ($t12_13) {
1651 $block = 4; break;
1652 }
1653 else {
1654 $block = 5; break;
1655 }
1656 break;
1657 }
1658 case 7: {
1659 return null;
1660 break;
1661 }
1662 case 8: {
1663 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
1664 $t13_14 = $rt.builtin.stringByteAt(s, $t7_8);
1665 $t14_15 = ($t13_14 === 125);
1666 if ($t14_15) {
1667 $block = 9; break;
1668 }
1669 else {
1670 $block = 10; break;
1671 }
1672 break;
1673 }
1674 case 9: {
1675 return $t0_1;
1676 break;
1677 }
1678 case 10: {
1679 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
1680 $t15_16 = $rt.builtin.stringByteAt(s, $t7_8);
1681 $t16_17 = ($t15_16 === 44);
1682 if ($t16_17) {
1683 $block = 11; break;
1684 }
1685 else {
1686 $block = 12; break;
1687 }
1688 break;
1689 }
1690 case 11: {
1691 $t17_18 = ($t7_8 + 1);
1692 $t10_11 = $t17_18;
1693 $block = 6; break;
1694 break;
1695 }
1696 case 12: {
1697 $t18_19 = parseString(s, $t7_8);
1698 $t19_20 = $t18_19[0];
1699 $t20_21 = $t18_19[1];
1700 $t21_22 = ($t20_21 < 0);
1701 if ($t21_22) {
1702 $block = 13; break;
1703 }
1704 else {
1705 $block = 14; break;
1706 }
1707 break;
1708 }
1709 case 13: {
1710 return null;
1711 break;
1712 }
1713 case 14: {
1714 $t22_23 = skipWS(s, $t20_21);
1715 $t23_24 = $rt.builtin.len(s);
1716 $t24_25 = ($t22_23 >= $t23_24);
1717 if ($t24_25) {
1718 $block = 15; break;
1719 }
1720 else {
1721 $block = 17; break;
1722 }
1723 break;
1724 }
1725 case 15: {
1726 return null;
1727 break;
1728 }
1729 case 16: {
1730 $t25_26 = ($t22_23 + 1);
1731 $t26_27 = skipWS(s, $t25_26);
1732 $t27_28 = ($t19_20 === 'ids');
1733 if ($t27_28) {
1734 $block = 19; break;
1735 }
1736 else {
1737 $block = 21; break;
1738 }
1739 break;
1740 }
1741 case 17: {
1742 $rt.runtime.boundsCheck($t22_23, $rt.builtin.byteLen(s));
1743 $t28_29 = $rt.builtin.stringByteAt(s, $t22_23);
1744 $t29_30 = ($t28_29 !== 58);
1745 if ($t29_30) {
1746 $block = 15; break;
1747 }
1748 else {
1749 $block = 16; break;
1750 }
1751 break;
1752 }
1753 case 18: {
1754 $t31_32 = ($t30_31 < 0);
1755 if ($t31_32) {
1756 $block = 38; break;
1757 }
1758 else {
1759 $t10_11 = $t30_31;
1760 $block = 6; break;
1761 }
1762 break;
1763 }
1764 case 19: {
1765 $t32_33 = parseStrArray(s, $t26_27);
1766 $t33_34 = $t32_33[0];
1767 $t34_35 = { $get() { return $t0_1.$get().IDs; }, $set(v) { const obj = $t0_1.$get(); obj.IDs = v; $t0_1.$set(obj); } };
1768 $t34_35.$set($t33_34);
1769 $t35_36 = $t32_33[1];
1770 $t30_31 = $t35_36;
1771 $block = 18; break;
1772 break;
1773 }
1774 case 20: {
1775 $t36_37 = parseStrArray(s, $t26_27);
1776 $t37_38 = $t36_37[0];
1777 $t38_39 = { $get() { return $t0_1.$get().Authors; }, $set(v) { const obj = $t0_1.$get(); obj.Authors = v; $t0_1.$set(obj); } };
1778 $t38_39.$set($t37_38);
1779 $t39_40 = $t36_37[1];
1780 $t30_31 = $t39_40;
1781 $block = 18; break;
1782 break;
1783 }
1784 case 21: {
1785 $t40_41 = ($t19_20 === 'authors');
1786 if ($t40_41) {
1787 $block = 20; break;
1788 }
1789 else {
1790 $block = 23; break;
1791 }
1792 break;
1793 }
1794 case 22: {
1795 $t41_42 = parseIntArray(s, $t26_27);
1796 $t42_43 = $t41_42[0];
1797 $t43_44 = { $get() { return $t0_1.$get().Kinds; }, $set(v) { const obj = $t0_1.$get(); obj.Kinds = v; $t0_1.$set(obj); } };
1798 $t43_44.$set($t42_43);
1799 $t44_45 = $t41_42[1];
1800 $t30_31 = $t44_45;
1801 $block = 18; break;
1802 break;
1803 }
1804 case 23: {
1805 $t45_46 = ($t19_20 === 'kinds');
1806 if ($t45_46) {
1807 $block = 22; break;
1808 }
1809 else {
1810 $block = 25; break;
1811 }
1812 break;
1813 }
1814 case 24: {
1815 $t46_47 = parseInt(s, $t26_27);
1816 $t47_48 = $t46_47[0];
1817 $t48_49 = { $get() { return $t0_1.$get().Since; }, $set(v) { const obj = $t0_1.$get(); obj.Since = v; $t0_1.$set(obj); } };
1818 $t48_49.$set($t47_48);
1819 $t49_50 = $t46_47[1];
1820 $t30_31 = $t49_50;
1821 $block = 18; break;
1822 break;
1823 }
1824 case 25: {
1825 $t50_51 = ($t19_20 === 'since');
1826 if ($t50_51) {
1827 $block = 24; break;
1828 }
1829 else {
1830 $block = 27; break;
1831 }
1832 break;
1833 }
1834 case 26: {
1835 $t51_52 = parseInt(s, $t26_27);
1836 $t52_53 = $t51_52[0];
1837 $t53_54 = { $get() { return $t0_1.$get().Until; }, $set(v) { const obj = $t0_1.$get(); obj.Until = v; $t0_1.$set(obj); } };
1838 $t53_54.$set($t52_53);
1839 $t54_55 = $t51_52[1];
1840 $t30_31 = $t54_55;
1841 $block = 18; break;
1842 break;
1843 }
1844 case 27: {
1845 $t55_56 = ($t19_20 === 'until');
1846 if ($t55_56) {
1847 $block = 26; break;
1848 }
1849 else {
1850 $block = 29; break;
1851 }
1852 break;
1853 }
1854 case 28: {
1855 $t56_57 = parseInt(s, $t26_27);
1856 $t57_58 = $t56_57[0];
1857 $t58_59 = $t56_57[1];
1858 $t59_60 = $t57_58;
1859 $t60_61 = { $get() { return $t0_1.$get().Limit; }, $set(v) { const obj = $t0_1.$get(); obj.Limit = v; $t0_1.$set(obj); } };
1860 $t60_61.$set($t59_60);
1861 $t30_31 = $t58_59;
1862 $block = 18; break;
1863 break;
1864 }
1865 case 29: {
1866 $t61_62 = ($t19_20 === 'limit');
1867 if ($t61_62) {
1868 $block = 28; break;
1869 }
1870 else {
1871 $block = 31; break;
1872 }
1873 break;
1874 }
1875 case 30: {
1876 $t62_63 = parseStrArray(s, $t26_27);
1877 $t63_64 = $t62_63[0];
1878 $t64_65 = { $get() { return $t0_1.$get().Proxy; }, $set(v) { const obj = $t0_1.$get(); obj.Proxy = v; $t0_1.$set(obj); } };
1879 $t64_65.$set($t63_64);
1880 $t65_66 = $t62_63[1];
1881 $t30_31 = $t65_66;
1882 $block = 18; break;
1883 break;
1884 }
1885 case 31: {
1886 $t66_67 = ($t19_20 === '_proxy');
1887 if ($t66_67) {
1888 $block = 30; break;
1889 }
1890 else {
1891 $block = 32; break;
1892 }
1893 break;
1894 }
1895 case 32: {
1896 $t67_68 = $rt.builtin.len($t19_20);
1897 $t68_69 = ($t67_68 === 2);
1898 if ($t68_69) {
1899 $block = 35; break;
1900 }
1901 else {
1902 $block = 34; break;
1903 }
1904 break;
1905 }
1906 case 33: {
1907 $t69_70 = { $get() { return $t0_1.$get().Tags; }, $set(v) { const obj = $t0_1.$get(); obj.Tags = v; $t0_1.$set(obj); } };
1908 $t70_71 = $t69_70.$get();
1909 $t71_72 = ($t70_71 === null);
1910 if ($t71_72) {
1911 $block = 36; break;
1912 }
1913 else {
1914 $block = 37; break;
1915 }
1916 break;
1917 }
1918 case 34: {
1919 $t72_73 = skipValue(s, $t26_27);
1920 $t30_31 = $t72_73;
1921 $block = 18; break;
1922 break;
1923 }
1924 case 35: {
1925 $rt.runtime.boundsCheck(0, $rt.builtin.byteLen($t19_20));
1926 $t73_74 = $rt.builtin.stringByteAt($t19_20, 0);
1927 $t74_75 = ($t73_74 === 35);
1928 if ($t74_75) {
1929 $block = 33; break;
1930 }
1931 else {
1932 $block = 34; break;
1933 }
1934 break;
1935 }
1936 case 36: {
1937 $t75_76 = $rt.builtin.makeMap('string');
1938 $t76_77 = { $get() { return $t0_1.$get().Tags; }, $set(v) { const obj = $t0_1.$get(); obj.Tags = v; $t0_1.$set(obj); } };
1939 $t76_77.$set($t75_76);
1940 $block = 37; break;
1941 break;
1942 }
1943 case 37: {
1944 $t77_78 = { $get() { return $t0_1.$get().Tags; }, $set(v) { const obj = $t0_1.$get(); obj.Tags = v; $t0_1.$set(obj); } };
1945 $t78_79 = $t77_78.$get();
1946 $t79_80 = parseStrArray(s, $t26_27);
1947 $t80_81 = $t79_80[0];
1948 $rt.builtin.mapUpdate($t78_79, $t19_20, $t80_81);
1949 $t81_82 = $t79_80[1];
1950 $t30_31 = $t81_82;
1951 $block = 18; break;
1952 break;
1953 }
1954 case 38: {
1955 return null;
1956 break;
1957 }
1958 }
1959 }
1960 }
1961
1962 export function ParseEventsJSON(s) {
1963 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
1964 let $block = 0;
1965 while (true) {
1966 switch ($block) {
1967 case 0: {
1968 $t0_1 = skipWS(s, 0);
1969 $t1_2 = $rt.builtin.len(s);
1970 $t2_3 = ($t0_1 >= $t1_2);
1971 if ($t2_3) {
1972 $block = 1; break;
1973 }
1974 else {
1975 $block = 3; break;
1976 }
1977 break;
1978 }
1979 case 1: {
1980 return null;
1981 break;
1982 }
1983 case 2: {
1984 $t3_4 = ($t0_1 + 1);
1985 $t6_7 = $t3_4;
1986 $t7_8 = null;
1987 $block = 4; break;
1988 break;
1989 }
1990 case 3: {
1991 $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen(s));
1992 $t4_5 = $rt.builtin.stringByteAt(s, $t0_1);
1993 $t5_6 = ($t4_5 !== 91);
1994 if ($t5_6) {
1995 $block = 1; break;
1996 }
1997 else {
1998 $block = 2; break;
1999 }
2000 break;
2001 }
2002 case 4: {
2003 $t8_9 = skipWS(s, $t6_7);
2004 $t9_10 = $rt.builtin.len(s);
2005 $t10_11 = ($t8_9 >= $t9_10);
2006 if ($t10_11) {
2007 $block = 5; break;
2008 }
2009 else {
2010 $block = 6; break;
2011 }
2012 break;
2013 }
2014 case 5: {
2015 return $t7_8;
2016 break;
2017 }
2018 case 6: {
2019 $rt.runtime.boundsCheck($t8_9, $rt.builtin.byteLen(s));
2020 $t11_12 = $rt.builtin.stringByteAt(s, $t8_9);
2021 $t12_13 = ($t11_12 === 93);
2022 if ($t12_13) {
2023 $block = 7; break;
2024 }
2025 else {
2026 $block = 8; break;
2027 }
2028 break;
2029 }
2030 case 7: {
2031 return $t7_8;
2032 break;
2033 }
2034 case 8: {
2035 $rt.runtime.boundsCheck($t8_9, $rt.builtin.byteLen(s));
2036 $t13_14 = $rt.builtin.stringByteAt(s, $t8_9);
2037 $t14_15 = ($t13_14 === 44);
2038 if ($t14_15) {
2039 $block = 9; break;
2040 }
2041 else {
2042 $block = 10; break;
2043 }
2044 break;
2045 }
2046 case 9: {
2047 $t15_16 = ($t8_9 + 1);
2048 let $phi0 = $t15_16;
2049 let $phi1 = $t7_8;
2050 $t6_7 = $phi0;
2051 $t7_8 = $phi1;
2052 $block = 4; break;
2053 break;
2054 }
2055 case 10: {
2056 $t16_17 = skipValue(s, $t8_9);
2057 $t17_18 = ($t16_17 < 0);
2058 if ($t17_18) {
2059 $block = 11; break;
2060 }
2061 else {
2062 $block = 12; break;
2063 }
2064 break;
2065 }
2066 case 11: {
2067 return $t7_8;
2068 break;
2069 }
2070 case 12: {
2071 $t18_19 = $rt.builtin.stringSlice(s, $t8_9, $t16_17);
2072 $t19_20 = ParseEvent($t18_19);
2073 $t20_21 = ($t19_20 !== null);
2074 if ($t20_21) {
2075 $block = 13; break;
2076 }
2077 else {
2078 let $phi0 = $t16_17;
2079 let $phi1 = $t7_8;
2080 $t6_7 = $phi0;
2081 $t7_8 = $phi1;
2082 $block = 4; break;
2083 }
2084 break;
2085 }
2086 case 13: {
2087 $t21_22 = { $value: $rt.builtin.makeSlice(1, 1, null), $get() { return this.$value; }, $set(v) { this.$value = v; } };
2088 $t22_23 = $t21_22.$get().addr(0);
2089 $t22_23.$set($t19_20);
2090 $t23_24 = $rt.builtin.sliceSlice($t21_22.$get(), undefined, undefined, undefined);
2091 $t24_25 = $rt.builtin.appendSlice($t7_8, $t23_24);
2092 $t6_7 = $t16_17;
2093 $t7_8 = $t24_25;
2094 $block = 4; break;
2095 break;
2096 }
2097 }
2098 }
2099 }
2100
2101 export function parseStrArray(s, i) {
2102 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
2103 let $block = 0;
2104 while (true) {
2105 switch ($block) {
2106 case 0: {
2107 $t0_1 = skipWS(s, i);
2108 $t1_2 = $rt.builtin.len(s);
2109 $t2_3 = ($t0_1 >= $t1_2);
2110 if ($t2_3) {
2111 $block = 1; break;
2112 }
2113 else {
2114 $block = 3; break;
2115 }
2116 break;
2117 }
2118 case 1: {
2119 return [null, -1];
2120 break;
2121 }
2122 case 2: {
2123 $t3_4 = ($t0_1 + 1);
2124 $t6_7 = $t3_4;
2125 $t7_8 = null;
2126 $block = 4; break;
2127 break;
2128 }
2129 case 3: {
2130 $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen(s));
2131 $t4_5 = $rt.builtin.stringByteAt(s, $t0_1);
2132 $t5_6 = ($t4_5 !== 91);
2133 if ($t5_6) {
2134 $block = 1; break;
2135 }
2136 else {
2137 $block = 2; break;
2138 }
2139 break;
2140 }
2141 case 4: {
2142 $t8_9 = skipWS(s, $t6_7);
2143 $t9_10 = $rt.builtin.len(s);
2144 $t10_11 = ($t8_9 >= $t9_10);
2145 if ($t10_11) {
2146 $block = 5; break;
2147 }
2148 else {
2149 $block = 6; break;
2150 }
2151 break;
2152 }
2153 case 5: {
2154 return [null, -1];
2155 break;
2156 }
2157 case 6: {
2158 $rt.runtime.boundsCheck($t8_9, $rt.builtin.byteLen(s));
2159 $t11_12 = $rt.builtin.stringByteAt(s, $t8_9);
2160 $t12_13 = ($t11_12 === 93);
2161 if ($t12_13) {
2162 $block = 7; break;
2163 }
2164 else {
2165 $block = 8; break;
2166 }
2167 break;
2168 }
2169 case 7: {
2170 $t13_14 = ($t8_9 + 1);
2171 return [$t7_8, $t13_14];
2172 break;
2173 }
2174 case 8: {
2175 $rt.runtime.boundsCheck($t8_9, $rt.builtin.byteLen(s));
2176 $t14_15 = $rt.builtin.stringByteAt(s, $t8_9);
2177 $t15_16 = ($t14_15 === 44);
2178 if ($t15_16) {
2179 $block = 9; break;
2180 }
2181 else {
2182 $block = 10; break;
2183 }
2184 break;
2185 }
2186 case 9: {
2187 $t16_17 = ($t8_9 + 1);
2188 let $phi0 = $t16_17;
2189 let $phi1 = $t7_8;
2190 $t6_7 = $phi0;
2191 $t7_8 = $phi1;
2192 $block = 4; break;
2193 break;
2194 }
2195 case 10: {
2196 $t17_18 = parseString(s, $t8_9);
2197 $t18_19 = $t17_18[0];
2198 $t19_20 = $t17_18[1];
2199 $t20_21 = ($t19_20 < 0);
2200 if ($t20_21) {
2201 $block = 11; break;
2202 }
2203 else {
2204 $block = 12; break;
2205 }
2206 break;
2207 }
2208 case 11: {
2209 return [null, -1];
2210 break;
2211 }
2212 case 12: {
2213 $t21_22 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
2214 $t22_23 = $t21_22.$get().addr(0);
2215 $t22_23.$set($t18_19);
2216 $t23_24 = $rt.builtin.sliceSlice($t21_22.$get(), undefined, undefined, undefined);
2217 $t24_25 = $rt.builtin.appendSlice($t7_8, $t23_24);
2218 $t6_7 = $t19_20;
2219 $t7_8 = $t24_25;
2220 $block = 4; break;
2221 break;
2222 }
2223 }
2224 }
2225 }
2226
2227 export function parseIntArray(s, i) {
2228 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26;
2229 let $block = 0;
2230 while (true) {
2231 switch ($block) {
2232 case 0: {
2233 $t0_1 = skipWS(s, i);
2234 $t1_2 = $rt.builtin.len(s);
2235 $t2_3 = ($t0_1 >= $t1_2);
2236 if ($t2_3) {
2237 $block = 1; break;
2238 }
2239 else {
2240 $block = 3; break;
2241 }
2242 break;
2243 }
2244 case 1: {
2245 return [null, -1];
2246 break;
2247 }
2248 case 2: {
2249 $t3_4 = ($t0_1 + 1);
2250 $t6_7 = $t3_4;
2251 $t7_8 = null;
2252 $block = 4; break;
2253 break;
2254 }
2255 case 3: {
2256 $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen(s));
2257 $t4_5 = $rt.builtin.stringByteAt(s, $t0_1);
2258 $t5_6 = ($t4_5 !== 91);
2259 if ($t5_6) {
2260 $block = 1; break;
2261 }
2262 else {
2263 $block = 2; break;
2264 }
2265 break;
2266 }
2267 case 4: {
2268 $t8_9 = skipWS(s, $t6_7);
2269 $t9_10 = $rt.builtin.len(s);
2270 $t10_11 = ($t8_9 >= $t9_10);
2271 if ($t10_11) {
2272 $block = 5; break;
2273 }
2274 else {
2275 $block = 6; break;
2276 }
2277 break;
2278 }
2279 case 5: {
2280 return [null, -1];
2281 break;
2282 }
2283 case 6: {
2284 $rt.runtime.boundsCheck($t8_9, $rt.builtin.byteLen(s));
2285 $t11_12 = $rt.builtin.stringByteAt(s, $t8_9);
2286 $t12_13 = ($t11_12 === 93);
2287 if ($t12_13) {
2288 $block = 7; break;
2289 }
2290 else {
2291 $block = 8; break;
2292 }
2293 break;
2294 }
2295 case 7: {
2296 $t13_14 = ($t8_9 + 1);
2297 return [$t7_8, $t13_14];
2298 break;
2299 }
2300 case 8: {
2301 $rt.runtime.boundsCheck($t8_9, $rt.builtin.byteLen(s));
2302 $t14_15 = $rt.builtin.stringByteAt(s, $t8_9);
2303 $t15_16 = ($t14_15 === 44);
2304 if ($t15_16) {
2305 $block = 9; break;
2306 }
2307 else {
2308 $block = 10; break;
2309 }
2310 break;
2311 }
2312 case 9: {
2313 $t16_17 = ($t8_9 + 1);
2314 let $phi0 = $t16_17;
2315 let $phi1 = $t7_8;
2316 $t6_7 = $phi0;
2317 $t7_8 = $phi1;
2318 $block = 4; break;
2319 break;
2320 }
2321 case 10: {
2322 $t17_18 = parseInt(s, $t8_9);
2323 $t18_19 = $t17_18[0];
2324 $t19_20 = $t17_18[1];
2325 $t20_21 = ($t19_20 < 0);
2326 if ($t20_21) {
2327 $block = 11; break;
2328 }
2329 else {
2330 $block = 12; break;
2331 }
2332 break;
2333 }
2334 case 11: {
2335 return [null, -1];
2336 break;
2337 }
2338 case 12: {
2339 $t21_22 = $t18_19;
2340 $t22_23 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
2341 $t23_24 = $t22_23.$get().addr(0);
2342 $t23_24.$set($t21_22);
2343 $t24_25 = $rt.builtin.sliceSlice($t22_23.$get(), undefined, undefined, undefined);
2344 $t25_26 = $rt.builtin.appendSlice($t7_8, $t24_25);
2345 $t6_7 = $t19_20;
2346 $t7_8 = $t25_26;
2347 $block = 4; break;
2348 break;
2349 }
2350 }
2351 }
2352 }
2353
2354 export function skipWS(s, i) {
2355 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12;
2356 let $block = 0;
2357 while (true) {
2358 switch ($block) {
2359 case 0: {
2360 $t1_2 = i;
2361 $block = 3; break;
2362 break;
2363 }
2364 case 1: {
2365 $t0_1 = ($t1_2 + 1);
2366 $t1_2 = $t0_1;
2367 $block = 3; break;
2368 break;
2369 }
2370 case 2: {
2371 return $t1_2;
2372 break;
2373 }
2374 case 3: {
2375 $t2_3 = $rt.builtin.len(s);
2376 $t3_4 = ($t1_2 < $t2_3);
2377 if ($t3_4) {
2378 $block = 4; break;
2379 }
2380 else {
2381 $block = 2; break;
2382 }
2383 break;
2384 }
2385 case 4: {
2386 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
2387 $t4_5 = $rt.builtin.stringByteAt(s, $t1_2);
2388 $t5_6 = ($t4_5 === 32);
2389 if ($t5_6) {
2390 $block = 1; break;
2391 }
2392 else {
2393 $block = 7; break;
2394 }
2395 break;
2396 }
2397 case 5: {
2398 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
2399 $t6_7 = $rt.builtin.stringByteAt(s, $t1_2);
2400 $t7_8 = ($t6_7 === 13);
2401 if ($t7_8) {
2402 $block = 1; break;
2403 }
2404 else {
2405 $block = 2; break;
2406 }
2407 break;
2408 }
2409 case 6: {
2410 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
2411 $t8_9 = $rt.builtin.stringByteAt(s, $t1_2);
2412 $t9_10 = ($t8_9 === 10);
2413 if ($t9_10) {
2414 $block = 1; break;
2415 }
2416 else {
2417 $block = 5; break;
2418 }
2419 break;
2420 }
2421 case 7: {
2422 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
2423 $t10_11 = $rt.builtin.stringByteAt(s, $t1_2);
2424 $t11_12 = ($t10_11 === 9);
2425 if ($t11_12) {
2426 $block = 1; break;
2427 }
2428 else {
2429 $block = 6; break;
2430 }
2431 break;
2432 }
2433 }
2434 }
2435 }
2436
2437 export function parseString(s, i) {
2438 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111;
2439 let $block = 0;
2440 while (true) {
2441 switch ($block) {
2442 case 0: {
2443 $t0_1 = $rt.builtin.len(s);
2444 $t1_2 = (i >= $t0_1);
2445 if ($t1_2) {
2446 $block = 1; break;
2447 }
2448 else {
2449 $block = 3; break;
2450 }
2451 break;
2452 }
2453 case 1: {
2454 return ['', -1];
2455 break;
2456 }
2457 case 2: {
2458 $t2_3 = (i + 1);
2459 $t7_8 = $t2_3;
2460 $t8_9 = $t2_3;
2461 $t9_10 = '';
2462 $block = 6; break;
2463 break;
2464 }
2465 case 3: {
2466 $rt.runtime.boundsCheck(i, $rt.builtin.byteLen(s));
2467 $t3_4 = $rt.builtin.stringByteAt(s, i);
2468 $t4_5 = ($t3_4 !== 34);
2469 if ($t4_5) {
2470 $block = 1; break;
2471 }
2472 else {
2473 $block = 2; break;
2474 }
2475 break;
2476 }
2477 case 4: {
2478 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
2479 $t5_6 = $rt.builtin.stringByteAt(s, $t7_8);
2480 $t6_7 = ($t5_6 === 92);
2481 if ($t6_7) {
2482 $block = 7; break;
2483 }
2484 else {
2485 $block = 8; break;
2486 }
2487 break;
2488 }
2489 case 5: {
2490 return ['', -1];
2491 break;
2492 }
2493 case 6: {
2494 $t10_11 = $rt.builtin.len(s);
2495 $t11_12 = ($t7_8 < $t10_11);
2496 if ($t11_12) {
2497 $block = 4; break;
2498 }
2499 else {
2500 $block = 5; break;
2501 }
2502 break;
2503 }
2504 case 7: {
2505 $t12_13 = $rt.builtin.stringSlice(s, $t8_9, $t7_8);
2506 $t13_14 = ($t9_10 + $t12_13);
2507 $t14_15 = ($t7_8 + 1);
2508 $t15_16 = $rt.builtin.len(s);
2509 $t16_17 = ($t14_15 >= $t15_16);
2510 if ($t16_17) {
2511 $block = 9; break;
2512 }
2513 else {
2514 $block = 10; break;
2515 }
2516 break;
2517 }
2518 case 8: {
2519 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
2520 $t17_18 = $rt.builtin.stringByteAt(s, $t7_8);
2521 $t18_19 = ($t17_18 === 34);
2522 if ($t18_19) {
2523 $block = 38; break;
2524 }
2525 else {
2526 $block = 39; break;
2527 }
2528 break;
2529 }
2530 case 9: {
2531 return ['', -1];
2532 break;
2533 }
2534 case 10: {
2535 $rt.runtime.boundsCheck($t14_15, $rt.builtin.byteLen(s));
2536 $t19_20 = $rt.builtin.stringByteAt(s, $t14_15);
2537 $t20_21 = ($t19_20 === 34);
2538 if ($t20_21) {
2539 $block = 12; break;
2540 }
2541 else {
2542 $block = 14; break;
2543 }
2544 break;
2545 }
2546 case 11: {
2547 $t23_24 = ($t21_22 + 1);
2548 $t7_8 = $t23_24;
2549 $t8_9 = $t23_24;
2550 $t9_10 = $t22_23;
2551 $block = 6; break;
2552 break;
2553 }
2554 case 12: {
2555 $t24_25 = ($t14_15 + 1);
2556 $t25_26 = $rt.builtin.stringSlice(s, $t14_15, $t24_25);
2557 $t26_27 = ($t13_14 + $t25_26);
2558 $t21_22 = $t14_15;
2559 $t22_23 = $t26_27;
2560 $block = 11; break;
2561 break;
2562 }
2563 case 13: {
2564 $t27_28 = ($t13_14 + '\n');
2565 $t21_22 = $t14_15;
2566 $t22_23 = $t27_28;
2567 $block = 11; break;
2568 break;
2569 }
2570 case 14: {
2571 $t28_29 = ($t19_20 === 92);
2572 if ($t28_29) {
2573 $block = 12; break;
2574 }
2575 else {
2576 $block = 15; break;
2577 }
2578 break;
2579 }
2580 case 15: {
2581 $t29_30 = ($t19_20 === 47);
2582 if ($t29_30) {
2583 $block = 12; break;
2584 }
2585 else {
2586 $block = 16; break;
2587 }
2588 break;
2589 }
2590 case 16: {
2591 $t30_31 = ($t19_20 === 110);
2592 if ($t30_31) {
2593 $block = 13; break;
2594 }
2595 else {
2596 $block = 18; break;
2597 }
2598 break;
2599 }
2600 case 17: {
2601 $t31_32 = ($t13_14 + '\r');
2602 $t21_22 = $t14_15;
2603 $t22_23 = $t31_32;
2604 $block = 11; break;
2605 break;
2606 }
2607 case 18: {
2608 $t32_33 = ($t19_20 === 114);
2609 if ($t32_33) {
2610 $block = 17; break;
2611 }
2612 else {
2613 $block = 20; break;
2614 }
2615 break;
2616 }
2617 case 19: {
2618 $t33_34 = ($t13_14 + '\t');
2619 $t21_22 = $t14_15;
2620 $t22_23 = $t33_34;
2621 $block = 11; break;
2622 break;
2623 }
2624 case 20: {
2625 $t34_35 = ($t19_20 === 116);
2626 if ($t34_35) {
2627 $block = 19; break;
2628 }
2629 else {
2630 $block = 22; break;
2631 }
2632 break;
2633 }
2634 case 21: {
2635 $t35_36 = ($t13_14 + '\x08');
2636 $t21_22 = $t14_15;
2637 $t22_23 = $t35_36;
2638 $block = 11; break;
2639 break;
2640 }
2641 case 22: {
2642 $t36_37 = ($t19_20 === 98);
2643 if ($t36_37) {
2644 $block = 21; break;
2645 }
2646 else {
2647 $block = 24; break;
2648 }
2649 break;
2650 }
2651 case 23: {
2652 $t37_38 = ($t13_14 + '\x0c');
2653 $t21_22 = $t14_15;
2654 $t22_23 = $t37_38;
2655 $block = 11; break;
2656 break;
2657 }
2658 case 24: {
2659 $t38_39 = ($t19_20 === 102);
2660 if ($t38_39) {
2661 $block = 23; break;
2662 }
2663 else {
2664 $block = 26; break;
2665 }
2666 break;
2667 }
2668 case 25: {
2669 $t39_40 = ($t14_15 + 4);
2670 $t40_41 = $rt.builtin.len(s);
2671 $t41_42 = ($t39_40 >= $t40_41);
2672 if ($t41_42) {
2673 $block = 28; break;
2674 }
2675 else {
2676 $block = 29; break;
2677 }
2678 break;
2679 }
2680 case 26: {
2681 $t42_43 = ($t19_20 === 117);
2682 if ($t42_43) {
2683 $block = 25; break;
2684 }
2685 else {
2686 $block = 27; break;
2687 }
2688 break;
2689 }
2690 case 27: {
2691 $t43_44 = ($t14_15 + 1);
2692 $t44_45 = $rt.builtin.stringSlice(s, $t14_15, $t43_44);
2693 $t45_46 = ($t13_14 + $t44_45);
2694 $t21_22 = $t14_15;
2695 $t22_23 = $t45_46;
2696 $block = 11; break;
2697 break;
2698 }
2699 case 28: {
2700 return ['', -1];
2701 break;
2702 }
2703 case 29: {
2704 $t46_47 = ($t14_15 + 1);
2705 $rt.runtime.boundsCheck($t46_47, $rt.builtin.byteLen(s));
2706 $t47_48 = $rt.builtin.stringByteAt(s, $t46_47);
2707 $t48_49 = hexVal($t47_48);
2708 $t49_50 = ($t48_49 * (2 ** 12));
2709 $t50_51 = ($t14_15 + 2);
2710 $rt.runtime.boundsCheck($t50_51, $rt.builtin.byteLen(s));
2711 $t51_52 = $rt.builtin.stringByteAt(s, $t50_51);
2712 $t52_53 = hexVal($t51_52);
2713 $t53_54 = ($t52_53 * (2 ** 8));
2714 $t54_55 = $rt.builtin.int64or($t49_50, $t53_54);
2715 $t55_56 = ($t14_15 + 3);
2716 $rt.runtime.boundsCheck($t55_56, $rt.builtin.byteLen(s));
2717 $t56_57 = $rt.builtin.stringByteAt(s, $t55_56);
2718 $t57_58 = hexVal($t56_57);
2719 $t58_59 = ($t57_58 * (2 ** 4));
2720 $t59_60 = $rt.builtin.int64or($t54_55, $t58_59);
2721 $t60_61 = ($t14_15 + 4);
2722 $rt.runtime.boundsCheck($t60_61, $rt.builtin.byteLen(s));
2723 $t61_62 = $rt.builtin.stringByteAt(s, $t60_61);
2724 $t62_63 = hexVal($t61_62);
2725 $t63_64 = $rt.builtin.int64or($t59_60, $t62_63);
2726 $t64_65 = ($t63_64 >= 55296);
2727 if ($t64_65) {
2728 $block = 35; break;
2729 }
2730 else {
2731 $t84_85 = $t14_15;
2732 $t85_86 = $t63_64;
2733 $block = 31; break;
2734 }
2735 break;
2736 }
2737 case 30: {
2738 $t65_66 = ($t14_15 + 7);
2739 $rt.runtime.boundsCheck($t65_66, $rt.builtin.byteLen(s));
2740 $t66_67 = $rt.builtin.stringByteAt(s, $t65_66);
2741 $t67_68 = hexVal($t66_67);
2742 $t68_69 = ($t67_68 * (2 ** 12));
2743 $t69_70 = ($t14_15 + 8);
2744 $rt.runtime.boundsCheck($t69_70, $rt.builtin.byteLen(s));
2745 $t70_71 = $rt.builtin.stringByteAt(s, $t69_70);
2746 $t71_72 = hexVal($t70_71);
2747 $t72_73 = ($t71_72 * (2 ** 8));
2748 $t73_74 = $rt.builtin.int64or($t68_69, $t72_73);
2749 $t74_75 = ($t14_15 + 9);
2750 $rt.runtime.boundsCheck($t74_75, $rt.builtin.byteLen(s));
2751 $t75_76 = $rt.builtin.stringByteAt(s, $t74_75);
2752 $t76_77 = hexVal($t75_76);
2753 $t77_78 = ($t76_77 * (2 ** 4));
2754 $t78_79 = $rt.builtin.int64or($t73_74, $t77_78);
2755 $t79_80 = ($t14_15 + 10);
2756 $rt.runtime.boundsCheck($t79_80, $rt.builtin.byteLen(s));
2757 $t80_81 = $rt.builtin.stringByteAt(s, $t79_80);
2758 $t81_82 = hexVal($t80_81);
2759 $t82_83 = $rt.builtin.int64or($t78_79, $t81_82);
2760 $t83_84 = ($t82_83 >= 56320);
2761 if ($t83_84) {
2762 $block = 37; break;
2763 }
2764 else {
2765 $t84_85 = $t14_15;
2766 $t85_86 = $t63_64;
2767 $block = 31; break;
2768 }
2769 break;
2770 }
2771 case 31: {
2772 $t86_87 = ($t85_86 | 0);
2773 $t87_88 = String.fromCodePoint($t86_87);
2774 $t88_89 = ($t13_14 + $t87_88);
2775 $t89_90 = ($t84_85 + 4);
2776 $t21_22 = $t89_90;
2777 $t22_23 = $t88_89;
2778 $block = 11; break;
2779 break;
2780 }
2781 case 32: {
2782 $t90_91 = ($t14_15 + 6);
2783 $rt.runtime.boundsCheck($t90_91, $rt.builtin.byteLen(s));
2784 $t91_92 = $rt.builtin.stringByteAt(s, $t90_91);
2785 $t92_93 = ($t91_92 === 117);
2786 if ($t92_93) {
2787 $block = 30; break;
2788 }
2789 else {
2790 $t84_85 = $t14_15;
2791 $t85_86 = $t63_64;
2792 $block = 31; break;
2793 }
2794 break;
2795 }
2796 case 33: {
2797 $t93_94 = ($t14_15 + 5);
2798 $rt.runtime.boundsCheck($t93_94, $rt.builtin.byteLen(s));
2799 $t94_95 = $rt.builtin.stringByteAt(s, $t93_94);
2800 $t95_96 = ($t94_95 === 92);
2801 if ($t95_96) {
2802 $block = 32; break;
2803 }
2804 else {
2805 $t84_85 = $t14_15;
2806 $t85_86 = $t63_64;
2807 $block = 31; break;
2808 }
2809 break;
2810 }
2811 case 34: {
2812 $t96_97 = ($t14_15 + 10);
2813 $t97_98 = $rt.builtin.len(s);
2814 $t98_99 = ($t96_97 <= $t97_98);
2815 if ($t98_99) {
2816 $block = 33; break;
2817 }
2818 else {
2819 $t84_85 = $t14_15;
2820 $t85_86 = $t63_64;
2821 $block = 31; break;
2822 }
2823 break;
2824 }
2825 case 35: {
2826 $t99_100 = ($t63_64 <= 56319);
2827 if ($t99_100) {
2828 $block = 34; break;
2829 }
2830 else {
2831 $t84_85 = $t14_15;
2832 $t85_86 = $t63_64;
2833 $block = 31; break;
2834 }
2835 break;
2836 }
2837 case 36: {
2838 $t100_101 = ($t63_64 - 55296);
2839 $t101_102 = ($t100_101 * 1024);
2840 $t102_103 = (65536 + $t101_102);
2841 $t103_104 = ($t82_83 - 56320);
2842 $t104_105 = ($t102_103 + $t103_104);
2843 $t105_106 = ($t14_15 + 6);
2844 $t84_85 = $t105_106;
2845 $t85_86 = $t104_105;
2846 $block = 31; break;
2847 break;
2848 }
2849 case 37: {
2850 $t106_107 = ($t82_83 <= 57343);
2851 if ($t106_107) {
2852 $block = 36; break;
2853 }
2854 else {
2855 $t84_85 = $t14_15;
2856 $t85_86 = $t63_64;
2857 $block = 31; break;
2858 }
2859 break;
2860 }
2861 case 38: {
2862 $t107_108 = $rt.builtin.stringSlice(s, $t8_9, $t7_8);
2863 $t108_109 = ($t9_10 + $t107_108);
2864 $t109_110 = ($t7_8 + 1);
2865 return [$t108_109, $t109_110];
2866 break;
2867 }
2868 case 39: {
2869 $t110_111 = ($t7_8 + 1);
2870 let $phi0 = $t110_111;
2871 let $phi1 = $t8_9;
2872 let $phi2 = $t9_10;
2873 $t7_8 = $phi0;
2874 $t8_9 = $phi1;
2875 $t9_10 = $phi2;
2876 $block = 6; break;
2877 break;
2878 }
2879 }
2880 }
2881 }
2882
2883 export function hexVal(c) {
2884 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
2885 let $block = 0;
2886 while (true) {
2887 switch ($block) {
2888 case 0: {
2889 $t0_1 = (c >= 48);
2890 if ($t0_1) {
2891 $block = 3; break;
2892 }
2893 else {
2894 $block = 2; break;
2895 }
2896 break;
2897 }
2898 case 1: {
2899 $t1_2 = ((c - 48) & 0xFF);
2900 $t2_3 = $t1_2;
2901 return $t2_3;
2902 break;
2903 }
2904 case 2: {
2905 $t3_4 = (c >= 97);
2906 if ($t3_4) {
2907 $block = 6; break;
2908 }
2909 else {
2910 $block = 5; break;
2911 }
2912 break;
2913 }
2914 case 3: {
2915 $t4_5 = (c <= 57);
2916 if ($t4_5) {
2917 $block = 1; break;
2918 }
2919 else {
2920 $block = 2; break;
2921 }
2922 break;
2923 }
2924 case 4: {
2925 $t5_6 = ((c - 97) & 0xFF);
2926 $t6_7 = $t5_6;
2927 $t7_8 = ($t6_7 + 10);
2928 return $t7_8;
2929 break;
2930 }
2931 case 5: {
2932 $t8_9 = (c >= 65);
2933 if ($t8_9) {
2934 $block = 9; break;
2935 }
2936 else {
2937 $block = 8; break;
2938 }
2939 break;
2940 }
2941 case 6: {
2942 $t9_10 = (c <= 102);
2943 if ($t9_10) {
2944 $block = 4; break;
2945 }
2946 else {
2947 $block = 5; break;
2948 }
2949 break;
2950 }
2951 case 7: {
2952 $t10_11 = ((c - 65) & 0xFF);
2953 $t11_12 = $t10_11;
2954 $t12_13 = ($t11_12 + 10);
2955 return $t12_13;
2956 break;
2957 }
2958 case 8: {
2959 return 0;
2960 break;
2961 }
2962 case 9: {
2963 $t13_14 = (c <= 70);
2964 if ($t13_14) {
2965 $block = 7; break;
2966 }
2967 else {
2968 $block = 8; break;
2969 }
2970 break;
2971 }
2972 }
2973 }
2974 }
2975
2976 export function parseInt(s, i) {
2977 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29;
2978 let $block = 0;
2979 while (true) {
2980 switch ($block) {
2981 case 0: {
2982 $t0_1 = $rt.builtin.len(s);
2983 $t1_2 = (i >= $t0_1);
2984 if ($t1_2) {
2985 $block = 1; break;
2986 }
2987 else {
2988 $block = 2; break;
2989 }
2990 break;
2991 }
2992 case 1: {
2993 return [0, -1];
2994 break;
2995 }
2996 case 2: {
2997 $rt.runtime.boundsCheck(i, $rt.builtin.byteLen(s));
2998 $t2_3 = $rt.builtin.stringByteAt(s, i);
2999 $t3_4 = ($t2_3 === 45);
3000 if ($t3_4) {
3001 $block = 3; break;
3002 }
3003 else {
3004 $t5_6 = i;
3005 $t6_7 = false;
3006 $block = 4; break;
3007 }
3008 break;
3009 }
3010 case 3: {
3011 $t4_5 = (i + 1);
3012 $t5_6 = $t4_5;
3013 $t6_7 = true;
3014 $block = 4; break;
3015 break;
3016 }
3017 case 4: {
3018 $t7_8 = $rt.builtin.len(s);
3019 $t8_9 = ($t5_6 >= $t7_8);
3020 if ($t8_9) {
3021 $block = 5; break;
3022 }
3023 else {
3024 $block = 8; break;
3025 }
3026 break;
3027 }
3028 case 5: {
3029 return [0, -1];
3030 break;
3031 }
3032 case 6: {
3033 $t19_20 = $t5_6;
3034 $t20_21 = 0;
3035 $block = 11; break;
3036 break;
3037 }
3038 case 7: {
3039 $rt.runtime.boundsCheck($t5_6, $rt.builtin.byteLen(s));
3040 $t9_10 = $rt.builtin.stringByteAt(s, $t5_6);
3041 $t10_11 = ($t9_10 > 57);
3042 if ($t10_11) {
3043 $block = 5; break;
3044 }
3045 else {
3046 $block = 6; break;
3047 }
3048 break;
3049 }
3050 case 8: {
3051 $rt.runtime.boundsCheck($t5_6, $rt.builtin.byteLen(s));
3052 $t11_12 = $rt.builtin.stringByteAt(s, $t5_6);
3053 $t12_13 = ($t11_12 < 48);
3054 if ($t12_13) {
3055 $block = 5; break;
3056 }
3057 else {
3058 $block = 7; break;
3059 }
3060 break;
3061 }
3062 case 9: {
3063 $t13_14 = ($t20_21 * 10);
3064 $rt.runtime.boundsCheck($t19_20, $rt.builtin.byteLen(s));
3065 $t14_15 = $rt.builtin.stringByteAt(s, $t19_20);
3066 $t15_16 = (($t14_15 - 48) & 0xFF);
3067 $t16_17 = $t15_16;
3068 $t17_18 = ($t13_14 + $t16_17);
3069 $t18_19 = ($t19_20 + 1);
3070 $t19_20 = $t18_19;
3071 $t20_21 = $t17_18;
3072 $block = 11; break;
3073 break;
3074 }
3075 case 10: {
3076 if ($t6_7) {
3077 $block = 14; break;
3078 }
3079 else {
3080 $t28_29 = $t20_21;
3081 $block = 15; break;
3082 }
3083 break;
3084 }
3085 case 11: {
3086 $t21_22 = $rt.builtin.len(s);
3087 $t22_23 = ($t19_20 < $t21_22);
3088 if ($t22_23) {
3089 $block = 13; break;
3090 }
3091 else {
3092 $block = 10; break;
3093 }
3094 break;
3095 }
3096 case 12: {
3097 $rt.runtime.boundsCheck($t19_20, $rt.builtin.byteLen(s));
3098 $t23_24 = $rt.builtin.stringByteAt(s, $t19_20);
3099 $t24_25 = ($t23_24 <= 57);
3100 if ($t24_25) {
3101 $block = 9; break;
3102 }
3103 else {
3104 $block = 10; break;
3105 }
3106 break;
3107 }
3108 case 13: {
3109 $rt.runtime.boundsCheck($t19_20, $rt.builtin.byteLen(s));
3110 $t25_26 = $rt.builtin.stringByteAt(s, $t19_20);
3111 $t26_27 = ($t25_26 >= 48);
3112 if ($t26_27) {
3113 $block = 12; break;
3114 }
3115 else {
3116 $block = 10; break;
3117 }
3118 break;
3119 }
3120 case 14: {
3121 $t27_28 = -$t20_21;
3122 $t28_29 = $t27_28;
3123 $block = 15; break;
3124 break;
3125 }
3126 case 15: {
3127 return [$t28_29, $t19_20];
3128 break;
3129 }
3130 }
3131 }
3132 }
3133
3134 export function parseTags(s, i) {
3135 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42;
3136 let $block = 0;
3137 while (true) {
3138 switch ($block) {
3139 case 0: {
3140 $t0_1 = $rt.builtin.len(s);
3141 $t1_2 = (i >= $t0_1);
3142 if ($t1_2) {
3143 $block = 1; break;
3144 }
3145 else {
3146 $block = 3; break;
3147 }
3148 break;
3149 }
3150 case 1: {
3151 return [null, -1];
3152 break;
3153 }
3154 case 2: {
3155 $t2_3 = (i + 1);
3156 $t5_6 = $t2_3;
3157 $t6_7 = null;
3158 $block = 4; break;
3159 break;
3160 }
3161 case 3: {
3162 $rt.runtime.boundsCheck(i, $rt.builtin.byteLen(s));
3163 $t3_4 = $rt.builtin.stringByteAt(s, i);
3164 $t4_5 = ($t3_4 !== 91);
3165 if ($t4_5) {
3166 $block = 1; break;
3167 }
3168 else {
3169 $block = 2; break;
3170 }
3171 break;
3172 }
3173 case 4: {
3174 $t7_8 = skipWS(s, $t5_6);
3175 $t8_9 = $rt.builtin.len(s);
3176 $t9_10 = ($t7_8 >= $t8_9);
3177 if ($t9_10) {
3178 $block = 5; break;
3179 }
3180 else {
3181 $block = 6; break;
3182 }
3183 break;
3184 }
3185 case 5: {
3186 return [null, -1];
3187 break;
3188 }
3189 case 6: {
3190 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
3191 $t10_11 = $rt.builtin.stringByteAt(s, $t7_8);
3192 $t11_12 = ($t10_11 === 93);
3193 if ($t11_12) {
3194 $block = 7; break;
3195 }
3196 else {
3197 $block = 8; break;
3198 }
3199 break;
3200 }
3201 case 7: {
3202 $t12_13 = ($t7_8 + 1);
3203 return [$t6_7, $t12_13];
3204 break;
3205 }
3206 case 8: {
3207 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
3208 $t13_14 = $rt.builtin.stringByteAt(s, $t7_8);
3209 $t14_15 = ($t13_14 === 44);
3210 if ($t14_15) {
3211 $block = 9; break;
3212 }
3213 else {
3214 $block = 10; break;
3215 }
3216 break;
3217 }
3218 case 9: {
3219 $t15_16 = ($t7_8 + 1);
3220 let $phi0 = $t15_16;
3221 let $phi1 = $t6_7;
3222 $t5_6 = $phi0;
3223 $t6_7 = $phi1;
3224 $block = 4; break;
3225 break;
3226 }
3227 case 10: {
3228 $rt.runtime.boundsCheck($t7_8, $rt.builtin.byteLen(s));
3229 $t16_17 = $rt.builtin.stringByteAt(s, $t7_8);
3230 $t17_18 = ($t16_17 !== 91);
3231 if ($t17_18) {
3232 $block = 11; break;
3233 }
3234 else {
3235 $block = 12; break;
3236 }
3237 break;
3238 }
3239 case 11: {
3240 return [null, -1];
3241 break;
3242 }
3243 case 12: {
3244 $t18_19 = ($t7_8 + 1);
3245 $t19_20 = $t18_19;
3246 $t20_21 = null;
3247 $block = 13; break;
3248 break;
3249 }
3250 case 13: {
3251 $t21_22 = skipWS(s, $t19_20);
3252 $t22_23 = $rt.builtin.len(s);
3253 $t23_24 = ($t21_22 >= $t22_23);
3254 if ($t23_24) {
3255 $block = 14; break;
3256 }
3257 else {
3258 $block = 15; break;
3259 }
3260 break;
3261 }
3262 case 14: {
3263 return [null, -1];
3264 break;
3265 }
3266 case 15: {
3267 $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen(s));
3268 $t24_25 = $rt.builtin.stringByteAt(s, $t21_22);
3269 $t25_26 = ($t24_25 === 93);
3270 if ($t25_26) {
3271 $block = 16; break;
3272 }
3273 else {
3274 $block = 17; break;
3275 }
3276 break;
3277 }
3278 case 16: {
3279 $t26_27 = ($t21_22 + 1);
3280 $t27_28 = { $value: $rt.builtin.makeSlice(1, 1, null), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3281 $t28_29 = $t27_28.$get().addr(0);
3282 $t28_29.$set($t20_21);
3283 $t29_30 = $rt.builtin.sliceSlice($t27_28.$get(), undefined, undefined, undefined);
3284 $t30_31 = $rt.builtin.appendSlice($t6_7, $t29_30);
3285 $t5_6 = $t26_27;
3286 $t6_7 = $t30_31;
3287 $block = 4; break;
3288 break;
3289 }
3290 case 17: {
3291 $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen(s));
3292 $t31_32 = $rt.builtin.stringByteAt(s, $t21_22);
3293 $t32_33 = ($t31_32 === 44);
3294 if ($t32_33) {
3295 $block = 18; break;
3296 }
3297 else {
3298 $block = 19; break;
3299 }
3300 break;
3301 }
3302 case 18: {
3303 $t33_34 = ($t21_22 + 1);
3304 let $phi0 = $t33_34;
3305 let $phi1 = $t20_21;
3306 $t19_20 = $phi0;
3307 $t20_21 = $phi1;
3308 $block = 13; break;
3309 break;
3310 }
3311 case 19: {
3312 $t34_35 = parseString(s, $t21_22);
3313 $t35_36 = $t34_35[0];
3314 $t36_37 = $t34_35[1];
3315 $t37_38 = ($t36_37 < 0);
3316 if ($t37_38) {
3317 $block = 20; break;
3318 }
3319 else {
3320 $block = 21; break;
3321 }
3322 break;
3323 }
3324 case 20: {
3325 return [null, -1];
3326 break;
3327 }
3328 case 21: {
3329 $t38_39 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3330 $t39_40 = $t38_39.$get().addr(0);
3331 $t39_40.$set($t35_36);
3332 $t40_41 = $rt.builtin.sliceSlice($t38_39.$get(), undefined, undefined, undefined);
3333 $t41_42 = $rt.builtin.appendSlice($t20_21, $t40_41);
3334 $t19_20 = $t36_37;
3335 $t20_21 = $t41_42;
3336 $block = 13; break;
3337 break;
3338 }
3339 }
3340 }
3341 }
3342
3343 export function skipValue(s, i) {
3344 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40;
3345 let $block = 0;
3346 while (true) {
3347 switch ($block) {
3348 case 0: {
3349 $t0_1 = $rt.builtin.len(s);
3350 $t1_2 = (i >= $t0_1);
3351 if ($t1_2) {
3352 $block = 1; break;
3353 }
3354 else {
3355 $block = 2; break;
3356 }
3357 break;
3358 }
3359 case 1: {
3360 return -1;
3361 break;
3362 }
3363 case 2: {
3364 $rt.runtime.boundsCheck(i, $rt.builtin.byteLen(s));
3365 $t2_3 = $rt.builtin.stringByteAt(s, i);
3366 $t3_4 = ($t2_3 === 34);
3367 if ($t3_4) {
3368 $block = 3; break;
3369 }
3370 else {
3371 $block = 5; break;
3372 }
3373 break;
3374 }
3375 case 3: {
3376 $t4_5 = parseString(s, i);
3377 $t5_6 = $t4_5[0];
3378 $t6_7 = $t4_5[1];
3379 return $t6_7;
3380 break;
3381 }
3382 case 4: {
3383 $t7_8 = skipBracketed(s, i, 123, 125);
3384 return $t7_8;
3385 break;
3386 }
3387 case 5: {
3388 $t8_9 = ($t2_3 === 123);
3389 if ($t8_9) {
3390 $block = 4; break;
3391 }
3392 else {
3393 $block = 7; break;
3394 }
3395 break;
3396 }
3397 case 6: {
3398 $t9_10 = skipBracketed(s, i, 91, 93);
3399 return $t9_10;
3400 break;
3401 }
3402 case 7: {
3403 $t10_11 = ($t2_3 === 91);
3404 if ($t10_11) {
3405 $block = 6; break;
3406 }
3407 else {
3408 $block = 9; break;
3409 }
3410 break;
3411 }
3412 case 8: {
3413 $t11_12 = (i + 4);
3414 $t12_13 = $rt.builtin.len(s);
3415 $t13_14 = ($t11_12 <= $t12_13);
3416 if ($t13_14) {
3417 $block = 12; break;
3418 }
3419 else {
3420 $block = 13; break;
3421 }
3422 break;
3423 }
3424 case 9: {
3425 $t14_15 = ($t2_3 === 116);
3426 if ($t14_15) {
3427 $block = 8; break;
3428 }
3429 else {
3430 $block = 11; break;
3431 }
3432 break;
3433 }
3434 case 10: {
3435 $t15_16 = (i + 5);
3436 $t16_17 = $rt.builtin.len(s);
3437 $t17_18 = ($t15_16 <= $t16_17);
3438 if ($t17_18) {
3439 $block = 16; break;
3440 }
3441 else {
3442 $block = 17; break;
3443 }
3444 break;
3445 }
3446 case 11: {
3447 $t18_19 = ($t2_3 === 102);
3448 if ($t18_19) {
3449 $block = 10; break;
3450 }
3451 else {
3452 $block = 15; break;
3453 }
3454 break;
3455 }
3456 case 12: {
3457 $t19_20 = (i + 4);
3458 return $t19_20;
3459 break;
3460 }
3461 case 13: {
3462 return -1;
3463 break;
3464 }
3465 case 14: {
3466 $t20_21 = (i + 4);
3467 $t21_22 = $rt.builtin.len(s);
3468 $t22_23 = ($t20_21 <= $t21_22);
3469 if ($t22_23) {
3470 $block = 18; break;
3471 }
3472 else {
3473 $block = 19; break;
3474 }
3475 break;
3476 }
3477 case 15: {
3478 $t23_24 = ($t2_3 === 110);
3479 if ($t23_24) {
3480 $block = 14; break;
3481 }
3482 else {
3483 $t27_28 = i;
3484 $block = 22; break;
3485 }
3486 break;
3487 }
3488 case 16: {
3489 $t24_25 = (i + 5);
3490 return $t24_25;
3491 break;
3492 }
3493 case 17: {
3494 return -1;
3495 break;
3496 }
3497 case 18: {
3498 $t25_26 = (i + 4);
3499 return $t25_26;
3500 break;
3501 }
3502 case 19: {
3503 return -1;
3504 break;
3505 }
3506 case 20: {
3507 $t26_27 = ($t27_28 + 1);
3508 $t27_28 = $t26_27;
3509 $block = 22; break;
3510 break;
3511 }
3512 case 21: {
3513 return $t27_28;
3514 break;
3515 }
3516 case 22: {
3517 $t28_29 = $rt.builtin.len(s);
3518 $t29_30 = ($t27_28 < $t28_29);
3519 if ($t29_30) {
3520 $block = 27; break;
3521 }
3522 else {
3523 $block = 21; break;
3524 }
3525 break;
3526 }
3527 case 23: {
3528 $rt.runtime.boundsCheck($t27_28, $rt.builtin.byteLen(s));
3529 $t30_31 = $rt.builtin.stringByteAt(s, $t27_28);
3530 $t31_32 = ($t30_31 !== 10);
3531 if ($t31_32) {
3532 $block = 20; break;
3533 }
3534 else {
3535 $block = 21; break;
3536 }
3537 break;
3538 }
3539 case 24: {
3540 $rt.runtime.boundsCheck($t27_28, $rt.builtin.byteLen(s));
3541 $t32_33 = $rt.builtin.stringByteAt(s, $t27_28);
3542 $t33_34 = ($t32_33 !== 32);
3543 if ($t33_34) {
3544 $block = 23; break;
3545 }
3546 else {
3547 $block = 21; break;
3548 }
3549 break;
3550 }
3551 case 25: {
3552 $rt.runtime.boundsCheck($t27_28, $rt.builtin.byteLen(s));
3553 $t34_35 = $rt.builtin.stringByteAt(s, $t27_28);
3554 $t35_36 = ($t34_35 !== 93);
3555 if ($t35_36) {
3556 $block = 24; break;
3557 }
3558 else {
3559 $block = 21; break;
3560 }
3561 break;
3562 }
3563 case 26: {
3564 $rt.runtime.boundsCheck($t27_28, $rt.builtin.byteLen(s));
3565 $t36_37 = $rt.builtin.stringByteAt(s, $t27_28);
3566 $t37_38 = ($t36_37 !== 125);
3567 if ($t37_38) {
3568 $block = 25; break;
3569 }
3570 else {
3571 $block = 21; break;
3572 }
3573 break;
3574 }
3575 case 27: {
3576 $rt.runtime.boundsCheck($t27_28, $rt.builtin.byteLen(s));
3577 $t38_39 = $rt.builtin.stringByteAt(s, $t27_28);
3578 $t39_40 = ($t38_39 !== 44);
3579 if ($t39_40) {
3580 $block = 26; break;
3581 }
3582 else {
3583 $block = 21; break;
3584 }
3585 break;
3586 }
3587 }
3588 }
3589 }
3590
3591 export function skipBracketed(s, i, open, close) {
3592 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29;
3593 let $block = 0;
3594 while (true) {
3595 switch ($block) {
3596 case 0: {
3597 $t0_1 = $rt.builtin.len(s);
3598 $t1_2 = (i >= $t0_1);
3599 if ($t1_2) {
3600 $block = 1; break;
3601 }
3602 else {
3603 $block = 3; break;
3604 }
3605 break;
3606 }
3607 case 1: {
3608 return -1;
3609 break;
3610 }
3611 case 2: {
3612 $t2_3 = (i + 1);
3613 $t6_7 = $t2_3;
3614 $t7_8 = 1;
3615 $t8_9 = false;
3616 $block = 6; break;
3617 break;
3618 }
3619 case 3: {
3620 $rt.runtime.boundsCheck(i, $rt.builtin.byteLen(s));
3621 $t3_4 = $rt.builtin.stringByteAt(s, i);
3622 $t4_5 = ($t3_4 !== open);
3623 if ($t4_5) {
3624 $block = 1; break;
3625 }
3626 else {
3627 $block = 2; break;
3628 }
3629 break;
3630 }
3631 case 4: {
3632 if ($t8_9) {
3633 $block = 8; break;
3634 }
3635 else {
3636 $block = 10; break;
3637 }
3638 break;
3639 }
3640 case 5: {
3641 $t5_6 = ($t7_8 !== 0);
3642 if ($t5_6) {
3643 $block = 19; break;
3644 }
3645 else {
3646 $block = 20; break;
3647 }
3648 break;
3649 }
3650 case 6: {
3651 $t9_10 = $rt.builtin.len(s);
3652 $t10_11 = ($t6_7 < $t9_10);
3653 if ($t10_11) {
3654 $block = 7; break;
3655 }
3656 else {
3657 $block = 5; break;
3658 }
3659 break;
3660 }
3661 case 7: {
3662 $t11_12 = ($t7_8 > 0);
3663 if ($t11_12) {
3664 $block = 4; break;
3665 }
3666 else {
3667 $block = 5; break;
3668 }
3669 break;
3670 }
3671 case 8: {
3672 $rt.runtime.boundsCheck($t6_7, $rt.builtin.byteLen(s));
3673 $t12_13 = $rt.builtin.stringByteAt(s, $t6_7);
3674 $t13_14 = ($t12_13 === 92);
3675 if ($t13_14) {
3676 $block = 11; break;
3677 }
3678 else {
3679 $block = 12; break;
3680 }
3681 break;
3682 }
3683 case 9: {
3684 $t17_18 = ($t14_15 + 1);
3685 $t6_7 = $t17_18;
3686 $t7_8 = $t15_16;
3687 $t8_9 = $t16_17;
3688 $block = 6; break;
3689 break;
3690 }
3691 case 10: {
3692 $rt.runtime.boundsCheck($t6_7, $rt.builtin.byteLen(s));
3693 $t18_19 = $rt.builtin.stringByteAt(s, $t6_7);
3694 $t19_20 = ($t18_19 === 34);
3695 if ($t19_20) {
3696 $block = 14; break;
3697 }
3698 else {
3699 $block = 15; break;
3700 }
3701 break;
3702 }
3703 case 11: {
3704 $t20_21 = ($t6_7 + 1);
3705 $t14_15 = $t20_21;
3706 $t15_16 = $t7_8;
3707 $t16_17 = $t8_9;
3708 $block = 9; break;
3709 break;
3710 }
3711 case 12: {
3712 $rt.runtime.boundsCheck($t6_7, $rt.builtin.byteLen(s));
3713 $t21_22 = $rt.builtin.stringByteAt(s, $t6_7);
3714 $t22_23 = ($t21_22 === 34);
3715 if ($t22_23) {
3716 $block = 13; break;
3717 }
3718 else {
3719 $t14_15 = $t6_7;
3720 $t15_16 = $t7_8;
3721 $t16_17 = $t8_9;
3722 $block = 9; break;
3723 }
3724 break;
3725 }
3726 case 13: {
3727 $t14_15 = $t6_7;
3728 $t15_16 = $t7_8;
3729 $t16_17 = false;
3730 $block = 9; break;
3731 break;
3732 }
3733 case 14: {
3734 $t14_15 = $t6_7;
3735 $t15_16 = $t7_8;
3736 $t16_17 = true;
3737 $block = 9; break;
3738 break;
3739 }
3740 case 15: {
3741 $rt.runtime.boundsCheck($t6_7, $rt.builtin.byteLen(s));
3742 $t23_24 = $rt.builtin.stringByteAt(s, $t6_7);
3743 $t24_25 = ($t23_24 === open);
3744 if ($t24_25) {
3745 $block = 16; break;
3746 }
3747 else {
3748 $block = 17; break;
3749 }
3750 break;
3751 }
3752 case 16: {
3753 $t25_26 = ($t7_8 + 1);
3754 $t14_15 = $t6_7;
3755 $t15_16 = $t25_26;
3756 $t16_17 = $t8_9;
3757 $block = 9; break;
3758 break;
3759 }
3760 case 17: {
3761 $rt.runtime.boundsCheck($t6_7, $rt.builtin.byteLen(s));
3762 $t26_27 = $rt.builtin.stringByteAt(s, $t6_7);
3763 $t27_28 = ($t26_27 === close);
3764 if ($t27_28) {
3765 $block = 18; break;
3766 }
3767 else {
3768 $t14_15 = $t6_7;
3769 $t15_16 = $t7_8;
3770 $t16_17 = $t8_9;
3771 $block = 9; break;
3772 }
3773 break;
3774 }
3775 case 18: {
3776 $t28_29 = ($t7_8 - 1);
3777 $t14_15 = $t6_7;
3778 $t15_16 = $t28_29;
3779 $t16_17 = $t8_9;
3780 $block = 9; break;
3781 break;
3782 }
3783 case 19: {
3784 return -1;
3785 break;
3786 }
3787 case 20: {
3788 return $t6_7;
3789 break;
3790 }
3791 }
3792 }
3793 }
3794
3795 export function Filter$Matches(f, e) {
3796 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59;
3797 let $block = 0;
3798 while (true) {
3799 switch ($block) {
3800 case 0: {
3801 $t0_1 = { $get() { return f.$get().IDs; }, $set(v) { const obj = f.$get(); obj.IDs = v; f.$set(obj); } };
3802 $t1_2 = $t0_1.$get();
3803 $t2_3 = $rt.builtin.len($t1_2);
3804 $t3_4 = ($t2_3 > 0);
3805 if ($t3_4) {
3806 $block = 3; break;
3807 }
3808 else {
3809 $block = 2; break;
3810 }
3811 break;
3812 }
3813 case 1: {
3814 return false;
3815 break;
3816 }
3817 case 2: {
3818 $t4_5 = { $get() { return f.$get().Authors; }, $set(v) { const obj = f.$get(); obj.Authors = v; f.$set(obj); } };
3819 $t5_6 = $t4_5.$get();
3820 $t6_7 = $rt.builtin.len($t5_6);
3821 $t7_8 = ($t6_7 > 0);
3822 if ($t7_8) {
3823 $block = 6; break;
3824 }
3825 else {
3826 $block = 5; break;
3827 }
3828 break;
3829 }
3830 case 3: {
3831 $t8_9 = { $get() { return f.$get().IDs; }, $set(v) { const obj = f.$get(); obj.IDs = v; f.$set(obj); } };
3832 $t9_10 = $t8_9.$get();
3833 $t10_11 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
3834 $t11_12 = $t10_11.$get();
3835 $t12_13 = containsStr($t9_10, $t11_12);
3836 if ($t12_13) {
3837 $block = 2; break;
3838 }
3839 else {
3840 $block = 1; break;
3841 }
3842 break;
3843 }
3844 case 4: {
3845 return false;
3846 break;
3847 }
3848 case 5: {
3849 $t13_14 = { $get() { return f.$get().Kinds; }, $set(v) { const obj = f.$get(); obj.Kinds = v; f.$set(obj); } };
3850 $t14_15 = $t13_14.$get();
3851 $t15_16 = $rt.builtin.len($t14_15);
3852 $t16_17 = ($t15_16 > 0);
3853 if ($t16_17) {
3854 $block = 9; break;
3855 }
3856 else {
3857 $block = 8; break;
3858 }
3859 break;
3860 }
3861 case 6: {
3862 $t17_18 = { $get() { return f.$get().Authors; }, $set(v) { const obj = f.$get(); obj.Authors = v; f.$set(obj); } };
3863 $t18_19 = $t17_18.$get();
3864 $t19_20 = { $get() { return e.$get().PubKey; }, $set(v) { const obj = e.$get(); obj.PubKey = v; e.$set(obj); } };
3865 $t20_21 = $t19_20.$get();
3866 $t21_22 = containsStr($t18_19, $t20_21);
3867 if ($t21_22) {
3868 $block = 5; break;
3869 }
3870 else {
3871 $block = 4; break;
3872 }
3873 break;
3874 }
3875 case 7: {
3876 return false;
3877 break;
3878 }
3879 case 8: {
3880 $t22_23 = { $get() { return f.$get().Since; }, $set(v) { const obj = f.$get(); obj.Since = v; f.$set(obj); } };
3881 $t23_24 = $t22_23.$get();
3882 $t24_25 = ($t23_24 > 0);
3883 if ($t24_25) {
3884 $block = 12; break;
3885 }
3886 else {
3887 $block = 11; break;
3888 }
3889 break;
3890 }
3891 case 9: {
3892 $t25_26 = { $get() { return f.$get().Kinds; }, $set(v) { const obj = f.$get(); obj.Kinds = v; f.$set(obj); } };
3893 $t26_27 = $t25_26.$get();
3894 $t27_28 = { $get() { return e.$get().Kind; }, $set(v) { const obj = e.$get(); obj.Kind = v; e.$set(obj); } };
3895 $t28_29 = $t27_28.$get();
3896 $t29_30 = containsInt($t26_27, $t28_29);
3897 if ($t29_30) {
3898 $block = 8; break;
3899 }
3900 else {
3901 $block = 7; break;
3902 }
3903 break;
3904 }
3905 case 10: {
3906 return false;
3907 break;
3908 }
3909 case 11: {
3910 $t30_31 = { $get() { return f.$get().Until; }, $set(v) { const obj = f.$get(); obj.Until = v; f.$set(obj); } };
3911 $t31_32 = $t30_31.$get();
3912 $t32_33 = ($t31_32 > 0);
3913 if ($t32_33) {
3914 $block = 15; break;
3915 }
3916 else {
3917 $block = 14; break;
3918 }
3919 break;
3920 }
3921 case 12: {
3922 $t33_34 = { $get() { return e.$get().CreatedAt; }, $set(v) { const obj = e.$get(); obj.CreatedAt = v; e.$set(obj); } };
3923 $t34_35 = $t33_34.$get();
3924 $t35_36 = { $get() { return f.$get().Since; }, $set(v) { const obj = f.$get(); obj.Since = v; f.$set(obj); } };
3925 $t36_37 = $t35_36.$get();
3926 $t37_38 = ($t34_35 < $t36_37);
3927 if ($t37_38) {
3928 $block = 10; break;
3929 }
3930 else {
3931 $block = 11; break;
3932 }
3933 break;
3934 }
3935 case 13: {
3936 return false;
3937 break;
3938 }
3939 case 14: {
3940 $t38_39 = { $get() { return f.$get().Tags; }, $set(v) { const obj = f.$get(); obj.Tags = v; f.$set(obj); } };
3941 $t39_40 = $t38_39.$get();
3942 $t40_41 = ($t39_40 !== null);
3943 if ($t40_41) {
3944 $block = 16; break;
3945 }
3946 else {
3947 $block = 17; break;
3948 }
3949 break;
3950 }
3951 case 15: {
3952 $t41_42 = { $get() { return e.$get().CreatedAt; }, $set(v) { const obj = e.$get(); obj.CreatedAt = v; e.$set(obj); } };
3953 $t42_43 = $t41_42.$get();
3954 $t43_44 = { $get() { return f.$get().Until; }, $set(v) { const obj = f.$get(); obj.Until = v; f.$set(obj); } };
3955 $t44_45 = $t43_44.$get();
3956 $t45_46 = ($t42_43 > $t44_45);
3957 if ($t45_46) {
3958 $block = 13; break;
3959 }
3960 else {
3961 $block = 14; break;
3962 }
3963 break;
3964 }
3965 case 16: {
3966 $t46_47 = { $get() { return f.$get().Tags; }, $set(v) { const obj = f.$get(); obj.Tags = v; f.$set(obj); } };
3967 $t47_48 = $t46_47.$get();
3968 $t48_49 = { $entries: [...$t47_48.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
3969 $block = 18; break;
3970 break;
3971 }
3972 case 17: {
3973 return true;
3974 break;
3975 }
3976 case 18: {
3977 $t49_50 = $t48_49.next();
3978 $t50_51 = $t49_50[0];
3979 if ($t50_51) {
3980 $block = 19; break;
3981 }
3982 else {
3983 $block = 17; break;
3984 }
3985 break;
3986 }
3987 case 19: {
3988 $t51_52 = $t49_50[1];
3989 $t52_53 = $t49_50[2];
3990 $t53_54 = $rt.builtin.len($t51_52);
3991 $t54_55 = ($t53_54 < 2);
3992 if ($t54_55) {
3993 $block = 18; break;
3994 }
3995 else {
3996 $block = 21; break;
3997 }
3998 break;
3999 }
4000 case 20: {
4001 $t55_56 = $rt.builtin.stringSlice($t51_52, 1, undefined);
4002 $t56_57 = eventHasTagValue(e, $t55_56, $t52_53);
4003 if ($t56_57) {
4004 $block = 18; break;
4005 }
4006 else {
4007 $block = 22; break;
4008 }
4009 break;
4010 }
4011 case 21: {
4012 $rt.runtime.boundsCheck(0, $rt.builtin.byteLen($t51_52));
4013 $t57_58 = $rt.builtin.stringByteAt($t51_52, 0);
4014 $t58_59 = ($t57_58 !== 35);
4015 if ($t58_59) {
4016 $block = 18; break;
4017 }
4018 else {
4019 $block = 20; break;
4020 }
4021 break;
4022 }
4023 case 22: {
4024 return false;
4025 break;
4026 }
4027 }
4028 }
4029 }
4030
4031 $rt.types.getType('common/nostr.Filter')?.methods?.set('Matches', Filter$Matches);
4032 export function Filter$Serialize(f) {
4033 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120;
4034 let $block = 0;
4035 while (true) {
4036 switch ($block) {
4037 case 0: {
4038 $t0_1 = { $value: $rt.builtin.makeSlice(128, 128, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4039 $t1_2 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, 0, undefined);
4040 $t2_3 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4041 $t3_4 = $t2_3.$get().addr(0);
4042 $t3_4.$set(123);
4043 $t4_5 = $rt.builtin.sliceSlice($t2_3.$get(), undefined, undefined, undefined);
4044 $t5_6 = $rt.builtin.appendSlice($t1_2, $t4_5);
4045 $t6_7 = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
4046 $t6_7.$set(true);
4047 $t7_8 = { $get() { return f.$get().IDs; }, $set(v) { const obj = f.$get(); obj.IDs = v; f.$set(obj); } };
4048 $t8_9 = $t7_8.$get();
4049 $t9_10 = $rt.builtin.len($t8_9);
4050 $t10_11 = ($t9_10 > 0);
4051 if ($t10_11) {
4052 $block = 1; break;
4053 }
4054 else {
4055 $t16_17 = $t5_6;
4056 $block = 2; break;
4057 }
4058 break;
4059 }
4060 case 1: {
4061 $t11_12 = appendField($t5_6, $t6_7);
4062 $t12_13 = $rt.builtin.appendString($t11_12, '"ids":');
4063 $t13_14 = { $get() { return f.$get().IDs; }, $set(v) { const obj = f.$get(); obj.IDs = v; f.$set(obj); } };
4064 $t14_15 = $t13_14.$get();
4065 $t15_16 = appendStrArray($t12_13, $t14_15);
4066 $t16_17 = $t15_16;
4067 $block = 2; break;
4068 break;
4069 }
4070 case 2: {
4071 $t17_18 = { $get() { return f.$get().Authors; }, $set(v) { const obj = f.$get(); obj.Authors = v; f.$set(obj); } };
4072 $t18_19 = $t17_18.$get();
4073 $t19_20 = $rt.builtin.len($t18_19);
4074 $t20_21 = ($t19_20 > 0);
4075 if ($t20_21) {
4076 $block = 3; break;
4077 }
4078 else {
4079 $t26_27 = $t16_17;
4080 $block = 4; break;
4081 }
4082 break;
4083 }
4084 case 3: {
4085 $t21_22 = appendField($t16_17, $t6_7);
4086 $t22_23 = $rt.builtin.appendString($t21_22, '"authors":');
4087 $t23_24 = { $get() { return f.$get().Authors; }, $set(v) { const obj = f.$get(); obj.Authors = v; f.$set(obj); } };
4088 $t24_25 = $t23_24.$get();
4089 $t25_26 = appendStrArray($t22_23, $t24_25);
4090 $t26_27 = $t25_26;
4091 $block = 4; break;
4092 break;
4093 }
4094 case 4: {
4095 $t27_28 = { $get() { return f.$get().Kinds; }, $set(v) { const obj = f.$get(); obj.Kinds = v; f.$set(obj); } };
4096 $t28_29 = $t27_28.$get();
4097 $t29_30 = $rt.builtin.len($t28_29);
4098 $t30_31 = ($t29_30 > 0);
4099 if ($t30_31) {
4100 $block = 5; break;
4101 }
4102 else {
4103 $t36_37 = $t26_27;
4104 $block = 6; break;
4105 }
4106 break;
4107 }
4108 case 5: {
4109 $t31_32 = appendField($t26_27, $t6_7);
4110 $t32_33 = $rt.builtin.appendString($t31_32, '"kinds":[');
4111 $t33_34 = { $get() { return f.$get().Kinds; }, $set(v) { const obj = f.$get(); obj.Kinds = v; f.$set(obj); } };
4112 $t34_35 = $t33_34.$get();
4113 $t35_36 = $rt.builtin.len($t34_35);
4114 $t40_41 = $t32_33;
4115 $t41_42 = -1;
4116 $block = 7; break;
4117 break;
4118 }
4119 case 6: {
4120 $t37_38 = { $get() { return f.$get().Tags; }, $set(v) { const obj = f.$get(); obj.Tags = v; f.$set(obj); } };
4121 $t38_39 = $t37_38.$get();
4122 $t39_40 = ($t38_39 !== null);
4123 if ($t39_40) {
4124 $block = 12; break;
4125 }
4126 else {
4127 $t61_62 = $t36_37;
4128 $block = 13; break;
4129 }
4130 break;
4131 }
4132 case 7: {
4133 $t42_43 = ($t41_42 + 1);
4134 $t43_44 = ($t42_43 < $t35_36);
4135 if ($t43_44) {
4136 $block = 8; break;
4137 }
4138 else {
4139 $block = 9; break;
4140 }
4141 break;
4142 }
4143 case 8: {
4144 $t44_45 = $t34_35.addr($t42_43);
4145 $t45_46 = $t44_45.$get();
4146 $t46_47 = ($t42_43 > 0);
4147 if ($t46_47) {
4148 $block = 10; break;
4149 }
4150 else {
4151 $t55_56 = $t40_41;
4152 $block = 11; break;
4153 }
4154 break;
4155 }
4156 case 9: {
4157 $t47_48 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4158 $t48_49 = $t47_48.$get().addr(0);
4159 $t48_49.$set(93);
4160 $t49_50 = $rt.builtin.sliceSlice($t47_48.$get(), undefined, undefined, undefined);
4161 $t50_51 = $rt.builtin.appendSlice($t40_41, $t49_50);
4162 $t36_37 = $t50_51;
4163 $block = 6; break;
4164 break;
4165 }
4166 case 10: {
4167 $t51_52 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4168 $t52_53 = $t51_52.$get().addr(0);
4169 $t52_53.$set(44);
4170 $t53_54 = $rt.builtin.sliceSlice($t51_52.$get(), undefined, undefined, undefined);
4171 $t54_55 = $rt.builtin.appendSlice($t40_41, $t53_54);
4172 $t55_56 = $t54_55;
4173 $block = 11; break;
4174 break;
4175 }
4176 case 11: {
4177 $t56_57 = intToStr($t45_46);
4178 $t57_58 = $rt.builtin.appendString($t55_56, $t56_57);
4179 $t40_41 = $t57_58;
4180 $t41_42 = $t42_43;
4181 $block = 7; break;
4182 break;
4183 }
4184 case 12: {
4185 $t58_59 = { $get() { return f.$get().Tags; }, $set(v) { const obj = f.$get(); obj.Tags = v; f.$set(obj); } };
4186 $t59_60 = $t58_59.$get();
4187 $t60_61 = { $entries: [...$t59_60.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
4188 $t65_66 = $t36_37;
4189 $block = 14; break;
4190 break;
4191 }
4192 case 13: {
4193 $t62_63 = { $get() { return f.$get().Since; }, $set(v) { const obj = f.$get(); obj.Since = v; f.$set(obj); } };
4194 $t63_64 = $t62_63.$get();
4195 $t64_65 = ($t63_64 > 0);
4196 if ($t64_65) {
4197 $block = 16; break;
4198 }
4199 else {
4200 $t84_85 = $t61_62;
4201 $block = 17; break;
4202 }
4203 break;
4204 }
4205 case 14: {
4206 $t66_67 = $t60_61.next();
4207 $t67_68 = $t66_67[0];
4208 if ($t67_68) {
4209 $block = 15; break;
4210 }
4211 else {
4212 $t61_62 = $t65_66;
4213 $block = 13; break;
4214 }
4215 break;
4216 }
4217 case 15: {
4218 $t68_69 = $t66_67[1];
4219 $t69_70 = $t66_67[2];
4220 $t70_71 = appendField($t65_66, $t6_7);
4221 $t71_72 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4222 $t72_73 = $t71_72.$get().addr(0);
4223 $t72_73.$set(34);
4224 $t73_74 = $rt.builtin.sliceSlice($t71_72.$get(), undefined, undefined, undefined);
4225 $t74_75 = $rt.builtin.appendSlice($t70_71, $t73_74);
4226 $t75_76 = $rt.builtin.appendString($t74_75, $t68_69);
4227 $t76_77 = $rt.builtin.appendString($t75_76, '":');
4228 $t77_78 = appendStrArray($t76_77, $t69_70);
4229 $t65_66 = $t77_78;
4230 $block = 14; break;
4231 break;
4232 }
4233 case 16: {
4234 $t78_79 = appendField($t61_62, $t6_7);
4235 $t79_80 = $rt.builtin.appendString($t78_79, '"since":');
4236 $t80_81 = { $get() { return f.$get().Since; }, $set(v) { const obj = f.$get(); obj.Since = v; f.$set(obj); } };
4237 $t81_82 = $t80_81.$get();
4238 $t82_83 = i64ToStr($t81_82);
4239 $t83_84 = $rt.builtin.appendString($t79_80, $t82_83);
4240 $t84_85 = $t83_84;
4241 $block = 17; break;
4242 break;
4243 }
4244 case 17: {
4245 $t85_86 = { $get() { return f.$get().Until; }, $set(v) { const obj = f.$get(); obj.Until = v; f.$set(obj); } };
4246 $t86_87 = $t85_86.$get();
4247 $t87_88 = ($t86_87 > 0);
4248 if ($t87_88) {
4249 $block = 18; break;
4250 }
4251 else {
4252 $t94_95 = $t84_85;
4253 $block = 19; break;
4254 }
4255 break;
4256 }
4257 case 18: {
4258 $t88_89 = appendField($t84_85, $t6_7);
4259 $t89_90 = $rt.builtin.appendString($t88_89, '"until":');
4260 $t90_91 = { $get() { return f.$get().Until; }, $set(v) { const obj = f.$get(); obj.Until = v; f.$set(obj); } };
4261 $t91_92 = $t90_91.$get();
4262 $t92_93 = i64ToStr($t91_92);
4263 $t93_94 = $rt.builtin.appendString($t89_90, $t92_93);
4264 $t94_95 = $t93_94;
4265 $block = 19; break;
4266 break;
4267 }
4268 case 19: {
4269 $t95_96 = { $get() { return f.$get().Limit; }, $set(v) { const obj = f.$get(); obj.Limit = v; f.$set(obj); } };
4270 $t96_97 = $t95_96.$get();
4271 $t97_98 = ($t96_97 > 0);
4272 if ($t97_98) {
4273 $block = 20; break;
4274 }
4275 else {
4276 $t104_105 = $t94_95;
4277 $block = 21; break;
4278 }
4279 break;
4280 }
4281 case 20: {
4282 $t98_99 = appendField($t94_95, $t6_7);
4283 $t99_100 = $rt.builtin.appendString($t98_99, '"limit":');
4284 $t100_101 = { $get() { return f.$get().Limit; }, $set(v) { const obj = f.$get(); obj.Limit = v; f.$set(obj); } };
4285 $t101_102 = $t100_101.$get();
4286 $t102_103 = intToStr($t101_102);
4287 $t103_104 = $rt.builtin.appendString($t99_100, $t102_103);
4288 $t104_105 = $t103_104;
4289 $block = 21; break;
4290 break;
4291 }
4292 case 21: {
4293 $t105_106 = { $get() { return f.$get().Proxy; }, $set(v) { const obj = f.$get(); obj.Proxy = v; f.$set(obj); } };
4294 $t106_107 = $t105_106.$get();
4295 $t107_108 = $rt.builtin.len($t106_107);
4296 $t108_109 = ($t107_108 > 0);
4297 if ($t108_109) {
4298 $block = 22; break;
4299 }
4300 else {
4301 $t114_115 = $t104_105;
4302 $block = 23; break;
4303 }
4304 break;
4305 }
4306 case 22: {
4307 $t109_110 = appendField($t104_105, $t6_7);
4308 $t110_111 = $rt.builtin.appendString($t109_110, '"_proxy":');
4309 $t111_112 = { $get() { return f.$get().Proxy; }, $set(v) { const obj = f.$get(); obj.Proxy = v; f.$set(obj); } };
4310 $t112_113 = $t111_112.$get();
4311 $t113_114 = appendStrArray($t110_111, $t112_113);
4312 $t114_115 = $t113_114;
4313 $block = 23; break;
4314 break;
4315 }
4316 case 23: {
4317 $t115_116 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4318 $t116_117 = $t115_116.$get().addr(0);
4319 $t116_117.$set(125);
4320 $t117_118 = $rt.builtin.sliceSlice($t115_116.$get(), undefined, undefined, undefined);
4321 $t118_119 = $rt.builtin.appendSlice($t114_115, $t117_118);
4322 $t119_120 = $rt.builtin.bytesToString($t118_119);
4323 return $t119_120;
4324 break;
4325 }
4326 }
4327 }
4328 }
4329
4330 $rt.types.getType('common/nostr.Filter')?.methods?.set('Serialize', Filter$Serialize);
4331 export function Event$CheckID(e) {
4332 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
4333 $t0_1 = Event$Serialize(e);
4334 $t1_2 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4335 $t2_3 = $rt.builtin.stringToBytes($t0_1);
4336 $t3_4 = common$crypto$sha256.Sum($t2_3);
4337 $t1_2.$set($rt.builtin.cloneValue($t3_4));
4338 $t4_5 = $rt.builtin.sliceSlice($t1_2.$get(), undefined, undefined, undefined);
4339 $t5_6 = common$helpers.HexEncode($t4_5);
4340 $t6_7 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
4341 $t7_8 = $t6_7.$get();
4342 $t8_9 = ($t7_8 === $t5_6);
4343 return $t8_9;
4344 }
4345
4346 $rt.types.getType('common/nostr.Event')?.methods?.set('CheckID', Event$CheckID);
4347 export function Event$CheckSig(e) {
4348 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24;
4349 let $block = 0;
4350 while (true) {
4351 switch ($block) {
4352 case 0: {
4353 $t0_1 = { $get() { return e.$get().PubKey; }, $set(v) { const obj = e.$get(); obj.PubKey = v; e.$set(obj); } };
4354 $t1_2 = $t0_1.$get();
4355 $t2_3 = common$helpers.HexDecode32($t1_2);
4356 $t3_4 = $t2_3[0];
4357 $t4_5 = $t2_3[1];
4358 if ($t4_5) {
4359 $block = 2; break;
4360 }
4361 else {
4362 $block = 1; break;
4363 }
4364 break;
4365 }
4366 case 1: {
4367 return false;
4368 break;
4369 }
4370 case 2: {
4371 $t5_6 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
4372 $t6_7 = $t5_6.$get();
4373 $t7_8 = common$helpers.HexDecode32($t6_7);
4374 $t8_9 = $t7_8[0];
4375 $t9_10 = $t7_8[1];
4376 if ($t9_10) {
4377 $block = 4; break;
4378 }
4379 else {
4380 $block = 3; break;
4381 }
4382 break;
4383 }
4384 case 3: {
4385 return false;
4386 break;
4387 }
4388 case 4: {
4389 $t10_11 = { $get() { return e.$get().Sig; }, $set(v) { const obj = e.$get(); obj.Sig = v; e.$set(obj); } };
4390 $t11_12 = $t10_11.$get();
4391 $t12_13 = $rt.builtin.len($t11_12);
4392 $t13_14 = ($t12_13 !== 128);
4393 if ($t13_14) {
4394 $block = 5; break;
4395 }
4396 else {
4397 $block = 6; break;
4398 }
4399 break;
4400 }
4401 case 5: {
4402 return false;
4403 break;
4404 }
4405 case 6: {
4406 $t14_15 = { $value: $rt.builtin.makeSlice(64, 64, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4407 $t15_16 = { $get() { return e.$get().Sig; }, $set(v) { const obj = e.$get(); obj.Sig = v; e.$set(obj); } };
4408 $t16_17 = $t15_16.$get();
4409 $t17_18 = common$helpers.HexDecode($t16_17);
4410 $t18_19 = $rt.builtin.len($t17_18);
4411 $t19_20 = ($t18_19 !== 64);
4412 if ($t19_20) {
4413 $block = 7; break;
4414 }
4415 else {
4416 $block = 8; break;
4417 }
4418 break;
4419 }
4420 case 7: {
4421 return false;
4422 break;
4423 }
4424 case 8: {
4425 $t20_21 = $rt.builtin.sliceSlice($t14_15.$get(), undefined, undefined, undefined);
4426 $t21_22 = $rt.builtin.copy($t20_21, $t17_18);
4427 $t22_23 = $t14_15.$get();
4428 $t23_24 = common$crypto$secp256k1.VerifySchnorr($t3_4, $t8_9, $t22_23);
4429 return $t23_24;
4430 break;
4431 }
4432 }
4433 }
4434 }
4435
4436 $rt.types.getType('common/nostr.Event')?.methods?.set('CheckSig', Event$CheckSig);
4437 export function Event$ComputeID(e) {
4438 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
4439 $t0_1 = Event$Serialize(e);
4440 $t1_2 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4441 $t2_3 = $rt.builtin.stringToBytes($t0_1);
4442 $t3_4 = common$crypto$sha256.Sum($t2_3);
4443 $t1_2.$set($rt.builtin.cloneValue($t3_4));
4444 $t4_5 = $rt.builtin.sliceSlice($t1_2.$get(), undefined, undefined, undefined);
4445 $t5_6 = common$helpers.HexEncode($t4_5);
4446 $t6_7 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
4447 $t6_7.$set($t5_6);
4448 $t7_8 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
4449 $t8_9 = $t7_8.$get();
4450 return $t8_9;
4451 }
4452
4453 $rt.types.getType('common/nostr.Event')?.methods?.set('ComputeID', Event$ComputeID);
4454 export function Event$Serialize(e) {
4455 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44;
4456 $t0_1 = { $value: $rt.builtin.makeSlice(256, 256, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4457 $t1_2 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, 0, undefined);
4458 $t2_3 = $rt.builtin.appendString($t1_2, '[0,');
4459 $t3_4 = { $get() { return e.$get().PubKey; }, $set(v) { const obj = e.$get(); obj.PubKey = v; e.$set(obj); } };
4460 $t4_5 = $t3_4.$get();
4461 $t5_6 = common$helpers.JsonString($t4_5);
4462 $t6_7 = $rt.builtin.appendString($t2_3, $t5_6);
4463 $t7_8 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4464 $t8_9 = $t7_8.$get().addr(0);
4465 $t8_9.$set(44);
4466 $t9_10 = $rt.builtin.sliceSlice($t7_8.$get(), undefined, undefined, undefined);
4467 $t10_11 = $rt.builtin.appendSlice($t6_7, $t9_10);
4468 $t11_12 = { $get() { return e.$get().CreatedAt; }, $set(v) { const obj = e.$get(); obj.CreatedAt = v; e.$set(obj); } };
4469 $t12_13 = $t11_12.$get();
4470 $t13_14 = common$helpers.Itoa($t12_13);
4471 $t14_15 = $rt.builtin.appendString($t10_11, $t13_14);
4472 $t15_16 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4473 $t16_17 = $t15_16.$get().addr(0);
4474 $t16_17.$set(44);
4475 $t17_18 = $rt.builtin.sliceSlice($t15_16.$get(), undefined, undefined, undefined);
4476 $t18_19 = $rt.builtin.appendSlice($t14_15, $t17_18);
4477 $t19_20 = { $get() { return e.$get().Kind; }, $set(v) { const obj = e.$get(); obj.Kind = v; e.$set(obj); } };
4478 $t20_21 = $t19_20.$get();
4479 $t21_22 = $t20_21;
4480 $t22_23 = common$helpers.Itoa($t21_22);
4481 $t23_24 = $rt.builtin.appendString($t18_19, $t22_23);
4482 $t24_25 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4483 $t25_26 = $t24_25.$get().addr(0);
4484 $t25_26.$set(44);
4485 $t26_27 = $rt.builtin.sliceSlice($t24_25.$get(), undefined, undefined, undefined);
4486 $t27_28 = $rt.builtin.appendSlice($t23_24, $t26_27);
4487 $t28_29 = { $get() { return e.$get().Tags; }, $set(v) { const obj = e.$get(); obj.Tags = v; e.$set(obj); } };
4488 $t29_30 = $t28_29.$get();
4489 $t30_31 = serializeTags($t27_28, $t29_30);
4490 $t31_32 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4491 $t32_33 = $t31_32.$get().addr(0);
4492 $t32_33.$set(44);
4493 $t33_34 = $rt.builtin.sliceSlice($t31_32.$get(), undefined, undefined, undefined);
4494 $t34_35 = $rt.builtin.appendSlice($t30_31, $t33_34);
4495 $t35_36 = { $get() { return e.$get().Content; }, $set(v) { const obj = e.$get(); obj.Content = v; e.$set(obj); } };
4496 $t36_37 = $t35_36.$get();
4497 $t37_38 = common$helpers.JsonString($t36_37);
4498 $t38_39 = $rt.builtin.appendString($t34_35, $t37_38);
4499 $t39_40 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4500 $t40_41 = $t39_40.$get().addr(0);
4501 $t40_41.$set(93);
4502 $t41_42 = $rt.builtin.sliceSlice($t39_40.$get(), undefined, undefined, undefined);
4503 $t42_43 = $rt.builtin.appendSlice($t38_39, $t41_42);
4504 $t43_44 = $rt.builtin.bytesToString($t42_43);
4505 return $t43_44;
4506 }
4507
4508 $rt.types.getType('common/nostr.Event')?.methods?.set('Serialize', Event$Serialize);
4509 export function Event$Sign(e, seckey, auxRand) {
4510 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
4511 let $block = 0;
4512 while (true) {
4513 switch ($block) {
4514 case 0: {
4515 $t0_1 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4516 $t1_2 = common$crypto$secp256k1.PubKeyFromSecKey(seckey);
4517 $t2_3 = $t1_2[0];
4518 $t0_1.$set($rt.builtin.cloneValue($t2_3));
4519 $t3_4 = $t1_2[1];
4520 if ($t3_4) {
4521 $block = 2; break;
4522 }
4523 else {
4524 $block = 1; break;
4525 }
4526 break;
4527 }
4528 case 1: {
4529 return false;
4530 break;
4531 }
4532 case 2: {
4533 $t4_5 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
4534 $t5_6 = common$helpers.HexEncode($t4_5);
4535 $t6_7 = { $get() { return e.$get().PubKey; }, $set(v) { const obj = e.$get(); obj.PubKey = v; e.$set(obj); } };
4536 $t6_7.$set($t5_6);
4537 $t7_8 = Event$ComputeID(e);
4538 $t8_9 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
4539 $t9_10 = $t8_9.$get();
4540 $t10_11 = common$helpers.HexDecode32($t9_10);
4541 $t11_12 = $t10_11[0];
4542 $t12_13 = $t10_11[1];
4543 if ($t12_13) {
4544 $block = 4; break;
4545 }
4546 else {
4547 $block = 3; break;
4548 }
4549 break;
4550 }
4551 case 3: {
4552 return false;
4553 break;
4554 }
4555 case 4: {
4556 $t13_14 = { $value: $rt.builtin.makeSlice(64, 64, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4557 $t14_15 = common$crypto$secp256k1.SignSchnorr(seckey, $t11_12, auxRand);
4558 $t15_16 = $t14_15[0];
4559 $t13_14.$set($rt.builtin.cloneValue($t15_16));
4560 $t16_17 = $t14_15[1];
4561 if ($t16_17) {
4562 $block = 6; break;
4563 }
4564 else {
4565 $block = 5; break;
4566 }
4567 break;
4568 }
4569 case 5: {
4570 return false;
4571 break;
4572 }
4573 case 6: {
4574 $t17_18 = $rt.builtin.sliceSlice($t13_14.$get(), undefined, undefined, undefined);
4575 $t18_19 = common$helpers.HexEncode($t17_18);
4576 $t19_20 = { $get() { return e.$get().Sig; }, $set(v) { const obj = e.$get(); obj.Sig = v; e.$set(obj); } };
4577 $t19_20.$set($t18_19);
4578 return true;
4579 break;
4580 }
4581 }
4582 }
4583 }
4584
4585 $rt.types.getType('common/nostr.Event')?.methods?.set('Sign', Event$Sign);
4586 export function Event$ToJSON(e) {
4587 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42;
4588 $t0_1 = { $value: $rt.builtin.makeSlice(512, 512, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4589 $t1_2 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, 0, undefined);
4590 $t2_3 = $rt.builtin.appendString($t1_2, '{"id":');
4591 $t3_4 = { $get() { return e.$get().ID; }, $set(v) { const obj = e.$get(); obj.ID = v; e.$set(obj); } };
4592 $t4_5 = $t3_4.$get();
4593 $t5_6 = common$helpers.JsonString($t4_5);
4594 $t6_7 = $rt.builtin.appendString($t2_3, $t5_6);
4595 $t7_8 = $rt.builtin.appendString($t6_7, ',"pubkey":');
4596 $t8_9 = { $get() { return e.$get().PubKey; }, $set(v) { const obj = e.$get(); obj.PubKey = v; e.$set(obj); } };
4597 $t9_10 = $t8_9.$get();
4598 $t10_11 = common$helpers.JsonString($t9_10);
4599 $t11_12 = $rt.builtin.appendString($t7_8, $t10_11);
4600 $t12_13 = $rt.builtin.appendString($t11_12, ',"created_at":');
4601 $t13_14 = { $get() { return e.$get().CreatedAt; }, $set(v) { const obj = e.$get(); obj.CreatedAt = v; e.$set(obj); } };
4602 $t14_15 = $t13_14.$get();
4603 $t15_16 = common$helpers.Itoa($t14_15);
4604 $t16_17 = $rt.builtin.appendString($t12_13, $t15_16);
4605 $t17_18 = $rt.builtin.appendString($t16_17, ',"kind":');
4606 $t18_19 = { $get() { return e.$get().Kind; }, $set(v) { const obj = e.$get(); obj.Kind = v; e.$set(obj); } };
4607 $t19_20 = $t18_19.$get();
4608 $t20_21 = $t19_20;
4609 $t21_22 = common$helpers.Itoa($t20_21);
4610 $t22_23 = $rt.builtin.appendString($t17_18, $t21_22);
4611 $t23_24 = $rt.builtin.appendString($t22_23, ',"tags":');
4612 $t24_25 = { $get() { return e.$get().Tags; }, $set(v) { const obj = e.$get(); obj.Tags = v; e.$set(obj); } };
4613 $t25_26 = $t24_25.$get();
4614 $t26_27 = serializeTags($t23_24, $t25_26);
4615 $t27_28 = $rt.builtin.appendString($t26_27, ',"content":');
4616 $t28_29 = { $get() { return e.$get().Content; }, $set(v) { const obj = e.$get(); obj.Content = v; e.$set(obj); } };
4617 $t29_30 = $t28_29.$get();
4618 $t30_31 = common$helpers.JsonString($t29_30);
4619 $t31_32 = $rt.builtin.appendString($t27_28, $t30_31);
4620 $t32_33 = $rt.builtin.appendString($t31_32, ',"sig":');
4621 $t33_34 = { $get() { return e.$get().Sig; }, $set(v) { const obj = e.$get(); obj.Sig = v; e.$set(obj); } };
4622 $t34_35 = $t33_34.$get();
4623 $t35_36 = common$helpers.JsonString($t34_35);
4624 $t36_37 = $rt.builtin.appendString($t32_33, $t35_36);
4625 $t37_38 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4626 $t38_39 = $t37_38.$get().addr(0);
4627 $t38_39.$set(125);
4628 $t39_40 = $rt.builtin.sliceSlice($t37_38.$get(), undefined, undefined, undefined);
4629 $t40_41 = $rt.builtin.appendSlice($t36_37, $t39_40);
4630 $t41_42 = $rt.builtin.bytesToString($t40_41);
4631 return $t41_42;
4632 }
4633
4634 $rt.types.getType('common/nostr.Event')?.methods?.set('ToJSON', Event$ToJSON);
4635 export function Tag$Key(t) {
4636 let $t0_1, $t1_2, $t2_3, $t3_4;
4637 let $block = 0;
4638 while (true) {
4639 switch ($block) {
4640 case 0: {
4641 $t0_1 = $rt.builtin.len(t);
4642 $t1_2 = ($t0_1 > 0);
4643 if ($t1_2) {
4644 $block = 1; break;
4645 }
4646 else {
4647 $block = 2; break;
4648 }
4649 break;
4650 }
4651 case 1: {
4652 $t2_3 = t.addr(0);
4653 $t3_4 = $t2_3.$get();
4654 return $t3_4;
4655 break;
4656 }
4657 case 2: {
4658 return '';
4659 break;
4660 }
4661 }
4662 }
4663 }
4664
4665 $rt.types.getType('common/nostr.Tag')?.methods?.set('Key', Tag$Key);
4666 export function Tag$Marker(t) {
4667 let $t0_1, $t1_2, $t2_3, $t3_4;
4668 let $block = 0;
4669 while (true) {
4670 switch ($block) {
4671 case 0: {
4672 $t0_1 = $rt.builtin.len(t);
4673 $t1_2 = ($t0_1 > 3);
4674 if ($t1_2) {
4675 $block = 1; break;
4676 }
4677 else {
4678 $block = 2; break;
4679 }
4680 break;
4681 }
4682 case 1: {
4683 $t2_3 = t.addr(3);
4684 $t3_4 = $t2_3.$get();
4685 return $t3_4;
4686 break;
4687 }
4688 case 2: {
4689 return '';
4690 break;
4691 }
4692 }
4693 }
4694 }
4695
4696 $rt.types.getType('common/nostr.Tag')?.methods?.set('Marker', Tag$Marker);
4697 export function Tag$Relay(t) {
4698 let $t0_1, $t1_2, $t2_3, $t3_4;
4699 let $block = 0;
4700 while (true) {
4701 switch ($block) {
4702 case 0: {
4703 $t0_1 = $rt.builtin.len(t);
4704 $t1_2 = ($t0_1 > 2);
4705 if ($t1_2) {
4706 $block = 1; break;
4707 }
4708 else {
4709 $block = 2; break;
4710 }
4711 break;
4712 }
4713 case 1: {
4714 $t2_3 = t.addr(2);
4715 $t3_4 = $t2_3.$get();
4716 return $t3_4;
4717 break;
4718 }
4719 case 2: {
4720 return '';
4721 break;
4722 }
4723 }
4724 }
4725 }
4726
4727 $rt.types.getType('common/nostr.Tag')?.methods?.set('Relay', Tag$Relay);
4728 export function Tag$Value(t) {
4729 let $t0_1, $t1_2, $t2_3, $t3_4;
4730 let $block = 0;
4731 while (true) {
4732 switch ($block) {
4733 case 0: {
4734 $t0_1 = $rt.builtin.len(t);
4735 $t1_2 = ($t0_1 > 1);
4736 if ($t1_2) {
4737 $block = 1; break;
4738 }
4739 else {
4740 $block = 2; break;
4741 }
4742 break;
4743 }
4744 case 1: {
4745 $t2_3 = t.addr(1);
4746 $t3_4 = $t2_3.$get();
4747 return $t3_4;
4748 break;
4749 }
4750 case 2: {
4751 return '';
4752 break;
4753 }
4754 }
4755 }
4756 }
4757
4758 $rt.types.getType('common/nostr.Tag')?.methods?.set('Value', Tag$Value);
4759 export function Tags$ContainsValue(ts, key, value) {
4760 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
4761 let $block = 0;
4762 while (true) {
4763 switch ($block) {
4764 case 0: {
4765 $t0_1 = $rt.builtin.len(ts);
4766 $t1_2 = -1;
4767 $block = 1; break;
4768 break;
4769 }
4770 case 1: {
4771 $t2_3 = ($t1_2 + 1);
4772 $t3_4 = ($t2_3 < $t0_1);
4773 if ($t3_4) {
4774 $block = 2; break;
4775 }
4776 else {
4777 $block = 3; break;
4778 }
4779 break;
4780 }
4781 case 2: {
4782 $t4_5 = ts.addr($t2_3);
4783 $t5_6 = $t4_5.$get();
4784 $t6_7 = $rt.builtin.len($t5_6);
4785 $t7_8 = ($t6_7 > 1);
4786 if ($t7_8) {
4787 $block = 6; break;
4788 }
4789 else {
4790 $t1_2 = $t2_3;
4791 $block = 1; break;
4792 }
4793 break;
4794 }
4795 case 3: {
4796 return false;
4797 break;
4798 }
4799 case 4: {
4800 return true;
4801 break;
4802 }
4803 case 5: {
4804 $t8_9 = $t5_6.addr(1);
4805 $t9_10 = $t8_9.$get();
4806 $t10_11 = ($t9_10 === value);
4807 if ($t10_11) {
4808 $block = 4; break;
4809 }
4810 else {
4811 $t1_2 = $t2_3;
4812 $block = 1; break;
4813 }
4814 break;
4815 }
4816 case 6: {
4817 $t11_12 = $t5_6.addr(0);
4818 $t12_13 = $t11_12.$get();
4819 $t13_14 = ($t12_13 === key);
4820 if ($t13_14) {
4821 $block = 5; break;
4822 }
4823 else {
4824 $t1_2 = $t2_3;
4825 $block = 1; break;
4826 }
4827 break;
4828 }
4829 }
4830 }
4831 }
4832
4833 $rt.types.getType('common/nostr.Tags')?.methods?.set('ContainsValue', Tags$ContainsValue);
4834 export function Tags$GetAll(ts, key) {
4835 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16;
4836 let $block = 0;
4837 while (true) {
4838 switch ($block) {
4839 case 0: {
4840 $t0_1 = $rt.builtin.len(ts);
4841 $t1_2 = null;
4842 $t2_3 = -1;
4843 $block = 1; break;
4844 break;
4845 }
4846 case 1: {
4847 $t3_4 = ($t2_3 + 1);
4848 $t4_5 = ($t3_4 < $t0_1);
4849 if ($t4_5) {
4850 $block = 2; break;
4851 }
4852 else {
4853 $block = 3; break;
4854 }
4855 break;
4856 }
4857 case 2: {
4858 $t5_6 = ts.addr($t3_4);
4859 $t6_7 = $t5_6.$get();
4860 $t7_8 = $rt.builtin.len($t6_7);
4861 $t8_9 = ($t7_8 > 0);
4862 if ($t8_9) {
4863 $block = 5; break;
4864 }
4865 else {
4866 let $phi0 = $t1_2;
4867 let $phi1 = $t3_4;
4868 $t1_2 = $phi0;
4869 $t2_3 = $phi1;
4870 $block = 1; break;
4871 }
4872 break;
4873 }
4874 case 3: {
4875 return $t1_2;
4876 break;
4877 }
4878 case 4: {
4879 $t9_10 = { $value: $rt.builtin.makeSlice(1, 1, null), $get() { return this.$value; }, $set(v) { this.$value = v; } };
4880 $t10_11 = $t9_10.$get().addr(0);
4881 $t10_11.$set($t6_7);
4882 $t11_12 = $rt.builtin.sliceSlice($t9_10.$get(), undefined, undefined, undefined);
4883 $t12_13 = $rt.builtin.appendSlice($t1_2, $t11_12);
4884 $t1_2 = $t12_13;
4885 $t2_3 = $t3_4;
4886 $block = 1; break;
4887 break;
4888 }
4889 case 5: {
4890 $t13_14 = $t6_7.addr(0);
4891 $t14_15 = $t13_14.$get();
4892 $t15_16 = ($t14_15 === key);
4893 if ($t15_16) {
4894 $block = 4; break;
4895 }
4896 else {
4897 let $phi0 = $t1_2;
4898 let $phi1 = $t3_4;
4899 $t1_2 = $phi0;
4900 $t2_3 = $phi1;
4901 $block = 1; break;
4902 }
4903 break;
4904 }
4905 }
4906 }
4907 }
4908
4909 $rt.types.getType('common/nostr.Tags')?.methods?.set('GetAll', Tags$GetAll);
4910 export function Tags$GetD(ts) {
4911 let $t0_1, $t1_2, $t2_3;
4912 let $block = 0;
4913 while (true) {
4914 switch ($block) {
4915 case 0: {
4916 $t0_1 = Tags$GetFirst(ts, 'd');
4917 $t1_2 = ($t0_1 !== null);
4918 if ($t1_2) {
4919 $block = 1; break;
4920 }
4921 else {
4922 $block = 2; break;
4923 }
4924 break;
4925 }
4926 case 1: {
4927 $t2_3 = Tag$Value($t0_1);
4928 return $t2_3;
4929 break;
4930 }
4931 case 2: {
4932 return '';
4933 break;
4934 }
4935 }
4936 }
4937 }
4938
4939 $rt.types.getType('common/nostr.Tags')?.methods?.set('GetD', Tags$GetD);
4940 export function Tags$GetFirst(ts, key) {
4941 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
4942 let $block = 0;
4943 while (true) {
4944 switch ($block) {
4945 case 0: {
4946 $t0_1 = $rt.builtin.len(ts);
4947 $t1_2 = -1;
4948 $block = 1; break;
4949 break;
4950 }
4951 case 1: {
4952 $t2_3 = ($t1_2 + 1);
4953 $t3_4 = ($t2_3 < $t0_1);
4954 if ($t3_4) {
4955 $block = 2; break;
4956 }
4957 else {
4958 $block = 3; break;
4959 }
4960 break;
4961 }
4962 case 2: {
4963 $t4_5 = ts.addr($t2_3);
4964 $t5_6 = $t4_5.$get();
4965 $t6_7 = $rt.builtin.len($t5_6);
4966 $t7_8 = ($t6_7 > 0);
4967 if ($t7_8) {
4968 $block = 5; break;
4969 }
4970 else {
4971 $t1_2 = $t2_3;
4972 $block = 1; break;
4973 }
4974 break;
4975 }
4976 case 3: {
4977 return null;
4978 break;
4979 }
4980 case 4: {
4981 return $t5_6;
4982 break;
4983 }
4984 case 5: {
4985 $t8_9 = $t5_6.addr(0);
4986 $t9_10 = $t8_9.$get();
4987 $t10_11 = ($t9_10 === key);
4988 if ($t10_11) {
4989 $block = 4; break;
4990 }
4991 else {
4992 $t1_2 = $t2_3;
4993 $block = 1; break;
4994 }
4995 break;
4996 }
4997 }
4998 }
4999 }
5000
5001 $rt.types.getType('common/nostr.Tags')?.methods?.set('GetFirst', Tags$GetFirst);
5002