smesh_lol_web_common_nostr.mjs raw

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