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