(module
  (type $<>=>MultiValueResult<Unit+Error> (func (param i32) (result i32 i32)))
  (type $<<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>>=>Unit (func (param i32 i32) (result i32)))
  (type $@moonbitlang/core/builtin.Logger.method_0 (func (param i32 i32) (result i32)))
  (type $@moonbitlang/core/builtin.Logger.method_1 (func (param i32 i32 i32 i32) (result i32)))
  (type $@moonbitlang/core/builtin.Logger.method_2 (func (param i32 i32) (result i32)))
  (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit (func (param i32 i32) (result i32)))
  (type (;6;) (func))
  (type (;7;) (func (param i32)))
  (type (;8;) (func (param externref) (result i32)))
  (type (;9;) (func (param externref)))
  (type (;10;) (func (param externref) (result externref)))
  (type (;11;) (func (param i32 i32)))
  (type (;12;) (func (param i32 i32 i64)))
  (type (;13;) (func (param i32) (result i32)))
  (type (;14;) (func (param i32 i32 i32)))
  (type (;15;) (func (param i32 i32 i32) (result i32)))
  (type (;16;) (func (param i32) (result externref)))
  (type (;17;) (func (result i32)))
  (type (;18;) (func (param externref i32)))
  (type (;19;) (func (result i32 i32)))
  (type (;20;) (func (param i32 i32 i32 i32 i32) (result i32)))
  (type (;21;) (func (param i32 i32 i64) (result i32)))
  (import "exception" "tag" (tag $moonbit.tag (type 6)))
  (import "exception" "throw" (func $throw (type 6)))
  (import "spectest" "print_char" (func $printc (type 7)))
  (import "__moonbit_fs_unstable" "string_read_char" (func $__moonbit_fs_unstable.string_read_char.0 (type 8)))
  (import "__moonbit_fs_unstable" "finish_read_string" (func $__moonbit_fs_unstable.finish_read_string.1 (type 9)))
  (import "__moonbit_fs_unstable" "begin_read_string" (func $__moonbit_fs_unstable.begin_read_string.2 (type 10)))
  (func $tlsf/searchBlock (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $0 i32) (param $1 i32) (result i32)
    (local $2 i32)
    local.get $0
    local.get $1
    i32.const 256
    i32.lt_u
    if (result i32)  ;; label = @1
      local.get $1
      i32.const 4
      i32.shr_u
      local.set $1
      i32.const 0
    else
      local.get $1
      i32.const 536870910
      i32.lt_u
      if  ;; label = @2
        local.get $1
        i32.const 1
        i32.const 27
        local.get $1
        i32.clz
        i32.sub
        i32.shl
        i32.add
        i32.const 1
        i32.sub
        local.set $1
      end
      i32.const 31
      local.get $1
      i32.clz
      i32.sub
      local.set $2
      local.get $1
      local.get $2
      i32.const 4
      i32.sub
      i32.shr_u
      i32.const 16
      i32.xor
      local.set $1
      local.get $2
      i32.const 7
      i32.sub
    end
    local.tee $2
    i32.const 2
    i32.shl
    i32.add
    i32.load offset=4 align=1
    i32.const -1
    local.get $1
    i32.shl
    i32.and
    local.tee $1
    if (result i32)  ;; label = @1
      local.get $0
      local.get $1
      i32.ctz
      local.get $2
      i32.const 4
      i32.shl
      i32.add
      i32.const 2
      i32.shl
      i32.add
      i32.load offset=96 align=1
    else
      local.get $0
      i32.load align=1
      i32.const -1
      local.get $2
      i32.const 1
      i32.add
      i32.shl
      i32.and
      local.tee $1
      if (result i32)  ;; label = @2
        local.get $0
        local.get $0
        local.get $1
        i32.ctz
        local.tee $1
        i32.const 2
        i32.shl
        i32.add
        i32.load offset=4 align=1
        i32.ctz
        local.get $1
        i32.const 4
        i32.shl
        i32.add
        i32.const 2
        i32.shl
        i32.add
        i32.load offset=96 align=1
      else
        i32.const 0
      end
    end)
  (func $tlsf/removeBlock (type 11) (param $0 i32) (param $1 i32)
    (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32)
    local.get $1
    i32.load align=1
    i32.const -4
    i32.and
    local.tee $2
    i32.const 256
    i32.lt_u
    if (result i32)  ;; label = @1
      local.get $2
      i32.const 4
      i32.shr_u
      local.set $3
      i32.const 0
    else
      i32.const 31
      i32.const 1073741820
      local.get $2
      local.get $2
      i32.const 1073741820
      i32.ge_u
      select
      local.tee $3
      i32.clz
      i32.sub
      local.set $2
      local.get $3
      local.get $2
      i32.const 4
      i32.sub
      i32.shr_u
      i32.const 16
      i32.xor
      local.set $3
      local.get $2
      i32.const 7
      i32.sub
    end
    local.set $5
    local.get $1
    i32.load offset=8 align=1
    local.set $2
    local.get $1
    i32.load offset=4 align=1
    local.tee $4
    if  ;; label = @1
      local.get $4
      local.get $2
      i32.store offset=8 align=1
    end
    local.get $2
    if  ;; label = @1
      local.get $2
      local.get $4
      i32.store offset=4 align=1
    end
    local.get $1
    local.get $0
    local.get $5
    i32.const 4
    i32.shl
    local.get $3
    i32.add
    i32.const 2
    i32.shl
    i32.add
    local.tee $4
    i32.load offset=96 align=1
    i32.eq
    if  ;; label = @1
      local.get $4
      local.get $2
      i32.store offset=96 align=1
      local.get $2
      i32.eqz
      if  ;; label = @2
        local.get $0
        local.get $5
        i32.const 2
        i32.shl
        i32.add
        local.tee $1
        local.get $1
        i32.load offset=4 align=1
        i32.const -2
        local.get $3
        i32.rotl
        i32.and
        local.tee $1
        i32.store offset=4 align=1
        local.get $1
        i32.eqz
        if  ;; label = @3
          local.get $0
          local.get $0
          i32.load align=1
          i32.const -2
          local.get $5
          i32.rotl
          i32.and
          i32.store align=1
        end
      end
    end)
  (func $tlsf/insertBlock (type 11) (param $0 i32) (param $1 i32)
    (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32)
    local.get $1
    i32.load align=1
    local.tee $4
    local.set $3
    local.get $1
    i32.const 4
    i32.add
    local.tee $5
    local.get $4
    i32.const -4
    i32.and
    i32.add
    local.tee $2
    i32.load align=1
    local.tee $4
    i32.const 1
    i32.and
    if  ;; label = @1
      local.get $0
      local.get $2
      call $tlsf/removeBlock
      local.get $1
      local.get $3
      i32.const 4
      i32.add
      local.get $4
      i32.const -4
      i32.and
      i32.add
      local.tee $3
      i32.store align=1
      local.get $1
      i32.load align=1
      i32.const -4
      i32.and
      local.get $5
      i32.add
      local.tee $2
      i32.load align=1
      local.set $4
    end
    local.get $3
    i32.const 2
    i32.and
    if  ;; label = @1
      local.get $1
      i32.const 4
      i32.sub
      i32.load align=1
      local.tee $1
      i32.load align=1
      local.set $5
      local.get $0
      local.get $1
      call $tlsf/removeBlock
      local.get $1
      local.get $5
      i32.const 4
      i32.add
      local.get $3
      i32.const -4
      i32.and
      i32.add
      local.tee $3
      i32.store align=1
    end
    local.get $2
    local.get $4
    i32.const 2
    i32.or
    i32.store align=1
    local.get $2
    i32.const 4
    i32.sub
    local.get $1
    i32.store align=1
    local.get $3
    i32.const -4
    i32.and
    local.tee $2
    i32.const 256
    i32.lt_u
    if (result i32)  ;; label = @1
      local.get $2
      i32.const 4
      i32.shr_u
      local.set $2
      i32.const 0
    else
      i32.const 31
      i32.const 1073741820
      local.get $2
      local.get $2
      i32.const 1073741820
      i32.ge_u
      select
      local.tee $2
      i32.clz
      i32.sub
      local.set $3
      local.get $2
      local.get $3
      i32.const 4
      i32.sub
      i32.shr_u
      i32.const 16
      i32.xor
      local.set $2
      local.get $3
      i32.const 7
      i32.sub
    end
    local.set $3
    local.get $0
    local.get $3
    i32.const 4
    i32.shl
    local.get $2
    i32.add
    i32.const 2
    i32.shl
    i32.add
    i32.load offset=96 align=1
    local.set $4
    local.get $1
    i32.const 0
    i32.store offset=4 align=1
    local.get $1
    local.get $4
    i32.store offset=8 align=1
    local.get $4
    if  ;; label = @1
      local.get $4
      local.get $1
      i32.store offset=4 align=1
    end
    local.get $0
    local.get $3
    i32.const 4
    i32.shl
    local.get $2
    i32.add
    i32.const 2
    i32.shl
    i32.add
    local.get $1
    i32.store offset=96 align=1
    local.get $0
    local.get $0
    i32.load align=1
    i32.const 1
    local.get $3
    i32.shl
    i32.or
    i32.store align=1
    local.get $0
    local.get $3
    i32.const 2
    i32.shl
    i32.add
    local.tee $0
    local.get $0
    i32.load offset=4 align=1
    i32.const 1
    local.get $2
    i32.shl
    i32.or
    i32.store offset=4 align=1)
  (func $tlsf/addMemory (type 12) (param $0 i32) (param $1 i32) (param $2 i64)
    (local $3 i32) (local $4 i32) (local $5 i32)
    local.get $0
    i32.load offset=1568 align=1
    local.tee $4
    i32.const 0
    local.get $1
    i32.const 19
    i32.add
    i32.const -16
    i32.and
    i32.const 4
    i32.sub
    local.tee $1
    i32.const 16
    i32.sub
    local.tee $3
    local.get $4
    i32.eq
    select
    if  ;; label = @1
      local.get $4
      i32.load align=1
      local.set $5
      local.get $3
      local.set $1
    end
    local.get $2
    i32.wrap_i64
    i32.const -16
    i32.and
    local.get $1
    i32.sub
    local.tee $3
    i32.const 20
    i32.lt_u
    if  ;; label = @1
      return
    end
    local.get $1
    local.get $5
    i32.const 2
    i32.and
    local.get $3
    i32.const 8
    i32.sub
    local.tee $3
    i32.const 1
    i32.or
    i32.or
    i32.store align=1
    local.get $1
    i32.const 0
    i32.store offset=4 align=1
    local.get $1
    i32.const 0
    i32.store offset=8 align=1
    local.get $1
    i32.const 4
    i32.add
    local.get $3
    i32.add
    local.tee $3
    i32.const 2
    i32.store align=1
    local.get $0
    local.get $3
    i32.store offset=1568 align=1
    local.get $0
    local.get $1
    call $tlsf/insertBlock)
  (func $tlsf/initialize (type 6)
    (local $0 i32) (local $1 i32) (local $2 i32)
    i32.const 11216
    i32.const 15
    i32.add
    i32.const -16
    i32.and
    local.set $0
    memory.size
    local.tee $1
    local.get $0
    i32.const 67107
    i32.add
    i32.const -65536
    i32.and
    i32.const 16
    i32.shr_u
    local.tee $2
    i32.lt_s
    if (result i32)  ;; label = @1
      local.get $2
      local.get $1
      i32.sub
      memory.grow
      i32.const 0
      i32.lt_s
    else
      i32.const 0
    end
    if  ;; label = @1
      unreachable
    end
    local.get $0
    i32.const 0
    i32.store align=1
    local.get $0
    i32.const 0
    i32.store offset=1568 align=1
    i32.const 0
    local.set $1
    loop  ;; label = @1
      local.get $1
      i32.const 23
      i32.lt_u
      if  ;; label = @2
        local.get $0
        local.get $1
        i32.const 2
        i32.shl
        i32.add
        i32.const 0
        i32.store offset=4 align=1
        i32.const 0
        local.set $2
        loop  ;; label = @3
          local.get $2
          i32.const 16
          i32.lt_u
          if  ;; label = @4
            local.get $0
            local.get $1
            i32.const 4
            i32.shl
            local.get $2
            i32.add
            i32.const 2
            i32.shl
            i32.add
            i32.const 0
            i32.store offset=96 align=1
            local.get $2
            i32.const 1
            i32.add
            local.set $2
            br 1 (;@3;)
          end
        end
        local.get $1
        i32.const 1
        i32.add
        local.set $1
        br 1 (;@1;)
      end
    end
    local.get $0
    local.get $0
    i32.const 1572
    i32.add
    memory.size
    i64.extend_i32_s
    i64.const 16
    i64.shl
    call $tlsf/addMemory
    local.get $0
    global.set $tlsf/ROOT)
  (func $moonbit.malloc (type 13) (param $0 i32) (result i32)
    (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32)
    global.get $tlsf/ROOT
    i32.eqz
    if  ;; label = @1
      call $tlsf/initialize
    end
    local.get $0
    i32.const 1073741820
    i32.gt_u
    if  ;; label = @1
      unreachable
    end
    global.get $tlsf/ROOT
    local.tee $2
    local.get $0
    i32.const 12
    i32.le_u
    if (result i32)  ;; label = @1
      i32.const 12
    else
      local.get $0
      i32.const 19
      i32.add
      i32.const -16
      i32.and
      i32.const 4
      i32.sub
    end
    local.tee $1
    call $tlsf/searchBlock
    local.tee $0
    i32.eqz
    if  ;; label = @1
      memory.size
      local.tee $0
      local.get $1
      i32.const 256
      i32.ge_u
      if (result i32)  ;; label = @2
        local.get $1
        i32.const 536870910
        i32.lt_u
        if (result i32)  ;; label = @3
          local.get $1
          i32.const 1
          i32.const 27
          local.get $1
          i32.clz
          i32.sub
          i32.shl
          i32.add
          i32.const 1
          i32.sub
        else
          local.get $1
        end
      else
        local.get $1
      end
      i32.const 4
      local.get $2
      i32.load offset=1568 align=1
      local.get $0
      i32.const 16
      i32.shl
      i32.const 4
      i32.sub
      i32.ne
      i32.shl
      i32.add
      i32.const 65535
      i32.add
      i32.const -65536
      i32.and
      i32.const 16
      i32.shr_u
      local.tee $3
      local.get $0
      local.get $3
      i32.gt_s
      select
      memory.grow
      i32.const 0
      i32.lt_s
      if  ;; label = @2
        local.get $3
        memory.grow
        i32.const 0
        i32.lt_s
        if  ;; label = @3
          unreachable
        end
      end
      local.get $2
      local.get $0
      i32.const 16
      i32.shl
      memory.size
      i64.extend_i32_s
      i64.const 16
      i64.shl
      call $tlsf/addMemory
      local.get $2
      local.get $1
      call $tlsf/searchBlock
      local.set $0
    end
    local.get $2
    local.get $0
    call $tlsf/removeBlock
    local.get $0
    i32.load align=1
    local.tee $3
    i32.const -4
    i32.and
    local.get $1
    i32.sub
    local.tee $4
    i32.const 16
    i32.ge_u
    if  ;; label = @1
      local.get $0
      local.get $1
      local.get $3
      i32.const 2
      i32.and
      i32.or
      i32.store align=1
      local.get $0
      i32.const 4
      i32.add
      local.get $1
      i32.add
      local.tee $1
      local.get $4
      i32.const 4
      i32.sub
      i32.const 1
      i32.or
      i32.store align=1
      local.get $2
      local.get $1
      call $tlsf/insertBlock
    else
      local.get $0
      local.get $3
      i32.const -2
      i32.and
      i32.store align=1
      local.get $0
      i32.const 4
      i32.add
      local.tee $1
      local.get $0
      i32.load align=1
      i32.const -4
      i32.and
      local.tee $2
      i32.add
      local.get $1
      local.get $2
      i32.add
      i32.load align=1
      i32.const -3
      i32.and
      i32.store align=1
    end
    local.get $0
    i32.const 4
    i32.add)
  (func $moonbit.free (type 7) (param $0 i32)
    (local $1 i32) (local $2 i32)
    i32.const 11216
    local.get $0
    i32.gt_u
    if  ;; label = @1
      return
    end
    global.get $tlsf/ROOT
    i32.eqz
    if  ;; label = @1
      call $tlsf/initialize
    end
    global.get $tlsf/ROOT
    local.set $2
    local.get $0
    i32.const 4
    i32.sub
    local.set $1
    local.get $0
    i32.const 15
    i32.and
    i32.const 1
    local.get $0
    select
    if (result i32)  ;; label = @1
      i32.const 1
    else
      local.get $1
      i32.load align=1
      i32.const 1
      i32.and
    end
    if  ;; label = @1
      unreachable
    end
    local.get $1
    local.get $1
    i32.load align=1
    i32.const 1
    i32.or
    i32.store align=1
    local.get $2
    local.get $1
    call $tlsf/insertBlock)
  (func $moonbit.gc.malloc (type 13) (param $n i32) (result i32)
    (local $result i32)
    i32.const 8
    local.get $n
    i32.add
    call $moonbit.malloc
    local.tee $result
    i32.const 1
    i32.store align=1
    local.get $result)
  (func $moonbit.get_tag (type 13) (param $p i32) (result i32)
    local.get $p
    i32.load offset=4 align=1
    i32.const 255
    i32.and)
  (func $moonbit.array_length (type 13) (param $arr i32) (result i32)
    local.get $arr
    i32.load offset=4 align=1
    i32.const 268435455
    i32.and)
  (func $moonbit.string_item_unsafe (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $str i32) (param $index i32) (result i32)
    local.get $str
    local.get $index
    i32.const 1
    i32.shl
    i32.add
    i32.load16_u offset=8 align=1)
  (func $moonbit.string_item (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $str i32) (param $index i32) (result i32)
    local.get $index
    i32.const 0
    local.get $str
    call $moonbit.array_length
    i32.const 1
    i32.sub
    call $moonbit.check_range
    local.get $str
    local.get $index
    i32.const 1
    i32.shl
    i32.add
    i32.load16_u offset=8 align=1)
  (func $moonbit.string_equal (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $stra i32) (param $strb i32) (result i32)
    (local $counter i32)
    local.get $stra
    call $moonbit.array_length
    local.get $strb
    call $moonbit.array_length
    i32.eq
    if (result i32)  ;; label = @1
      loop (result i32)  ;; label = @2
        local.get $counter
        local.get $stra
        call $moonbit.array_length
        i32.lt_s
        if (result i32)  ;; label = @3
          local.get $stra
          local.get $counter
          call $moonbit.string_item
          local.get $strb
          local.get $counter
          call $moonbit.string_item
          i32.eq
          if (result i32)  ;; label = @4
            local.get $counter
            i32.const 1
            i32.add
            local.set $counter
            br 2 (;@2;)
          else
            i32.const 0
            return
          end
        else
          i32.const 1
          return
        end
      end
    else
      i32.const 0
      return
    end)
  (func $moonbit.println (type 7) (param $str i32)
    (local $counter i32)
    loop  ;; label = @1
      local.get $counter
      local.get $str
      call $moonbit.array_length
      i32.lt_s
      if  ;; label = @2
        local.get $str
        local.get $counter
        call $moonbit.string_item
        call $printc
        local.get $counter
        i32.const 1
        i32.add
        local.set $counter
        br 1 (;@1;)
      end
    end
    i32.const 10
    call $printc)
  (func $moonbit.check_range (type 14) (param $index i32) (param $lo i32) (param $hi i32)
    local.get $index
    local.get $hi
    i32.le_s
    if  ;; label = @1
      local.get $index
      local.get $lo
      i32.ge_s
      if  ;; label = @2
      else
        unreachable
      end
    else
      unreachable
    end)
  (func $moonbit.array_item (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $arr i32) (param $index i32) (result i32)
    local.get $index
    i32.const 0
    local.get $arr
    call $moonbit.array_length
    i32.const 1
    i32.sub
    call $moonbit.check_range
    local.get $arr
    local.get $index
    i32.const 4
    i32.mul
    i32.add
    i32.load offset=8 align=1)
  (func $moonbit.array_set_item (type 14) (param $arr i32) (param $index i32) (param $val i32)
    local.get $index
    i32.const 0
    local.get $arr
    call $moonbit.array_length
    i32.const 1
    i32.sub
    call $moonbit.check_range
    local.get $arr
    local.get $index
    i32.const 4
    i32.mul
    i32.add
    local.get $val
    i32.store offset=8 align=1)
  (func $moonbit.make_array_header (type 15) (param $kind i32) (param $elem_size_shift i32) (param $len i32) (result i32)
    local.get $kind
    i32.const 30
    i32.shl
    local.get $elem_size_shift
    i32.const 28
    i32.shl
    i32.or
    local.get $len
    i32.or)
  (func $moonbit.ref_array_make (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $size i32) (param $val i32) (result i32)
    (local $arr i32) (local $counter i32)
    local.get $size
    i32.const 0
    i32.lt_s
    if  ;; label = @1
      unreachable
    end
    local.get $val
    i32.const 0
    i32.ne
    if  ;; label = @1
      local.get $size
      i32.eqz
      if  ;; label = @2
        local.get $val
        call $moonbit.decref
      else
        local.get $size
        i32.const 1
        i32.gt_s
        if  ;; label = @3
          local.get $val
          local.get $size
          i32.const 1
          i32.sub
          call $moonbit.incref_n
        end
      end
    end
    local.get $size
    i32.const 4
    i32.mul
    call $moonbit.gc.malloc
    local.tee $arr
    i32.const 2
    i32.const 2
    local.get $size
    call $moonbit.make_array_header
    i32.store offset=4 align=1
    loop  ;; label = @1
      local.get $counter
      local.get $size
      i32.lt_s
      if  ;; label = @2
        local.get $arr
        local.get $counter
        i32.const 4
        i32.mul
        i32.add
        local.get $val
        i32.store offset=8 align=1
        local.get $counter
        i32.const 1
        i32.add
        local.set $counter
        br 1 (;@1;)
      end
    end
    local.get $arr)
  (func $moonbit.bytes_make (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $size i32) (param $val i32) (result i32)
    (local $ptr i32) (local $counter i32)
    local.get $size
    i32.const 3
    i32.add
    i32.const -4
    i32.and
    call $moonbit.gc.malloc
    local.tee $ptr
    i32.const 1
    i32.const 0
    local.get $size
    call $moonbit.make_array_header
    i32.store offset=4 align=1
    loop  ;; label = @1
      local.get $counter
      local.get $size
      i32.lt_s
      if  ;; label = @2
        local.get $ptr
        local.get $counter
        i32.add
        local.get $val
        i32.store8 offset=8
        local.get $counter
        i32.const 1
        i32.add
        local.set $counter
        br 1 (;@1;)
      end
    end
    local.get $ptr)
  (func $moonbit.bytes_item (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $bytes i32) (param $index i32) (result i32)
    local.get $index
    i32.const 0
    local.get $bytes
    call $moonbit.array_length
    i32.const 1
    i32.sub
    call $moonbit.check_range
    local.get $bytes
    local.get $index
    i32.add
    i32.load8_u offset=8)
  (func $moonbit.bytes_set_item (type 15) (param $bytes i32) (param $index i32) (param $val i32) (result i32)
    local.get $index
    i32.const 0
    local.get $bytes
    call $moonbit.array_length
    i32.const 1
    i32.sub
    call $moonbit.check_range
    local.get $bytes
    local.get $index
    i32.add
    local.get $val
    i32.store8 offset=8
    i32.const 0)
  (func $moonbit.add_string (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $x i32) (param $y i32) (result i32)
    (local $lenx i32) (local $leny i32) (local $len i32) (local $words i32) (local $ptr i32) (local $payload i32) (local $zeros i32)
    local.get $x
    call $moonbit.array_length
    i32.const 1
    i32.shl
    local.set $lenx
    local.get $y
    call $moonbit.array_length
    i32.const 1
    i32.shl
    local.set $leny
    local.get $lenx
    local.get $leny
    i32.add
    local.set $len
    local.get $len
    i32.const 3
    i32.add
    i32.const -4
    i32.and
    call $moonbit.gc.malloc
    local.tee $ptr
    i32.const 1
    i32.const 1
    local.get $len
    i32.const 1
    i32.shr_u
    call $moonbit.make_array_header
    i32.store offset=4 align=1
    local.get $ptr
    i32.const 8
    i32.add
    local.set $payload
    local.get $payload
    local.get $x
    i32.const 8
    i32.add
    local.get $lenx
    memory.copy
    local.get $x
    call $moonbit.decref
    local.get $payload
    local.get $lenx
    i32.add
    local.get $y
    i32.const 8
    i32.add
    local.get $leny
    memory.copy
    local.get $y
    call $moonbit.decref
    local.get $ptr)
  (func $moonbit.unsafe_bytes_sub_string (type 15) (param $bytes i32) (param $offset i32) (param $len i32) (result i32)
    (local $ptr i32)
    local.get $len
    i32.const 3
    i32.add
    i32.const -4
    i32.and
    call $moonbit.gc.malloc
    local.tee $ptr
    i32.const 1
    i32.const 1
    local.get $len
    i32.const 1
    i32.shr_u
    call $moonbit.make_array_header
    i32.store offset=4 align=1
    i32.const 8
    local.get $ptr
    i32.add
    i32.const 0
    i32.add
    i32.const 8
    local.get $bytes
    i32.add
    local.get $offset
    i32.add
    local.get $len
    memory.copy
    local.get $bytes
    call $moonbit.decref
    local.get $ptr)
  (func $moonbit.incref (type 7) (param $ptr i32)
    (local $count i32)
    local.get $ptr
    i32.load align=1
    local.tee $count
    i32.const 0
    i32.ge_s
    if  ;; label = @1
      local.get $ptr
      local.get $count
      i32.const 1
      i32.add
      i32.store align=1
    end)
  (func $moonbit.incref_n (type 11) (param $ptr i32) (param $n i32)
    (local $count i32)
    local.get $ptr
    i32.load align=1
    local.tee $count
    i32.const 0
    i32.ge_s
    if  ;; label = @1
      local.get $ptr
      local.get $count
      local.get $n
      i32.add
      i32.store align=1
    end)
  (func $moonbit.decref (type 7) (param $ptr i32)
    (local $count i32)
    local.get $ptr
    i32.load align=1
    local.tee $count
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $ptr
      local.get $count
      i32.const 1
      i32.sub
      i32.store align=1
    else
      local.get $count
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $ptr
        call $moonbit.gc.free
      end
    end)
  (func $moonbit.gc.free (type 7) (param $ptr i32)
    (local $parent i32) (local $curr_child_offset i32) (local $remaining_children_count i32) (local $n_ptr_fields i32) (local $ptr_fields_offset i32) (local $kind i32) (local $meta i32) (local $next i32) (local $addr_of_next i32) (local $len i32) (local $count i32)
    loop  ;; label = @1
      local.get $ptr
      i32.load offset=4 align=1
      local.tee $meta
      i32.const 30
      i32.shr_u
      local.set $kind
      block  ;; label = @2
        i32.const 0
        local.get $kind
        i32.eq
        if  ;; label = @3
          local.get $meta
          i32.const 8
          i32.shr_u
          i32.const 2047
          i32.and
          local.tee $n_ptr_fields
          i32.eqz
          if  ;; label = @4
          else
            local.get $meta
            i32.const 19
            i32.shr_u
            i32.const 2047
            i32.and
            local.set $ptr_fields_offset
            local.get $ptr_fields_offset
            local.set $curr_child_offset
            local.get $n_ptr_fields
            local.set $remaining_children_count
            br 2 (;@2;)
          end
        else
          i32.const 2
          local.get $kind
          i32.eq
          if  ;; label = @4
            i32.const 0
            i32.const 3
            local.get $meta
            i32.const 28
            i32.shr_u
            i32.and
            i32.eq
            local.get $meta
            i32.const 268435455
            i32.and
            local.set $len
            if  ;; label = @5
              loop  ;; label = @6
                local.get $len
                i32.const 0
                i32.gt_s
                if  ;; label = @7
                  local.get $len
                  i32.const 1
                  i32.sub
                  local.tee $len
                  i32.const 12
                  i32.mul
                  local.get $ptr
                  i32.add
                  i32.load offset=8 align=1
                  local.tee $next
                  i32.const 0
                  i32.ne
                  if  ;; label = @8
                    local.get $next
                    call $moonbit.decref
                  end
                  br 1 (;@6;)
                end
              end
            else
              local.get $meta
              i32.const 268435455
              i32.and
              local.set $len
              local.get $len
              i32.const 0
              i32.gt_s
              if  ;; label = @6
                i32.const 8
                i32.const 2
                i32.shr_u
                local.set $curr_child_offset
                local.get $len
                local.set $remaining_children_count
                br 4 (;@2;)
              end
            end
          else
            i32.const 1
            local.get $kind
            i32.eq
            if  ;; label = @5
            else
              i32.const 3
              local.get $kind
              i32.eq
              if  ;; label = @6
                local.get $ptr
                call $moonbit.drop_externref
              else
                unreachable
              end
            end
          end
        end
        local.get $ptr
        call $moonbit.free
        local.get $parent
        i32.eqz
        if  ;; label = @3
          return
        end
        local.get $parent
        i32.load align=1
        local.set $curr_child_offset
        local.get $parent
        i32.load offset=4 align=1
        local.set $remaining_children_count
        local.get $parent
        local.set $ptr
        local.get $ptr
        local.get $curr_child_offset
        i32.const 4
        i32.mul
        i32.add
        i32.load align=1
        local.set $parent
        local.get $curr_child_offset
        i32.const 1
        i32.add
        local.set $curr_child_offset
      end
      loop  ;; label = @2
        loop  ;; label = @3
          local.get $remaining_children_count
          i32.const 0
          i32.gt_s
          if  ;; label = @4
            local.get $remaining_children_count
            i32.const 1
            i32.sub
            local.set $remaining_children_count
            local.get $ptr
            local.get $curr_child_offset
            i32.const 4
            i32.mul
            i32.add
            local.tee $addr_of_next
            i32.load align=1
            local.tee $next
            i32.eqz
            if  ;; label = @5
              local.get $curr_child_offset
              i32.const 1
              i32.add
              local.set $curr_child_offset
              br 2 (;@3;)
            end
            local.get $next
            i32.load align=1
            local.tee $count
            i32.const 1
            i32.gt_s
            if  ;; label = @5
              local.get $next
              local.get $count
              i32.const 1
              i32.sub
              i32.store align=1
            else
              local.get $count
              i32.const 1
              i32.eq
              if  ;; label = @6
                local.get $remaining_children_count
                i32.const 0
                i32.eq
                if  ;; label = @7
                  local.get $ptr
                  call $moonbit.free
                else
                  local.get $ptr
                  local.get $curr_child_offset
                  i32.store align=1
                  local.get $ptr
                  local.get $remaining_children_count
                  i32.store offset=4 align=1
                  local.get $addr_of_next
                  local.get $parent
                  i32.store align=1
                  local.get $ptr
                  local.set $parent
                end
                local.get $next
                local.set $ptr
                br 5 (;@1;)
              end
            end
            local.get $curr_child_offset
            i32.const 1
            i32.add
            local.set $curr_child_offset
            br 1 (;@3;)
          end
        end
        local.get $ptr
        call $moonbit.free
        local.get $parent
        i32.eqz
        if  ;; label = @3
          return
        end
        local.get $parent
        i32.load align=1
        local.set $curr_child_offset
        local.get $parent
        i32.load offset=4 align=1
        local.set $remaining_children_count
        local.get $parent
        local.set $ptr
        local.get $ptr
        local.get $curr_child_offset
        i32.const 4
        i32.mul
        i32.add
        i32.load align=1
        local.set $parent
        local.get $curr_child_offset
        i32.const 1
        i32.add
        local.set $curr_child_offset
        br 0 (;@2;)
      end
      unreachable
    end)
  (func $moonbit.extract_externref (type 16) (param $box i32) (result externref)
    local.get $box
    i32.load offset=8 align=1
    table.get 0
    local.get $box
    call $moonbit.decref)
  (func $moonbit.alloc_externref (type 8) (param $ref externref) (result i32)
    (local $free_list_head i32) (local $next_cell i32) (local $table_index i32) (local $box i32) (local $i i32)
    global.get $moonbit.externref_table_free_list_head
    local.tee $free_list_head
    i32.const 0
    i32.lt_s
    if  ;; label = @1
      table.size 0
      local.set $table_index
      local.get $table_index
      i32.eqz
      if (result i32)  ;; label = @2
        i32.const 16
      else
        local.get $table_index
        i32.const 1
        i32.shl
      end
      local.set $i
      ref.null extern
      local.get $i
      table.grow 0
      i32.const 0
      i32.lt_s
      if  ;; label = @2
        unreachable
      end
      loop  ;; label = @2
        local.get $i
        local.get $table_index
        i32.gt_s
        if  ;; label = @3
          local.get $i
          i32.const 1
          i32.sub
          local.set $i
          i32.const 8
          call $moonbit.malloc
          local.tee $next_cell
          local.get $i
          i32.store align=1
          local.get $next_cell
          local.get $free_list_head
          i32.store offset=4 align=1
          local.get $next_cell
          local.set $free_list_head
          br 1 (;@2;)
        end
      end
    end
    local.get $free_list_head
    i32.load offset=4 align=1
    global.set $moonbit.externref_table_free_list_head
    local.get $free_list_head
    i32.load align=1
    local.set $table_index
    local.get $table_index
    local.get $ref
    table.set 0
    i32.const 4
    call $moonbit.gc.malloc
    local.tee $box
    i32.const 3
    i32.const 30
    i32.shl
    i32.store offset=4 align=1
    local.get $box
    local.get $table_index
    i32.store offset=8 align=1
    local.get $box)
  (func $moonbit.drop_externref (type 7) (param $box i32)
    (local $free_list_cell i32)
    i32.const 8
    call $moonbit.malloc
    local.tee $free_list_cell
    local.get $box
    i32.load offset=8 align=1
    i32.store align=1
    local.get $free_list_cell
    global.get $moonbit.externref_table_free_list_head
    i32.store offset=4 align=1
    local.get $free_list_cell
    global.set $moonbit.externref_table_free_list_head)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.dyncall (type $<>=>MultiValueResult<Unit+Error>) (param $*env/689 i32) (result i32 i32)
    local.get $*env/689
    call $moonbit.decref
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0)
  (func $$AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_finish_wrapper/3 (type 6)
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_finish
    drop)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_finish (type 17) (result i32)
    i32.const 0)
  (func $$AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_execute_wrapper/4 (type 18) (param $filename/291 externref) (param $index/293 i32)
    local.get $filename/291
    call $moonbit.alloc_externref
    local.get $index/293
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_execute
    drop)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_execute (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $filename/291 i32) (param $index/293 i32) (result i32)
    (local $file_filter/290 i32) (local $index_filter/292 i32) (local $filtered_test/294 i32) (local $index_func_map/296 i32) (local $*bind/297 i32) (local $*Some/298 i32) (local $*index_func_map/299 i32) (local $test_name/300 i32) (local $message/301 i32) (local $item/303 i32) (local $func/304 i32) (local $attrs/305 i32) (local $name/306 i32) (local $name/307 i32) (local $*try_err/309 i32) (local $e/311 i32) (local $e/313 i32) (local $*Failure/314 i32) (local $*e/315 i32) (local $*InspectError/316 i32) (local $*e/317 i32) (local $*SnapshotError/318 i32) (local $*e/319 i32) (local $*Some/320 i32) (local $*item/321 i32) (local $file_name/322 i32) (local $test_name/323 i32) (local $message/324 i32) (local $*tmp/664 i32) (local $*ok/665 i32) (local $*err/666 i32) (local $*tmp/667 i32) (local $*tmp/668 i32) (local $*tmp/669 i32) (local $*tmp/670 i32) (local $*tmp/671 i32) (local $*tmp/672 i32) (local $*tmp/673 i32) (local $*tmp/674 i32) (local $*tmp/675 i32) (local $*tmp/676 i32) (local $*tmp/677 i32) (local $*tmp/678 i32) (local $*tmp/679 i32) (local $*tmp/680 i32) (local $*tmp/681 i32) (local $*tmp/682 i32) (local $*tmp/683 i32) (local $*tmp/684 i32) (local $*tmp/685 i32) (local $*tmp/686 i32) (local $val/687 i32) (local $val/688 i32) (local $*field/690 i32) (local $*field/691 i32) (local $*old/692 i32) (local $*old/693 i32) (local $*field/694 i32) (local $*field/695 i32) (local $*field/696 i32) (local $*old/697 i32) (local $*field/698 i32) (local $*field/699 i32) (local $*old/700 i32) (local $*cnt/787 i32) (local $*new_cnt/788 i32) (local $*cnt/789 i32) (local $*new_cnt/790 i32) (local $*cnt/791 i32) (local $*new_cnt/792 i32) (local $*cnt/793 i32) (local $*new_cnt/794 i32) (local $*cnt/795 i32) (local $*new_cnt/796 i32) (local $*cnt/797 i32) (local $*new_cnt/798 i32) (local $*obj/841 i32) (local $*tag/844 i32) (local $ptr/850 i32) (local $ptr/851 i32)
    local.get $filename/291
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_get_file_name
    local.set $file_filter/290
    local.get $index/293
    local.set $index_filter/292
    block (result i32)  ;; label = @1
      block  ;; label = @2
        local.get $file_filter/290
        call $moonbit.incref
        global.get $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_no_args_tests
        call $moonbit.incref
        global.get $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_no_args_tests
        local.get $file_filter/290
        call $@moonbitlang/core/builtin.Map::get|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
        local.tee $*bind/297
        i32.const 0
        i32.eq
        if (result i32)  ;; label = @3
          local.get $*bind/297
          if  ;; label = @4
            local.get $*bind/297
            call $moonbit.decref
          end
          i32.const 0
        else
          local.get $*bind/297
          local.tee $*Some/298
          local.tee $*index_func_map/299
          local.set $index_func_map/296
          br 1 (;@2;)
        end
        br 1 (;@1;)
      end
      local.get $index_func_map/296
      local.get $index_filter/292
      call $@moonbitlang/core/builtin.Map::get|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
    end
    local.set $filtered_test/294
    i32.const 12
    call $moonbit.gc.malloc
    local.tee $ptr/851
    i32.const 1048832
    i32.store offset=4 align=1
    local.get $ptr/851
    i32.const 10552
    i32.store offset=8 align=1
    local.get $ptr/851
    local.set $test_name/300
    i32.const 12
    call $moonbit.gc.malloc
    local.tee $ptr/850
    i32.const 1048832
    i32.store offset=4 align=1
    local.get $ptr/850
    i32.const 10552
    i32.store offset=8 align=1
    local.get $ptr/850
    local.set $message/301
    block (result i32)  ;; label = @1
      block  ;; label = @2
        local.get $filtered_test/294
        i32.const 0
        i32.eq
        if  ;; label = @3
          local.get $filtered_test/294
          if  ;; label = @4
            local.get $filtered_test/294
            call $moonbit.decref
          end
          local.get $file_filter/290
          call $moonbit.incref
          local.get $file_filter/290
          call $@moonbitlang/core/builtin.Show::String::to_string
          local.set $*tmp/674
          i32.const 10448
          local.get $*tmp/674
          call $moonbit.add_string
          local.tee $*tmp/673
          i32.const 10432
          call $moonbit.add_string
          local.set $*tmp/671
          local.get $index_filter/292
          call $@moonbitlang/core/builtin.Show::Int::to_string
          local.set $*tmp/672
          local.get $*tmp/671
          local.get $*tmp/672
          call $moonbit.add_string
          local.tee $*tmp/670
          i32.const 10416
          call $moonbit.add_string
          local.set $*tmp/669
          local.get $message/301
          i32.load offset=8 align=1
          local.tee $*old/700
          call $moonbit.decref
          local.get $message/301
          local.get $*tmp/669
          i32.store offset=8 align=1
          i32.const 0
          drop
        else
          local.get $filtered_test/294
          local.tee $*Some/320
          local.tee $*item/321
          local.set $item/303
          br 1 (;@2;)
        end
        i32.const 0
        br 1 (;@1;)
      end
      local.get $item/303
      i32.load offset=8 align=1
      local.tee $*field/699
      local.set $func/304
      local.get $item/303
      i32.load offset=12 align=1
      local.set $*field/698
      local.get $item/303
      i32.load align=1
      local.tee $*cnt/787
      i32.const 1
      i32.gt_s
      if  ;; label = @2
        local.get $*field/698
        call $moonbit.incref
        local.get $func/304
        call $moonbit.incref
        local.get $*cnt/787
        i32.const 1
        i32.sub
        local.set $*new_cnt/788
        local.get $item/303
        local.get $*new_cnt/788
        i32.store align=1
      else
        local.get $*cnt/787
        i32.const 1
        i32.eq
        if  ;; label = @3
          local.get $item/303
          call $moonbit.free
        end
      end
      local.get $*field/698
      local.set $attrs/305
      local.get $attrs/305
      call $moonbit.incref
      local.get $attrs/305
      call $@moonbitlang/core/builtin.Array::is_empty|String|
      if (result i32)  ;; label = @2
        local.get $attrs/305
        call $moonbit.decref
        i32.const 10552
      else
        local.get $attrs/305
        i32.const 0
        call $@moonbitlang/core/builtin.Array::op_get|String|
      end
      local.set $name/306
      local.get $name/306
      call $moonbit.array_length
      local.tee $*tmp/667
      i32.const 0
      i32.eq
      if (result i32)  ;; label = @2
        local.get $name/306
        call $moonbit.decref
        call $Int::to_string.radix.default
        local.set $*tmp/668
        local.get $index_filter/292
        local.get $*tmp/668
        call $Int::to_string
      else
        local.get $name/306
      end
      local.set $name/307
      local.get $test_name/300
      i32.load offset=8 align=1
      local.tee $*old/697
      call $moonbit.decref
      local.get $test_name/300
      local.get $name/307
      i32.store offset=8 align=1
      i32.const 0
      drop
      block (result i32)  ;; label = @2
        block  ;; label = @3
          local.get $func/304
          local.get $func/304
          i32.load offset=8 align=1
          call_indirect 1 (type $<>=>MultiValueResult<Unit+Error>)
          local.set $*obj/841
          if  ;; label = @4
            local.get $*obj/841
            local.set $*ok/665
          else
            local.get $*obj/841
            local.tee $*err/666
            local.set $*try_err/309
            br 1 (;@3;)
          end
          i32.const 0
          br 1 (;@2;)
        end
        block (result i32)  ;; label = @3
          block  ;; label = @4
            block (result i32)  ;; label = @5
              block  ;; label = @6
                local.get $*try_err/309
                call $moonbit.get_tag
                local.set $*tag/844
                block  ;; label = @7
                  block  ;; label = @8
                    block  ;; label = @9
                      block  ;; label = @10
                        block  ;; label = @11
                          local.get $*tag/844
                          br_table 0 (;@11;) 1 (;@10;) 2 (;@9;) 3 (;@8;)
                        end
                        local.get $*try_err/309
                        local.tee $*Failure/314
                        i32.load offset=8 align=1
                        local.set $*field/694
                        local.get $*Failure/314
                        i32.load align=1
                        local.tee $*cnt/789
                        i32.const 1
                        i32.gt_s
                        if  ;; label = @11
                          local.get $*field/694
                          call $moonbit.incref
                          local.get $*cnt/789
                          i32.const 1
                          i32.sub
                          local.set $*new_cnt/790
                          local.get $*Failure/314
                          local.get $*new_cnt/790
                          i32.store align=1
                        else
                          local.get $*cnt/789
                          i32.const 1
                          i32.eq
                          if  ;; label = @12
                            local.get $*Failure/314
                            call $moonbit.free
                          end
                        end
                        local.get $*field/694
                        local.tee $*e/315
                        local.set $e/313
                        br 4 (;@6;)
                      end
                      local.get $*try_err/309
                      local.tee $*InspectError/316
                      i32.load offset=8 align=1
                      local.set $*field/695
                      local.get $*InspectError/316
                      i32.load align=1
                      local.tee $*cnt/791
                      i32.const 1
                      i32.gt_s
                      if  ;; label = @10
                        local.get $*field/695
                        call $moonbit.incref
                        local.get $*cnt/791
                        i32.const 1
                        i32.sub
                        local.set $*new_cnt/792
                        local.get $*InspectError/316
                        local.get $*new_cnt/792
                        i32.store align=1
                      else
                        local.get $*cnt/791
                        i32.const 1
                        i32.eq
                        if  ;; label = @11
                          local.get $*InspectError/316
                          call $moonbit.free
                        end
                      end
                      local.get $*field/695
                      local.tee $*e/317
                      local.set $e/313
                      br 3 (;@6;)
                    end
                    local.get $*try_err/309
                    local.tee $*SnapshotError/318
                    i32.load offset=8 align=1
                    local.set $*field/696
                    local.get $*SnapshotError/318
                    i32.load align=1
                    local.tee $*cnt/793
                    i32.const 1
                    i32.gt_s
                    if  ;; label = @9
                      local.get $*field/696
                      call $moonbit.incref
                      local.get $*cnt/793
                      i32.const 1
                      i32.sub
                      local.set $*new_cnt/794
                      local.get $*SnapshotError/318
                      local.get $*new_cnt/794
                      i32.store align=1
                    else
                      local.get $*cnt/793
                      i32.const 1
                      i32.eq
                      if  ;; label = @10
                        local.get $*SnapshotError/318
                        call $moonbit.free
                      end
                    end
                    local.get $*field/696
                    local.tee $*e/319
                    local.set $e/313
                    br 2 (;@6;)
                  end
                  local.get $*try_err/309
                  local.set $e/311
                  br 3 (;@4;)
                end
                i32.const 0
                br 1 (;@5;)
              end
              local.get $message/301
              i32.load offset=8 align=1
              local.tee $*old/693
              call $moonbit.decref
              local.get $message/301
              local.get $e/313
              i32.store offset=8 align=1
              i32.const 0
            end
            br 1 (;@3;)
          end
          local.get $e/311
          call $Error.to_string
          local.set $*tmp/664
          local.get $message/301
          i32.load offset=8 align=1
          local.tee $*old/692
          call $moonbit.decref
          local.get $message/301
          local.get $*tmp/664
          i32.store offset=8 align=1
          i32.const 0
        end
      end
    end
    drop
    local.get $file_filter/290
    call $String::escape
    local.set $file_name/322
    local.get $test_name/300
    i32.load offset=8 align=1
    local.set $*field/691
    local.get $test_name/300
    i32.load align=1
    local.tee $*cnt/795
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/691
      call $moonbit.incref
      local.get $*cnt/795
      i32.const 1
      i32.sub
      local.set $*new_cnt/796
      local.get $test_name/300
      local.get $*new_cnt/796
      i32.store align=1
    else
      local.get $*cnt/795
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $test_name/300
        call $moonbit.free
      end
    end
    local.get $*field/691
    local.tee $val/688
    call $String::escape
    local.set $test_name/323
    local.get $message/301
    i32.load offset=8 align=1
    local.set $*field/690
    local.get $message/301
    i32.load align=1
    local.tee $*cnt/797
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/690
      call $moonbit.incref
      local.get $*cnt/797
      i32.const 1
      i32.sub
      local.set $*new_cnt/798
      local.get $message/301
      local.get $*new_cnt/798
      i32.store align=1
    else
      local.get $*cnt/797
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $message/301
        call $moonbit.free
      end
    end
    local.get $*field/690
    local.tee $val/687
    call $String::escape
    local.set $message/324
    i32.const 10336
    call $moonbitlang/core/builtin.println|String|
    drop
    local.get $file_name/322
    call $@moonbitlang/core/builtin.Show::String::to_string
    local.set $*tmp/686
    i32.const 10224
    local.get $*tmp/686
    call $moonbit.add_string
    local.tee $*tmp/685
    i32.const 10184
    call $moonbit.add_string
    local.set $*tmp/683
    local.get $index/293
    call $@moonbitlang/core/builtin.Show::Int::to_string
    local.set $*tmp/684
    local.get $*tmp/683
    local.get $*tmp/684
    call $moonbit.add_string
    local.tee $*tmp/682
    i32.const 10136
    call $moonbit.add_string
    local.set $*tmp/680
    local.get $test_name/323
    call $@moonbitlang/core/builtin.Show::String::to_string
    local.set $*tmp/681
    local.get $*tmp/680
    local.get $*tmp/681
    call $moonbit.add_string
    local.tee $*tmp/679
    i32.const 10096
    call $moonbit.add_string
    local.set $*tmp/677
    local.get $message/324
    call $@moonbitlang/core/builtin.Show::String::to_string
    local.set $*tmp/678
    local.get $*tmp/677
    local.get $*tmp/678
    call $moonbit.add_string
    local.tee $*tmp/676
    i32.const 10080
    call $moonbit.add_string
    local.tee $*tmp/675
    call $moonbitlang/core/builtin.println|String|
    drop
    i32.const 10000
    call $moonbitlang/core/builtin.println|String|)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_get_file_name (type 13) (param $file_name/289 i32) (result i32)
    local.get $file_name/289
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_string_from_extern)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_string_from_extern (type 13) (param $e/285 i32) (result i32)
    (local $buf/282 i32) (local $len/283 i32) (local $handle/284 i32) (local $ch/286 i32) (local $written_bytes_len/288 i32) (local $*tmp/655 i32) (local $val/656 i32) (local $val/657 i32) (local $*tmp/658 i32) (local $*tmp/659 i32) (local $*tmp/660 i32) (local $*tmp/661 i64) (local $val/662 i32) (local $*tmp/663 i32) (local $*field/701 i32) (local $ptr/853 i32)
    call $@moonbitlang/core/builtin.Default::Byte::default
    local.set $*tmp/663
    i32.const 512
    local.get $*tmp/663
    call $moonbit.bytes_make
    local.set $buf/282
    i32.const 12
    call $moonbit.gc.malloc
    local.tee $ptr/853
    i32.const 1572864
    i32.store offset=4 align=1
    local.get $ptr/853
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/853
    local.set $len/283
    local.get $e/285
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_begin_read_string
    local.set $handle/284
    block  ;; label = @1
      loop  ;; label = @2
        local.get $handle/284
        call $moonbit.incref
        local.get $handle/284
        call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_string_read_char
        local.set $ch/286
        local.get $ch/286
        i32.const -1
        i32.eq
        if  ;; label = @3
          br 2 (;@1;)
        else
          local.get $len/283
          i32.load offset=8 align=1
          local.set $val/657
          local.get $ch/286
          local.set $*tmp/658
          local.get $buf/282
          call $moonbit.incref
          local.get $buf/282
          local.get $val/657
          local.get $*tmp/658
          call $FixedArray::set_utf16le_char
          local.set $written_bytes_len/288
          local.get $len/283
          i32.load offset=8 align=1
          local.tee $val/656
          local.get $written_bytes_len/288
          i32.add
          local.set $*tmp/655
          local.get $len/283
          local.get $*tmp/655
          i32.store offset=8 align=1
          i32.const 0
          drop
        end
        i32.const 0
        drop
        br 0 (;@2;)
      end
    end
    i32.const 0
    drop
    local.get $handle/284
    call $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_finish_read_string
    drop
    local.get $buf/282
    local.set $*tmp/660
    local.get $len/283
    i32.load offset=8 align=1
    local.set $*field/701
    local.get $len/283
    call $moonbit.decref
    local.get $*field/701
    local.tee $val/662
    i64.extend_i32_s
    local.set $*tmp/661
    local.get $*tmp/660
    i32.const 0
    local.get $*tmp/661
    call $Bytes::to_unchecked_string
    local.tee $*tmp/659)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_string_read_char (type 13) (param $*param/331 i32) (result i32)
    local.get $*param/331
    call $moonbit.extract_externref
    call $__moonbit_fs_unstable.string_read_char.0)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_finish_read_string (type 13) (param $*param/330 i32) (result i32)
    local.get $*param/330
    call $moonbit.extract_externref
    call $__moonbit_fs_unstable.finish_read_string.1
    i32.const 0)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_begin_read_string (type 13) (param $*param/329 i32) (result i32)
    local.get $*param/329
    call $moonbit.extract_externref
    call $__moonbit_fs_unstable.begin_read_string.2
    call $moonbit.alloc_externref)
  (func $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0 (type 19) (result i32 i32)
    (local $*tmp/654 i32)
    i32.const 10568
    call $moonbitlang/core/builtin.println|String|
    local.set $*tmp/654
    i32.const 1
    local.get $*tmp/654)
  (func $moonbitlang/core/builtin.println|String| (type 13) (param $input/281 i32) (result i32)
    (local $*tmp/653 i32)
    local.get $input/281
    call $@moonbitlang/core/builtin.Show::String::to_string
    local.tee $*tmp/653
    call $moonbit.println
    local.get $*tmp/653
    call $moonbit.decref
    i32.const 0)
  (func $@moonbitlang/core/builtin.Show::Int::to_string (type 13) (param $self/280 i32) (result i32)
    local.get $self/280
    i32.const 10
    call $Int::to_string)
  (func $@moonbitlang/core/builtin.Array::is_empty|String| (type 13) (param $self/279 i32) (result i32)
    (local $len/652 i32) (local $*field/702 i32)
    local.get $self/279
    i32.load offset=8 align=1
    local.set $*field/702
    local.get $self/279
    call $moonbit.decref
    local.get $*field/702
    local.tee $len/652
    i32.const 0
    i32.eq)
  (func $@moonbitlang/core/builtin.Show::$default_impl::to_string|@moonbitlang/core/builtin.Failure| (type 13) (param $self/278 i32) (result i32)
    (local $logger/277 i32) (local $*tmp/650 i32) (local $*tmp/651 i32) (local $ptr/854 i32)
    call $@moonbitlang/core/builtin.StringBuilder::new.size_hint.default
    local.tee $*tmp/651
    call $@moonbitlang/core/builtin.StringBuilder::new
    local.set $logger/277
    local.get $logger/277
    call $moonbit.incref
    i32.const 24
    call $moonbit.gc.malloc
    local.tee $ptr/854
    i32.const 2621696
    i32.store offset=4 align=1
    local.get $ptr/854
    i32.const 2
    i32.store offset=16 align=1
    local.get $ptr/854
    i32.const 1
    i32.store offset=12 align=1
    local.get $ptr/854
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/854
    local.get $logger/277
    i32.store offset=20 align=1
    local.get $ptr/854
    local.set $*tmp/650
    local.get $self/278
    local.get $*tmp/650
    call $@moonbitlang/core/builtin.Show::@moonbitlang/core/builtin.Failure::output
    drop
    local.get $logger/277
    call $@moonbitlang/core/builtin.StringBuilder::to_string)
  (func $@moonbitlang/core/builtin.Hash::$default_impl::hash|String| (type 13) (param $self/276 i32) (result i32)
    (local $*self/275 i32) (local $*tmp/648 i32) (local $*tmp/649 i32)
    call $@moonbitlang/core/builtin.Hasher::new.seed.default
    local.tee $*tmp/649
    call $@moonbitlang/core/builtin.Hasher::new
    local.set $*self/275
    local.get $*self/275
    call $moonbit.incref
    local.get $*self/275
    local.get $self/276
    call $@moonbitlang/core/builtin.Hasher::combine|String|
    drop
    local.get $*self/275
    local.tee $*tmp/648
    call $@moonbitlang/core/builtin.Hasher::finalize)
  (func $@moonbitlang/core/builtin.Hash::Int::hash (type 13) (param $self/273 i32) (result i32)
    (local $self/272 i32) (local $*tmp/634 i32) (local $*tmp/635 i32) (local $*tmp/636 i32) (local $*tmp/637 i32) (local $*tmp/638 i32) (local $*tmp/639 i32) (local $*tmp/640 i32) (local $*tmp/641 i32) (local $*tmp/642 i32) (local $*tmp/643 i32) (local $*tmp/644 i32) (local $*tmp/645 i32) (local $*tmp/646 i32) (local $*tmp/647 i32) (local $x/274 i32)
    local.get $self/273
    local.set $self/272
    local.get $self/272
    i32.const 17
    i32.shr_u
    local.set $*tmp/647
    local.get $self/272
    local.get $*tmp/647
    i32.xor
    local.set $x/274
    local.get $x/274
    local.tee $*tmp/634
    i32.const -312814405
    i32.mul
    local.set $x/274
    i32.const 0
    drop
    local.get $x/274
    local.set $*tmp/635
    local.get $x/274
    local.tee $*tmp/637
    i32.const 11
    i32.shr_u
    local.set $*tmp/636
    local.get $*tmp/635
    local.get $*tmp/636
    i32.xor
    local.set $x/274
    i32.const 0
    drop
    local.get $x/274
    local.tee $*tmp/638
    i32.const -1404298415
    i32.mul
    local.set $x/274
    i32.const 0
    drop
    local.get $x/274
    local.set $*tmp/639
    local.get $x/274
    local.tee $*tmp/641
    i32.const 15
    i32.shr_u
    local.set $*tmp/640
    local.get $*tmp/639
    local.get $*tmp/640
    i32.xor
    local.set $x/274
    i32.const 0
    drop
    local.get $x/274
    local.tee $*tmp/642
    i32.const 830770091
    i32.mul
    local.set $x/274
    i32.const 0
    drop
    local.get $x/274
    local.set $*tmp/643
    local.get $x/274
    local.tee $*tmp/645
    i32.const 14
    i32.shr_u
    local.set $*tmp/644
    local.get $*tmp/643
    local.get $*tmp/644
    i32.xor
    local.set $x/274
    i32.const 0
    drop
    local.get $x/274
    local.tee $*tmp/646)
  (func $@moonbitlang/core/builtin.Hash::String::hash_combine (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/271 i32) (param $hasher/270 i32) (result i32)
    local.get $hasher/270
    local.get $self/271
    call $@moonbitlang/core/builtin.Hasher::combine_string)
  (func $@moonbitlang/core/builtin.Hasher::finalize (type 13) (param $self/269 i32) (result i32)
    (local $*tmp/633 i32)
    local.get $self/269
    call $@moonbitlang/core/builtin.Hasher::avalanche
    local.tee $*tmp/633)
  (func $@moonbitlang/core/builtin.Hasher::avalanche (type 13) (param $self/268 i32) (result i32)
    (local $*tmp/622 i32) (local $*tmp/623 i32) (local $*tmp/624 i32) (local $*tmp/625 i32) (local $*tmp/626 i32) (local $*tmp/627 i32) (local $*tmp/628 i32) (local $*tmp/629 i32) (local $*tmp/630 i32) (local $*tmp/631 i32) (local $*tmp/632 i32) (local $*field/703 i32) (local $acc/267 i32)
    local.get $self/268
    i32.load offset=8 align=1
    local.set $*field/703
    local.get $self/268
    call $moonbit.decref
    local.get $*field/703
    local.set $acc/267
    local.get $acc/267
    local.set $*tmp/622
    local.get $acc/267
    local.tee $*tmp/624
    i32.const 15
    i32.shr_u
    local.set $*tmp/623
    local.get $*tmp/622
    local.get $*tmp/623
    i32.xor
    local.set $acc/267
    i32.const 0
    drop
    local.get $acc/267
    local.tee $*tmp/625
    i32.const -2048144777
    i32.mul
    local.set $acc/267
    i32.const 0
    drop
    local.get $acc/267
    local.set $*tmp/626
    local.get $acc/267
    local.tee $*tmp/628
    i32.const 13
    i32.shr_u
    local.set $*tmp/627
    local.get $*tmp/626
    local.get $*tmp/627
    i32.xor
    local.set $acc/267
    i32.const 0
    drop
    local.get $acc/267
    local.tee $*tmp/629
    i32.const -1028477379
    i32.mul
    local.set $acc/267
    i32.const 0
    drop
    local.get $acc/267
    local.set $*tmp/630
    local.get $acc/267
    local.tee $*tmp/632
    i32.const 16
    i32.shr_u
    local.set $*tmp/631
    local.get $*tmp/630
    local.get $*tmp/631
    i32.xor
    local.set $acc/267
    i32.const 0
    drop
    local.get $acc/267)
  (func $@moonbitlang/core/builtin.Hasher::combine_string (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/265 i32) (param $value/263 i32) (result i32)
    (local $*end1312/262 i32) (local $i/264 i32) (local $*tmp/619 i32) (local $*tmp/620 i32) (local $*tmp/621 i32)
    local.get $value/263
    call $moonbit.array_length
    local.set $*end1312/262
    i32.const 0
    loop (param i32)  ;; label = @1
      local.set $i/264
      local.get $i/264
      local.get $*end1312/262
      i32.lt_s
      if  ;; label = @2
        local.get $value/263
        local.get $i/264
        call $moonbit.string_item_unsafe
        local.tee $*tmp/620
        local.set $*tmp/619
        local.get $self/265
        call $moonbit.incref
        local.get $self/265
        local.get $*tmp/619
        call $@moonbitlang/core/builtin.Hasher::combine_uint
        drop
        local.get $i/264
        i32.const 1
        i32.add
        local.tee $*tmp/621
        br 1 (;@1;)
      else
        local.get $self/265
        call $moonbit.decref
        local.get $value/263
        call $moonbit.decref
      end
      i32.const 0
      drop
    end
    i32.const 0)
  (func $@moonbitlang/core/builtin.Hasher::combine_uint (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/260 i32) (param $value/261 i32) (result i32)
    (local $*tmp/617 i32) (local $acc/618 i32)
    local.get $self/260
    i32.load offset=8 align=1
    local.tee $acc/618
    i32.const 4
    i32.add
    local.set $*tmp/617
    local.get $self/260
    local.get $*tmp/617
    i32.store offset=8 align=1
    i32.const 0
    drop
    local.get $self/260
    local.get $value/261
    call $@moonbitlang/core/builtin.Hasher::consume4)
  (func $@moonbitlang/core/builtin.Hasher::consume4 (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/258 i32) (param $input/259 i32) (result i32)
    (local $*tmp/612 i32) (local $*tmp/613 i32) (local $*tmp/614 i32) (local $acc/615 i32) (local $*tmp/616 i32)
    local.get $self/258
    i32.load offset=8 align=1
    local.set $acc/615
    local.get $input/259
    i32.const -1028477379
    i32.mul
    local.set $*tmp/616
    local.get $acc/615
    local.get $*tmp/616
    i32.add
    local.tee $*tmp/614
    i32.const 17
    call $moonbitlang/core/builtin.rotl
    local.tee $*tmp/613
    i32.const 668265263
    i32.mul
    local.set $*tmp/612
    local.get $self/258
    local.get $*tmp/612
    i32.store offset=8 align=1
    local.get $self/258
    call $moonbit.decref
    i32.const 0)
  (func $@moonbitlang/core/builtin.Hasher::combine|String| (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/257 i32) (param $value/256 i32) (result i32)
    local.get $value/256
    local.get $self/257
    call $@moonbitlang/core/builtin.Hash::String::hash_combine)
  (func $@moonbitlang/core/builtin.Hasher::new.seed.default (type 17) (result i32)
    i32.const 0)
  (func $@moonbitlang/core/builtin.Hasher::new (type 13) (param $seed/255 i32) (result i32)
    (local $*tmp/610 i32) (local $*tmp/611 i32) (local $ptr/855 i32)
    local.get $seed/255
    local.tee $*tmp/611
    i32.const 374761393
    i32.add
    local.set $*tmp/610
    i32.const 12
    call $moonbit.gc.malloc
    local.tee $ptr/855
    i32.const 1572864
    i32.store offset=4 align=1
    local.get $ptr/855
    local.get $*tmp/610
    i32.store offset=8 align=1
    local.get $ptr/855)
  (func $@moonbitlang/core/builtin.Map::from_array|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 13) (param $arr/253 i32) (result i32)
    (local $m/252 i32) (local $*tmp/604 i32) (local $len/609 i32) (local $*ptr/856 i32)
    local.get $arr/253
    i32.load offset=8 align=1
    local.tee $len/609
    call $@moonbitlang/core/builtin.Map::new|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
    local.set $m/252
    local.get $m/252
    call $moonbit.incref
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $*ptr/856
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $*ptr/856
    i32.const 3
    i32.store offset=8 align=1
    local.get $*ptr/856
    local.get $m/252
    i32.store offset=12 align=1
    local.get $*ptr/856
    local.set $*tmp/604
    local.get $arr/253
    local.get $*tmp/604
    call $@moonbitlang/core/builtin.Array::each|<NoError>+<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
    drop
    local.get $m/252)
  (func $Map::from_array|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|.fn/2 (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $*env/605 i32) (param $e/254 i32) (result i32)
    (local $m/252 i32) (local $*casted_env/606 i32) (local $*tmp/607 i32) (local $*tmp/608 i32) (local $*field/704 i32) (local $*field/705 i32) (local $*cnt/799 i32) (local $*new_cnt/800 i32) (local $*cnt/801 i32) (local $*new_cnt/802 i32)
    local.get $*env/605
    local.tee $*casted_env/606
    i32.load offset=12 align=1
    local.set $*field/705
    local.get $*casted_env/606
    i32.load align=1
    local.tee $*cnt/799
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/705
      call $moonbit.incref
      local.get $*cnt/799
      i32.const 1
      i32.sub
      local.set $*new_cnt/800
      local.get $*casted_env/606
      local.get $*new_cnt/800
      i32.store align=1
    else
      local.get $*cnt/799
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*casted_env/606
        call $moonbit.free
      end
    end
    local.get $*field/705
    local.set $m/252
    local.get $e/254
    i32.load offset=8 align=1
    local.set $*tmp/607
    local.get $e/254
    i32.load offset=12 align=1
    local.set $*field/704
    local.get $e/254
    i32.load align=1
    local.tee $*cnt/801
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/704
      call $moonbit.incref
      local.get $*cnt/801
      i32.const 1
      i32.sub
      local.set $*new_cnt/802
      local.get $e/254
      local.get $*new_cnt/802
      i32.store align=1
    else
      local.get $*cnt/801
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $e/254
        call $moonbit.free
      end
    end
    local.get $*field/704
    local.set $*tmp/608
    local.get $m/252
    local.get $*tmp/607
    local.get $*tmp/608
    call $@moonbitlang/core/builtin.Map::set|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|)
  (func $@moonbitlang/core/builtin.Map::from_array|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 13) (param $arr/250 i32) (result i32)
    (local $m/249 i32) (local $*tmp/598 i32) (local $len/603 i32) (local $*ptr/857 i32)
    local.get $arr/250
    i32.load offset=8 align=1
    local.tee $len/603
    call $@moonbitlang/core/builtin.Map::new|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
    local.set $m/249
    local.get $m/249
    call $moonbit.incref
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $*ptr/857
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $*ptr/857
    i32.const 4
    i32.store offset=8 align=1
    local.get $*ptr/857
    local.get $m/249
    i32.store offset=12 align=1
    local.get $*ptr/857
    local.set $*tmp/598
    local.get $arr/250
    local.get $*tmp/598
    call $@moonbitlang/core/builtin.Array::each|<NoError>+<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>|
    drop
    local.get $m/249)
  (func $Map::from_array|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|.fn/1 (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $*env/599 i32) (param $e/251 i32) (result i32)
    (local $m/249 i32) (local $*casted_env/600 i32) (local $*tmp/601 i32) (local $*tmp/602 i32) (local $*field/706 i32) (local $*field/707 i32) (local $*field/708 i32) (local $*cnt/803 i32) (local $*new_cnt/804 i32) (local $*cnt/805 i32) (local $*new_cnt/806 i32)
    local.get $*env/599
    local.tee $*casted_env/600
    i32.load offset=12 align=1
    local.set $*field/708
    local.get $*casted_env/600
    i32.load align=1
    local.tee $*cnt/803
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/708
      call $moonbit.incref
      local.get $*cnt/803
      i32.const 1
      i32.sub
      local.set $*new_cnt/804
      local.get $*casted_env/600
      local.get $*new_cnt/804
      i32.store align=1
    else
      local.get $*cnt/803
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*casted_env/600
        call $moonbit.free
      end
    end
    local.get $*field/708
    local.set $m/249
    local.get $e/251
    i32.load offset=8 align=1
    local.tee $*field/707
    local.set $*tmp/601
    local.get $e/251
    i32.load offset=12 align=1
    local.set $*field/706
    local.get $e/251
    i32.load align=1
    local.tee $*cnt/805
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/706
      call $moonbit.incref
      local.get $*tmp/601
      call $moonbit.incref
      local.get $*cnt/805
      i32.const 1
      i32.sub
      local.set $*new_cnt/806
      local.get $e/251
      local.get $*new_cnt/806
      i32.store align=1
    else
      local.get $*cnt/805
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $e/251
        call $moonbit.free
      end
    end
    local.get $*field/706
    local.set $*tmp/602
    local.get $m/249
    local.get $*tmp/601
    local.get $*tmp/602
    call $@moonbitlang/core/builtin.Map::set|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|)
  (func $@moonbitlang/core/builtin.Array::each|<NoError>+<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/244 i32) (param $f/247 i32) (result i32)
    (local $*len/243 i32) (local $*i/245 i32) (local $v/246 i32) (local $buf/596 i32) (local $*tmp/597 i32) (local $*tmp/709 i32) (local $*field/710 i32)
    local.get $self/244
    i32.load offset=8 align=1
    local.set $*len/243
    i32.const 0
    loop (param i32)  ;; label = @1
      local.tee $*i/245
      local.get $*len/243
      i32.lt_s
      if  ;; label = @2
        local.get $self/244
        i32.load offset=12 align=1
        local.tee $*field/710
        local.tee $buf/596
        local.get $*i/245
        i32.const 4
        i32.mul
        i32.add
        i32.load offset=8 align=1
        local.tee $*tmp/709
        local.set $v/246
        local.get $f/247
        call $moonbit.incref
        local.get $v/246
        call $moonbit.incref
        local.get $f/247
        local.get $v/246
        local.get $f/247
        i32.load offset=8 align=1
        call_indirect 1 (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit)
        drop
        local.get $*i/245
        i32.const 1
        i32.add
        local.tee $*tmp/597
        br 1 (;@1;)
      else
        local.get $f/247
        call $moonbit.decref
        local.get $self/244
        call $moonbit.decref
      end
    end
    i32.const 0)
  (func $@moonbitlang/core/builtin.Array::each|<NoError>+<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>| (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/238 i32) (param $f/241 i32) (result i32)
    (local $*len/237 i32) (local $*i/239 i32) (local $v/240 i32) (local $buf/594 i32) (local $*tmp/595 i32) (local $*tmp/711 i32) (local $*field/712 i32)
    local.get $self/238
    i32.load offset=8 align=1
    local.set $*len/237
    i32.const 0
    loop (param i32)  ;; label = @1
      local.tee $*i/239
      local.get $*len/237
      i32.lt_s
      if  ;; label = @2
        local.get $self/238
        i32.load offset=12 align=1
        local.tee $*field/712
        local.tee $buf/594
        local.get $*i/239
        i32.const 4
        i32.mul
        i32.add
        i32.load offset=8 align=1
        local.tee $*tmp/711
        local.set $v/240
        local.get $f/241
        call $moonbit.incref
        local.get $v/240
        call $moonbit.incref
        local.get $f/241
        local.get $v/240
        local.get $f/241
        i32.load offset=8 align=1
        call_indirect 1 (type $<<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>>=>Unit)
        drop
        local.get $*i/239
        i32.const 1
        i32.add
        local.tee $*tmp/595
        br 1 (;@1;)
      else
        local.get $f/241
        call $moonbit.decref
        local.get $self/238
        call $moonbit.decref
      end
    end
    i32.const 0)
  (func $moonbitlang/core/builtin.rotl (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $x/235 i32) (param $r/236 i32) (result i32)
    (local $*tmp/591 i32) (local $*tmp/592 i32) (local $*tmp/593 i32)
    local.get $x/235
    local.get $r/236
    i32.shl
    local.set $*tmp/591
    i32.const 32
    local.get $r/236
    i32.sub
    local.set $*tmp/593
    local.get $x/235
    local.get $*tmp/593
    i32.shr_u
    local.set $*tmp/592
    local.get $*tmp/591
    local.get $*tmp/592
    i32.or)
  (func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_substring (type $@moonbitlang/core/builtin.Logger.method_1) (param $self/234 i32) (param $str/233 i32) (param $start/231 i32) (param $len/232 i32) (result i32)
    (local $*tmp/581 i32) (local $*tmp/582 i32) (local $*tmp/583 i32) (local $len/584 i32) (local $*tmp/585 i32) (local $data/586 i32) (local $len/587 i32) (local $*tmp/588 i32) (local $len/589 i32) (local $*tmp/590 i32) (local $*field/713 i32)
    local.get $start/231
    i32.const 0
    i32.ge_s
    if (result i32)  ;; label = @1
      local.get $len/232
      i32.const 0
      i32.ge_s
      if (result i32)  ;; label = @2
        local.get $start/231
        local.get $len/232
        i32.add
        local.set $*tmp/581
        local.get $str/233
        call $moonbit.array_length
        local.set $*tmp/582
        local.get $*tmp/581
        local.get $*tmp/582
        i32.le_s
      else
        i32.const 0
      end
    else
      i32.const 0
    end
    if (result i32)  ;; label = @1
      local.get $self/234
      i32.load offset=8 align=1
      local.set $len/584
      local.get $len/232
      i32.const 2
      i32.mul
      local.set $*tmp/585
      local.get $len/584
      local.get $*tmp/585
      i32.add
      local.set $*tmp/583
      local.get $self/234
      call $moonbit.incref
      local.get $self/234
      local.get $*tmp/583
      call $@moonbitlang/core/builtin.StringBuilder::grow_if_necessary
      drop
      local.get $self/234
      i32.load offset=12 align=1
      local.tee $*field/713
      local.set $data/586
      local.get $self/234
      i32.load offset=8 align=1
      local.set $len/587
      local.get $data/586
      call $moonbit.incref
      local.get $data/586
      local.get $len/587
      local.get $str/233
      local.get $start/231
      local.get $len/232
      call $FixedArray::blit_from_string
      drop
      local.get $self/234
      i32.load offset=8 align=1
      local.set $len/589
      local.get $len/232
      i32.const 2
      i32.mul
      local.set $*tmp/590
      local.get $len/589
      local.get $*tmp/590
      i32.add
      local.set $*tmp/588
      local.get $self/234
      local.get $*tmp/588
      i32.store offset=8 align=1
      local.get $self/234
      call $moonbit.decref
      i32.const 0
    else
      local.get $self/234
      call $moonbit.decref
      local.get $str/233
      call $moonbit.decref
      call $throw
      unreachable
    end)
  (func $@moonbitlang/core/builtin.Map::grow|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 13) (param $self/222 i32) (result i32)
    (local $old_head/221 i32) (local $new_capacity/223 i32) (local $*param/224 i32) (local $*Some/225 i32) (local $*x/226 i32) (local $*next/227 i32) (local $*key/228 i32) (local $*value/229 i32) (local $*tmp/574 i32) (local $*tmp/575 i32) (local $*tmp/576 i32) (local $*tmp/577 i32) (local $capacity/578 i32) (local $*tmp/579 i32) (local $capacity/580 i32) (local $*field/714 i32) (local $*field/715 i32) (local $*old/716 i32) (local $*old/717 i32) (local $*field/718 i32) (local $*cnt/807 i32) (local $*new_cnt/808 i32)
    local.get $self/222
    i32.load offset=32 align=1
    local.tee $*field/718
    local.set $old_head/221
    local.get $self/222
    i32.load offset=12 align=1
    local.tee $capacity/580
    i32.const 1
    i32.shl
    local.set $new_capacity/223
    i32.const 0
    local.set $*tmp/575
    local.get $new_capacity/223
    local.get $*tmp/575
    call $moonbit.ref_array_make
    local.set $*tmp/574
    local.get $self/222
    i32.load offset=28 align=1
    local.set $*old/717
    local.get $old_head/221
    if  ;; label = @1
      local.get $old_head/221
      call $moonbit.incref
    end
    local.get $*old/717
    call $moonbit.decref
    local.get $self/222
    local.get $*tmp/574
    i32.store offset=28 align=1
    i32.const 0
    drop
    local.get $self/222
    local.get $new_capacity/223
    i32.store offset=12 align=1
    i32.const 0
    drop
    local.get $new_capacity/223
    i32.const 1
    i32.sub
    local.set $*tmp/576
    local.get $self/222
    local.get $*tmp/576
    i32.store offset=16 align=1
    i32.const 0
    drop
    local.get $self/222
    i32.load offset=12 align=1
    local.tee $capacity/578
    call $moonbitlang/core/builtin.calc_grow_threshold
    local.set $*tmp/577
    local.get $self/222
    local.get $*tmp/577
    i32.store offset=20 align=1
    i32.const 0
    drop
    local.get $self/222
    i32.const 0
    i32.store offset=8 align=1
    i32.const 0
    drop
    i32.const 0
    local.set $*tmp/579
    local.get $self/222
    i32.load offset=32 align=1
    local.tee $*old/716
    if  ;; label = @1
      local.get $*old/716
      call $moonbit.decref
    end
    local.get $self/222
    local.get $*tmp/579
    i32.store offset=32 align=1
    i32.const 0
    drop
    local.get $self/222
    i32.const -1
    i32.store offset=24 align=1
    i32.const 0
    drop
    local.get $old_head/221
    loop (param i32)  ;; label = @1
      local.tee $*param/224
      i32.const 0
      i32.eq
      if  ;; label = @2
        local.get $*param/224
        if  ;; label = @3
          local.get $*param/224
          call $moonbit.decref
        end
        local.get $self/222
        call $moonbit.decref
      else
        local.get $*param/224
        local.tee $*Some/225
        local.tee $*x/226
        i32.load offset=24 align=1
        local.tee $*field/715
        local.set $*next/227
        local.get $*x/226
        i32.load offset=20 align=1
        local.set $*key/228
        local.get $*x/226
        i32.load offset=28 align=1
        local.set $*field/714
        local.get $*x/226
        i32.load align=1
        local.tee $*cnt/807
        i32.const 1
        i32.gt_s
        if  ;; label = @3
          local.get $*field/714
          call $moonbit.incref
          local.get $*next/227
          if  ;; label = @4
            local.get $*next/227
            call $moonbit.incref
          end
          local.get $*cnt/807
          i32.const 1
          i32.sub
          local.set $*new_cnt/808
          local.get $*x/226
          local.get $*new_cnt/808
          i32.store align=1
        else
          local.get $*cnt/807
          i32.const 1
          i32.eq
          if  ;; label = @4
            local.get $*x/226
            call $moonbit.free
          end
        end
        local.get $*field/714
        local.set $*value/229
        local.get $self/222
        call $moonbit.incref
        local.get $self/222
        local.get $*key/228
        local.get $*value/229
        call $@moonbitlang/core/builtin.Map::set|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
        drop
        local.get $*next/227
        br 1 (;@1;)
      end
    end
    i32.const 0)
  (func $@moonbitlang/core/builtin.Map::grow|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 13) (param $self/212 i32) (result i32)
    (local $old_head/211 i32) (local $new_capacity/213 i32) (local $*param/214 i32) (local $*Some/215 i32) (local $*x/216 i32) (local $*next/217 i32) (local $*key/218 i32) (local $*value/219 i32) (local $*tmp/567 i32) (local $*tmp/568 i32) (local $*tmp/569 i32) (local $*tmp/570 i32) (local $capacity/571 i32) (local $*tmp/572 i32) (local $capacity/573 i32) (local $*field/719 i32) (local $*field/720 i32) (local $*field/721 i32) (local $*old/722 i32) (local $*old/723 i32) (local $*field/724 i32) (local $*cnt/809 i32) (local $*new_cnt/810 i32)
    local.get $self/212
    i32.load offset=32 align=1
    local.tee $*field/724
    local.set $old_head/211
    local.get $self/212
    i32.load offset=12 align=1
    local.tee $capacity/573
    i32.const 1
    i32.shl
    local.set $new_capacity/213
    i32.const 0
    local.set $*tmp/568
    local.get $new_capacity/213
    local.get $*tmp/568
    call $moonbit.ref_array_make
    local.set $*tmp/567
    local.get $self/212
    i32.load offset=28 align=1
    local.set $*old/723
    local.get $old_head/211
    if  ;; label = @1
      local.get $old_head/211
      call $moonbit.incref
    end
    local.get $*old/723
    call $moonbit.decref
    local.get $self/212
    local.get $*tmp/567
    i32.store offset=28 align=1
    i32.const 0
    drop
    local.get $self/212
    local.get $new_capacity/213
    i32.store offset=12 align=1
    i32.const 0
    drop
    local.get $new_capacity/213
    i32.const 1
    i32.sub
    local.set $*tmp/569
    local.get $self/212
    local.get $*tmp/569
    i32.store offset=16 align=1
    i32.const 0
    drop
    local.get $self/212
    i32.load offset=12 align=1
    local.tee $capacity/571
    call $moonbitlang/core/builtin.calc_grow_threshold
    local.set $*tmp/570
    local.get $self/212
    local.get $*tmp/570
    i32.store offset=20 align=1
    i32.const 0
    drop
    local.get $self/212
    i32.const 0
    i32.store offset=8 align=1
    i32.const 0
    drop
    i32.const 0
    local.set $*tmp/572
    local.get $self/212
    i32.load offset=32 align=1
    local.tee $*old/722
    if  ;; label = @1
      local.get $*old/722
      call $moonbit.decref
    end
    local.get $self/212
    local.get $*tmp/572
    i32.store offset=32 align=1
    i32.const 0
    drop
    local.get $self/212
    i32.const -1
    i32.store offset=24 align=1
    i32.const 0
    drop
    local.get $old_head/211
    loop (param i32)  ;; label = @1
      local.tee $*param/214
      i32.const 0
      i32.eq
      if  ;; label = @2
        local.get $*param/214
        if  ;; label = @3
          local.get $*param/214
          call $moonbit.decref
        end
        local.get $self/212
        call $moonbit.decref
      else
        local.get $*param/214
        local.tee $*Some/215
        local.tee $*x/216
        i32.load offset=20 align=1
        local.tee $*field/721
        local.set $*next/217
        local.get $*x/216
        i32.load offset=24 align=1
        local.tee $*field/720
        local.set $*key/218
        local.get $*x/216
        i32.load offset=28 align=1
        local.set $*field/719
        local.get $*x/216
        i32.load align=1
        local.tee $*cnt/809
        i32.const 1
        i32.gt_s
        if  ;; label = @3
          local.get $*field/719
          call $moonbit.incref
          local.get $*key/218
          call $moonbit.incref
          local.get $*next/217
          if  ;; label = @4
            local.get $*next/217
            call $moonbit.incref
          end
          local.get $*cnt/809
          i32.const 1
          i32.sub
          local.set $*new_cnt/810
          local.get $*x/216
          local.get $*new_cnt/810
          i32.store align=1
        else
          local.get $*cnt/809
          i32.const 1
          i32.eq
          if  ;; label = @4
            local.get $*x/216
            call $moonbit.free
          end
        end
        local.get $*field/719
        local.set $*value/219
        local.get $self/212
        call $moonbit.incref
        local.get $self/212
        local.get $*key/218
        local.get $*value/219
        call $@moonbitlang/core/builtin.Map::set|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
        drop
        local.get $*next/217
        br 1 (;@1;)
      end
    end
    i32.const 0)
  (func $@moonbitlang/core/builtin.Map::set|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 15) (param $self/195 i32) (param $key/197 i32) (param $value/205 i32) (result i32)
    (local $hash/196 i32) (local $*bind/198 i32) (local $psl/199 i32) (local $idx/200 i32) (local $*bind/201 i32) (local $*Some/203 i32) (local $*curr_entry/204 i32) (local $*idx/206 i32) (local $*psl/207 i32) (local $*bind/208 i32) (local $*bind/209 i32) (local $entry/210 i32) (local $size/553 i32) (local $grow_at/554 i32) (local $*tuple/555 i32) (local $key/556 i32) (local $hash/557 i32) (local $psl/558 i32) (local $*tuple/559 i32) (local $*tmp/560 i32) (local $*tmp/561 i32) (local $*tmp/562 i32) (local $capacity_mask/563 i32) (local $entries/564 i32) (local $*tmp/565 i32) (local $capacity_mask/566 i32) (local $*field/725 i32) (local $*old/726 i32) (local $*tmp/727 i32) (local $*field/728 i32) (local $ptr/858 i32) (local $ptr/859 i32) (local $ptr/860 i32)
    local.get $self/195
    i32.load offset=8 align=1
    local.set $size/553
    local.get $self/195
    i32.load offset=20 align=1
    local.set $grow_at/554
    local.get $size/553
    local.get $grow_at/554
    i32.ge_s
    if  ;; label = @1
      local.get $self/195
      call $moonbit.incref
      local.get $self/195
      call $@moonbitlang/core/builtin.Map::grow|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
      drop
    end
    i32.const 0
    drop
    local.get $key/197
    call $@moonbitlang/core/builtin.Hash::Int::hash
    local.set $hash/196
    local.get $self/195
    i32.load offset=16 align=1
    local.set $capacity_mask/566
    local.get $hash/196
    local.get $capacity_mask/566
    i32.and
    local.set $*tmp/565
    block (result i32)  ;; label = @1
      i32.const 0
      local.get $*tmp/565
      loop (param i32 i32) (result i32)  ;; label = @2
        local.set $idx/200
        local.set $psl/199
        local.get $self/195
        i32.load offset=28 align=1
        local.tee $*field/728
        local.tee $entries/564
        local.get $idx/200
        call $moonbit.array_item
        local.tee $*tmp/727
        local.tee $*bind/201
        i32.const 0
        i32.eq
        if (result i32)  ;; label = @3
          i32.const 16
          call $moonbit.gc.malloc
          local.tee $ptr/859
          i32.const 2097152
          i32.store offset=4 align=1
          local.get $ptr/859
          local.get $psl/199
          i32.store offset=12 align=1
          local.get $ptr/859
          local.get $idx/200
          i32.store offset=8 align=1
          local.get $ptr/859
          local.tee $*tuple/555
          br 2 (;@1;)
        else
          local.get $*bind/201
          local.tee $*Some/203
          local.set $*curr_entry/204
          local.get $*curr_entry/204
          i32.load offset=16 align=1
          local.tee $hash/557
          local.get $hash/196
          i32.eq
          if (result i32)  ;; label = @4
            local.get $*curr_entry/204
            i32.load offset=20 align=1
            local.tee $key/556
            local.get $key/197
            i32.eq
          else
            i32.const 0
          end
          if  ;; label = @4
            local.get $*curr_entry/204
            call $moonbit.incref
            local.get $self/195
            call $moonbit.decref
            local.get $*curr_entry/204
            i32.load offset=28 align=1
            local.tee $*old/726
            call $moonbit.decref
            local.get $*curr_entry/204
            local.get $value/205
            i32.store offset=28 align=1
            local.get $*curr_entry/204
            call $moonbit.decref
            i32.const 0
            drop
            i32.const 0
            return
          else
            local.get $*curr_entry/204
            call $moonbit.incref
          end
          i32.const 0
          drop
          local.get $*curr_entry/204
          i32.load offset=12 align=1
          local.set $psl/558
          local.get $psl/199
          local.get $psl/558
          i32.gt_s
          if  ;; label = @4
            local.get $self/195
            call $moonbit.incref
            local.get $self/195
            local.get $idx/200
            local.get $*curr_entry/204
            call $@moonbitlang/core/builtin.Map::push_away|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
            drop
            i32.const 16
            call $moonbit.gc.malloc
            local.tee $ptr/860
            i32.const 2097152
            i32.store offset=4 align=1
            local.get $ptr/860
            local.get $psl/199
            i32.store offset=12 align=1
            local.get $ptr/860
            local.get $idx/200
            i32.store offset=8 align=1
            local.get $ptr/860
            local.tee $*tuple/559
            br 3 (;@1;)
          else
            local.get $*curr_entry/204
            call $moonbit.decref
          end
          i32.const 0
          drop
          local.get $psl/199
          i32.const 1
          i32.add
          local.set $*tmp/560
          local.get $idx/200
          i32.const 1
          i32.add
          local.set $*tmp/562
          local.get $self/195
          i32.load offset=16 align=1
          local.set $capacity_mask/563
          local.get $*tmp/562
          local.get $capacity_mask/563
          i32.and
          local.set $*tmp/561
          local.get $*tmp/560
          local.get $*tmp/561
          br 1 (;@2;)
        end
      end
    end
    local.tee $*bind/198
    i32.load offset=8 align=1
    local.set $*idx/206
    local.get $*bind/198
    i32.load offset=12 align=1
    local.set $*field/725
    local.get $*bind/198
    call $moonbit.decref
    local.get $*field/725
    local.set $*psl/207
    local.get $self/195
    i32.load offset=24 align=1
    local.set $*bind/208
    i32.const 0
    local.set $*bind/209
    i32.const 32
    call $moonbit.gc.malloc
    local.tee $ptr/858
    i32.const 3146240
    i32.store offset=4 align=1
    local.get $ptr/858
    local.get $value/205
    i32.store offset=28 align=1
    local.get $ptr/858
    local.get $key/197
    i32.store offset=20 align=1
    local.get $ptr/858
    local.get $hash/196
    i32.store offset=16 align=1
    local.get $ptr/858
    local.get $*psl/207
    i32.store offset=12 align=1
    local.get $ptr/858
    local.get $*bind/209
    i32.store offset=24 align=1
    local.get $ptr/858
    local.get $*bind/208
    i32.store offset=8 align=1
    local.get $ptr/858
    local.set $entry/210
    local.get $self/195
    local.get $*idx/206
    local.get $entry/210
    call $@moonbitlang/core/builtin.Map::add_entry_to_tail|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|)
  (func $@moonbitlang/core/builtin.Map::set|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 15) (param $self/179 i32) (param $key/181 i32) (param $value/189 i32) (result i32)
    (local $hash/180 i32) (local $*bind/182 i32) (local $psl/183 i32) (local $idx/184 i32) (local $*bind/185 i32) (local $*Some/187 i32) (local $*curr_entry/188 i32) (local $*idx/190 i32) (local $*psl/191 i32) (local $*bind/192 i32) (local $*bind/193 i32) (local $entry/194 i32) (local $size/539 i32) (local $grow_at/540 i32) (local $*tuple/541 i32) (local $key/542 i32) (local $hash/543 i32) (local $psl/544 i32) (local $*tuple/545 i32) (local $*tmp/546 i32) (local $*tmp/547 i32) (local $*tmp/548 i32) (local $capacity_mask/549 i32) (local $entries/550 i32) (local $*tmp/551 i32) (local $capacity_mask/552 i32) (local $*field/729 i32) (local $*old/730 i32) (local $*tmp/731 i32) (local $*field/732 i32) (local $*tmp/733 i32) (local $*field/734 i32) (local $ptr/861 i32) (local $ptr/862 i32) (local $ptr/863 i32)
    local.get $self/179
    i32.load offset=8 align=1
    local.set $size/539
    local.get $self/179
    i32.load offset=20 align=1
    local.set $grow_at/540
    local.get $size/539
    local.get $grow_at/540
    i32.ge_s
    if  ;; label = @1
      local.get $self/179
      call $moonbit.incref
      local.get $self/179
      call $@moonbitlang/core/builtin.Map::grow|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
      drop
    end
    i32.const 0
    drop
    local.get $key/181
    call $moonbit.incref
    local.get $key/181
    call $@moonbitlang/core/builtin.Hash::$default_impl::hash|String|
    local.set $hash/180
    local.get $self/179
    i32.load offset=16 align=1
    local.set $capacity_mask/552
    local.get $hash/180
    local.get $capacity_mask/552
    i32.and
    local.set $*tmp/551
    block (result i32)  ;; label = @1
      i32.const 0
      local.get $*tmp/551
      loop (param i32 i32) (result i32)  ;; label = @2
        local.set $idx/184
        local.set $psl/183
        local.get $self/179
        i32.load offset=28 align=1
        local.tee $*field/734
        local.tee $entries/550
        local.get $idx/184
        call $moonbit.array_item
        local.tee $*tmp/733
        local.tee $*bind/185
        i32.const 0
        i32.eq
        if (result i32)  ;; label = @3
          i32.const 16
          call $moonbit.gc.malloc
          local.tee $ptr/862
          i32.const 2097152
          i32.store offset=4 align=1
          local.get $ptr/862
          local.get $psl/183
          i32.store offset=12 align=1
          local.get $ptr/862
          local.get $idx/184
          i32.store offset=8 align=1
          local.get $ptr/862
          local.tee $*tuple/541
          br 2 (;@1;)
        else
          local.get $*bind/185
          local.tee $*Some/187
          local.set $*curr_entry/188
          local.get $*curr_entry/188
          i32.load offset=16 align=1
          local.tee $hash/543
          local.get $hash/180
          i32.eq
          if (result i32)  ;; label = @4
            local.get $*curr_entry/188
            i32.load offset=24 align=1
            local.tee $*field/732
            local.tee $key/542
            local.get $key/181
            call $moonbit.string_equal
            local.tee $*tmp/731
          else
            i32.const 0
          end
          if  ;; label = @4
            local.get $*curr_entry/188
            call $moonbit.incref
            local.get $key/181
            call $moonbit.decref
            local.get $self/179
            call $moonbit.decref
            local.get $*curr_entry/188
            i32.load offset=28 align=1
            local.tee $*old/730
            call $moonbit.decref
            local.get $*curr_entry/188
            local.get $value/189
            i32.store offset=28 align=1
            local.get $*curr_entry/188
            call $moonbit.decref
            i32.const 0
            drop
            i32.const 0
            return
          else
            local.get $*curr_entry/188
            call $moonbit.incref
          end
          i32.const 0
          drop
          local.get $*curr_entry/188
          i32.load offset=12 align=1
          local.set $psl/544
          local.get $psl/183
          local.get $psl/544
          i32.gt_s
          if  ;; label = @4
            local.get $self/179
            call $moonbit.incref
            local.get $self/179
            local.get $idx/184
            local.get $*curr_entry/188
            call $@moonbitlang/core/builtin.Map::push_away|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
            drop
            i32.const 16
            call $moonbit.gc.malloc
            local.tee $ptr/863
            i32.const 2097152
            i32.store offset=4 align=1
            local.get $ptr/863
            local.get $psl/183
            i32.store offset=12 align=1
            local.get $ptr/863
            local.get $idx/184
            i32.store offset=8 align=1
            local.get $ptr/863
            local.tee $*tuple/545
            br 3 (;@1;)
          else
            local.get $*curr_entry/188
            call $moonbit.decref
          end
          i32.const 0
          drop
          local.get $psl/183
          i32.const 1
          i32.add
          local.set $*tmp/546
          local.get $idx/184
          i32.const 1
          i32.add
          local.set $*tmp/548
          local.get $self/179
          i32.load offset=16 align=1
          local.set $capacity_mask/549
          local.get $*tmp/548
          local.get $capacity_mask/549
          i32.and
          local.set $*tmp/547
          local.get $*tmp/546
          local.get $*tmp/547
          br 1 (;@2;)
        end
      end
    end
    local.tee $*bind/182
    i32.load offset=8 align=1
    local.set $*idx/190
    local.get $*bind/182
    i32.load offset=12 align=1
    local.set $*field/729
    local.get $*bind/182
    call $moonbit.decref
    local.get $*field/729
    local.set $*psl/191
    local.get $self/179
    i32.load offset=24 align=1
    local.set $*bind/192
    i32.const 0
    local.set $*bind/193
    i32.const 32
    call $moonbit.gc.malloc
    local.tee $ptr/861
    i32.const 2622208
    i32.store offset=4 align=1
    local.get $ptr/861
    local.get $value/189
    i32.store offset=28 align=1
    local.get $ptr/861
    local.get $key/181
    i32.store offset=24 align=1
    local.get $ptr/861
    local.get $hash/180
    i32.store offset=16 align=1
    local.get $ptr/861
    local.get $*psl/191
    i32.store offset=12 align=1
    local.get $ptr/861
    local.get $*bind/193
    i32.store offset=20 align=1
    local.get $ptr/861
    local.get $*bind/192
    i32.store offset=8 align=1
    local.get $ptr/861
    local.set $entry/194
    local.get $self/179
    local.get $*idx/190
    local.get $entry/194
    call $@moonbitlang/core/builtin.Map::add_entry_to_tail|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|)
  (func $@moonbitlang/core/builtin.Map::push_away|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 15) (param $self/173 i32) (param $idx/178 i32) (param $entry/177 i32) (result i32)
    (local $psl/169 i32) (local $idx/170 i32) (local $entry/171 i32) (local $*bind/172 i32) (local $*Some/175 i32) (local $*curr_entry/176 i32) (local $psl/523 i32) (local $*tmp/524 i32) (local $*tmp/525 i32) (local $*tmp/526 i32) (local $capacity_mask/527 i32) (local $psl/528 i32) (local $*tmp/529 i32) (local $*tmp/530 i32) (local $*tmp/531 i32) (local $capacity_mask/532 i32) (local $entries/533 i32) (local $*tmp/534 i32) (local $*tmp/535 i32) (local $*tmp/536 i32) (local $capacity_mask/537 i32) (local $psl/538 i32) (local $*tmp/735 i32) (local $*field/736 i32)
    local.get $entry/177
    i32.load offset=12 align=1
    local.tee $psl/538
    i32.const 1
    i32.add
    local.set $*tmp/534
    local.get $idx/178
    i32.const 1
    i32.add
    local.set $*tmp/536
    local.get $self/173
    i32.load offset=16 align=1
    local.set $capacity_mask/537
    local.get $*tmp/536
    local.get $capacity_mask/537
    i32.and
    local.set $*tmp/535
    block  ;; label = @1
      local.get $*tmp/534
      local.get $*tmp/535
      local.get $entry/177
      loop (param i32 i32 i32)  ;; label = @2
        local.set $entry/171
        local.set $idx/170
        local.set $psl/169
        local.get $self/173
        i32.load offset=28 align=1
        local.tee $*field/736
        local.tee $entries/533
        local.get $idx/170
        call $moonbit.array_item
        local.tee $*tmp/735
        local.tee $*bind/172
        i32.const 0
        i32.eq
        if  ;; label = @3
          local.get $entry/171
          local.get $psl/169
          i32.store offset=12 align=1
          i32.const 0
          drop
          local.get $self/173
          local.get $entry/171
          local.get $idx/170
          call $@moonbitlang/core/builtin.Map::set_entry|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
          drop
          br 2 (;@1;)
        else
          local.get $*bind/172
          local.tee $*Some/175
          local.set $*curr_entry/176
          local.get $*curr_entry/176
          i32.load offset=12 align=1
          local.set $psl/523
          local.get $psl/169
          local.get $psl/523
          i32.gt_s
          if  ;; label = @4
            local.get $entry/171
            local.get $psl/169
            i32.store offset=12 align=1
            i32.const 0
            drop
            local.get $*curr_entry/176
            call $moonbit.incref
            local.get $self/173
            call $moonbit.incref
            local.get $self/173
            local.get $entry/171
            local.get $idx/170
            call $@moonbitlang/core/builtin.Map::set_entry|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
            drop
            local.get $*curr_entry/176
            i32.load offset=12 align=1
            local.tee $psl/528
            i32.const 1
            i32.add
            local.set $*tmp/524
            local.get $idx/170
            i32.const 1
            i32.add
            local.set $*tmp/526
            local.get $self/173
            i32.load offset=16 align=1
            local.set $capacity_mask/527
            local.get $*tmp/526
            local.get $capacity_mask/527
            i32.and
            local.set $*tmp/525
            local.get $*tmp/524
            local.get $*tmp/525
            local.get $*curr_entry/176
            br 2 (;@2;)
          else
            local.get $psl/169
            i32.const 1
            i32.add
            local.set $*tmp/529
            local.get $idx/170
            i32.const 1
            i32.add
            local.set $*tmp/531
            local.get $self/173
            i32.load offset=16 align=1
            local.set $capacity_mask/532
            local.get $*tmp/531
            local.get $capacity_mask/532
            i32.and
            local.set $*tmp/530
            local.get $*tmp/529
            local.get $*tmp/530
            local.get $entry/171
            br 2 (;@2;)
          end
          i32.const 0
          drop
        end
        i32.const 0
        drop
      end
    end
    i32.const 0)
  (func $@moonbitlang/core/builtin.Map::push_away|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 15) (param $self/163 i32) (param $idx/168 i32) (param $entry/167 i32) (result i32)
    (local $psl/159 i32) (local $idx/160 i32) (local $entry/161 i32) (local $*bind/162 i32) (local $*Some/165 i32) (local $*curr_entry/166 i32) (local $psl/507 i32) (local $*tmp/508 i32) (local $*tmp/509 i32) (local $*tmp/510 i32) (local $capacity_mask/511 i32) (local $psl/512 i32) (local $*tmp/513 i32) (local $*tmp/514 i32) (local $*tmp/515 i32) (local $capacity_mask/516 i32) (local $entries/517 i32) (local $*tmp/518 i32) (local $*tmp/519 i32) (local $*tmp/520 i32) (local $capacity_mask/521 i32) (local $psl/522 i32) (local $*tmp/737 i32) (local $*field/738 i32)
    local.get $entry/167
    i32.load offset=12 align=1
    local.tee $psl/522
    i32.const 1
    i32.add
    local.set $*tmp/518
    local.get $idx/168
    i32.const 1
    i32.add
    local.set $*tmp/520
    local.get $self/163
    i32.load offset=16 align=1
    local.set $capacity_mask/521
    local.get $*tmp/520
    local.get $capacity_mask/521
    i32.and
    local.set $*tmp/519
    block  ;; label = @1
      local.get $*tmp/518
      local.get $*tmp/519
      local.get $entry/167
      loop (param i32 i32 i32)  ;; label = @2
        local.set $entry/161
        local.set $idx/160
        local.set $psl/159
        local.get $self/163
        i32.load offset=28 align=1
        local.tee $*field/738
        local.tee $entries/517
        local.get $idx/160
        call $moonbit.array_item
        local.tee $*tmp/737
        local.tee $*bind/162
        i32.const 0
        i32.eq
        if  ;; label = @3
          local.get $entry/161
          local.get $psl/159
          i32.store offset=12 align=1
          i32.const 0
          drop
          local.get $self/163
          local.get $entry/161
          local.get $idx/160
          call $@moonbitlang/core/builtin.Map::set_entry|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
          drop
          br 2 (;@1;)
        else
          local.get $*bind/162
          local.tee $*Some/165
          local.set $*curr_entry/166
          local.get $*curr_entry/166
          i32.load offset=12 align=1
          local.set $psl/507
          local.get $psl/159
          local.get $psl/507
          i32.gt_s
          if  ;; label = @4
            local.get $entry/161
            local.get $psl/159
            i32.store offset=12 align=1
            i32.const 0
            drop
            local.get $*curr_entry/166
            call $moonbit.incref
            local.get $self/163
            call $moonbit.incref
            local.get $self/163
            local.get $entry/161
            local.get $idx/160
            call $@moonbitlang/core/builtin.Map::set_entry|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
            drop
            local.get $*curr_entry/166
            i32.load offset=12 align=1
            local.tee $psl/512
            i32.const 1
            i32.add
            local.set $*tmp/508
            local.get $idx/160
            i32.const 1
            i32.add
            local.set $*tmp/510
            local.get $self/163
            i32.load offset=16 align=1
            local.set $capacity_mask/511
            local.get $*tmp/510
            local.get $capacity_mask/511
            i32.and
            local.set $*tmp/509
            local.get $*tmp/508
            local.get $*tmp/509
            local.get $*curr_entry/166
            br 2 (;@2;)
          else
            local.get $psl/159
            i32.const 1
            i32.add
            local.set $*tmp/513
            local.get $idx/160
            i32.const 1
            i32.add
            local.set $*tmp/515
            local.get $self/163
            i32.load offset=16 align=1
            local.set $capacity_mask/516
            local.get $*tmp/515
            local.get $capacity_mask/516
            i32.and
            local.set $*tmp/514
            local.get $*tmp/513
            local.get $*tmp/514
            local.get $entry/161
            br 2 (;@2;)
          end
          i32.const 0
          drop
        end
        i32.const 0
        drop
      end
    end
    i32.const 0)
  (func $@moonbitlang/core/builtin.Map::set_entry|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 15) (param $self/153 i32) (param $entry/155 i32) (param $new_idx/154 i32) (result i32)
    (local $*bind/156 i32) (local $*Some/157 i32) (local $*next/158 i32) (local $entries/505 i32) (local $*tmp/506 i32) (local $*field/739 i32) (local $*old/740 i32) (local $*field/741 i32) (local $*cnt/811 i32) (local $*field/812 i32) (local $*new_cnt/813 i32)
    local.get $self/153
    i32.load offset=28 align=1
    local.tee $*field/741
    local.set $entries/505
    local.get $entry/155
    call $moonbit.incref
    local.get $entry/155
    local.set $*tmp/506
    local.get $entries/505
    local.get $new_idx/154
    call $moonbit.array_item
    local.tee $*old/740
    if  ;; label = @1
      local.get $*old/740
      call $moonbit.decref
    end
    local.get $entries/505
    local.get $new_idx/154
    local.get $*tmp/506
    call $moonbit.array_set_item
    i32.const 0
    drop
    local.get $entry/155
    i32.load offset=24 align=1
    local.set $*field/739
    local.get $entry/155
    i32.load align=1
    local.tee $*cnt/811
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/739
      if  ;; label = @2
        local.get $*field/739
        call $moonbit.incref
      end
      local.get $*cnt/811
      i32.const 1
      i32.sub
      local.set $*new_cnt/813
      local.get $entry/155
      local.get $*new_cnt/813
      i32.store align=1
    else
      local.get $*cnt/811
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $entry/155
        i32.load offset=28 align=1
        local.tee $*field/812
        call $moonbit.decref
        local.get $entry/155
        call $moonbit.free
      end
    end
    local.get $*field/739
    local.tee $*bind/156
    i32.const 0
    i32.eq
    if (result i32)  ;; label = @1
      local.get $*bind/156
      if  ;; label = @2
        local.get $*bind/156
        call $moonbit.decref
      end
      local.get $self/153
      local.get $new_idx/154
      i32.store offset=24 align=1
      local.get $self/153
      call $moonbit.decref
      i32.const 0
    else
      local.get $self/153
      call $moonbit.decref
      local.get $*bind/156
      local.tee $*Some/157
      local.set $*next/158
      local.get $*next/158
      local.get $new_idx/154
      i32.store offset=8 align=1
      local.get $*next/158
      call $moonbit.decref
      i32.const 0
    end)
  (func $@moonbitlang/core/builtin.Map::set_entry|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 15) (param $self/147 i32) (param $entry/149 i32) (param $new_idx/148 i32) (result i32)
    (local $*bind/150 i32) (local $*Some/151 i32) (local $*next/152 i32) (local $entries/503 i32) (local $*tmp/504 i32) (local $*field/742 i32) (local $*old/743 i32) (local $*field/744 i32) (local $*cnt/814 i32) (local $*field/815 i32) (local $*field/816 i32) (local $*new_cnt/817 i32)
    local.get $self/147
    i32.load offset=28 align=1
    local.tee $*field/744
    local.set $entries/503
    local.get $entry/149
    call $moonbit.incref
    local.get $entry/149
    local.set $*tmp/504
    local.get $entries/503
    local.get $new_idx/148
    call $moonbit.array_item
    local.tee $*old/743
    if  ;; label = @1
      local.get $*old/743
      call $moonbit.decref
    end
    local.get $entries/503
    local.get $new_idx/148
    local.get $*tmp/504
    call $moonbit.array_set_item
    i32.const 0
    drop
    local.get $entry/149
    i32.load offset=20 align=1
    local.set $*field/742
    local.get $entry/149
    i32.load align=1
    local.tee $*cnt/814
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/742
      if  ;; label = @2
        local.get $*field/742
        call $moonbit.incref
      end
      local.get $*cnt/814
      i32.const 1
      i32.sub
      local.set $*new_cnt/817
      local.get $entry/149
      local.get $*new_cnt/817
      i32.store align=1
    else
      local.get $*cnt/814
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $entry/149
        i32.load offset=28 align=1
        local.tee $*field/816
        call $moonbit.decref
        local.get $entry/149
        i32.load offset=24 align=1
        local.tee $*field/815
        call $moonbit.decref
        local.get $entry/149
        call $moonbit.free
      end
    end
    local.get $*field/742
    local.tee $*bind/150
    i32.const 0
    i32.eq
    if (result i32)  ;; label = @1
      local.get $*bind/150
      if  ;; label = @2
        local.get $*bind/150
        call $moonbit.decref
      end
      local.get $self/147
      local.get $new_idx/148
      i32.store offset=24 align=1
      local.get $self/147
      call $moonbit.decref
      i32.const 0
    else
      local.get $self/147
      call $moonbit.decref
      local.get $*bind/150
      local.tee $*Some/151
      local.set $*next/152
      local.get $*next/152
      local.get $new_idx/148
      i32.store offset=8 align=1
      local.get $*next/152
      call $moonbit.decref
      i32.const 0
    end)
  (func $@moonbitlang/core/builtin.Map::add_entry_to_tail|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 15) (param $self/144 i32) (param $idx/146 i32) (param $entry/145 i32) (result i32)
    (local $*bind/143 i32) (local $*tmp/494 i32) (local $*tmp/495 i32) (local $*tmp/496 i32) (local $*tmp/497 i32) (local $entries/498 i32) (local $entries/499 i32) (local $*tmp/500 i32) (local $*tmp/501 i32) (local $size/502 i32) (local $*old/745 i32) (local $*field/746 i32) (local $*old/747 i32) (local $*old/748 i32) (local $*tmp/749 i32) (local $*field/750 i32)
    local.get $self/144
    i32.load offset=24 align=1
    local.tee $*bind/143
    i32.const -1
    i32.eq
    if  ;; label = @1
      local.get $entry/145
      call $moonbit.incref
      local.get $entry/145
      local.set $*tmp/494
      local.get $self/144
      i32.load offset=32 align=1
      local.tee $*old/747
      if  ;; label = @2
        local.get $*old/747
        call $moonbit.decref
      end
      local.get $self/144
      local.get $*tmp/494
      i32.store offset=32 align=1
      i32.const 0
      drop
    else
      local.get $self/144
      i32.load offset=28 align=1
      local.tee $*field/750
      local.tee $entries/498
      local.get $*bind/143
      call $moonbit.array_item
      local.tee $*tmp/749
      local.tee $*tmp/497
      if  ;; label = @2
        local.get $*tmp/497
        call $moonbit.incref
      end
      local.get $*tmp/497
      call $Option::unwrap|@moonbitlang/core/builtin.Entry<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
      local.set $*tmp/495
      local.get $entry/145
      call $moonbit.incref
      local.get $entry/145
      local.set $*tmp/496
      local.get $*tmp/495
      i32.load offset=24 align=1
      local.tee $*old/748
      if  ;; label = @2
        local.get $*old/748
        call $moonbit.decref
      end
      local.get $*tmp/495
      local.get $*tmp/496
      i32.store offset=24 align=1
      local.get $*tmp/495
      call $moonbit.decref
      i32.const 0
      drop
    end
    i32.const 0
    drop
    local.get $self/144
    local.get $idx/146
    i32.store offset=24 align=1
    i32.const 0
    drop
    local.get $self/144
    i32.load offset=28 align=1
    local.tee $*field/746
    local.set $entries/499
    local.get $entry/145
    local.set $*tmp/500
    local.get $entries/499
    local.get $idx/146
    call $moonbit.array_item
    local.tee $*old/745
    if  ;; label = @1
      local.get $*old/745
      call $moonbit.decref
    end
    local.get $entries/499
    local.get $idx/146
    local.get $*tmp/500
    call $moonbit.array_set_item
    i32.const 0
    drop
    local.get $self/144
    i32.load offset=8 align=1
    local.tee $size/502
    i32.const 1
    i32.add
    local.set $*tmp/501
    local.get $self/144
    local.get $*tmp/501
    i32.store offset=8 align=1
    local.get $self/144
    call $moonbit.decref
    i32.const 0)
  (func $@moonbitlang/core/builtin.Map::add_entry_to_tail|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 15) (param $self/140 i32) (param $idx/142 i32) (param $entry/141 i32) (result i32)
    (local $*bind/139 i32) (local $*tmp/485 i32) (local $*tmp/486 i32) (local $*tmp/487 i32) (local $*tmp/488 i32) (local $entries/489 i32) (local $entries/490 i32) (local $*tmp/491 i32) (local $*tmp/492 i32) (local $size/493 i32) (local $*old/751 i32) (local $*field/752 i32) (local $*old/753 i32) (local $*old/754 i32) (local $*tmp/755 i32) (local $*field/756 i32)
    local.get $self/140
    i32.load offset=24 align=1
    local.tee $*bind/139
    i32.const -1
    i32.eq
    if  ;; label = @1
      local.get $entry/141
      call $moonbit.incref
      local.get $entry/141
      local.set $*tmp/485
      local.get $self/140
      i32.load offset=32 align=1
      local.tee $*old/753
      if  ;; label = @2
        local.get $*old/753
        call $moonbit.decref
      end
      local.get $self/140
      local.get $*tmp/485
      i32.store offset=32 align=1
      i32.const 0
      drop
    else
      local.get $self/140
      i32.load offset=28 align=1
      local.tee $*field/756
      local.tee $entries/489
      local.get $*bind/139
      call $moonbit.array_item
      local.tee $*tmp/755
      local.tee $*tmp/488
      if  ;; label = @2
        local.get $*tmp/488
        call $moonbit.incref
      end
      local.get $*tmp/488
      call $Option::unwrap|@moonbitlang/core/builtin.Entry<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>|
      local.set $*tmp/486
      local.get $entry/141
      call $moonbit.incref
      local.get $entry/141
      local.set $*tmp/487
      local.get $*tmp/486
      i32.load offset=20 align=1
      local.tee $*old/754
      if  ;; label = @2
        local.get $*old/754
        call $moonbit.decref
      end
      local.get $*tmp/486
      local.get $*tmp/487
      i32.store offset=20 align=1
      local.get $*tmp/486
      call $moonbit.decref
      i32.const 0
      drop
    end
    i32.const 0
    drop
    local.get $self/140
    local.get $idx/142
    i32.store offset=24 align=1
    i32.const 0
    drop
    local.get $self/140
    i32.load offset=28 align=1
    local.tee $*field/752
    local.set $entries/490
    local.get $entry/141
    local.set $*tmp/491
    local.get $entries/490
    local.get $idx/142
    call $moonbit.array_item
    local.tee $*old/751
    if  ;; label = @1
      local.get $*old/751
      call $moonbit.decref
    end
    local.get $entries/490
    local.get $idx/142
    local.get $*tmp/491
    call $moonbit.array_set_item
    i32.const 0
    drop
    local.get $self/140
    i32.load offset=8 align=1
    local.tee $size/493
    i32.const 1
    i32.add
    local.set $*tmp/492
    local.get $self/140
    local.get $*tmp/492
    i32.store offset=8 align=1
    local.get $self/140
    call $moonbit.decref
    i32.const 0)
  (func $Option::unwrap|@moonbitlang/core/builtin.Entry<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 13) (param $self/136 i32) (result i32)
    (local $*Some/137 i32) (local $*x/138 i32)
    local.get $self/136
    i32.const 0
    i32.eq
    if (result i32)  ;; label = @1
      local.get $self/136
      if  ;; label = @2
        local.get $self/136
        call $moonbit.decref
      end
      call $throw
      unreachable
    else
      local.get $self/136
      local.tee $*Some/137
      local.tee $*x/138
    end)
  (func $Option::unwrap|@moonbitlang/core/builtin.Entry<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>| (type 13) (param $self/133 i32) (result i32)
    (local $*Some/134 i32) (local $*x/135 i32)
    local.get $self/133
    i32.const 0
    i32.eq
    if (result i32)  ;; label = @1
      local.get $self/133
      if  ;; label = @2
        local.get $self/133
        call $moonbit.decref
      end
      call $throw
      unreachable
    else
      local.get $self/133
      local.tee $*Some/134
      local.tee $*x/135
    end)
  (func $@moonbitlang/core/builtin.Map::new|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type 13) (param $capacity/128 i32) (result i32)
    (local $capacity/127 i32) (local $*bind/129 i32) (local $*bind/130 i32) (local $*bind/131 i32) (local $*bind/132 i32) (local $*tmp/484 i32) (local $ptr/864 i32)
    i32.const 8
    local.get $capacity/128
    call $moonbitlang/core/builtin.power_2_above
    local.set $capacity/127
    local.get $capacity/127
    i32.const 1
    i32.sub
    local.set $*bind/129
    local.get $capacity/127
    call $moonbitlang/core/builtin.calc_grow_threshold
    local.set $*bind/130
    i32.const 0
    local.set $*tmp/484
    local.get $capacity/127
    local.get $*tmp/484
    call $moonbit.ref_array_make
    local.set $*bind/131
    i32.const 0
    local.set $*bind/132
    i32.const 36
    call $moonbit.gc.malloc
    local.tee $ptr/864
    i32.const 3670528
    i32.store offset=4 align=1
    local.get $ptr/864
    i32.const -1
    i32.store offset=24 align=1
    local.get $ptr/864
    local.get $*bind/132
    i32.store offset=32 align=1
    local.get $ptr/864
    local.get $*bind/130
    i32.store offset=20 align=1
    local.get $ptr/864
    local.get $*bind/129
    i32.store offset=16 align=1
    local.get $ptr/864
    local.get $capacity/127
    i32.store offset=12 align=1
    local.get $ptr/864
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/864
    local.get $*bind/131
    i32.store offset=28 align=1
    local.get $ptr/864)
  (func $@moonbitlang/core/builtin.Map::new|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type 13) (param $capacity/122 i32) (result i32)
    (local $capacity/121 i32) (local $*bind/123 i32) (local $*bind/124 i32) (local $*bind/125 i32) (local $*bind/126 i32) (local $*tmp/483 i32) (local $ptr/865 i32)
    i32.const 8
    local.get $capacity/122
    call $moonbitlang/core/builtin.power_2_above
    local.set $capacity/121
    local.get $capacity/121
    i32.const 1
    i32.sub
    local.set $*bind/123
    local.get $capacity/121
    call $moonbitlang/core/builtin.calc_grow_threshold
    local.set $*bind/124
    i32.const 0
    local.set $*tmp/483
    local.get $capacity/121
    local.get $*tmp/483
    call $moonbit.ref_array_make
    local.set $*bind/125
    i32.const 0
    local.set $*bind/126
    i32.const 36
    call $moonbit.gc.malloc
    local.tee $ptr/865
    i32.const 3670528
    i32.store offset=4 align=1
    local.get $ptr/865
    i32.const -1
    i32.store offset=24 align=1
    local.get $ptr/865
    local.get $*bind/126
    i32.store offset=32 align=1
    local.get $ptr/865
    local.get $*bind/124
    i32.store offset=20 align=1
    local.get $ptr/865
    local.get $*bind/123
    i32.store offset=16 align=1
    local.get $ptr/865
    local.get $capacity/121
    i32.store offset=12 align=1
    local.get $ptr/865
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/865
    local.get $*bind/125
    i32.store offset=28 align=1
    local.get $ptr/865)
  (func $moonbitlang/core/builtin.power_2_above (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $x/120 i32) (param $n/117 i32) (result i32)
    (local $i/116 i32) (local $next/119 i32)
    block (result i32)  ;; label = @1
      local.get $x/120
      loop (param i32) (result i32)  ;; label = @2
        local.set $i/116
        local.get $i/116
        local.get $n/117
        i32.ge_s
        if  ;; label = @3
          local.get $i/116
          br 2 (;@1;)
        end
        i32.const 0
        drop
        local.get $i/116
        i32.const 1
        i32.shl
        local.set $next/119
        local.get $next/119
        i32.const 0
        i32.lt_s
        if  ;; label = @3
          local.get $i/116
          br 2 (;@1;)
        end
        i32.const 0
        drop
        local.get $next/119
        br 0 (;@2;)
      end
    end)
  (func $moonbitlang/core/builtin.calc_grow_threshold (type 13) (param $capacity/115 i32) (result i32)
    (local $*tmp/482 i32)
    local.get $capacity/115
    i32.const 13
    i32.mul
    local.tee $*tmp/482
    i32.const 16
    i32.div_s)
  (func $@moonbitlang/core/builtin.Map::get|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>| (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/111 i32) (param $key/107 i32) (result i32)
    (local $hash/106 i32) (local $i/108 i32) (local $idx/109 i32) (local $*bind/110 i32) (local $*Some/112 i32) (local $*entry/113 i32) (local $*tmp/468 i32) (local $key/469 i32) (local $hash/470 i32) (local $*tmp/471 i32) (local $value/472 i32) (local $psl/473 i32) (local $*tmp/474 i32) (local $*tmp/475 i32) (local $*tmp/476 i32) (local $*tmp/477 i32) (local $capacity_mask/478 i32) (local $entries/479 i32) (local $*tmp/480 i32) (local $capacity_mask/481 i32) (local $*field/757 i32) (local $*field/758 i32) (local $*tmp/759 i32) (local $*field/760 i32) (local $*tmp/761 i32) (local $*field/762 i32) (local $*cnt/818 i32) (local $*field/819 i32) (local $*field/820 i32) (local $*new_cnt/821 i32)
    local.get $key/107
    call $moonbit.incref
    local.get $key/107
    call $@moonbitlang/core/builtin.Hash::$default_impl::hash|String|
    local.set $hash/106
    local.get $self/111
    i32.load offset=16 align=1
    local.set $capacity_mask/481
    local.get $hash/106
    local.get $capacity_mask/481
    i32.and
    local.set $*tmp/480
    block (result i32)  ;; label = @1
      i32.const 0
      local.get $*tmp/480
      loop (param i32 i32) (result i32)  ;; label = @2
        local.set $idx/109
        local.set $i/108
        local.get $self/111
        i32.load offset=28 align=1
        local.tee $*field/762
        local.tee $entries/479
        local.get $idx/109
        call $moonbit.array_item
        local.tee $*tmp/761
        local.tee $*bind/110
        i32.const 0
        i32.eq
        if (result i32)  ;; label = @3
          local.get $*bind/110
          if  ;; label = @4
            local.get $*bind/110
            call $moonbit.incref
          end
          local.get $self/111
          call $moonbit.decref
          local.get $*bind/110
          if  ;; label = @4
            local.get $*bind/110
            call $moonbit.decref
          end
          local.get $key/107
          call $moonbit.decref
          i32.const 0
          local.tee $*tmp/468
          br 2 (;@1;)
        else
          local.get $*bind/110
          local.tee $*Some/112
          local.set $*entry/113
          local.get $*entry/113
          i32.load offset=16 align=1
          local.tee $hash/470
          local.get $hash/106
          i32.eq
          if (result i32)  ;; label = @4
            local.get $*entry/113
            i32.load offset=24 align=1
            local.tee $*field/760
            local.tee $key/469
            local.get $key/107
            call $moonbit.string_equal
            local.tee $*tmp/759
          else
            i32.const 0
          end
          if  ;; label = @4
            local.get $*entry/113
            call $moonbit.incref
            local.get $self/111
            call $moonbit.decref
            local.get $key/107
            call $moonbit.decref
            local.get $*entry/113
            i32.load offset=28 align=1
            local.set $*field/758
            local.get $*entry/113
            i32.load align=1
            local.tee $*cnt/818
            i32.const 1
            i32.gt_s
            if  ;; label = @5
              local.get $*field/758
              call $moonbit.incref
              local.get $*cnt/818
              i32.const 1
              i32.sub
              local.set $*new_cnt/821
              local.get $*entry/113
              local.get $*new_cnt/821
              i32.store align=1
            else
              local.get $*cnt/818
              i32.const 1
              i32.eq
              if  ;; label = @6
                local.get $*entry/113
                i32.load offset=24 align=1
                local.tee $*field/820
                call $moonbit.decref
                local.get $*entry/113
                i32.load offset=20 align=1
                local.tee $*field/819
                if  ;; label = @7
                  local.get $*field/819
                  call $moonbit.decref
                end
                local.get $*entry/113
                call $moonbit.free
              end
            end
            local.get $*field/758
            local.tee $value/472
            local.tee $*tmp/471
            br 3 (;@1;)
          else
            local.get $*entry/113
            call $moonbit.incref
          end
          i32.const 0
          drop
          local.get $*entry/113
          i32.load offset=12 align=1
          local.set $*field/757
          local.get $*entry/113
          call $moonbit.decref
          local.get $*field/757
          local.set $psl/473
          local.get $i/108
          local.get $psl/473
          i32.gt_s
          if  ;; label = @4
            local.get $self/111
            call $moonbit.decref
            local.get $key/107
            call $moonbit.decref
            i32.const 0
            local.tee $*tmp/474
            br 3 (;@1;)
          end
          i32.const 0
          drop
          local.get $i/108
          i32.const 1
          i32.add
          local.set $*tmp/475
          local.get $idx/109
          i32.const 1
          i32.add
          local.set $*tmp/477
          local.get $self/111
          i32.load offset=16 align=1
          local.set $capacity_mask/478
          local.get $*tmp/477
          local.get $capacity_mask/478
          i32.and
          local.set $*tmp/476
          local.get $*tmp/475
          local.get $*tmp/476
          br 1 (;@2;)
        end
      end
    end)
  (func $@moonbitlang/core/builtin.Map::get|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>| (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/102 i32) (param $key/98 i32) (result i32)
    (local $hash/97 i32) (local $i/99 i32) (local $idx/100 i32) (local $*bind/101 i32) (local $*Some/103 i32) (local $*entry/104 i32) (local $*tmp/454 i32) (local $key/455 i32) (local $hash/456 i32) (local $*tmp/457 i32) (local $value/458 i32) (local $psl/459 i32) (local $*tmp/460 i32) (local $*tmp/461 i32) (local $*tmp/462 i32) (local $*tmp/463 i32) (local $capacity_mask/464 i32) (local $entries/465 i32) (local $*tmp/466 i32) (local $capacity_mask/467 i32) (local $*field/763 i32) (local $*field/764 i32) (local $*tmp/765 i32) (local $*field/766 i32) (local $*cnt/822 i32) (local $*field/823 i32) (local $*new_cnt/824 i32)
    local.get $key/98
    call $@moonbitlang/core/builtin.Hash::Int::hash
    local.set $hash/97
    local.get $self/102
    i32.load offset=16 align=1
    local.set $capacity_mask/467
    local.get $hash/97
    local.get $capacity_mask/467
    i32.and
    local.set $*tmp/466
    block (result i32)  ;; label = @1
      i32.const 0
      local.get $*tmp/466
      loop (param i32 i32) (result i32)  ;; label = @2
        local.set $idx/100
        local.set $i/99
        local.get $self/102
        i32.load offset=28 align=1
        local.tee $*field/766
        local.tee $entries/465
        local.get $idx/100
        call $moonbit.array_item
        local.tee $*tmp/765
        local.tee $*bind/101
        i32.const 0
        i32.eq
        if (result i32)  ;; label = @3
          local.get $*bind/101
          if  ;; label = @4
            local.get $*bind/101
            call $moonbit.incref
          end
          local.get $self/102
          call $moonbit.decref
          local.get $*bind/101
          if  ;; label = @4
            local.get $*bind/101
            call $moonbit.decref
          end
          i32.const 0
          local.tee $*tmp/454
          br 2 (;@1;)
        else
          local.get $*bind/101
          local.tee $*Some/103
          local.set $*entry/104
          local.get $*entry/104
          i32.load offset=16 align=1
          local.tee $hash/456
          local.get $hash/97
          i32.eq
          if (result i32)  ;; label = @4
            local.get $*entry/104
            i32.load offset=20 align=1
            local.tee $key/455
            local.get $key/98
            i32.eq
          else
            i32.const 0
          end
          if  ;; label = @4
            local.get $*entry/104
            call $moonbit.incref
            local.get $self/102
            call $moonbit.decref
            local.get $*entry/104
            i32.load offset=28 align=1
            local.set $*field/764
            local.get $*entry/104
            i32.load align=1
            local.tee $*cnt/822
            i32.const 1
            i32.gt_s
            if  ;; label = @5
              local.get $*field/764
              call $moonbit.incref
              local.get $*cnt/822
              i32.const 1
              i32.sub
              local.set $*new_cnt/824
              local.get $*entry/104
              local.get $*new_cnt/824
              i32.store align=1
            else
              local.get $*cnt/822
              i32.const 1
              i32.eq
              if  ;; label = @6
                local.get $*entry/104
                i32.load offset=24 align=1
                local.tee $*field/823
                if  ;; label = @7
                  local.get $*field/823
                  call $moonbit.decref
                end
                local.get $*entry/104
                call $moonbit.free
              end
            end
            local.get $*field/764
            local.tee $value/458
            local.tee $*tmp/457
            br 3 (;@1;)
          else
            local.get $*entry/104
            call $moonbit.incref
          end
          i32.const 0
          drop
          local.get $*entry/104
          i32.load offset=12 align=1
          local.set $*field/763
          local.get $*entry/104
          call $moonbit.decref
          local.get $*field/763
          local.set $psl/459
          local.get $i/99
          local.get $psl/459
          i32.gt_s
          if  ;; label = @4
            local.get $self/102
            call $moonbit.decref
            i32.const 0
            local.tee $*tmp/460
            br 3 (;@1;)
          end
          i32.const 0
          drop
          local.get $i/99
          i32.const 1
          i32.add
          local.set $*tmp/461
          local.get $idx/100
          i32.const 1
          i32.add
          local.set $*tmp/463
          local.get $self/102
          i32.load offset=16 align=1
          local.set $capacity_mask/464
          local.get $*tmp/463
          local.get $capacity_mask/464
          i32.and
          local.set $*tmp/462
          local.get $*tmp/461
          local.get $*tmp/462
          br 1 (;@2;)
        end
      end
    end)
  (func $@moonbitlang/core/builtin.Show::@moonbitlang/core/builtin.Failure::output (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/93 i32) (param $logger/96 i32) (result i32)
    (local $*Failure/94 i32) (local $*msg/95 i32) (local $*tmp/451 i32) (local $*tmp/452 i32) (local $*tmp/453 i32) (local $*field/767 i32) (local $*cnt/825 i32) (local $*new_cnt/826 i32)
    local.get $self/93
    local.tee $*Failure/94
    i32.load offset=8 align=1
    local.set $*field/767
    local.get $*Failure/94
    i32.load align=1
    local.tee $*cnt/825
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/767
      call $moonbit.incref
      local.get $*cnt/825
      i32.const 1
      i32.sub
      local.set $*new_cnt/826
      local.get $*Failure/94
      local.get $*new_cnt/826
      i32.store align=1
    else
      local.get $*cnt/825
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*Failure/94
        call $moonbit.free
      end
    end
    local.get $*field/767
    local.set $*msg/95
    local.get $*msg/95
    call $@moonbitlang/core/builtin.Show::String::to_string
    local.set $*tmp/453
    i32.const 10608
    local.get $*tmp/453
    call $moonbit.add_string
    local.tee $*tmp/452
    i32.const 10416
    call $moonbit.add_string
    local.tee $*tmp/451
    local.get $logger/96
    call $@moonbitlang/core/builtin.Show::String::output)
  (func $@moonbitlang/core/builtin.Show::String::to_string (type 13) (param $self/92 i32) (result i32)
    local.get $self/92)
  (func $@moonbitlang/core/builtin.Show::String::output (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/85 i32) (param $logger/82 i32) (result i32)
    (local $segment_start/83 i32) (local $*env/84 i32) (local $*end2140/86 i32) (local $i/87 i32) (local $c/89 i32) (local $*bind/90 i32) (local $*bind/442 i32) (local $*tmp/443 i32) (local $*bind/444 i32) (local $*tmp/445 i32) (local $*tmp/446 i32) (local $*tmp/447 i32) (local $*tmp/448 i32) (local $*tmp/449 i32) (local $*tmp/450 i32) (local $*tmp/768 i32) (local $ptr/867 i32) (local $ptr/868 i32)
    local.get $logger/82
    call $moonbit.incref
    local.get $logger/82
    i32.const 34
    local.get $logger/82
    i32.load offset=16 align=1
    call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
    drop
    i32.const 12
    call $moonbit.gc.malloc
    local.tee $ptr/868
    i32.const 1572864
    i32.store offset=4 align=1
    local.get $ptr/868
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/868
    local.set $segment_start/83
    local.get $logger/82
    call $moonbit.incref
    local.get $self/85
    call $moonbit.incref
    i32.const 20
    call $moonbit.gc.malloc
    local.tee $ptr/867
    i32.const 1049344
    i32.store offset=4 align=1
    local.get $ptr/867
    local.get $self/85
    i32.store offset=16 align=1
    local.get $ptr/867
    local.get $logger/82
    i32.store offset=12 align=1
    local.get $ptr/867
    local.get $segment_start/83
    i32.store offset=8 align=1
    local.get $ptr/867
    local.set $*env/84
    local.get $self/85
    call $moonbit.array_length
    local.set $*end2140/86
    i32.const 0
    loop (param i32)  ;; label = @1
      local.set $i/87
      local.get $i/87
      local.get $*end2140/86
      i32.lt_s
      if  ;; label = @2
        block (result i32)  ;; label = @3
          block  ;; label = @4
            local.get $self/85
            local.get $i/87
            call $moonbit.string_item_unsafe
            local.tee $*bind/90
            i32.const 34
            i32.eq
            if  ;; label = @5
              local.get $*bind/90
              local.set $c/89
              br 1 (;@4;)
            else
              local.get $*bind/90
              i32.const 92
              i32.eq
              if  ;; label = @6
                local.get $*bind/90
                local.set $c/89
                br 2 (;@4;)
              else
                local.get $*bind/90
                i32.const 10
                i32.eq
                if  ;; label = @7
                  local.get $*env/84
                  call $moonbit.incref
                  local.get $*env/84
                  local.get $i/87
                  call $moonbitlang/core/builtin.output.flush_segment|2137
                  drop
                  local.get $logger/82
                  call $moonbit.incref
                  local.get $logger/82
                  i32.const 10656
                  local.get $logger/82
                  i32.load offset=8 align=1
                  call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_0)
                  drop
                else
                  local.get $*bind/90
                  i32.const 13
                  i32.eq
                  if  ;; label = @8
                    local.get $*env/84
                    call $moonbit.incref
                    local.get $*env/84
                    local.get $i/87
                    call $moonbitlang/core/builtin.output.flush_segment|2137
                    drop
                    local.get $logger/82
                    call $moonbit.incref
                    local.get $logger/82
                    i32.const 10672
                    local.get $logger/82
                    i32.load offset=8 align=1
                    call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_0)
                    drop
                  else
                    local.get $*bind/90
                    i32.const 8
                    i32.eq
                    if  ;; label = @9
                      local.get $*env/84
                      call $moonbit.incref
                      local.get $*env/84
                      local.get $i/87
                      call $moonbitlang/core/builtin.output.flush_segment|2137
                      drop
                      local.get $logger/82
                      call $moonbit.incref
                      local.get $logger/82
                      i32.const 10688
                      local.get $logger/82
                      i32.load offset=8 align=1
                      call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_0)
                      drop
                    else
                      local.get $*bind/90
                      i32.const 9
                      i32.eq
                      if  ;; label = @10
                        local.get $*env/84
                        call $moonbit.incref
                        local.get $*env/84
                        local.get $i/87
                        call $moonbitlang/core/builtin.output.flush_segment|2137
                        drop
                        local.get $logger/82
                        call $moonbit.incref
                        local.get $logger/82
                        i32.const 10704
                        local.get $logger/82
                        i32.load offset=8 align=1
                        call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_0)
                        drop
                      else
                        local.get $*bind/90
                        i32.const 32
                        i32.lt_s
                        if  ;; label = @11
                          local.get $*env/84
                          call $moonbit.incref
                          local.get $*env/84
                          local.get $i/87
                          call $moonbitlang/core/builtin.output.flush_segment|2137
                          drop
                          local.get $logger/82
                          call $moonbit.incref
                          local.get $logger/82
                          i32.const 10640
                          local.get $logger/82
                          i32.load offset=8 align=1
                          call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_0)
                          drop
                          local.get $*bind/90
                          i32.const 16
                          i32.div_s
                          local.tee $*tmp/446
                          call $moonbitlang/core/builtin.to_hex_digit
                          local.set $*tmp/445
                          local.get $logger/82
                          call $moonbit.incref
                          local.get $logger/82
                          local.get $*tmp/445
                          local.get $logger/82
                          i32.load offset=16 align=1
                          call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
                          drop
                          local.get $*bind/90
                          i32.const 16
                          i32.rem_s
                          local.tee $*tmp/448
                          call $moonbitlang/core/builtin.to_hex_digit
                          local.set $*tmp/447
                          local.get $logger/82
                          call $moonbit.incref
                          local.get $logger/82
                          local.get $*tmp/447
                          local.get $logger/82
                          i32.load offset=16 align=1
                          call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
                          drop
                          local.get $logger/82
                          local.tee $*bind/444
                          call $moonbit.incref
                          local.get $*bind/444
                          i32.const 125
                          local.get $*bind/444
                          i32.load offset=16 align=1
                          call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
                          drop
                          i32.const 0
                          drop
                        end
                        i32.const 0
                        drop
                      end
                    end
                  end
                end
              end
            end
            i32.const 0
            br 1 (;@3;)
          end
          local.get $*env/84
          call $moonbit.incref
          local.get $*env/84
          local.get $i/87
          call $moonbitlang/core/builtin.output.flush_segment|2137
          drop
          local.get $logger/82
          call $moonbit.incref
          local.get $logger/82
          i32.const 92
          local.get $logger/82
          i32.load offset=16 align=1
          call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
          drop
          local.get $logger/82
          local.set $*bind/442
          local.get $c/89
          local.set $*tmp/443
          local.get $*bind/442
          call $moonbit.incref
          local.get $*bind/442
          local.get $*tmp/443
          local.get $*bind/442
          i32.load offset=16 align=1
          call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
          drop
          i32.const 0
        end
        drop
        local.get $i/87
        i32.const 1
        i32.add
        local.tee $*tmp/449
        br 1 (;@1;)
      end
      i32.const 0
      drop
    end
    i32.const 0
    drop
    local.get $self/85
    call $moonbit.array_length
    local.set $*tmp/768
    local.get $self/85
    call $moonbit.decref
    local.get $*tmp/768
    local.set $*tmp/450
    local.get $*env/84
    local.get $*tmp/450
    call $moonbitlang/core/builtin.output.flush_segment|2137
    drop
    local.get $logger/82
    i32.const 34
    local.get $logger/82
    i32.load offset=16 align=1
    call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2))
  (func $moonbitlang/core/builtin.output.flush_segment|2137 (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $*env/78 i32) (param $i/81 i32) (result i32)
    (local $self/77 i32) (local $logger/79 i32) (local $segment_start/80 i32) (local $val/437 i32) (local $val/438 i32) (local $*tmp/439 i32) (local $val/440 i32) (local $*tmp/441 i32) (local $*field/769 i32) (local $*field/770 i32) (local $*field/771 i32) (local $*cnt/827 i32) (local $*new_cnt/828 i32)
    local.get $*env/78
    i32.load offset=16 align=1
    local.tee $*field/771
    local.set $self/77
    local.get $*env/78
    i32.load offset=12 align=1
    local.tee $*field/770
    local.set $logger/79
    local.get $*env/78
    i32.load offset=8 align=1
    local.set $*field/769
    local.get $*env/78
    i32.load align=1
    local.tee $*cnt/827
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $self/77
      call $moonbit.incref
      local.get $logger/79
      call $moonbit.incref
      local.get $*field/769
      call $moonbit.incref
      local.get $*cnt/827
      i32.const 1
      i32.sub
      local.set $*new_cnt/828
      local.get $*env/78
      local.get $*new_cnt/828
      i32.store align=1
    else
      local.get $*cnt/827
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*env/78
        call $moonbit.free
      end
    end
    local.get $*field/769
    local.set $segment_start/80
    local.get $segment_start/80
    i32.load offset=8 align=1
    local.set $val/437
    local.get $i/81
    local.get $val/437
    i32.gt_s
    if  ;; label = @1
      local.get $segment_start/80
      i32.load offset=8 align=1
      local.set $val/438
      local.get $segment_start/80
      i32.load offset=8 align=1
      local.set $val/440
      local.get $i/81
      local.get $val/440
      i32.sub
      local.set $*tmp/439
      local.get $logger/79
      local.get $self/77
      local.get $val/438
      local.get $*tmp/439
      local.get $logger/79
      i32.load offset=12 align=1
      call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_1)
      drop
    else
      local.get $logger/79
      call $moonbit.decref
      local.get $self/77
      call $moonbit.decref
    end
    i32.const 0
    drop
    local.get $i/81
    i32.const 1
    i32.add
    local.set $*tmp/441
    local.get $segment_start/80
    local.get $*tmp/441
    i32.store offset=8 align=1
    local.get $segment_start/80
    call $moonbit.decref
    i32.const 0)
  (func $moonbitlang/core/builtin.to_hex_digit (type 13) (param $i/76 i32) (result i32)
    (local $*tmp/434 i32) (local $*tmp/435 i32) (local $*tmp/436 i32)
    local.get $i/76
    i32.const 10
    i32.lt_s
    if (result i32)  ;; label = @1
      local.get $i/76
      i32.const 48
      i32.add
      local.tee $*tmp/434
    else
      local.get $i/76
      i32.const 97
      i32.add
      local.tee $*tmp/436
      i32.const 10
      i32.sub
      local.tee $*tmp/435
    end)
  (func $Int::to_string.radix.default (type 17) (result i32)
    i32.const 10)
  (func $Int::to_string (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/75 i32) (param $radix/74 i32) (result i32)
    (local $buf/73 i32) (local $*tmp/432 i32) (local $*tmp/433 i32) (local $ptr/869 i32)
    local.get $radix/74
    call $Int::output_size_hint
    local.tee $*tmp/433
    call $@moonbitlang/core/builtin.StringBuilder::new
    local.set $buf/73
    local.get $buf/73
    call $moonbit.incref
    i32.const 24
    call $moonbit.gc.malloc
    local.tee $ptr/869
    i32.const 2621696
    i32.store offset=4 align=1
    local.get $ptr/869
    i32.const 2
    i32.store offset=16 align=1
    local.get $ptr/869
    i32.const 1
    i32.store offset=12 align=1
    local.get $ptr/869
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/869
    local.get $buf/73
    i32.store offset=20 align=1
    local.get $ptr/869
    local.set $*tmp/432
    local.get $self/75
    local.get $*tmp/432
    local.get $radix/74
    call $Int::output
    drop
    local.get $buf/73
    call $@moonbitlang/core/builtin.StringBuilder::to_string)
  (func $Int::output_size_hint (type 13) (param $radix/72 i32) (result i32)
    local.get $radix/72
    i32.const 2
    i32.ge_s
    if (result i32)  ;; label = @1
      local.get $radix/72
      i32.const 7
      i32.lt_s
    else
      i32.const 0
    end
    if (result i32)  ;; label = @1
      i32.const 36
    else
      local.get $radix/72
      i32.const 8
      i32.ge_s
      if (result i32)  ;; label = @2
        local.get $radix/72
        i32.const 15
        i32.lt_s
      else
        i32.const 0
      end
      if (result i32)  ;; label = @2
        i32.const 18
      else
        local.get $radix/72
        i32.const 16
        i32.ge_s
        if (result i32)  ;; label = @3
          local.get $radix/72
          i32.const 36
          i32.le_s
        else
          i32.const 0
        end
        if (result i32)  ;; label = @3
          i32.const 10
        else
          i32.const 10720
          call $moonbitlang/core/abort.abort|Int|
        end
      end
    end)
  (func $Int::output (type 15) (param $self/68 i32) (param $logger/69 i32) (param $radix/71 i32) (result i32)
    (local $*env/70 i32) (local $*tmp/431 i32) (local $ptr/870 i32)
    local.get $self/68
    i32.const 0
    i32.lt_s
    if  ;; label = @1
      local.get $logger/69
      call $moonbit.incref
      local.get $logger/69
      i32.const 45
      local.get $logger/69
      i32.load offset=16 align=1
      call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2)
      drop
    end
    i32.const 0
    drop
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/870
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $ptr/870
    local.get $logger/69
    i32.store offset=12 align=1
    local.get $ptr/870
    local.get $radix/71
    i32.store offset=8 align=1
    local.get $ptr/870
    local.set $*env/70
    local.get $self/68
    call $moonbitlang/core/builtin.output.abs|1505
    local.set $*tmp/431
    local.get $*env/70
    local.get $*tmp/431
    call $moonbitlang/core/builtin.output.write_digits|1507)
  (func $moonbitlang/core/builtin.output.write_digits|1507 (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $*env/64 i32) (param $num/67 i32) (result i32)
    (local $logger/63 i32) (local $radix/65 i32) (local $num2/66 i32) (local $*tmp/427 i32) (local $*tmp/428 i32) (local $*tmp/429 i32) (local $*tmp/430 i32) (local $*field/772 i32) (local $*cnt/829 i32) (local $*new_cnt/830 i32)
    local.get $*env/64
    i32.load offset=12 align=1
    local.tee $*field/772
    local.set $logger/63
    local.get $*env/64
    i32.load offset=8 align=1
    local.set $radix/65
    local.get $num/67
    local.get $radix/65
    i32.div_s
    local.set $num2/66
    local.get $num2/66
    i32.const 0
    i32.ne
    if  ;; label = @1
      local.get $logger/63
      call $moonbit.incref
      local.get $*env/64
      local.get $num2/66
      call $moonbitlang/core/builtin.output.write_digits|1507
      drop
    else
      local.get $*env/64
      i32.load align=1
      local.tee $*cnt/829
      i32.const 1
      i32.gt_s
      if  ;; label = @2
        local.get $logger/63
        call $moonbit.incref
        local.get $*cnt/829
        i32.const 1
        i32.sub
        local.set $*new_cnt/830
        local.get $*env/64
        local.get $*new_cnt/830
        i32.store align=1
      else
        local.get $*cnt/829
        i32.const 1
        i32.eq
        if  ;; label = @3
          local.get $*env/64
          call $moonbit.free
        end
      end
    end
    i32.const 0
    drop
    local.get $num/67
    local.get $radix/65
    i32.rem_s
    local.tee $*tmp/430
    call $moonbitlang/core/builtin.output.abs|1505
    local.set $*tmp/429
    i32.const 10792
    local.get $*tmp/429
    call $moonbit.string_item
    local.tee $*tmp/428
    local.set $*tmp/427
    local.get $logger/63
    local.get $*tmp/427
    local.get $logger/63
    i32.load offset=16 align=1
    call_indirect 1 (type $@moonbitlang/core/builtin.Logger.method_2))
  (func $moonbitlang/core/builtin.output.abs|1505 (type 13) (param $n/62 i32) (result i32)
    local.get $n/62
    i32.const 0
    i32.lt_s
    if (result i32)  ;; label = @1
      i32.const 0
      local.get $n/62
      i32.sub
    else
      local.get $n/62
    end)
  (func $String::escape (type 13) (param $self/61 i32) (result i32)
    (local $buf/60 i32) (local $*tmp/425 i32) (local $*tmp/426 i32) (local $ptr/871 i32)
    call $@moonbitlang/core/builtin.StringBuilder::new.size_hint.default
    local.tee $*tmp/426
    call $@moonbitlang/core/builtin.StringBuilder::new
    local.set $buf/60
    local.get $buf/60
    call $moonbit.incref
    i32.const 24
    call $moonbit.gc.malloc
    local.tee $ptr/871
    i32.const 2621696
    i32.store offset=4 align=1
    local.get $ptr/871
    i32.const 2
    i32.store offset=16 align=1
    local.get $ptr/871
    i32.const 1
    i32.store offset=12 align=1
    local.get $ptr/871
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/871
    local.get $buf/60
    i32.store offset=20 align=1
    local.get $ptr/871
    local.set $*tmp/425
    local.get $self/61
    local.get $*tmp/425
    call $@moonbitlang/core/builtin.Show::String::output
    drop
    local.get $buf/60
    call $@moonbitlang/core/builtin.StringBuilder::to_string)
  (func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_string (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/58 i32) (param $str/59 i32) (result i32)
    (local $*tmp/414 i32) (local $len/415 i32) (local $*tmp/416 i32) (local $*tmp/417 i32) (local $data/418 i32) (local $len/419 i32) (local $*tmp/420 i32) (local $*tmp/421 i32) (local $len/422 i32) (local $*tmp/423 i32) (local $*tmp/424 i32) (local $*tmp/773 i32) (local $*field/774 i32)
    local.get $self/58
    i32.load offset=8 align=1
    local.set $len/415
    local.get $str/59
    call $moonbit.array_length
    local.tee $*tmp/417
    i32.const 2
    i32.mul
    local.set $*tmp/416
    local.get $len/415
    local.get $*tmp/416
    i32.add
    local.set $*tmp/414
    local.get $self/58
    call $moonbit.incref
    local.get $self/58
    local.get $*tmp/414
    call $@moonbitlang/core/builtin.StringBuilder::grow_if_necessary
    drop
    local.get $self/58
    i32.load offset=12 align=1
    local.tee $*field/774
    local.set $data/418
    local.get $self/58
    i32.load offset=8 align=1
    local.set $len/419
    local.get $str/59
    call $moonbit.array_length
    local.set $*tmp/420
    local.get $data/418
    call $moonbit.incref
    local.get $str/59
    call $moonbit.incref
    local.get $data/418
    local.get $len/419
    local.get $str/59
    i32.const 0
    local.get $*tmp/420
    call $FixedArray::blit_from_string
    drop
    local.get $self/58
    i32.load offset=8 align=1
    local.set $len/422
    local.get $str/59
    call $moonbit.array_length
    local.set $*tmp/773
    local.get $str/59
    call $moonbit.decref
    local.get $*tmp/773
    local.tee $*tmp/424
    i32.const 2
    i32.mul
    local.set $*tmp/423
    local.get $len/422
    local.get $*tmp/423
    i32.add
    local.set $*tmp/421
    local.get $self/58
    local.get $*tmp/421
    i32.store offset=8 align=1
    local.get $self/58
    call $moonbit.decref
    i32.const 0)
  (func $FixedArray::blit_from_string (type 20) (param $self/50 i32) (param $bytes_offset/45 i32) (param $str/52 i32) (param $str_offset/48 i32) (param $length/46 i32) (result i32)
    (local $e1/44 i32) (local $e2/47 i32) (local $len1/49 i32) (local $len2/51 i32) (local $end_str_offset/53 i32) (local $i/54 i32) (local $j/55 i32) (local $c/56 i32) (local $*tmp/404 i32) (local $*tmp/405 i32) (local $*tmp/406 i32) (local $*tmp/407 i32) (local $*tmp/408 i32) (local $*tmp/409 i32) (local $*tmp/410 i32) (local $*tmp/411 i32) (local $*tmp/412 i32) (local $*tmp/413 i32)
    local.get $bytes_offset/45
    local.get $length/46
    i32.add
    local.tee $*tmp/413
    i32.const 1
    i32.sub
    local.set $e1/44
    local.get $str_offset/48
    local.get $length/46
    i32.add
    local.tee $*tmp/412
    i32.const 1
    i32.sub
    local.set $e2/47
    local.get $self/50
    call $moonbit.array_length
    local.set $len1/49
    local.get $str/52
    call $moonbit.array_length
    local.set $len2/51
    local.get $length/46
    i32.const 0
    i32.ge_s
    if (result i32)  ;; label = @1
      local.get $bytes_offset/45
      i32.const 0
      i32.ge_s
      if (result i32)  ;; label = @2
        local.get $e1/44
        local.get $len1/49
        i32.lt_s
        if (result i32)  ;; label = @3
          local.get $str_offset/48
          i32.const 0
          i32.ge_s
          if (result i32)  ;; label = @4
            local.get $e2/47
            local.get $len2/51
            i32.lt_s
          else
            i32.const 0
          end
        else
          i32.const 0
        end
      else
        i32.const 0
      end
    else
      i32.const 0
    end
    if (result i32)  ;; label = @1
      local.get $str_offset/48
      local.get $length/46
      i32.add
      local.set $end_str_offset/53
      local.get $str_offset/48
      local.get $bytes_offset/45
      loop (param i32 i32)  ;; label = @2
        local.set $j/55
        local.set $i/54
        local.get $i/54
        local.get $end_str_offset/53
        i32.lt_s
        if  ;; label = @3
          local.get $str/52
          local.get $i/54
          call $moonbit.string_item_unsafe
          local.tee $*tmp/409
          local.set $c/56
          local.get $c/56
          i32.const 255
          i32.and
          local.tee $*tmp/405
          call $UInt::to_byte
          local.set $*tmp/404
          local.get $self/50
          local.get $j/55
          local.get $*tmp/404
          call $moonbit.bytes_set_item
          drop
          local.get $j/55
          i32.const 1
          i32.add
          local.set $*tmp/406
          local.get $c/56
          i32.const 8
          i32.shr_u
          local.tee $*tmp/408
          call $UInt::to_byte
          local.set $*tmp/407
          local.get $self/50
          local.get $*tmp/406
          local.get $*tmp/407
          call $moonbit.bytes_set_item
          drop
          local.get $i/54
          i32.const 1
          i32.add
          local.set $*tmp/410
          local.get $j/55
          i32.const 2
          i32.add
          local.set $*tmp/411
          local.get $*tmp/410
          local.get $*tmp/411
          br 1 (;@2;)
        else
          local.get $str/52
          call $moonbit.decref
          local.get $self/50
          call $moonbit.decref
        end
        i32.const 0
        drop
      end
      i32.const 0
    else
      local.get $str/52
      call $moonbit.decref
      local.get $self/50
      call $moonbit.decref
      call $throw
      unreachable
    end)
  (func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_char (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/41 i32) (param $ch/43 i32) (result i32)
    (local $inc/42 i32) (local $*tmp/398 i32) (local $len/399 i32) (local $*tmp/400 i32) (local $len/401 i32) (local $data/402 i32) (local $len/403 i32) (local $*field/775 i32)
    local.get $self/41
    i32.load offset=8 align=1
    local.tee $len/399
    i32.const 4
    i32.add
    local.set $*tmp/398
    local.get $self/41
    call $moonbit.incref
    local.get $self/41
    local.get $*tmp/398
    call $@moonbitlang/core/builtin.StringBuilder::grow_if_necessary
    drop
    local.get $self/41
    i32.load offset=12 align=1
    local.tee $*field/775
    local.set $data/402
    local.get $self/41
    i32.load offset=8 align=1
    local.set $len/403
    local.get $data/402
    call $moonbit.incref
    local.get $data/402
    local.get $len/403
    local.get $ch/43
    call $FixedArray::set_utf16le_char
    local.set $inc/42
    local.get $self/41
    i32.load offset=8 align=1
    local.tee $len/401
    local.get $inc/42
    i32.add
    local.set $*tmp/400
    local.get $self/41
    local.get $*tmp/400
    i32.store offset=8 align=1
    local.get $self/41
    call $moonbit.decref
    i32.const 0)
  (func $@moonbitlang/core/builtin.StringBuilder::grow_if_necessary (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/36 i32) (param $required/37 i32) (result i32)
    (local $current_len/35 i32) (local $new_data/40 i32) (local $*tmp/391 i32) (local $*tmp/392 i32) (local $data/393 i32) (local $len/394 i32) (local $*tmp/395 i32) (local $*tmp/396 i32) (local $data/397 i32) (local $*old/776 i32) (local $*field/777 i32) (local $*tmp/778 i32) (local $*field/779 i32) (local $enough_space/38 i32)
    local.get $self/36
    i32.load offset=12 align=1
    local.tee $*field/779
    local.tee $data/397
    call $moonbit.array_length
    local.tee $*tmp/778
    local.set $current_len/35
    local.get $required/37
    local.get $current_len/35
    i32.le_s
    if  ;; label = @1
      local.get $self/36
      call $moonbit.decref
      i32.const 0
      return
    end
    i32.const 0
    drop
    local.get $current_len/35
    local.set $enough_space/38
    loop  ;; label = @1
      local.get $enough_space/38
      local.tee $*tmp/391
      local.get $required/37
      i32.lt_s
      if  ;; label = @2
        local.get $enough_space/38
        local.tee $*tmp/392
        i32.const 2
        i32.mul
        local.set $enough_space/38
        i32.const 0
        drop
        br 1 (;@1;)
      end
    end
    i32.const 0
    drop
    local.get $enough_space/38
    local.set $*tmp/395
    call $@moonbitlang/core/builtin.Default::Byte::default
    local.set $*tmp/396
    local.get $*tmp/395
    local.get $*tmp/396
    call $moonbit.bytes_make
    local.set $new_data/40
    local.get $self/36
    i32.load offset=12 align=1
    local.tee $*field/777
    local.set $data/393
    local.get $self/36
    i32.load offset=8 align=1
    local.set $len/394
    local.get $data/393
    call $moonbit.incref
    local.get $new_data/40
    call $moonbit.incref
    local.get $new_data/40
    i32.const 0
    local.get $data/393
    i32.const 0
    local.get $len/394
    call $FixedArray::unsafe_blit|Byte|
    drop
    local.get $self/36
    i32.load offset=12 align=1
    local.tee $*old/776
    call $moonbit.decref
    local.get $self/36
    local.get $new_data/40
    i32.store offset=12 align=1
    local.get $self/36
    call $moonbit.decref
    i32.const 0)
  (func $@moonbitlang/core/builtin.Default::Byte::default (type 17) (result i32)
    i32.const 0)
  (func $FixedArray::unsafe_blit|Byte| (type 20) (param $dst/26 i32) (param $dst_offset/28 i32) (param $src/27 i32) (param $src_offset/29 i32) (param $len/31 i32) (result i32)
    (local $i/30 i32) (local $i/33 i32) (local $*tmp/382 i32) (local $*tmp/383 i32) (local $*tmp/384 i32) (local $*tmp/385 i32) (local $*tmp/386 i32) (local $*tmp/387 i32) (local $*tmp/388 i32) (local $*tmp/389 i32) (local $*tmp/390 i32)
    local.get $dst/26
    local.get $src/27
    i32.eq
    if (result i32)  ;; label = @1
      local.get $dst_offset/28
      local.get $src_offset/29
      i32.lt_s
    else
      i32.const 0
    end
    if (result i32)  ;; label = @1
      i32.const 0
      loop (param i32)  ;; label = @2
        local.set $i/30
        local.get $i/30
        local.get $len/31
        i32.lt_s
        if  ;; label = @3
          local.get $dst_offset/28
          local.get $i/30
          i32.add
          local.set $*tmp/382
          local.get $src_offset/29
          local.get $i/30
          i32.add
          local.set $*tmp/384
          local.get $src/27
          local.get $*tmp/384
          call $moonbit.bytes_item
          local.set $*tmp/383
          local.get $dst/26
          local.get $*tmp/382
          local.get $*tmp/383
          call $moonbit.bytes_set_item
          drop
          local.get $i/30
          i32.const 1
          i32.add
          local.tee $*tmp/385
          br 1 (;@2;)
        else
          local.get $src/27
          call $moonbit.decref
          local.get $dst/26
          call $moonbit.decref
        end
        i32.const 0
        drop
      end
      i32.const 0
    else
      local.get $len/31
      i32.const 1
      i32.sub
      local.tee $*tmp/390
      loop (param i32)  ;; label = @2
        local.set $i/33
        local.get $i/33
        i32.const 0
        i32.ge_s
        if  ;; label = @3
          local.get $dst_offset/28
          local.get $i/33
          i32.add
          local.set $*tmp/386
          local.get $src_offset/29
          local.get $i/33
          i32.add
          local.set $*tmp/388
          local.get $src/27
          local.get $*tmp/388
          call $moonbit.bytes_item
          local.set $*tmp/387
          local.get $dst/26
          local.get $*tmp/386
          local.get $*tmp/387
          call $moonbit.bytes_set_item
          drop
          local.get $i/33
          i32.const 1
          i32.sub
          local.tee $*tmp/389
          br 1 (;@2;)
        else
          local.get $src/27
          call $moonbit.decref
          local.get $dst/26
          call $moonbit.decref
        end
        i32.const 0
        drop
      end
      i32.const 0
    end)
  (func $FixedArray::set_utf16le_char (type 15) (param $self/21 i32) (param $offset/22 i32) (param $value/20 i32) (result i32)
    (local $code/19 i32) (local $hi/23 i32) (local $lo/24 i32) (local $hi/25 i32) (local $*tmp/364 i32) (local $*tmp/365 i32) (local $*tmp/366 i32) (local $*tmp/367 i32) (local $*tmp/368 i32) (local $*tmp/369 i32) (local $*tmp/370 i32) (local $*tmp/371 i32) (local $*tmp/372 i32) (local $*tmp/373 i32) (local $*tmp/374 i32) (local $*tmp/375 i32) (local $*tmp/376 i32) (local $*tmp/377 i32) (local $*tmp/378 i32) (local $*tmp/379 i32) (local $*tmp/380 i32) (local $*tmp/381 i32)
    local.get $value/20
    call $Char::to_uint
    local.set $code/19
    local.get $code/19
    i32.const 65536
    i32.lt_u
    if (result i32)  ;; label = @1
      local.get $code/19
      i32.const 255
      i32.and
      local.tee $*tmp/365
      call $UInt::to_byte
      local.set $*tmp/364
      local.get $self/21
      local.get $offset/22
      local.get $*tmp/364
      call $moonbit.bytes_set_item
      drop
      local.get $offset/22
      i32.const 1
      i32.add
      local.set $*tmp/366
      local.get $code/19
      i32.const 8
      i32.shr_u
      local.tee $*tmp/368
      call $UInt::to_byte
      local.set $*tmp/367
      local.get $self/21
      local.get $*tmp/366
      local.get $*tmp/367
      call $moonbit.bytes_set_item
      drop
      local.get $self/21
      call $moonbit.decref
      i32.const 0
      drop
      i32.const 2
    else
      local.get $code/19
      i32.const 1114112
      i32.lt_u
      if (result i32)  ;; label = @2
        local.get $code/19
        i32.const 65536
        i32.sub
        local.set $hi/23
        local.get $hi/23
        i32.const 10
        i32.shr_u
        local.tee $*tmp/381
        i32.const 55296
        i32.or
        local.set $lo/24
        local.get $hi/23
        i32.const 1023
        i32.and
        local.tee $*tmp/380
        i32.const 56320
        i32.or
        local.set $hi/25
        local.get $lo/24
        i32.const 255
        i32.and
        local.tee $*tmp/370
        call $UInt::to_byte
        local.set $*tmp/369
        local.get $self/21
        local.get $offset/22
        local.get $*tmp/369
        call $moonbit.bytes_set_item
        drop
        local.get $offset/22
        i32.const 1
        i32.add
        local.set $*tmp/371
        local.get $lo/24
        i32.const 8
        i32.shr_u
        local.tee $*tmp/373
        call $UInt::to_byte
        local.set $*tmp/372
        local.get $self/21
        local.get $*tmp/371
        local.get $*tmp/372
        call $moonbit.bytes_set_item
        drop
        local.get $offset/22
        i32.const 2
        i32.add
        local.set $*tmp/374
        local.get $hi/25
        i32.const 255
        i32.and
        local.tee $*tmp/376
        call $UInt::to_byte
        local.set $*tmp/375
        local.get $self/21
        local.get $*tmp/374
        local.get $*tmp/375
        call $moonbit.bytes_set_item
        drop
        local.get $offset/22
        i32.const 3
        i32.add
        local.set $*tmp/377
        local.get $hi/25
        i32.const 8
        i32.shr_u
        local.tee $*tmp/379
        call $UInt::to_byte
        local.set $*tmp/378
        local.get $self/21
        local.get $*tmp/377
        local.get $*tmp/378
        call $moonbit.bytes_set_item
        drop
        local.get $self/21
        call $moonbit.decref
        i32.const 0
        drop
        i32.const 4
      else
        local.get $self/21
        call $moonbit.decref
        i32.const 10880
        call $moonbitlang/core/abort.abort|Int|
      end
    end)
  (func $UInt::to_byte (type 13) (param $self/18 i32) (result i32)
    (local $*tmp/363 i32)
    local.get $self/18
    local.tee $*tmp/363
    i32.const 255
    i32.and)
  (func $Char::to_uint (type 13) (param $self/17 i32) (result i32)
    (local $*tmp/362 i32)
    local.get $self/17
    local.tee $*tmp/362)
  (func $@moonbitlang/core/builtin.StringBuilder::to_string (type 13) (param $self/16 i32) (result i32)
    (local $*tmp/358 i32) (local $*tmp/359 i64) (local $len/360 i32) (local $data/361 i32) (local $*field/780 i32) (local $*field/781 i32)
    local.get $self/16
    i32.load offset=12 align=1
    local.tee $*field/781
    local.tee $data/361
    call $moonbit.incref
    local.get $data/361
    local.set $*tmp/358
    local.get $self/16
    i32.load offset=8 align=1
    local.set $*field/780
    local.get $self/16
    call $moonbit.decref
    local.get $*field/780
    local.tee $len/360
    i64.extend_i32_s
    local.set $*tmp/359
    local.get $*tmp/358
    i32.const 0
    local.get $*tmp/359
    call $Bytes::to_unchecked_string)
  (func $Bytes::to_unchecked_string (type 21) (param $self/10 i32) (param $offset/15 i32) (param $length/12 i64) (result i32)
    (local $len/9 i32) (local $length/11 i32) (local $*Some/13 i64) (local $*l/14 i32) (local $*tmp/357 i32)
    local.get $self/10
    call $moonbit.array_length
    local.set $len/9
    local.get $length/12
    i64.const 4294967296
    i64.eq
    if (result i32)  ;; label = @1
      local.get $len/9
      local.get $offset/15
      i32.sub
    else
      local.get $length/12
      local.tee $*Some/13
      i32.wrap_i64
      local.tee $*l/14
    end
    local.set $length/11
    local.get $offset/15
    i32.const 0
    i32.ge_s
    if (result i32)  ;; label = @1
      local.get $length/11
      i32.const 0
      i32.ge_s
      if (result i32)  ;; label = @2
        local.get $offset/15
        local.get $length/11
        i32.add
        local.tee $*tmp/357
        local.get $len/9
        i32.le_s
      else
        i32.const 0
      end
    else
      i32.const 0
    end
    if (result i32)  ;; label = @1
      local.get $self/10
      local.get $offset/15
      local.get $length/11
      call $moonbitlang/core/builtin.unsafe_sub_string
    else
      local.get $self/10
      call $moonbit.decref
      call $throw
      unreachable
    end)
  (func $moonbitlang/core/builtin.unsafe_sub_string (type 15) (param $*param/326 i32) (param $*param/327 i32) (param $*param/328 i32) (result i32)
    local.get $*param/326
    local.get $*param/327
    local.get $*param/328
    call $moonbit.unsafe_bytes_sub_string)
  (func $@moonbitlang/core/builtin.StringBuilder::new.size_hint.default (type 17) (result i32)
    i32.const 0)
  (func $@moonbitlang/core/builtin.StringBuilder::new (type 13) (param $size_hint/7 i32) (result i32)
    (local $initial/6 i32) (local $data/8 i32) (local $ptr/872 i32)
    local.get $size_hint/7
    i32.const 1
    i32.lt_s
    if (result i32)  ;; label = @1
      i32.const 1
    else
      local.get $size_hint/7
    end
    local.set $initial/6
    local.get $initial/6
    i32.const 0
    call $moonbit.bytes_make
    local.set $data/8
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/872
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $ptr/872
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/872
    local.get $data/8
    i32.store offset=12 align=1
    local.get $ptr/872)
  (func $@moonbitlang/core/builtin.Array::op_get|String| (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $self/4 i32) (param $index/5 i32) (result i32)
    (local $len/3 i32) (local $*tmp/356 i32) (local $*tmp/782 i32)
    local.get $self/4
    i32.load offset=8 align=1
    local.set $len/3
    local.get $index/5
    i32.const 0
    i32.ge_s
    if (result i32)  ;; label = @1
      local.get $index/5
      local.get $len/3
      i32.lt_s
    else
      i32.const 0
    end
    if (result i32)  ;; label = @1
      local.get $self/4
      call $@moonbitlang/core/builtin.Array::buffer|String|
      local.tee $*tmp/356
      local.get $index/5
      call $moonbit.array_item
      local.tee $*tmp/782
      call $moonbit.incref
      local.get $*tmp/356
      call $moonbit.decref
      local.get $*tmp/782
    else
      local.get $self/4
      call $moonbit.decref
      call $throw
      unreachable
    end)
  (func $@moonbitlang/core/builtin.Array::buffer|String| (type 13) (param $self/2 i32) (result i32)
    (local $*field/783 i32) (local $*cnt/831 i32) (local $*new_cnt/832 i32)
    local.get $self/2
    i32.load offset=12 align=1
    local.set $*field/783
    local.get $self/2
    i32.load align=1
    local.tee $*cnt/831
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/783
      call $moonbit.incref
      local.get $*cnt/831
      i32.const 1
      i32.sub
      local.set $*new_cnt/832
      local.get $self/2
      local.get $*new_cnt/832
      i32.store align=1
    else
      local.get $*cnt/831
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $self/2
        call $moonbit.free
      end
    end
    local.get $*field/783)
  (func $moonbitlang/core/abort.abort|Int| (type 13) (param $msg/1 i32) (result i32)
    local.get $msg/1
    call $moonbit.decref
    call $throw
    unreachable)
  (func $Error.to_string (type 13) (param $*e/325 i32) (result i32)
    (local $*tag/873 i32)
    local.get $*e/325
    call $moonbit.get_tag
    local.tee $*tag/873
    i32.const 2
    i32.eq
    if (result i32)  ;; label = @1
      local.get $*e/325
      call $moonbit.decref
      i32.const 11040
    else
      local.get $*tag/873
      i32.const 0
      i32.eq
      if (result i32)  ;; label = @2
        local.get $*e/325
        call $@moonbitlang/core/builtin.Show::$default_impl::to_string|@moonbitlang/core/builtin.Failure|
      else
        local.get $*e/325
        call $moonbit.decref
        i32.const 10928
      end
    end)
  (func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_char.dyncall_as_@moonbitlang/core/builtin.Logger (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $*obj/344 i32) (param $*param/343 i32) (result i32)
    (local $*self/342 i32) (local $*casted_obj/345 i32) (local $*field/784 i32) (local $*cnt/833 i32) (local $*new_cnt/834 i32)
    local.get $*obj/344
    local.tee $*casted_obj/345
    i32.load offset=20 align=1
    local.set $*field/784
    local.get $*casted_obj/345
    i32.load align=1
    local.tee $*cnt/833
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/784
      call $moonbit.incref
      local.get $*cnt/833
      i32.const 1
      i32.sub
      local.set $*new_cnt/834
      local.get $*casted_obj/345
      local.get $*new_cnt/834
      i32.store align=1
    else
      local.get $*cnt/833
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*casted_obj/345
        call $moonbit.free
      end
    end
    local.get $*field/784
    local.tee $*self/342
    local.get $*param/343
    call $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_char)
  (func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_substring.dyncall_as_@moonbitlang/core/builtin.Logger (type $@moonbitlang/core/builtin.Logger.method_1) (param $*obj/340 i32) (param $*param/337 i32) (param $*param/338 i32) (param $*param/339 i32) (result i32)
    (local $*self/336 i32) (local $*casted_obj/341 i32) (local $*field/785 i32) (local $*cnt/835 i32) (local $*new_cnt/836 i32)
    local.get $*obj/340
    local.tee $*casted_obj/341
    i32.load offset=20 align=1
    local.set $*field/785
    local.get $*casted_obj/341
    i32.load align=1
    local.tee $*cnt/835
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/785
      call $moonbit.incref
      local.get $*cnt/835
      i32.const 1
      i32.sub
      local.set $*new_cnt/836
      local.get $*casted_obj/341
      local.get $*new_cnt/836
      i32.store align=1
    else
      local.get $*cnt/835
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*casted_obj/341
        call $moonbit.free
      end
    end
    local.get $*field/785
    local.tee $*self/336
    local.get $*param/337
    local.get $*param/338
    local.get $*param/339
    call $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_substring)
  (func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_string.dyncall_as_@moonbitlang/core/builtin.Logger (type $<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit) (param $*obj/334 i32) (param $*param/333 i32) (result i32)
    (local $*self/332 i32) (local $*casted_obj/335 i32) (local $*field/786 i32) (local $*cnt/837 i32) (local $*new_cnt/838 i32)
    local.get $*obj/334
    local.tee $*casted_obj/335
    i32.load offset=20 align=1
    local.set $*field/786
    local.get $*casted_obj/335
    i32.load align=1
    local.tee $*cnt/837
    i32.const 1
    i32.gt_s
    if  ;; label = @1
      local.get $*field/786
      call $moonbit.incref
      local.get $*cnt/837
      i32.const 1
      i32.sub
      local.set $*new_cnt/838
      local.get $*casted_obj/335
      local.get $*new_cnt/838
      i32.store align=1
    else
      local.get $*cnt/837
      i32.const 1
      i32.eq
      if  ;; label = @2
        local.get $*casted_obj/335
        call $moonbit.free
      end
    end
    local.get $*field/786
    local.tee $*self/332
    local.get $*param/333
    call $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_string)
  (func $*init*/6 (type 6)
    (local $*tmp/346 i32) (local $*tmp/347 i32) (local $*tuple/348 i32) (local $*tmp/349 i32) (local $*tmp/350 i32) (local $*tmp/351 i32) (local $*tuple/352 i32) (local $*tuple/353 i32) (local $*tmp/354 i32) (local $*tmp/355 i32) (local $ptr/874 i32) (local $*ptr/875 i32) (local $ptr/876 i32) (local $ptr/877 i32) (local $*ptr/878 i32) (local $ptr/879 i32) (local $ptr/880 i32) (local $ptr/881 i32) (local $*ptr/882 i32)
    i32.const 11200
    global.set $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.clo
    i32.const 1
    i32.const 10552
    call $moonbit.ref_array_make
    local.tee $*ptr/882
    i32.const 10552
    i32.store offset=8 align=1
    local.get $*ptr/882
    local.set $*tmp/355
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/881
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $ptr/881
    i32.const 1
    i32.store offset=8 align=1
    local.get $ptr/881
    local.get $*tmp/355
    i32.store offset=12 align=1
    local.get $ptr/881
    local.set $*tmp/354
    global.get $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.clo
    call $moonbit.incref
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/880
    i32.const 1049088
    i32.store offset=4 align=1
    local.get $ptr/880
    local.get $*tmp/354
    i32.store offset=12 align=1
    local.get $ptr/880
    global.get $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.clo
    i32.store offset=8 align=1
    local.get $ptr/880
    local.set $*tuple/353
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/879
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $ptr/879
    local.get $*tuple/353
    i32.store offset=12 align=1
    local.get $ptr/879
    i32.const 0
    i32.store offset=8 align=1
    local.get $ptr/879
    local.set $*tuple/352
    i32.const 1
    i32.const 0
    call $moonbit.ref_array_make
    local.tee $*ptr/878
    local.get $*tuple/352
    i32.store offset=8 align=1
    local.get $*ptr/878
    local.set $*tmp/351
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/877
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $ptr/877
    i32.const 1
    i32.store offset=8 align=1
    local.get $ptr/877
    local.get $*tmp/351
    i32.store offset=12 align=1
    local.get $ptr/877
    local.tee $*tmp/350
    call $@moonbitlang/core/builtin.Map::from_array|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|
    local.set $*tmp/349
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/876
    i32.const 1049088
    i32.store offset=4 align=1
    local.get $ptr/876
    local.get $*tmp/349
    i32.store offset=12 align=1
    local.get $ptr/876
    i32.const 11160
    i32.store offset=8 align=1
    local.get $ptr/876
    local.set $*tuple/348
    i32.const 1
    i32.const 0
    call $moonbit.ref_array_make
    local.tee $*ptr/875
    local.get $*tuple/348
    i32.store offset=8 align=1
    local.get $*ptr/875
    local.set $*tmp/347
    i32.const 16
    call $moonbit.gc.malloc
    local.tee $ptr/874
    i32.const 1573120
    i32.store offset=4 align=1
    local.get $ptr/874
    i32.const 1
    i32.store offset=8 align=1
    local.get $ptr/874
    local.get $*tmp/347
    i32.store offset=12 align=1
    local.get $ptr/874
    local.tee $*tmp/346
    call $@moonbitlang/core/builtin.Map::from_array|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|
    global.set $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_no_args_tests)
  (func $*main*/5 (type 6)
    i32.const 0
    drop)
  (table (;0;) 0 externref)
  (table (;1;) 6 6 funcref)
  (memory $moonbit.memory 1)
  (global $tlsf/ROOT (mut i32) (i32.const 0))
  (global $moonbit.externref_table_free_list_head (mut i32) (i32.const -1))
  (global $AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_no_args_tests (mut i32) (i32.const 0))
  (global $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.clo (mut i32) (i32.const 0))
  (export "moonbit_test_driver_finish" (func $$AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_finish_wrapper/3))
  (export "moonbit_test_driver_internal_execute" (func $$AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_execute_wrapper/4))
  (export "_start" (func $*main*/5))
  (start $*init*/6)
  (elem (;0;) (table 1) (i32.const 0) func $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_string.dyncall_as_@moonbitlang/core/builtin.Logger $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_substring.dyncall_as_@moonbitlang/core/builtin.Logger $@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_char.dyncall_as_@moonbitlang/core/builtin.Logger $Map::from_array|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|.fn/2 $Map::from_array|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|.fn/1 $AdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.dyncall)
  (data (;0;) (i32.const 10000) "\ff\ff\ff\ff \00\00P-\00-\00-\00-\00-\00 \00E\00N\00D\00 \00M\00O\00O\00N\00 \00T\00E\00S\00T\00 \00R\00E\00S\00U\00L\00T\00 \00-\00-\00-\00-\00-\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\01\00\00P}\00\00\00\00\00\00\00\ff\ff\ff\ff\0d\00\00P,\00 \00\22\00m\00e\00s\00s\00a\00g\00e\00\22\00:\00 \00\00\00\00\00\00\00\ff\ff\ff\ff\10\00\00P\22\00,\00 \00\22\00t\00e\00s\00t\00_\00n\00a\00m\00e\00\22\00:\00 \00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\0c\00\00P,\00 \00\22\00i\00n\00d\00e\00x\00\22\00:\00 \00\22\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff3\00\00P{\00\22\00p\00a\00c\00k\00a\00g\00e\00\22\00:\00 \00\22\00A\00d\00U\00h\00T\00k\00J\00m\00/\00w\00a\00s\00m\00t\00o\00o\00l\00s\00/\00w\00a\00s\00m\00\22\00,\00 \00\22\00f\00i\00l\00e\00n\00a\00m\00e\00\22\00:\00 \00\00\00\ff\ff\ff\ff\22\00\00P-\00-\00-\00-\00-\00 \00B\00E\00G\00I\00N\00 \00M\00O\00O\00N\00 \00T\00E\00S\00T\00 \00R\00E\00S\00U\00L\00T\00 \00-\00-\00-\00-\00-\00\00\00\00\00\ff\ff\ff\ff\01\00\00P)\00\00\00\00\00\00\00\ff\ff\ff\ff\02\00\00P,\00 \00\00\00\00\00\ff\ff\ff\ff,\00\00Pi\00n\00t\00e\00r\00n\00a\00l\00 \00e\00r\00r\00o\00r\00:\00 \00f\00a\00i\00l\00e\00d\00 \00t\00o\00 \00f\00i\00l\00t\00e\00r\00 \00t\00e\00s\00t\00 \00w\00i\00t\00h\00 \00(\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\00\00\00P\00\00\00\00\00\00\00\00\ff\ff\ff\ff\0c\00\00PH\00e\00l\00l\00o\00 \00W\00o\00r\00l\00d\00!\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\08\00\00PF\00a\00i\00l\00u\00r\00e\00(\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\03\00\00P\5c\00u\00{\00\00\00\ff\ff\ff\ff\02\00\00P\5c\00n\00\00\00\00\00\ff\ff\ff\ff\02\00\00P\5c\00r\00\00\00\00\00\ff\ff\ff\ff\02\00\00P\5c\00b\00\00\00\00\00\ff\ff\ff\ff\02\00\00P\5c\00t\00\00\00\00\00\ff\ff\ff\ff\1e\00\00Pr\00a\00d\00i\00x\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\ff\ff\ff\ff$\00\00P0\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\11\00\00PC\00h\00a\00r\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\ff\ff\ff\ff2\00\00Pm\00o\00o\00n\00b\00i\00t\00l\00a\00n\00g\00/\00c\00o\00r\00e\00/\00b\00u\00i\00l\00t\00i\00n\00.\00I\00n\00s\00p\00e\00c\00t\00E\00r\00r\00o\00r\00.\00I\00n\00s\00p\00e\00c\00t\00E\00r\00r\00o\00r\00\00\00\00\00\ff\ff\ff\ff4\00\00Pm\00o\00o\00n\00b\00i\00t\00l\00a\00n\00g\00/\00c\00o\00r\00e\00/\00b\00u\00i\00l\00t\00i\00n\00.\00S\00n\00a\00p\00s\00h\00o\00t\00E\00r\00r\00o\00r\00.\00S\00n\00a\00p\00s\00h\00o\00t\00E\00r\00r\00o\00r\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\0d\00\00Pw\00a\00s\00m\00_\00t\00e\00s\00t\00.\00m\00b\00t\00\00\00\00\00\00\00\ff\ff\ff\ff\00\00 \00\05\00\00\00\00\00\00\00")
  (@custom "name" "\01\d76{\00\05throw\01\06printc\02(__moonbit_fs_unstable.string_read_char.0\03*__moonbit_fs_unstable.finish_read_string.1\04)__moonbit_fs_unstable.begin_read_string.2\05\10tlsf/searchBlock\06\10tlsf/removeBlock\07\10tlsf/insertBlock\08\0etlsf/addMemory\09\0ftlsf/initialize\0a\0emoonbit.malloc\0b\0cmoonbit.free\0c\11moonbit.gc.malloc\0d\0fmoonbit.get_tag\0e\14moonbit.array_length\0f\1amoonbit.string_item_unsafe\10\13moonbit.string_item\11\14moonbit.string_equal\12\0fmoonbit.println\13\13moonbit.check_range\14\12moonbit.array_item\15\16moonbit.array_set_item\16\19moonbit.make_array_header\17\16moonbit.ref_array_make\18\12moonbit.bytes_make\19\12moonbit.bytes_item\1a\16moonbit.bytes_set_item\1b\12moonbit.add_string\1c\1fmoonbit.unsafe_bytes_sub_string\1d\0emoonbit.incref\1e\10moonbit.incref_n\1f\0emoonbit.decref \0fmoonbit.gc.free!\19moonbit.extract_externref\22\17moonbit.alloc_externref#\16moonbit.drop_externref$QAdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.dyncall%K$AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_finish_wrapper/3&@AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_finish'U$AdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_execute_wrapper/4(JAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_execute)PAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_get_file_name*UAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_string_from_extern+SAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_string_read_char,UAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_finish_read_string-TAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_begin_read_string.IAdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0/(moonbitlang/core/builtin.println|String|0.@moonbitlang/core/builtin.Show::Int::to_string11@moonbitlang/core/builtin.Array::is_empty|String|2[@moonbitlang/core/builtin.Show::$default_impl::to_string|@moonbitlang/core/builtin.Failure|3;@moonbitlang/core/builtin.Hash::$default_impl::hash|String|4)@moonbitlang/core/builtin.Hash::Int::hash54@moonbitlang/core/builtin.Hash::String::hash_combine6*@moonbitlang/core/builtin.Hasher::finalize7+@moonbitlang/core/builtin.Hasher::avalanche80@moonbitlang/core/builtin.Hasher::combine_string9.@moonbitlang/core/builtin.Hasher::combine_uint:*@moonbitlang/core/builtin.Hasher::consume4;1@moonbitlang/core/builtin.Hasher::combine|String|<2@moonbitlang/core/builtin.Hasher::new.seed.default=%@moonbitlang/core/builtin.Hasher::new>g@moonbitlang/core/builtin.Map::from_array|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|?RMap::from_array|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|.fn/2@\8d\01@moonbitlang/core/builtin.Map::from_array|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|AxMap::from_array|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|.fn/1Bo@moonbitlang/core/builtin.Array::each|<NoError>+<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|C\95\01@moonbitlang/core/builtin.Array::each|<NoError>+<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>|D\1dmoonbitlang/core/builtin.rotlEZ@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_substringFa@moonbitlang/core/builtin.Map::grow|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|G\87\01@moonbitlang/core/builtin.Map::grow|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|H`@moonbitlang/core/builtin.Map::set|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|I\86\01@moonbitlang/core/builtin.Map::set|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|Jf@moonbitlang/core/builtin.Map::push_away|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|K\8c\01@moonbitlang/core/builtin.Map::push_away|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|Lf@moonbitlang/core/builtin.Map::set_entry|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|M\8c\01@moonbitlang/core/builtin.Map::set_entry|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|Nn@moonbitlang/core/builtin.Map::add_entry_to_tail|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|O\94\01@moonbitlang/core/builtin.Map::add_entry_to_tail|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|PmOption::unwrap|@moonbitlang/core/builtin.Entry<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|Q\93\01Option::unwrap|@moonbitlang/core/builtin.Entry<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>|R`@moonbitlang/core/builtin.Map::new|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|S\86\01@moonbitlang/core/builtin.Map::new|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|T&moonbitlang/core/builtin.power_2_aboveU,moonbitlang/core/builtin.calc_grow_thresholdV\86\01@moonbitlang/core/builtin.Map::get|String+@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>|W`@moonbitlang/core/builtin.Map::get|Int+<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>|XI@moonbitlang/core/builtin.Show::@moonbitlang/core/builtin.Failure::outputY1@moonbitlang/core/builtin.Show::String::to_stringZ.@moonbitlang/core/builtin.Show::String::output[2moonbitlang/core/builtin.output.flush_segment|2137\5c%moonbitlang/core/builtin.to_hex_digit]\1cInt::to_string.radix.default^\0eInt::to_string_\15Int::output_size_hint`\0bInt::outputa1moonbitlang/core/builtin.output.write_digits|1507b(moonbitlang/core/builtin.output.abs|1505c\0eString::escapedW@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_stringe\1cFixedArray::blit_from_stringfU@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_charg:@moonbitlang/core/builtin.StringBuilder::grow_if_necessaryh0@moonbitlang/core/builtin.Default::Byte::defaulti\1dFixedArray::unsafe_blit|Byte|j\1cFixedArray::set_utf16le_chark\0dUInt::to_bytel\0dChar::to_uintm2@moonbitlang/core/builtin.StringBuilder::to_stringn\1aBytes::to_unchecked_stringo*moonbitlang/core/builtin.unsafe_sub_stringp>@moonbitlang/core/builtin.StringBuilder::new.size_hint.defaultq,@moonbitlang/core/builtin.StringBuilder::newr/@moonbitlang/core/builtin.Array::op_get|String|s/@moonbitlang/core/builtin.Array::buffer|String|t!moonbitlang/core/abort.abort|Int|u\0fError.to_stringv\81\01@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_char.dyncall_as_@moonbitlang/core/builtin.Loggerw\86\01@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_substring.dyncall_as_@moonbitlang/core/builtin.Loggerx\83\01@moonbitlang/core/builtin.Logger::@moonbitlang/core/builtin.StringBuilder::write_string.dyncall_as_@moonbitlang/core/builtin.Loggery\08*init*/6z\08*main*/5\02\deMo\05\03\00\010\01\011\02\012\06\06\00\010\01\011\02\012\03\013\04\014\05\015\07\06\00\010\01\011\02\012\03\013\04\014\05\015\08\06\00\010\01\011\02\012\03\013\04\014\05\015\09\03\00\010\01\011\02\012\0a\05\00\010\01\011\02\012\03\013\04\014\0b\03\00\010\01\011\02\012\0c\02\00\01n\01\06result\0d\01\00\01p\0e\01\00\03arr\0f\02\00\03str\01\05index\10\02\00\03str\01\05index\11\03\00\04stra\01\04strb\02\07counter\12\02\00\03str\01\07counter\13\03\00\05index\01\02lo\02\02hi\14\02\00\03arr\01\05index\15\03\00\03arr\01\05index\02\03val\16\03\00\04kind\01\0felem_size_shift\02\03len\17\04\00\04size\01\03val\02\03arr\03\07counter\18\04\00\04size\01\03val\02\03ptr\03\07counter\19\02\00\05bytes\01\05index\1a\03\00\05bytes\01\05index\02\03val\1b\09\00\01x\01\01y\02\04lenx\03\04leny\04\03len\05\05words\06\03ptr\07\07payload\08\05zeros\1c\04\00\05bytes\01\06offset\02\03len\03\03ptr\1d\02\00\03ptr\01\05count\1e\03\00\03ptr\01\01n\02\05count\1f\02\00\03ptr\01\05count \0c\00\03ptr\01\06parent\02\11curr_child_offset\03\18remaining_children_count\04\0cn_ptr_fields\05\11ptr_fields_offset\06\04kind\07\04meta\08\04next\09\0caddr_of_next\0a\03len\0b\05count!\01\00\03box\22\06\00\03ref\01\0efree_list_head\02\09next_cell\03\0btable_index\04\03box\05\01i#\02\00\03box\01\0efree_list_cell$\01\00\08*env/689'\02\00\0cfilename/291\01\09index/293(R\00\0cfilename/291\01\09index/293\02\0ffile_filter/290\03\10index_filter/292\04\11filtered_test/294\05\12index_func_map/296\06\09*bind/297\07\09*Some/298\08\13*index_func_map/299\09\0dtest_name/300\0a\0bmessage/301\0b\08item/303\0c\08func/304\0d\09attrs/305\0e\08name/306\0f\08name/307\10\0c*try_err/309\11\05e/311\12\05e/313\13\0c*Failure/314\14\06*e/315\15\11*InspectError/316\16\06*e/317\17\12*SnapshotError/318\18\06*e/319\19\09*Some/320\1a\09*item/321\1b\0dfile_name/322\1c\0dtest_name/323\1d\0bmessage/324\1e\08*tmp/664\1f\07*ok/665 \08*err/666!\08*tmp/667\22\08*tmp/668#\08*tmp/669$\08*tmp/670%\08*tmp/671&\08*tmp/672'\08*tmp/673(\08*tmp/674)\08*tmp/675*\08*tmp/676+\08*tmp/677,\08*tmp/678-\08*tmp/679.\08*tmp/680/\08*tmp/6810\08*tmp/6821\08*tmp/6832\08*tmp/6843\08*tmp/6854\08*tmp/6865\07val/6876\07val/6887\0a*field/6908\0a*field/6919\08*old/692:\08*old/693;\0a*field/694<\0a*field/695=\0a*field/696>\08*old/697?\0a*field/698@\0a*field/699A\08*old/700B\08*cnt/787C\0c*new_cnt/788D\08*cnt/789E\0c*new_cnt/790F\08*cnt/791G\0c*new_cnt/792H\08*cnt/793I\0c*new_cnt/794J\08*cnt/795K\0c*new_cnt/796L\08*cnt/797M\0c*new_cnt/798N\08*obj/841O\08*tag/844P\07ptr/850Q\07ptr/851)\01\00\0dfile_name/289*\11\00\05e/285\01\07buf/282\02\07len/283\03\0ahandle/284\04\06ch/286\05\15written_bytes_len/288\06\08*tmp/655\07\07val/656\08\07val/657\09\08*tmp/658\0a\08*tmp/659\0b\08*tmp/660\0c\08*tmp/661\0d\07val/662\0e\08*tmp/663\0f\0a*field/701\10\07ptr/853+\01\00\0a*param/331,\01\00\0a*param/330-\01\00\0a*param/329.\01\00\08*tmp/654/\02\00\09input/281\01\08*tmp/6530\01\00\08self/2801\03\00\08self/279\01\07len/652\02\0a*field/7022\05\00\08self/278\01\0alogger/277\02\08*tmp/650\03\08*tmp/651\04\07ptr/8543\04\00\08self/276\01\09*self/275\02\08*tmp/648\03\08*tmp/6494\11\00\08self/273\01\08self/272\02\08*tmp/634\03\08*tmp/635\04\08*tmp/636\05\08*tmp/637\06\08*tmp/638\07\08*tmp/639\08\08*tmp/640\09\08*tmp/641\0a\08*tmp/642\0b\08*tmp/643\0c\08*tmp/644\0d\08*tmp/645\0e\08*tmp/646\0f\08*tmp/647\10\05x/2745\02\00\08self/271\01\0ahasher/2706\02\00\08self/269\01\08*tmp/6337\0e\00\08self/268\01\08*tmp/622\02\08*tmp/623\03\08*tmp/624\04\08*tmp/625\05\08*tmp/626\06\08*tmp/627\07\08*tmp/628\08\08*tmp/629\09\08*tmp/630\0a\08*tmp/631\0b\08*tmp/632\0c\0a*field/703\0d\07acc/2678\07\00\08self/265\01\09value/263\02\0c*end1312/262\03\05i/264\04\08*tmp/619\05\08*tmp/620\06\08*tmp/6219\04\00\08self/260\01\09value/261\02\08*tmp/617\03\07acc/618:\07\00\08self/258\01\09input/259\02\08*tmp/612\03\08*tmp/613\04\08*tmp/614\05\07acc/615\06\08*tmp/616;\02\00\08self/257\01\09value/256=\04\00\08seed/255\01\08*tmp/610\02\08*tmp/611\03\07ptr/855>\05\00\07arr/253\01\05m/252\02\08*tmp/604\03\07len/609\04\08*ptr/856?\0c\00\08*env/605\01\05e/254\02\05m/252\03\0f*casted_env/606\04\08*tmp/607\05\08*tmp/608\06\0a*field/704\07\0a*field/705\08\08*cnt/799\09\0c*new_cnt/800\0a\08*cnt/801\0b\0c*new_cnt/802@\05\00\07arr/250\01\05m/249\02\08*tmp/598\03\07len/603\04\08*ptr/857A\0d\00\08*env/599\01\05e/251\02\05m/249\03\0f*casted_env/600\04\08*tmp/601\05\08*tmp/602\06\0a*field/706\07\0a*field/707\08\0a*field/708\09\08*cnt/803\0a\0c*new_cnt/804\0b\08*cnt/805\0c\0c*new_cnt/806B\09\00\08self/244\01\05f/247\02\08*len/243\03\06*i/245\04\05v/246\05\07buf/596\06\08*tmp/597\07\08*tmp/709\08\0a*field/710C\09\00\08self/238\01\05f/241\02\08*len/237\03\06*i/239\04\05v/240\05\07buf/594\06\08*tmp/595\07\08*tmp/711\08\0a*field/712D\05\00\05x/235\01\05r/236\02\08*tmp/591\03\08*tmp/592\04\08*tmp/593E\0f\00\08self/234\01\07str/233\02\09start/231\03\07len/232\04\08*tmp/581\05\08*tmp/582\06\08*tmp/583\07\07len/584\08\08*tmp/585\09\08data/586\0a\07len/587\0b\08*tmp/588\0c\07len/589\0d\08*tmp/590\0e\0a*field/713F\17\00\08self/222\01\0cold_head/221\02\10new_capacity/223\03\0a*param/224\04\09*Some/225\05\06*x/226\06\09*next/227\07\08*key/228\08\0a*value/229\09\08*tmp/574\0a\08*tmp/575\0b\08*tmp/576\0c\08*tmp/577\0d\0ccapacity/578\0e\08*tmp/579\0f\0ccapacity/580\10\0a*field/714\11\0a*field/715\12\08*old/716\13\08*old/717\14\0a*field/718\15\08*cnt/807\16\0c*new_cnt/808G\18\00\08self/212\01\0cold_head/211\02\10new_capacity/213\03\0a*param/214\04\09*Some/215\05\06*x/216\06\09*next/217\07\08*key/218\08\0a*value/219\09\08*tmp/567\0a\08*tmp/568\0b\08*tmp/569\0c\08*tmp/570\0d\0ccapacity/571\0e\08*tmp/572\0f\0ccapacity/573\10\0a*field/719\11\0a*field/720\12\0a*field/721\13\08*old/722\14\08*old/723\15\0a*field/724\16\08*cnt/809\17\0c*new_cnt/810H$\00\08self/195\01\07key/197\02\09value/205\03\08hash/196\04\09*bind/198\05\07psl/199\06\07idx/200\07\09*bind/201\08\09*Some/203\09\0f*curr_entry/204\0a\08*idx/206\0b\08*psl/207\0c\09*bind/208\0d\09*bind/209\0e\09entry/210\0f\08size/553\10\0bgrow_at/554\11\0a*tuple/555\12\07key/556\13\08hash/557\14\07psl/558\15\0a*tuple/559\16\08*tmp/560\17\08*tmp/561\18\08*tmp/562\19\11capacity_mask/563\1a\0bentries/564\1b\08*tmp/565\1c\11capacity_mask/566\1d\0a*field/725\1e\08*old/726\1f\08*tmp/727 \0a*field/728!\07ptr/858\22\07ptr/859#\07ptr/860I&\00\08self/179\01\07key/181\02\09value/189\03\08hash/180\04\09*bind/182\05\07psl/183\06\07idx/184\07\09*bind/185\08\09*Some/187\09\0f*curr_entry/188\0a\08*idx/190\0b\08*psl/191\0c\09*bind/192\0d\09*bind/193\0e\09entry/194\0f\08size/539\10\0bgrow_at/540\11\0a*tuple/541\12\07key/542\13\08hash/543\14\07psl/544\15\0a*tuple/545\16\08*tmp/546\17\08*tmp/547\18\08*tmp/548\19\11capacity_mask/549\1a\0bentries/550\1b\08*tmp/551\1c\11capacity_mask/552\1d\0a*field/729\1e\08*old/730\1f\08*tmp/731 \0a*field/732!\08*tmp/733\22\0a*field/734#\07ptr/861$\07ptr/862%\07ptr/863J\1b\00\08self/173\01\07idx/178\02\09entry/177\03\07psl/169\04\07idx/170\05\09entry/171\06\09*bind/172\07\09*Some/175\08\0f*curr_entry/176\09\07psl/523\0a\08*tmp/524\0b\08*tmp/525\0c\08*tmp/526\0d\11capacity_mask/527\0e\07psl/528\0f\08*tmp/529\10\08*tmp/530\11\08*tmp/531\12\11capacity_mask/532\13\0bentries/533\14\08*tmp/534\15\08*tmp/535\16\08*tmp/536\17\11capacity_mask/537\18\07psl/538\19\08*tmp/735\1a\0a*field/736K\1b\00\08self/163\01\07idx/168\02\09entry/167\03\07psl/159\04\07idx/160\05\09entry/161\06\09*bind/162\07\09*Some/165\08\0f*curr_entry/166\09\07psl/507\0a\08*tmp/508\0b\08*tmp/509\0c\08*tmp/510\0d\11capacity_mask/511\0e\07psl/512\0f\08*tmp/513\10\08*tmp/514\11\08*tmp/515\12\11capacity_mask/516\13\0bentries/517\14\08*tmp/518\15\08*tmp/519\16\08*tmp/520\17\11capacity_mask/521\18\07psl/522\19\08*tmp/737\1a\0a*field/738L\0e\00\08self/153\01\09entry/155\02\0bnew_idx/154\03\09*bind/156\04\09*Some/157\05\09*next/158\06\0bentries/505\07\08*tmp/506\08\0a*field/739\09\08*old/740\0a\0a*field/741\0b\08*cnt/811\0c\0a*field/812\0d\0c*new_cnt/813M\0f\00\08self/147\01\09entry/149\02\0bnew_idx/148\03\09*bind/150\04\09*Some/151\05\09*next/152\06\0bentries/503\07\08*tmp/504\08\0a*field/742\09\08*old/743\0a\0a*field/744\0b\08*cnt/814\0c\0a*field/815\0d\0a*field/816\0e\0c*new_cnt/817N\13\00\08self/144\01\07idx/146\02\09entry/145\03\09*bind/143\04\08*tmp/494\05\08*tmp/495\06\08*tmp/496\07\08*tmp/497\08\0bentries/498\09\0bentries/499\0a\08*tmp/500\0b\08*tmp/501\0c\08size/502\0d\08*old/745\0e\0a*field/746\0f\08*old/747\10\08*old/748\11\08*tmp/749\12\0a*field/750O\13\00\08self/140\01\07idx/142\02\09entry/141\03\09*bind/139\04\08*tmp/485\05\08*tmp/486\06\08*tmp/487\07\08*tmp/488\08\0bentries/489\09\0bentries/490\0a\08*tmp/491\0b\08*tmp/492\0c\08size/493\0d\08*old/751\0e\0a*field/752\0f\08*old/753\10\08*old/754\11\08*tmp/755\12\0a*field/756P\03\00\08self/136\01\09*Some/137\02\06*x/138Q\03\00\08self/133\01\09*Some/134\02\06*x/135R\08\00\0ccapacity/128\01\0ccapacity/127\02\09*bind/129\03\09*bind/130\04\09*bind/131\05\09*bind/132\06\08*tmp/484\07\07ptr/864S\08\00\0ccapacity/122\01\0ccapacity/121\02\09*bind/123\03\09*bind/124\04\09*bind/125\05\09*bind/126\06\08*tmp/483\07\07ptr/865T\04\00\05x/120\01\05n/117\02\05i/116\03\08next/119U\02\00\0ccapacity/115\01\08*tmp/482V \00\08self/111\01\07key/107\02\08hash/106\03\05i/108\04\07idx/109\05\09*bind/110\06\09*Some/112\07\0a*entry/113\08\08*tmp/468\09\07key/469\0a\08hash/470\0b\08*tmp/471\0c\09value/472\0d\07psl/473\0e\08*tmp/474\0f\08*tmp/475\10\08*tmp/476\11\08*tmp/477\12\11capacity_mask/478\13\0bentries/479\14\08*tmp/480\15\11capacity_mask/481\16\0a*field/757\17\0a*field/758\18\08*tmp/759\19\0a*field/760\1a\08*tmp/761\1b\0a*field/762\1c\08*cnt/818\1d\0a*field/819\1e\0a*field/820\1f\0c*new_cnt/821W\1d\00\08self/102\01\06key/98\02\07hash/97\03\04i/99\04\07idx/100\05\09*bind/101\06\09*Some/103\07\0a*entry/104\08\08*tmp/454\09\07key/455\0a\08hash/456\0b\08*tmp/457\0c\09value/458\0d\07psl/459\0e\08*tmp/460\0f\08*tmp/461\10\08*tmp/462\11\08*tmp/463\12\11capacity_mask/464\13\0bentries/465\14\08*tmp/466\15\11capacity_mask/467\16\0a*field/763\17\0a*field/764\18\08*tmp/765\19\0a*field/766\1a\08*cnt/822\1b\0a*field/823\1c\0c*new_cnt/824X\0a\00\07self/93\01\09logger/96\02\0b*Failure/94\03\07*msg/95\04\08*tmp/451\05\08*tmp/452\06\08*tmp/453\07\0a*field/767\08\08*cnt/825\09\0c*new_cnt/826Y\01\00\07self/92Z\14\00\07self/85\01\09logger/82\02\10segment_start/83\03\07*env/84\04\0b*end2140/86\05\04i/87\06\04c/89\07\08*bind/90\08\09*bind/442\09\08*tmp/443\0a\09*bind/444\0b\08*tmp/445\0c\08*tmp/446\0d\08*tmp/447\0e\08*tmp/448\0f\08*tmp/449\10\08*tmp/450\11\08*tmp/768\12\07ptr/867\13\07ptr/868[\0f\00\07*env/78\01\04i/81\02\07self/77\03\09logger/79\04\10segment_start/80\05\07val/437\06\07val/438\07\08*tmp/439\08\07val/440\09\08*tmp/441\0a\0a*field/769\0b\0a*field/770\0c\0a*field/771\0d\08*cnt/827\0e\0c*new_cnt/828\5c\04\00\04i/76\01\08*tmp/434\02\08*tmp/435\03\08*tmp/436^\06\00\07self/75\01\08radix/74\02\06buf/73\03\08*tmp/432\04\08*tmp/433\05\07ptr/869_\01\00\08radix/72`\06\00\07self/68\01\09logger/69\02\08radix/71\03\07*env/70\04\08*tmp/431\05\07ptr/870a\0c\00\07*env/64\01\06num/67\02\09logger/63\03\08radix/65\04\07num2/66\05\08*tmp/427\06\08*tmp/428\07\08*tmp/429\08\08*tmp/430\09\0a*field/772\0a\08*cnt/829\0b\0c*new_cnt/830b\01\00\04n/62c\05\00\07self/61\01\06buf/60\02\08*tmp/425\03\08*tmp/426\04\07ptr/871d\0f\00\07self/58\01\06str/59\02\08*tmp/414\03\07len/415\04\08*tmp/416\05\08*tmp/417\06\08data/418\07\07len/419\08\08*tmp/420\09\08*tmp/421\0a\07len/422\0b\08*tmp/423\0c\08*tmp/424\0d\08*tmp/773\0e\0a*field/774e\17\00\07self/50\01\0fbytes_offset/45\02\06str/52\03\0dstr_offset/48\04\09length/46\05\05e1/44\06\05e2/47\07\07len1/49\08\07len2/51\09\11end_str_offset/53\0a\04i/54\0b\04j/55\0c\04c/56\0d\08*tmp/404\0e\08*tmp/405\0f\08*tmp/406\10\08*tmp/407\11\08*tmp/408\12\08*tmp/409\13\08*tmp/410\14\08*tmp/411\15\08*tmp/412\16\08*tmp/413f\0a\00\07self/41\01\05ch/43\02\06inc/42\03\08*tmp/398\04\07len/399\05\08*tmp/400\06\07len/401\07\08data/402\08\07len/403\09\0a*field/775g\10\00\07self/36\01\0brequired/37\02\0ecurrent_len/35\03\0bnew_data/40\04\08*tmp/391\05\08*tmp/392\06\08data/393\07\07len/394\08\08*tmp/395\09\08*tmp/396\0a\08data/397\0b\08*old/776\0c\0a*field/777\0d\08*tmp/778\0e\0a*field/779\0f\0fenough_space/38i\10\00\06dst/26\01\0ddst_offset/28\02\06src/27\03\0dsrc_offset/29\04\06len/31\05\04i/30\06\04i/33\07\08*tmp/382\08\08*tmp/383\09\08*tmp/384\0a\08*tmp/385\0b\08*tmp/386\0c\08*tmp/387\0d\08*tmp/388\0e\08*tmp/389\0f\08*tmp/390j\19\00\07self/21\01\09offset/22\02\08value/20\03\07code/19\04\05hi/23\05\05lo/24\06\05hi/25\07\08*tmp/364\08\08*tmp/365\09\08*tmp/366\0a\08*tmp/367\0b\08*tmp/368\0c\08*tmp/369\0d\08*tmp/370\0e\08*tmp/371\0f\08*tmp/372\10\08*tmp/373\11\08*tmp/374\12\08*tmp/375\13\08*tmp/376\14\08*tmp/377\15\08*tmp/378\16\08*tmp/379\17\08*tmp/380\18\08*tmp/381k\02\00\07self/18\01\08*tmp/363l\02\00\07self/17\01\08*tmp/362m\07\00\07self/16\01\08*tmp/358\02\08*tmp/359\03\07len/360\04\08data/361\05\0a*field/780\06\0a*field/781n\08\00\07self/10\01\09offset/15\02\09length/12\03\05len/9\04\09length/11\05\08*Some/13\06\05*l/14\07\08*tmp/357o\03\00\0a*param/326\01\0a*param/327\02\0a*param/328q\04\00\0bsize_hint/7\01\09initial/6\02\06data/8\03\07ptr/872r\05\00\06self/4\01\07index/5\02\05len/3\03\08*tmp/356\04\08*tmp/782s\04\00\06self/2\01\0a*field/783\02\08*cnt/831\03\0c*new_cnt/832t\01\00\05msg/1u\02\00\06*e/325\01\08*tag/873v\07\00\08*obj/344\01\0a*param/343\02\09*self/342\03\0f*casted_obj/345\04\0a*field/784\05\08*cnt/833\06\0c*new_cnt/834w\09\00\08*obj/340\01\0a*param/337\02\0a*param/338\03\0a*param/339\04\09*self/336\05\0f*casted_obj/341\06\0a*field/785\07\08*cnt/835\08\0c*new_cnt/836x\07\00\08*obj/334\01\0a*param/333\02\09*self/332\03\0f*casted_obj/335\04\0a*field/786\05\08*cnt/837\06\0c*new_cnt/838y\13\00\08*tmp/346\01\08*tmp/347\02\0a*tuple/348\03\08*tmp/349\04\08*tmp/350\05\08*tmp/351\06\0a*tuple/352\07\0a*tuple/353\08\08*tmp/354\09\08*tmp/355\0a\07ptr/874\0b\08*ptr/875\0c\07ptr/876\0d\07ptr/877\0e\08*ptr/878\0f\07ptr/879\10\07ptr/880\11\07ptr/881\12\08*ptr/882\04\ec\02\06\00 <>=>MultiValueResult<Unit+Error>\01l<<String*@moonbitlang/core/builtin.Map<Int*<<>=>Unit!Error*@moonbitlang/core/builtin.Array<String>>>>>=>Unit\02)@moonbitlang/core/builtin.Logger.method_0\03)@moonbitlang/core/builtin.Logger.method_1\04)@moonbitlang/core/builtin.Logger.method_2\05X<<Int*<<>=>MultiValueResult<Unit+Error>*@moonbitlang/core/builtin.Array<String>>>>=>Unit\06\11\01\00\0emoonbit.memory\07\d5\01\04\00\09tlsf/ROOT\01&moonbit.externref_table_free_list_head\02PAdUhTkJm/wasmtools/wasm_blackbox_test.moonbit_test_driver_internal_no_args_tests\03MAdUhTkJm/wasmtools/wasm_blackbox_test.__test_7761736d5f746573742e6d6274_0.clo\08\01\00\09\01\00\0a\01\00\0b\0e\01\00\0bmoonbit.tag"))
