From 074e7ed80457a314a9f5647643ecf1afbf7f4155 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 4 Oct 2023 09:11:20 +0200 Subject: [PATCH 01/36] update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5b8f187..33e1423 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *~ /generated /target +.vscode \ No newline at end of file From 330e3696064a49af3a6ffaca6f4b38b65ef8b7f0 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 3 Oct 2023 19:59:01 +0200 Subject: [PATCH 02/36] adding wat files for examples --- examples/0000-if.wat | 44 + examples/0001-loop.wat | 119 + examples/0002-call_and_tables.wat | 143 + examples/0003-locals_and_globals.wat | 4 + examples/basic.wat | 5 + examples/hello-wasi.wat | 26847 +++++++++++++++++++++++++ 6 files changed, 27162 insertions(+) create mode 100644 examples/0000-if.wat create mode 100644 examples/0001-loop.wat create mode 100644 examples/0002-call_and_tables.wat create mode 100644 examples/0003-locals_and_globals.wat create mode 100644 examples/basic.wat create mode 100644 examples/hello-wasi.wat diff --git a/examples/0000-if.wat b/examples/0000-if.wat new file mode 100644 index 0000000..49e8837 --- /dev/null +++ b/examples/0000-if.wat @@ -0,0 +1,44 @@ +(module + (type (;0;) (func)) + (type (;1;) (func (result i32))) + (func (;0;) (type 0) + i32.const 0 + if ;; label = @1 + i32.const 0 + drop + else + i32.const 1 + drop + end) + (func (;1;) (type 1) (result i32) + i32.const 0 + if (result i32) ;; label = @1 + i32.const 0 + else + i32.const 1 + end) + (func (;2;) (type 1) (result i32) + i32.const 0 + if (result i32) ;; label = @1 + i32.const 0 + return + else + i32.const 1 + end) + (func (;3;) (type 1) (result i32) + i32.const 0 + if (result i32) ;; label = @1 + i32.const 0 + else + i32.const 1 + return + end) + (func (;4;) (type 1) (result i32) + i32.const 0 + if (result i32) ;; label = @1 + i32.const 0 + return + else + i32.const 1 + return + end)) diff --git a/examples/0001-loop.wat b/examples/0001-loop.wat new file mode 100644 index 0000000..990b33a --- /dev/null +++ b/examples/0001-loop.wat @@ -0,0 +1,119 @@ +(module + (type (;0;) (func)) + (type (;1;) (func (result i32))) + (func (;0;) (type 0) + i32.const 0 + loop ;; label = @1 + end + i32.const 1 + drop + drop) + (func (;1;) (type 0) + loop ;; label = @1 + br 0 (;@1;) + end) + (func (;2;) (type 0) + block ;; label = @1 + loop ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + br 1 (;@1;) + end + i32.const 1234 + drop + end + i32.const 5678 + drop) + (func (;3;) (type 1) (result i32) + block ;; label = @1 + loop ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + i32.const 1 + br_if 1 (;@1;) + i32.const 2 + br_if 0 (;@2;) + i32.const 3 + br_if 1 (;@1;) + i32.const 4 + return + end + end + i32.const 1234) + (func (;4;) (type 1) (result i32) + loop (result i32) ;; label = @1 + loop (result i32) ;; label = @2 + loop (result i32) ;; label = @3 + loop (result i32) ;; label = @4 + loop (result i32) ;; label = @5 + loop (result i32) ;; label = @6 + loop (result i32) ;; label = @7 + loop (result i32) ;; label = @8 + loop (result i32) ;; label = @9 + loop (result i32) ;; label = @10 + loop (result i32) ;; label = @11 + loop (result i32) ;; label = @12 + loop (result i32) ;; label = @13 + loop (result i32) ;; label = @14 + loop (result i32) ;; label = @15 + loop (result i32) ;; label = @16 + loop (result i32) ;; label = @17 + loop (result i32) ;; label = @18 + loop (result i32) ;; label = @19 + loop (result i32) ;; label = @20 + loop (result i32) ;; label = @21 + i32.const 0 + i32.const 1 + br_if 20 (;@1;) + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end) + (func (;5;) (type 0) + block ;; label = @1 + loop ;; label = @2 + i32.const 0 + drop + block ;; label = @3 + loop ;; label = @4 + i32.const 1 + drop + block ;; label = @5 + loop ;; label = @6 + i32.const 2 + drop + br 5 (;@1;) + br 4 (;@2;) + br 3 (;@3;) + br 2 (;@4;) + br 1 (;@5;) + br 0 (;@6;) + end + end + i32.const 8002 + drop + end + end + i32.const 8001 + drop + end + end + i32.const 8000 + drop)) diff --git a/examples/0002-call_and_tables.wat b/examples/0002-call_and_tables.wat new file mode 100644 index 0000000..8cc6311 --- /dev/null +++ b/examples/0002-call_and_tables.wat @@ -0,0 +1,143 @@ +(module + (type (;0;) (func (param i32 i32) (result i32))) + (type (;1;) (func (result i32))) + (type (;2;) (func)) + (func (;0;) (type 1) (result i32) + block (result i32) ;; label = @1 + block (result i32) ;; label = @2 + block (result i32) ;; label = @3 + block (result i32) ;; label = @4 + block (result i32) ;; label = @5 + block (result i32) ;; label = @6 + block (result i32) ;; label = @7 + block (result i32) ;; label = @8 + block (result i32) ;; label = @9 + block (result i32) ;; label = @10 + block (result i32) ;; label = @11 + block (result i32) ;; label = @12 + block (result i32) ;; label = @13 + block (result i32) ;; label = @14 + block (result i32) ;; label = @15 + block (result i32) ;; label = @16 + block (result i32) ;; label = @17 + block (result i32) ;; label = @18 + block (result i32) ;; label = @19 + block (result i32) ;; label = @20 + block (result i32) ;; label = @21 + i32.const 10 + i32.const 8 + br_table 20 (;@1;) 19 (;@2;) 18 (;@3;) 17 (;@4;) 16 (;@5;) 15 (;@6;) 14 (;@7;) 13 (;@8;) 12 (;@9;) 11 (;@10;) 10 (;@11;) 9 (;@12;) 8 (;@13;) 7 (;@14;) 6 (;@15;) 5 (;@16;) 4 (;@17;) 3 (;@18;) 2 (;@19;) 1 (;@20;) 0 (;@21;) + end + i32.const 20 + drop + end + i32.const 19 + drop + end + i32.const 18 + drop + end + i32.const 17 + drop + end + i32.const 16 + drop + end + i32.const 15 + drop + end + i32.const 14 + drop + end + i32.const 13 + drop + end + i32.const 12 + drop + end + i32.const 11 + drop + end + i32.const 10 + drop + end + i32.const 9 + drop + end + i32.const 8 + drop + end + i32.const 7 + drop + end + i32.const 6 + drop + end + i32.const 5 + drop + end + i32.const 4 + drop + end + i32.const 3 + drop + end + i32.const 2 + drop + end + i32.const 1 + drop + end + i32.const 0 + drop) + (func (;1;) (type 0) (param i32 i32) (result i32) + i32.const 0 + i32.const 1 + i32.add) + (func (;2;) (type 2) + i32.const 10 + i32.const 20 + call 1 + drop) + (func (;3;) (type 2) + (local i32 i32) + i32.const 10 + i32.const 20 + call 1 + drop) + (func (;4;) (type 2) + i32.const 10 + i32.const 20 + i32.const 3 + call_indirect (type 0) + drop) + (func (;5;) (type 2) + (local i32 i32) + i32.const 10 + i32.const 20 + i32.const 3 + call_indirect (type 0) + drop) + (func (;6;) (type 0) (param i32 i32) (result i32) + i32.const 0 + i32.const 1 + i32.add) + (func (;7;) (type 0) (param i32 i32) (result i32) + i32.const 0 + i32.const 1 + i32.add) + (func (;8;) (type 0) (param i32 i32) (result i32) + i32.const 0 + i32.const 1 + i32.add) + (func (;9;) (type 0) (param i32 i32) (result i32) + i32.const 0 + i32.const 1 + i32.add) + (func (;10;) (type 0) (param i32 i32) (result i32) + i32.const 0 + i32.const 1 + i32.add) + (table (;0;) 5 5 funcref) + (export "dummy0" (func 6)) + (elem (;0;) (i32.const 0) func 6 7 8 9 10)) diff --git a/examples/0003-locals_and_globals.wat b/examples/0003-locals_and_globals.wat new file mode 100644 index 0000000..8144cf5 --- /dev/null +++ b/examples/0003-locals_and_globals.wat @@ -0,0 +1,4 @@ +(module + (global (;0;) (mut i32) (i32.const 1)) + (global (;1;) (mut i32) (i32.const 2)) + (export "myglobal" (global 0))) diff --git a/examples/basic.wat b/examples/basic.wat new file mode 100644 index 0000000..751172c --- /dev/null +++ b/examples/basic.wat @@ -0,0 +1,5 @@ +(module + (type (;0;) (func (result i32))) + (func (;0;) (type 0) (result i32) + i32.const 42 + return)) diff --git a/examples/hello-wasi.wat b/examples/hello-wasi.wat new file mode 100644 index 0000000..a531783 --- /dev/null +++ b/examples/hello-wasi.wat @@ -0,0 +1,26847 @@ +(module + (type (;0;) (func)) + (type (;1;) (func (param i32))) + (type (;2;) (func (param i32) (result i64))) + (type (;3;) (func (param i32 i32) (result i32))) + (type (;4;) (func (param i32 i32 i32 i32))) + (type (;5;) (func (param i32) (result i32))) + (type (;6;) (func (param i32 i32))) + (type (;7;) (func (param i32 i32 i32))) + (type (;8;) (func (param i32 i32 i32) (result i32))) + (type (;9;) (func (param i32 i32 i32 i32) (result i32))) + (type (;10;) (func (param i32 i32 i32 i32 i32))) + (type (;11;) (func (result i32))) + (type (;12;) (func (param i32 i32 i32 i32 i32) (result i32))) + (type (;13;) (func (param i32 i32 i32 i32 i32 i32) (result i32))) + (type (;14;) (func (param i32 i32 i32 i32 i32 i32 i32) (result i32))) + (type (;15;) (func (param i64 i32 i32) (result i32))) + (import "wasi_snapshot_preview1" "proc_exit" (func $__wasi_proc_exit (type 1))) + (import "wasi_snapshot_preview1" "fd_write" (func $_ZN4wasi13lib_generated22wasi_snapshot_preview18fd_write17hfbffe82bfc68da68E (type 9))) + (import "wasi_snapshot_preview1" "fd_prestat_get" (func $__wasi_fd_prestat_get (type 3))) + (import "wasi_snapshot_preview1" "fd_prestat_dir_name" (func $__wasi_fd_prestat_dir_name (type 8))) + (import "wasi_snapshot_preview1" "environ_sizes_get" (func $__wasi_environ_sizes_get (type 3))) + (import "wasi_snapshot_preview1" "environ_get" (func $__wasi_environ_get (type 3))) + (func $__wasm_call_ctors (type 0) + call $__wasilibc_initialize_environ_eagerly + call $__wasilibc_populate_libpreopen) + (func $_start (type 0) + (local i32) + call $__wasm_call_ctors + call $__original_main + local.set 0 + call $__prepare_for_exit + block ;; label = @1 + local.get 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + call $__wasi_proc_exit + unreachable + end) + (func $_ZN4core3fmt9Arguments6new_v117h329be3facaa49031E (type 10) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get 0 + local.set 5 + i32.const 16 + local.set 6 + local.get 5 + local.get 6 + i32.sub + local.set 7 + i32.const 0 + local.set 8 + local.get 7 + local.get 8 + i32.store offset=8 + local.get 0 + local.get 1 + i32.store + local.get 0 + local.get 2 + i32.store offset=4 + local.get 7 + i32.load offset=8 + local.set 9 + local.get 7 + i32.load offset=12 + local.set 10 + local.get 0 + local.get 9 + i32.store offset=8 + local.get 0 + local.get 10 + i32.store offset=12 + local.get 0 + local.get 3 + i32.store offset=16 + local.get 0 + local.get 4 + i32.store offset=20 + return) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h19a2a61da5d6a26cE (type 5) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get 0 + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + local.get 3 + global.set 0 + local.get 0 + i32.load + local.set 4 + local.get 4 + call $_ZN4core3ops8function6FnOnce9call_once17hb7bb02843ab0037dE + local.set 5 + i32.const 16 + local.set 6 + local.get 3 + local.get 6 + i32.add + local.set 7 + local.get 7 + global.set 0 + local.get 5 + return) + (func $_ZN4core3ops8function6FnOnce9call_once17hb7bb02843ab0037dE (type 5) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + local.get 3 + global.set 0 + i32.const 4 + local.set 4 + local.get 3 + local.get 4 + i32.add + local.set 5 + local.get 5 + local.set 6 + local.get 3 + local.get 0 + i32.store offset=4 + local.get 6 + call $_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h0e98a8fdad6ece05E + local.set 7 + i32.const 16 + local.set 8 + local.get 3 + local.get 8 + i32.add + local.set 9 + local.get 9 + global.set 0 + local.get 7 + return) + (func $_ZN4core3ptr13drop_in_place17hbdefc172b9ada5feE (type 1) (param i32) + (local i32 i32) + global.get 0 + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + drop + return) + (func $_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h5c1886bfbfe252adE (type 11) (result i32) + (local i32 i32 i32 i32) + i32.const 0 + local.set 0 + i32.const 1 + local.set 1 + local.get 0 + local.get 1 + i32.and + local.set 2 + local.get 2 + call $_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17ha5e320ac3a1f670bE + local.set 3 + local.get 3 + return) + (func $_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17ha5e320ac3a1f670bE (type 5) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + local.get 3 + global.set 0 + i32.const 15 + local.set 4 + local.get 3 + local.get 4 + i32.add + local.set 5 + local.get 5 + local.set 6 + local.get 0 + local.set 7 + local.get 3 + local.get 7 + i32.store8 offset=15 + local.get 6 + call $_ZN3std3sys4wasi7process8ExitCode6as_i3217ha6343d4419ced070E + local.set 8 + i32.const 16 + local.set 9 + local.get 3 + local.get 9 + i32.add + local.set 10 + local.get 10 + global.set 0 + local.get 8 + return) + (func $_ZN3std2rt10lang_start17hadf3fca7e8322d80E (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + local.set 3 + i32.const 16 + local.set 4 + local.get 3 + local.get 4 + i32.sub + local.set 5 + local.get 5 + global.set 0 + i32.const 1048576 + local.set 6 + local.get 6 + local.set 7 + i32.const 12 + local.set 8 + local.get 5 + local.get 8 + i32.add + local.set 9 + local.get 9 + local.set 10 + local.get 5 + local.get 0 + i32.store offset=12 + local.get 10 + local.get 7 + local.get 1 + local.get 2 + call $_ZN3std2rt19lang_start_internal17h671cbf6e632f7250E + local.set 11 + i32.const 16 + local.set 12 + local.get 5 + local.get 12 + i32.add + local.set 13 + local.get 13 + global.set 0 + local.get 11 + return) + (func $_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h0e98a8fdad6ece05E (type 5) (param i32) (result i32) + (local i32 i32) + local.get 0 + i32.load + local.set 1 + local.get 1 + call_indirect (type 0) + call $_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h5c1886bfbfe252adE + local.set 2 + local.get 2 + return) + (func $_ZN5hello4main17hd078db076938ab99E (type 0) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + local.set 0 + i32.const 32 + local.set 1 + local.get 0 + local.get 1 + i32.sub + local.set 2 + local.get 2 + global.set 0 + i32.const 8 + local.set 3 + local.get 2 + local.get 3 + i32.add + local.set 4 + local.get 4 + local.set 5 + i32.const 1 + local.set 6 + i32.const 0 + local.set 7 + i32.const 0 + local.set 8 + local.get 8 + i32.load offset=1048624 + local.set 9 + i32.const 0 + local.set 10 + local.get 10 + i32.load offset=1048628 + local.set 11 + local.get 5 + local.get 9 + local.get 6 + local.get 11 + local.get 7 + call $_ZN4core3fmt9Arguments6new_v117h329be3facaa49031E + i32.const 8 + local.set 12 + local.get 2 + local.get 12 + i32.add + local.set 13 + local.get 13 + local.set 14 + local.get 14 + call $_ZN3std2io5stdio6_print17h53f0a7747fc3663eE + i32.const 32 + local.set 15 + local.get 2 + local.get 15 + i32.add + local.set 16 + local.get 16 + global.set 0 + return) + (func $__original_main (type 11) (result i32) + (local i32 i32 i32) + i32.const 4 + local.set 0 + i32.const 0 + local.set 1 + local.get 0 + local.get 1 + local.get 1 + call $_ZN3std2rt10lang_start17hadf3fca7e8322d80E + local.set 2 + local.get 2 + return) + (func $main (type 3) (param i32 i32) (result i32) + (local i32) + call $__original_main + local.set 2 + local.get 2 + return) + (func $__rust_alloc (type 3) (param i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + call $__rdl_alloc + local.set 2 + local.get 2 + return) + (func $__rust_dealloc (type 7) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $__rdl_dealloc + return) + (func $__rust_realloc (type 9) (param i32 i32 i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + local.get 2 + local.get 3 + call $__rdl_realloc + local.set 4 + local.get 4 + return) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h0392c58b36b5e65cE (type 2) (param i32) (result i64) + i64.const -3452326882552253247) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h8ccad713f7bee105E (type 2) (param i32) (result i64) + i64.const 9147559743429524724) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hf6b487e2f110a1d5E (type 2) (param i32) (result i64) + i64.const 943913013690912652) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4473b65edfd7c202E (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load + local.tee 0 + i32.load offset=8 + local.set 3 + local.get 0 + i32.load + local.set 0 + local.get 2 + local.get 1 + call $_ZN4core3fmt9Formatter10debug_list17haf359c45ea555102E + block ;; label = @1 + local.get 3 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + local.get 2 + local.get 0 + i32.store offset=12 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.const 1048704 + call $_ZN4core3fmt8builders8DebugSet5entry17hcec6345aa501ef45E + drop + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + br_if 0 (;@2;) + end + end + local.get 2 + call $_ZN4core3fmt8builders9DebugList6finish17hbd08192effc20d79E + local.set 0 + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 0) + (func $_ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17h51daa603ac20d4e8E (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64) + global.get 0 + i32.const 80 + i32.sub + local.tee 3 + global.set 0 + i32.const 1 + local.set 4 + block ;; label = @1 + local.get 2 + i32.const 1049652 + i32.const 1 + call $_ZN4core3fmt9Formatter9write_str17h545f61f492283d6dE + br_if 0 (;@1;) + local.get 3 + i32.const 8 + i32.add + local.get 0 + local.get 1 + call $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE + local.get 3 + local.get 3 + i32.load offset=8 + local.get 3 + i32.load offset=12 + call $_ZN4core3str5lossy9Utf8Lossy6chunks17h8921da9536869963E + local.get 3 + local.get 3 + i64.load + i64.store offset=16 + local.get 3 + i32.const 40 + i32.add + local.get 3 + i32.const 16 + i32.add + call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E + block ;; label = @2 + local.get 3 + i32.load offset=40 + local.tee 4 + i32.eqz + br_if 0 (;@2;) + local.get 3 + i32.const 48 + i32.add + local.set 5 + local.get 3 + i32.const 64 + i32.add + local.set 6 + loop ;; label = @3 + local.get 3 + i32.load offset=52 + local.set 7 + local.get 3 + i32.load offset=48 + local.set 8 + local.get 3 + i32.load offset=44 + local.set 0 + local.get 3 + i32.const 4 + i32.store offset=64 + local.get 3 + i32.const 4 + i32.store offset=48 + local.get 3 + local.get 4 + i32.store offset=40 + local.get 3 + local.get 4 + local.get 0 + i32.add + i32.store offset=44 + i32.const 4 + local.set 4 + block ;; label = @4 + loop ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + local.get 4 + i32.const 4 + i32.eq + br_if 0 (;@18;) + local.get 5 + call $_ZN82_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1b10a0b08a976a19E + local.tee 4 + i32.const 1114112 + i32.ne + br_if 1 (;@17;) + local.get 3 + i32.const 4 + i32.store offset=48 + end + block ;; label = @18 + local.get 3 + i32.load offset=44 + local.tee 0 + local.get 3 + i32.load offset=40 + local.tee 4 + i32.eq + br_if 0 (;@18;) + local.get 3 + local.get 4 + i32.const 1 + i32.add + local.tee 9 + i32.store offset=40 + block ;; label = @19 + block ;; label = @20 + local.get 4 + i32.load8_s + local.tee 1 + i32.const -1 + i32.le_s + br_if 0 (;@20;) + local.get 1 + i32.const 255 + i32.and + local.set 0 + br 1 (;@19;) + end + block ;; label = @20 + block ;; label = @21 + local.get 9 + local.get 0 + i32.ne + br_if 0 (;@21;) + i32.const 0 + local.set 4 + local.get 0 + local.set 9 + br 1 (;@20;) + end + local.get 3 + local.get 4 + i32.const 2 + i32.add + local.tee 9 + i32.store offset=40 + local.get 4 + i32.load8_u offset=1 + i32.const 63 + i32.and + local.set 4 + end + local.get 1 + i32.const 31 + i32.and + local.set 10 + block ;; label = @20 + local.get 1 + i32.const 255 + i32.and + local.tee 1 + i32.const 223 + i32.gt_u + br_if 0 (;@20;) + local.get 4 + local.get 10 + i32.const 6 + i32.shl + i32.or + local.set 0 + br 1 (;@19;) + end + block ;; label = @20 + block ;; label = @21 + local.get 9 + local.get 0 + i32.ne + br_if 0 (;@21;) + i32.const 0 + local.set 9 + local.get 0 + local.set 11 + br 1 (;@20;) + end + local.get 3 + local.get 9 + i32.const 1 + i32.add + local.tee 11 + i32.store offset=40 + local.get 9 + i32.load8_u + i32.const 63 + i32.and + local.set 9 + end + local.get 9 + local.get 4 + i32.const 6 + i32.shl + i32.or + local.set 4 + block ;; label = @20 + local.get 1 + i32.const 240 + i32.ge_u + br_if 0 (;@20;) + local.get 4 + local.get 10 + i32.const 12 + i32.shl + i32.or + local.set 0 + br 1 (;@19;) + end + block ;; label = @20 + block ;; label = @21 + local.get 11 + local.get 0 + i32.ne + br_if 0 (;@21;) + i32.const 0 + local.set 0 + br 1 (;@20;) + end + local.get 3 + local.get 11 + i32.const 1 + i32.add + i32.store offset=40 + local.get 11 + i32.load8_u + i32.const 63 + i32.and + local.set 0 + end + local.get 4 + i32.const 6 + i32.shl + local.get 10 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.get 0 + i32.or + local.set 0 + end + i32.const 2 + local.set 4 + local.get 0 + i32.const -9 + i32.add + local.tee 9 + i32.const 30 + i32.le_u + br_if 4 (;@14;) + local.get 0 + i32.const 92 + i32.eq + br_if 6 (;@12;) + local.get 0 + i32.const 1114112 + i32.ne + br_if 5 (;@13;) + end + local.get 3 + i32.load offset=64 + i32.const 4 + i32.eq + br_if 1 (;@16;) + local.get 6 + call $_ZN82_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1b10a0b08a976a19E + local.tee 4 + i32.const 1114112 + i32.eq + br_if 1 (;@16;) + end + local.get 2 + local.get 4 + call $_ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17h10ad0684667415e1E + br_if 1 (;@15;) + local.get 3 + i32.load offset=48 + local.set 4 + br 11 (;@5;) + end + loop ;; label = @16 + local.get 7 + i32.eqz + br_if 12 (;@4;) + local.get 3 + local.get 8 + i32.store offset=28 + local.get 3 + i32.const 1 + i32.store offset=60 + local.get 3 + i32.const 1 + i32.store offset=52 + local.get 3 + i32.const 1051200 + i32.store offset=48 + local.get 3 + i32.const 1 + i32.store offset=44 + local.get 3 + i32.const 1051192 + i32.store offset=40 + local.get 3 + i32.const 5 + i32.store offset=36 + local.get 7 + i32.const -1 + i32.add + local.set 7 + local.get 8 + i32.const 1 + i32.add + local.set 8 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=56 + local.get 3 + local.get 3 + i32.const 28 + i32.add + i32.store offset=32 + local.get 2 + local.get 3 + i32.const 40 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E + i32.eqz + br_if 0 (;@16;) + end + end + i32.const 1 + local.set 4 + br 13 (;@1;) + end + i32.const 116 + local.set 1 + local.get 9 + br_table 7 (;@6;) 5 (;@8;) 0 (;@13;) 0 (;@13;) 6 (;@7;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 1 (;@12;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 1 (;@12;) 7 (;@6;) + end + block ;; label = @13 + local.get 0 + call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E + i32.eqz + br_if 0 (;@13;) + local.get 0 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set 12 + br 3 (;@10;) + end + i32.const 1 + local.set 4 + local.get 0 + call $_ZN4core7unicode9printable12is_printable17h576ae3d8aaeb2915E + i32.eqz + br_if 1 (;@11;) + end + br 2 (;@9;) + end + local.get 0 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set 12 + end + i32.const 3 + local.set 4 + end + local.get 0 + local.set 1 + br 2 (;@6;) + end + i32.const 110 + local.set 1 + br 1 (;@6;) + end + i32.const 114 + local.set 1 + end + local.get 3 + local.get 12 + i64.store offset=56 + local.get 3 + local.get 1 + i32.store offset=52 + local.get 3 + local.get 4 + i32.store offset=48 + br 0 (;@5;) + end + end + local.get 3 + i32.const 40 + i32.add + local.get 3 + i32.const 16 + i32.add + call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E + local.get 3 + i32.load offset=40 + local.tee 4 + br_if 0 (;@3;) + end + end + local.get 2 + i32.const 1049652 + i32.const 1 + call $_ZN4core3fmt9Formatter9write_str17h545f61f492283d6dE + local.set 4 + end + local.get 3 + i32.const 80 + i32.add + global.set 0 + local.get 4) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h72010bc18c2c3871E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.set 0 + block ;; label = @1 + local.get 1 + call $_ZN4core3fmt9Formatter15debug_lower_hex17hce81659868cce5baE + br_if 0 (;@1;) + block ;; label = @2 + local.get 1 + call $_ZN4core3fmt9Formatter15debug_upper_hex17h19a78e2dfbd00c52E + br_if 0 (;@2;) + local.get 0 + local.get 1 + call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17he6ead8fc076aace0E + return + end + local.get 0 + local.get 1 + call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hf6dfd165e0a82f4aE + return + end + local.get 0 + local.get 1 + call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h84435a511eccf523E) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h935565c54b9e7992E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.set 0 + block ;; label = @1 + local.get 1 + call $_ZN4core3fmt9Formatter15debug_lower_hex17hce81659868cce5baE + br_if 0 (;@1;) + block ;; label = @2 + local.get 1 + call $_ZN4core3fmt9Formatter15debug_upper_hex17h19a78e2dfbd00c52E + br_if 0 (;@2;) + local.get 0 + local.get 1 + call $_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h9ace9957d1dfdd97E + return + end + local.get 0 + local.get 1 + call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hf0602dfa1b51374aE + return + end + local.get 0 + local.get 1 + call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i8$GT$3fmt17h520fc9cf30ca6ce8E) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h3f42ebff8fc1778aE (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + local.get 1 + call $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h52ad5ba400a1c0b2E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN60_$LT$core..panic..Location$u20$as$u20$core..fmt..Display$GT$3fmt17h37d828db1f545440E) + (func $_ZN45_$LT$$RF$T$u20$as$u20$core..fmt..UpperHex$GT$3fmt17hb918cce28d9d0601E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hf0602dfa1b51374aE) + (func $_ZN4core3fmt5Write10write_char17h5ee09af859d49745E (type 3) (param i32 i32) (result i32) + (local i32 i32 i64 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + i32.const 0 + i32.store offset=4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 1 + i32.const 2048 + i32.lt_u + br_if 1 (;@3;) + local.get 2 + i32.const 4 + i32.add + local.set 3 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 2 (;@2;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=6 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=4 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=5 + i32.const 3 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.get 1 + i32.store8 offset=4 + local.get 2 + i32.const 4 + i32.add + local.set 3 + i32.const 1 + local.set 1 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=5 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=4 + local.get 2 + i32.const 4 + i32.add + local.set 3 + i32.const 2 + local.set 1 + br 1 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=7 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=4 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=6 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=5 + i32.const 4 + local.set 1 + end + local.get 2 + i32.const 8 + i32.add + local.get 0 + i32.load + local.get 3 + local.get 1 + call $_ZN3std2io5Write9write_all17h39d0435291d0ea60E + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 2 + i32.load8_u offset=8 + i32.const 3 + i32.eq + br_if 0 (;@1;) + local.get 2 + i64.load offset=8 + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load + local.get 5 + local.get 3 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i64.store offset=4 align=4 + i32.const 1 + local.set 1 + end + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN3std2io5Write9write_all17h39d0435291d0ea60E (type 4) (param i32 i32 i32 i32) + (local i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 3 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 4 + local.get 3 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + local.get 4 + i32.const 16 + i32.add + i32.const 2 + local.get 4 + i32.const 8 + i32.add + i32.const 1 + call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 4 + i32.load16_u offset=16 + i32.const 1 + i32.eq + br_if 0 (;@6;) + block ;; label = @7 + local.get 4 + i32.load offset=20 + local.tee 5 + br_if 0 (;@7;) + local.get 4 + i32.const 16 + i32.add + i32.const 14 + i32.const 1050340 + i32.const 28 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 4 + i64.load offset=16 + i64.store align=4 + br 6 (;@1;) + end + local.get 3 + local.get 5 + i32.lt_u + br_if 1 (;@5;) + local.get 2 + local.get 5 + i32.add + local.set 2 + local.get 3 + local.get 5 + i32.sub + local.set 3 + br 2 (;@4;) + end + local.get 4 + local.get 4 + i32.load16_u offset=18 + i32.store16 offset=30 + local.get 4 + i32.const 30 + i32.add + call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE + i32.const 65535 + i32.and + local.tee 5 + call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE + i32.const 255 + i32.and + i32.const 15 + i32.eq + br_if 1 (;@4;) + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 5 + i32.store + br 4 (;@1;) + end + local.get 5 + local.get 3 + i32.const 1050544 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 3 + br_if 0 (;@3;) + end + end + local.get 0 + i32.const 3 + i32.store8 + end + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN3std2io5error5Error3new17h241fae668dc94904E (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i64) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.const -1 + i32.le_s + br_if 0 (;@4;) + block ;; label = @5 + block ;; label = @6 + local.get 3 + br_if 0 (;@6;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 6 + br 1 (;@5;) + end + local.get 3 + local.set 6 + local.get 3 + i32.const 1 + call $__rust_alloc + local.tee 5 + i32.eqz + br_if 2 (;@3;) + end + local.get 4 + i32.const 0 + i32.store offset=24 + local.get 4 + local.get 5 + i32.store offset=16 + local.get 4 + local.get 6 + i32.store offset=20 + local.get 4 + i32.const 16 + i32.add + local.get 3 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 4 + i32.load offset=16 + local.get 4 + i32.load offset=24 + local.tee 5 + i32.add + local.get 2 + local.get 3 + call $memcpy + drop + local.get 4 + i32.const 8 + i32.add + local.get 5 + local.get 3 + i32.add + local.tee 3 + i32.store + local.get 4 + local.get 3 + i32.store offset=24 + local.get 4 + local.get 4 + i64.load offset=16 + local.tee 7 + i64.store + local.get 4 + i32.const 16 + i32.add + i32.const 8 + i32.add + local.tee 5 + local.get 3 + i32.store + local.get 4 + local.get 7 + i64.store offset=16 + i32.const 12 + i32.const 4 + call $__rust_alloc + local.tee 2 + i32.eqz + br_if 2 (;@2;) + local.get 2 + local.get 4 + i64.load offset=16 + i64.store align=4 + local.get 2 + i32.const 8 + i32.add + local.get 5 + i32.load + i32.store + i32.const 12 + i32.const 4 + call $__rust_alloc + local.tee 3 + i32.eqz + br_if 3 (;@1;) + local.get 3 + local.get 1 + i32.store8 offset=8 + local.get 3 + i32.const 1049756 + i32.store offset=4 + local.get 3 + local.get 2 + i32.store + local.get 3 + local.get 4 + i32.load16_u offset=16 align=1 + i32.store16 offset=9 align=1 + local.get 3 + i32.const 11 + i32.add + local.get 4 + i32.const 16 + i32.add + i32.const 2 + i32.add + local.tee 2 + i32.load8_u + i32.store8 + local.get 0 + i32.const 2 + i32.store8 + local.get 0 + local.get 4 + i32.load16_u offset=16 align=1 + i32.store16 offset=1 align=1 + local.get 0 + i32.const 3 + i32.add + local.get 2 + i32.load8_u + i32.store8 + local.get 0 + i32.const 4 + i32.add + local.get 3 + i32.store + local.get 4 + i32.const 32 + i32.add + global.set 0 + return + end + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE + unreachable + end + local.get 3 + i32.const 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE + unreachable + end + i32.const 12 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + i32.const 12 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable) + (func $_ZN4core3fmt5Write10write_char17hb53f5ebecc3ea1e8E (type 3) (param i32 i32) (result i32) + (local i32 i32 i64 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + i32.const 0 + i32.store offset=4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 1 + i32.const 2048 + i32.lt_u + br_if 1 (;@3;) + local.get 2 + i32.const 4 + i32.add + local.set 3 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 2 (;@2;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=6 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=4 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=5 + i32.const 3 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.get 1 + i32.store8 offset=4 + local.get 2 + i32.const 4 + i32.add + local.set 3 + i32.const 1 + local.set 1 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=5 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=4 + local.get 2 + i32.const 4 + i32.add + local.set 3 + i32.const 2 + local.set 1 + br 1 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=7 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=4 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=6 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=5 + i32.const 4 + local.set 1 + end + local.get 2 + i32.const 8 + i32.add + local.get 0 + i32.load + local.get 3 + local.get 1 + call $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 2 + i32.load8_u offset=8 + i32.const 3 + i32.eq + br_if 0 (;@1;) + local.get 2 + i64.load offset=8 + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load + local.get 5 + local.get 3 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i64.store offset=4 align=4 + i32.const 1 + local.set 1 + end + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.eqz + br_if 0 (;@3;) + loop ;; label = @4 + local.get 4 + i32.const 8 + i32.add + local.get 1 + local.get 2 + local.get 3 + call $_ZN61_$LT$std..io..stdio..StdoutLock$u20$as$u20$std..io..Write$GT$5write17h318ff9a8d34e94bcE + block ;; label = @5 + block ;; label = @6 + local.get 4 + i32.load offset=8 + i32.const 1 + i32.eq + br_if 0 (;@6;) + block ;; label = @7 + local.get 4 + i32.load offset=12 + local.tee 5 + br_if 0 (;@7;) + local.get 4 + i32.const 24 + i32.add + i32.const 14 + i32.const 1050340 + i32.const 28 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 4 + i64.load offset=24 + i64.store align=4 + br 6 (;@1;) + end + local.get 3 + local.get 5 + i32.lt_u + br_if 4 (;@2;) + local.get 2 + local.get 5 + i32.add + local.set 2 + local.get 3 + local.get 5 + i32.sub + local.set 3 + br 1 (;@5;) + end + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 4 + i32.load8_u offset=12 + local.tee 6 + br_table 1 (;@8;) 0 (;@9;) 2 (;@7;) 1 (;@8;) + end + local.get 4 + i32.load8_u offset=13 + local.set 5 + br 2 (;@6;) + end + local.get 4 + i32.load offset=16 + call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE + i32.const 255 + i32.and + local.set 5 + br 1 (;@6;) + end + local.get 4 + i32.load offset=16 + i32.load8_u offset=8 + local.set 5 + end + block ;; label = @6 + local.get 5 + i32.const 255 + i32.and + i32.const 15 + i32.eq + br_if 0 (;@6;) + local.get 0 + local.get 4 + i64.load offset=12 align=4 + i64.store align=4 + br 5 (;@1;) + end + local.get 6 + i32.const 2 + i32.lt_u + br_if 0 (;@5;) + local.get 4 + i32.load offset=16 + local.tee 5 + i32.load + local.get 5 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @6 + local.get 5 + i32.load offset=4 + local.tee 6 + i32.load offset=4 + local.tee 7 + i32.eqz + br_if 0 (;@6;) + local.get 5 + i32.load + local.get 7 + local.get 6 + i32.load offset=8 + call $__rust_dealloc + end + local.get 5 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 3 + br_if 0 (;@4;) + end + end + local.get 0 + i32.const 3 + i32.store8 + br 1 (;@1;) + end + local.get 5 + local.get 3 + i32.const 1050544 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN4core3fmt5Write9write_fmt17h742453284fe8e52bE (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1048632 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN4core3fmt5Write9write_fmt17h76d12290e419169eE (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1048656 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN3std9panicking12default_hook17h98793b832cd2dab6E (type 1) (param i32) + (local i32 i32 i32 i32 i32 i64 i32) + global.get 0 + i32.const 96 + i32.sub + local.tee 1 + global.set 0 + i32.const 1 + local.set 2 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + i32.load offset=1058352 + i32.const 1 + i32.eq + br_if 0 (;@3;) + i32.const 0 + i64.const 1 + i64.store offset=1058352 + br 1 (;@2;) + end + i32.const 0 + i32.load offset=1058356 + i32.const 1 + i32.gt_u + br_if 1 (;@1;) + end + block ;; label = @2 + i32.const 0 + i32.load offset=1058284 + local.tee 2 + i32.const 2 + i32.le_u + br_if 0 (;@2;) + i32.const 1 + local.set 2 + br 1 (;@1;) + end + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + br_table 0 (;@4;) 1 (;@3;) 2 (;@2;) 0 (;@4;) + end + local.get 1 + i32.const 64 + i32.add + i32.const 1049653 + i32.const 14 + call $_ZN3std3env7_var_os17he9875667788e1d16E + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load offset=64 + local.tee 3 + br_if 0 (;@5;) + i32.const 5 + local.set 2 + br 1 (;@4;) + end + local.get 1 + i32.load offset=68 + local.set 4 + block ;; label = @5 + block ;; label = @6 + local.get 1 + i32.const 72 + i32.add + i32.load + i32.const -1 + i32.add + local.tee 2 + i32.const 3 + i32.gt_u + br_if 0 (;@6;) + block ;; label = @7 + block ;; label = @8 + local.get 2 + br_table 0 (;@8;) 2 (;@6;) 2 (;@6;) 1 (;@7;) 0 (;@8;) + end + i32.const 4 + local.set 2 + i32.const 1 + local.set 5 + local.get 3 + i32.const 1049667 + i32.eq + br_if 2 (;@5;) + local.get 3 + i32.load8_u + i32.const 48 + i32.ne + br_if 1 (;@6;) + br 2 (;@5;) + end + i32.const 1 + local.set 2 + i32.const 3 + local.set 5 + local.get 3 + i32.const 1051176 + i32.eq + br_if 1 (;@5;) + local.get 3 + i32.load align=1 + i32.const 1819047270 + i32.eq + br_if 1 (;@5;) + end + i32.const 0 + local.set 2 + i32.const 2 + local.set 5 + end + local.get 4 + i32.eqz + br_if 0 (;@4;) + local.get 3 + local.get 4 + i32.const 1 + call $__rust_dealloc + end + i32.const 0 + i32.const 1 + local.get 5 + local.get 2 + i32.const 5 + i32.eq + local.tee 3 + select + i32.store offset=1058284 + i32.const 4 + local.get 2 + local.get 3 + select + local.set 2 + br 2 (;@1;) + end + i32.const 4 + local.set 2 + br 1 (;@1;) + end + i32.const 0 + local.set 2 + end + local.get 1 + local.get 2 + i32.store8 offset=35 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + call $_ZN4core5panic9PanicInfo8location17hd9842140c74e4b5aE + local.tee 2 + i32.eqz + br_if 0 (;@3;) + local.get 1 + local.get 2 + i32.store offset=36 + local.get 1 + i32.const 24 + i32.add + local.get 0 + call $_ZN4core5panic8Location4file17h51ec8de78a0a7533E + local.get 1 + i32.load offset=24 + local.tee 2 + local.get 1 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 2) + local.set 6 + block ;; label = @4 + local.get 2 + i32.eqz + br_if 0 (;@4;) + local.get 6 + i64.const 9147559743429524724 + i64.eq + br_if 2 (;@2;) + end + local.get 1 + i32.const 16 + i32.add + local.get 0 + call $_ZN4core5panic8Location4file17h51ec8de78a0a7533E + local.get 1 + i32.load offset=16 + local.tee 2 + local.get 1 + i32.load offset=20 + i32.load offset=12 + call_indirect (type 2) + local.set 6 + i32.const 1051496 + local.set 5 + i32.const 8 + local.set 0 + block ;; label = @4 + local.get 2 + i32.eqz + br_if 0 (;@4;) + local.get 6 + i64.const 943913013690912652 + i64.ne + br_if 0 (;@4;) + local.get 2 + i32.load offset=8 + local.set 0 + local.get 2 + i32.load + local.set 5 + end + local.get 1 + local.get 5 + i32.store offset=40 + br 2 (;@1;) + end + i32.const 1049080 + i32.const 43 + i32.const 1051480 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 1 + local.get 2 + i32.load + i32.store offset=40 + local.get 2 + i32.load offset=4 + local.set 0 + end + local.get 1 + local.get 0 + i32.store offset=44 + i32.const 0 + local.set 0 + block ;; label = @1 + i32.const 0 + i32.load offset=1058340 + i32.const 1 + i32.eq + br_if 0 (;@1;) + i32.const 0 + i64.const 1 + i64.store offset=1058340 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058348 + end + local.get 1 + i32.const 1058344 + call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E + local.tee 2 + i32.store offset=52 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.load offset=16 + local.tee 5 + br_if 0 (;@3;) + br 1 (;@2;) + end + local.get 2 + i32.const 16 + i32.add + i32.const 0 + local.get 5 + select + local.tee 0 + i32.load offset=4 + local.tee 3 + i32.const -1 + i32.add + local.set 5 + local.get 3 + i32.eqz + br_if 1 (;@1;) + local.get 0 + i32.load + local.set 0 + end + local.get 1 + local.get 5 + i32.const 9 + local.get 0 + select + i32.store offset=60 + local.get 1 + local.get 0 + i32.const 1051504 + local.get 0 + select + i32.store offset=56 + local.get 1 + local.get 1 + i32.const 35 + i32.add + i32.store offset=76 + local.get 1 + local.get 1 + i32.const 36 + i32.add + i32.store offset=72 + local.get 1 + local.get 1 + i32.const 40 + i32.add + i32.store offset=68 + local.get 1 + local.get 1 + i32.const 56 + i32.add + i32.store offset=64 + i32.const 0 + local.set 3 + local.get 1 + i32.const 8 + i32.add + i32.const 0 + local.get 1 + call $_ZN3std2io5stdio9set_panic17h7aca8b71dbb6c3c1E + local.get 1 + i32.load offset=12 + local.set 5 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load offset=8 + local.tee 0 + i32.eqz + br_if 0 (;@3;) + local.get 1 + local.get 5 + i32.store offset=84 + local.get 1 + local.get 0 + i32.store offset=80 + local.get 1 + i32.const 64 + i32.add + local.get 1 + i32.const 80 + i32.add + i32.const 1051560 + call $_ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h46401a881447bbf1E + local.get 1 + local.get 1 + i32.load offset=80 + local.get 1 + i32.load offset=84 + call $_ZN3std2io5stdio9set_panic17h7aca8b71dbb6c3c1E + block ;; label = @4 + local.get 1 + i32.load + local.tee 3 + i32.eqz + br_if 0 (;@4;) + local.get 3 + local.get 1 + i32.load offset=4 + local.tee 4 + i32.load + call_indirect (type 1) + local.get 4 + i32.load offset=4 + local.tee 7 + i32.eqz + br_if 0 (;@4;) + local.get 3 + local.get 7 + local.get 4 + i32.load offset=8 + call $__rust_dealloc + end + i32.const 1 + local.set 3 + br 1 (;@2;) + end + local.get 1 + i32.const 64 + i32.add + local.get 1 + i32.const 88 + i32.add + i32.const 1051516 + call $_ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h46401a881447bbf1E + end + local.get 2 + local.get 2 + i32.load + local.tee 4 + i32.const -1 + i32.add + i32.store + block ;; label = @2 + local.get 4 + i32.const 1 + i32.ne + br_if 0 (;@2;) + local.get 1 + i32.const 52 + i32.add + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + block ;; label = @2 + local.get 0 + i32.const 0 + i32.ne + local.get 3 + i32.const 1 + i32.xor + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.get 5 + i32.load + call_indirect (type 1) + local.get 5 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.get 2 + local.get 5 + i32.load offset=8 + call $__rust_dealloc + end + local.get 1 + i32.const 96 + i32.add + global.set 0 + return + end + local.get 5 + i32.const 0 + i32.const 1049852 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0d04168c9cec80f1E (type 6) (param i32 i32) + (local i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.load + i32.store offset=12 + local.get 2 + i32.const 12 + i32.add + local.get 1 + call $_ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h1a740cc3bed420c0E + local.get 2 + i32.const 16 + i32.add + global.set 0) + (func $_ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h1a740cc3bed420c0E (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load + local.tee 0 + i32.load8_u + local.set 2 + local.get 0 + i32.const 0 + i32.store8 + block ;; label = @1 + local.get 2 + i32.const 1 + i32.and + i32.eqz + br_if 0 (;@1;) + i32.const 1 + local.set 3 + loop ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + i32.const 0 + i32.load8_u offset=1058361 + br_if 0 (;@6;) + i32.const 0 + i32.load offset=1058280 + local.set 4 + i32.const 0 + local.get 3 + i32.const 10 + i32.eq + i32.store offset=1058280 + i32.const 0 + i32.const 0 + i32.store8 offset=1058361 + block ;; label = @7 + local.get 4 + i32.const 1 + i32.gt_u + br_if 0 (;@7;) + block ;; label = @8 + local.get 4 + br_table 5 (;@3;) 0 (;@8;) 5 (;@3;) + end + i32.const 1050948 + i32.const 31 + i32.const 1051016 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 4 + i32.load + local.tee 5 + local.get 4 + i32.load offset=8 + local.tee 2 + i32.const 3 + i32.shl + i32.add + local.set 6 + local.get 4 + i32.load offset=4 + local.set 7 + local.get 5 + local.set 0 + local.get 2 + i32.eqz + br_if 1 (;@5;) + local.get 5 + local.set 0 + loop ;; label = @7 + block ;; label = @8 + local.get 0 + i32.load + local.tee 2 + br_if 0 (;@8;) + local.get 0 + i32.const 8 + i32.add + local.set 0 + br 3 (;@5;) + end + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 8 + i32.load offset=12 + call_indirect (type 1) + block ;; label = @8 + local.get 8 + i32.load offset=4 + local.tee 9 + i32.eqz + br_if 0 (;@8;) + local.get 2 + local.get 9 + local.get 8 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 8 + i32.add + local.tee 0 + local.get 6 + i32.ne + br_if 0 (;@7;) + br 3 (;@4;) + end + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 6 + local.get 0 + i32.eq + br_if 0 (;@4;) + loop ;; label = @5 + local.get 0 + i32.load + local.get 0 + i32.const 4 + i32.add + local.tee 2 + i32.load + i32.load + call_indirect (type 1) + block ;; label = @6 + local.get 2 + i32.load + local.tee 2 + i32.load offset=4 + local.tee 8 + i32.eqz + br_if 0 (;@6;) + local.get 0 + i32.load + local.get 8 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 8 + i32.add + local.tee 0 + local.get 6 + i32.ne + br_if 0 (;@5;) + end + end + block ;; label = @4 + local.get 7 + i32.eqz + br_if 0 (;@4;) + local.get 7 + i32.const 3 + i32.shl + local.tee 0 + i32.eqz + br_if 0 (;@4;) + local.get 5 + local.get 0 + i32.const 4 + call $__rust_dealloc + end + local.get 4 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 3 + i32.const 9 + i32.gt_u + local.set 0 + local.get 3 + i32.const 1 + i32.add + i32.const 10 + local.get 3 + i32.const 10 + i32.lt_u + select + local.tee 2 + local.set 3 + local.get 2 + i32.const 11 + i32.lt_u + local.get 0 + i32.const 1 + i32.xor + i32.and + br_if 0 (;@2;) + end + return + end + i32.const 1049080 + i32.const 43 + i32.const 1050764 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2ca61fe20b181ea6E (type 8) (param i32 i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 3 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.load + i32.const 1 + i32.ne + br_if 0 (;@2;) + i32.const 1051180 + local.set 2 + i32.const 9 + local.set 4 + br 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + local.get 2 + i32.load offset=4 + local.get 2 + i32.const 8 + i32.add + i32.load + call $_ZN4core3str9from_utf817h4147d06a7789f81eE + i32.const 1051180 + local.get 3 + i32.load offset=20 + local.get 3 + i32.load offset=16 + i32.const 1 + i32.eq + local.tee 4 + select + local.set 2 + i32.const 9 + local.get 3 + i32.const 16 + i32.add + i32.const 8 + i32.add + i32.load + local.get 4 + select + local.set 4 + end + local.get 3 + i32.const 8 + i32.add + local.get 2 + local.get 4 + call $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE + local.get 3 + i32.load offset=8 + local.get 3 + i32.load offset=12 + local.get 1 + call $_ZN66_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$3fmt17hb03f341134eb2e55E + local.set 2 + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + local.get 0 + i32.const 1 + call $__rust_dealloc + end + local.get 3 + i32.const 32 + i32.add + global.set 0 + local.get 2) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hc0ad29c3b7e3386dE (type 1) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 0 + i32.load8_u offset=4 + br_if 0 (;@1;) + local.get 0 + i32.const 0 + i32.store8 offset=4 + local.get 0 + i32.load + local.set 1 + local.get 0 + i32.const 1 + i32.store + local.get 1 + i32.load + local.tee 0 + local.get 0 + i32.load + local.tee 0 + i32.const -1 + i32.add + i32.store + block ;; label = @2 + local.get 0 + i32.const 1 + i32.ne + br_if 0 (;@2;) + local.get 1 + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E + end + local.get 1 + i32.const 4 + i32.const 4 + call $__rust_dealloc + return + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable) + (func $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E (type 1) (param i32) + (local i32 i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 1 + global.set 0 + block ;; label = @1 + local.get 0 + i32.load + local.tee 2 + i32.load8_u offset=24 + i32.const 2 + i32.eq + br_if 0 (;@1;) + local.get 2 + i32.const 25 + i32.add + i32.load8_u + br_if 0 (;@1;) + local.get 1 + i32.const 8 + i32.add + local.get 2 + i32.const 12 + i32.add + call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 1 + i32.load8_u offset=8 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 1 + i32.load offset=12 + local.tee 3 + i32.load + local.get 3 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 3 + i32.load offset=4 + local.tee 4 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@2;) + local.get 3 + i32.load + local.get 5 + local.get 4 + i32.load offset=8 + call $__rust_dealloc + end + local.get 3 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + block ;; label = @1 + local.get 2 + i32.load offset=12 + local.tee 3 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 16 + i32.add + i32.load + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 3 + local.get 2 + i32.const 1 + call $__rust_dealloc + end + block ;; label = @1 + local.get 0 + i32.load + local.tee 2 + i32.const -1 + i32.eq + br_if 0 (;@1;) + local.get 2 + local.get 2 + i32.load offset=4 + local.tee 0 + i32.const -1 + i32.add + i32.store offset=4 + local.get 0 + i32.const 1 + i32.ne + br_if 0 (;@1;) + local.get 2 + i32.const 32 + i32.const 4 + call $__rust_dealloc + end + local.get 1 + i32.const 16 + i32.add + global.set 0) + (func $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 1 + i32.store offset=12 + local.get 3 + local.get 0 + i32.store offset=8 + local.get 3 + i32.const 8 + i32.add + i32.const 1051820 + i32.const 0 + local.get 2 + call $_ZN4core5panic8Location6caller17hd41fba21c9b92f2bE + call $_ZN3std9panicking20rust_panic_with_hook17hb404003726e52692E + unreachable) + (func $_ZN4core3ptr13drop_in_place17h02e69d70ceca204bE (type 1) (param i32)) + (func $_ZN4core3ptr13drop_in_place17h031a203171380296E (type 1) (param i32) + (local i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.load + local.get 3 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end) + (func $_ZN4core3ptr13drop_in_place17h286c4e66fba3710aE (type 1) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + local.get 0 + i32.const 1 + call $__rust_dealloc + end) + (func $_ZN4core3ptr13drop_in_place17h2bbaf394966f4871E (type 1) (param i32) + block ;; label = @1 + local.get 0 + i32.load8_u offset=4 + br_if 0 (;@1;) + block ;; label = @2 + i32.const 0 + i32.load offset=1058352 + i32.const 1 + i32.eq + br_if 0 (;@2;) + i32.const 0 + i64.const 1 + i64.store offset=1058352 + br 1 (;@1;) + end + i32.const 0 + i32.load offset=1058356 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + i32.const 1 + i32.store8 offset=4 + end + local.get 0 + i32.load + i32.load + i32.const 0 + i32.store8) + (func $_ZN4core3ptr13drop_in_place17ha21ac40875b3662cE (type 1) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + local.get 0 + i32.const 1 + call $__rust_dealloc + end) + (func $_ZN4core3ptr13drop_in_place17he50565616af5671aE (type 1) (param i32) + (local i32 i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end) + (func $_ZN4core3ptr13drop_in_place17hea2daf7bfbdfa5f6E (type 1) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + local.get 0 + i32.const 1 + call $__rust_dealloc + end) + (func $_ZN4core3ptr13drop_in_place17hf3262b356a2935b1E (type 1) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + local.get 0 + i32.const 1 + call $__rust_dealloc + end) + (func $_ZN4core6option15Option$LT$T$GT$6unwrap17h710816bd9632510dE (type 5) (param i32) (result i32) + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + i32.const 1049080 + i32.const 43 + i32.const 1051768 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 0) + (func $_ZN4core6option15Option$LT$T$GT$6unwrap17ha9b23444d02fba95E (type 3) (param i32 i32) (result i32) + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + i32.const 1049080 + i32.const 43 + local.get 1 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 0) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h2b6afd714e60244dE (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt5Write10write_char17hb53f5ebecc3ea1e8E) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hd4204762d830caa6E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load + local.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 2 + i32.const 0 + i32.store offset=12 + local.get 1 + i32.const 2048 + i32.lt_u + br_if 1 (;@3;) + local.get 2 + i32.const 12 + i32.add + local.set 3 + block ;; label = @5 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 0 (;@5;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + br 3 (;@2;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set 1 + br 2 (;@2;) + end + block ;; label = @4 + local.get 0 + i32.load offset=8 + local.tee 3 + local.get 0 + i32.const 4 + i32.add + i32.load + i32.ne + br_if 0 (;@4;) + local.get 0 + i32.const 1 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + i32.load + local.get 3 + i32.add + local.get 1 + i32.store8 + local.get 0 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.add + i32.store offset=8 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + local.get 2 + i32.const 12 + i32.add + local.set 3 + i32.const 2 + local.set 1 + end + local.get 0 + local.get 1 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 0 + i32.load + local.get 0 + i32.const 8 + i32.add + local.tee 0 + i32.load + local.tee 4 + i32.add + local.get 3 + local.get 1 + call $memcpy + drop + local.get 0 + local.get 4 + local.get 1 + i32.add + i32.store + end + local.get 2 + i32.const 16 + i32.add + global.set 0 + i32.const 0) + (func $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE (type 6) (param i32 i32) + (local i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 2 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.sub + local.get 1 + i32.ge_u + br_if 0 (;@3;) + local.get 3 + local.get 1 + i32.add + local.tee 1 + local.get 3 + i32.lt_u + br_if 1 (;@2;) + local.get 2 + i32.const 1 + i32.shl + local.tee 3 + local.get 1 + local.get 3 + local.get 1 + i32.gt_u + select + local.tee 1 + i32.const 8 + local.get 1 + i32.const 8 + i32.gt_u + select + local.tee 3 + i32.const 0 + i32.lt_s + br_if 1 (;@2;) + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load + i32.const 0 + local.get 2 + select + local.tee 1 + i32.eqz + br_if 0 (;@5;) + local.get 2 + local.get 3 + i32.eq + br_if 1 (;@4;) + block ;; label = @6 + local.get 2 + br_if 0 (;@6;) + local.get 3 + i32.const 1 + call $__rust_alloc + local.set 1 + br 2 (;@4;) + end + local.get 1 + local.get 2 + i32.const 1 + local.get 3 + call $__rust_realloc + local.set 1 + br 1 (;@4;) + end + local.get 3 + i32.const 1 + call $__rust_alloc + local.set 1 + end + local.get 1 + i32.eqz + br_if 2 (;@1;) + local.get 0 + local.get 1 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 3 + i32.store + end + return + end + call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E + unreachable + end + local.get 3 + i32.const 1 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hf61ed0efe1fa8f1aE (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt5Write10write_char17h5ee09af859d49745E) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h424f8a87ef227754E (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.load + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1048632 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h7883bd689e386d70E (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.load + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1048656 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hf5f9ccb98e7f13b1E (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.load + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1048680 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h1d2341287c3c1530E (type 8) (param i32 i32 i32) (result i32) + (local i32 i64 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load + local.tee 0 + i32.load + local.get 1 + local.get 2 + call $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 3 + i32.load8_u offset=8 + i32.const 3 + i32.eq + br_if 0 (;@1;) + local.get 3 + i64.load offset=8 + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load + local.get 5 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i64.store offset=4 align=4 + i32.const 1 + local.set 1 + end + local.get 3 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h244888c2b6dd19d8E (type 8) (param i32 i32 i32) (result i32) + (local i32 i64 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load + local.tee 0 + i32.load + local.get 1 + local.get 2 + call $_ZN3std2io5Write9write_all17h39d0435291d0ea60E + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 3 + i32.load8_u offset=8 + i32.const 3 + i32.eq + br_if 0 (;@1;) + local.get 3 + i64.load offset=8 + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load + local.get 5 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i64.store offset=4 align=4 + i32.const 1 + local.set 1 + end + local.get 3 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17heec17b7d6bd2890dE (type 8) (param i32 i32 i32) (result i32) + (local i32) + local.get 0 + i32.load + local.tee 0 + local.get 2 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 0 + i32.load + local.get 0 + i32.const 8 + i32.add + local.tee 0 + i32.load + local.tee 3 + i32.add + local.get 1 + local.get 2 + call $memcpy + drop + local.get 0 + local.get 3 + local.get 2 + i32.add + i32.store + i32.const 0) + (func $_ZN5alloc3vec12Vec$LT$T$GT$13reserve_exact17hfa748ba1b02fb699E (type 6) (param i32 i32) + (local i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 2 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.sub + local.get 1 + i32.ge_u + br_if 0 (;@3;) + local.get 3 + local.get 1 + i32.add + local.tee 1 + local.get 3 + i32.lt_u + br_if 1 (;@2;) + local.get 1 + i32.const 0 + i32.lt_s + br_if 1 (;@2;) + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load + i32.const 0 + local.get 2 + select + local.tee 3 + i32.eqz + br_if 0 (;@6;) + local.get 2 + local.get 1 + i32.eq + br_if 1 (;@5;) + block ;; label = @7 + local.get 2 + br_if 0 (;@7;) + block ;; label = @8 + local.get 1 + br_if 0 (;@8;) + i32.const 1 + local.set 3 + br 4 (;@4;) + end + local.get 1 + i32.const 1 + call $__rust_alloc + local.set 3 + br 2 (;@5;) + end + local.get 3 + local.get 2 + i32.const 1 + local.get 1 + call $__rust_realloc + local.set 3 + br 1 (;@5;) + end + block ;; label = @6 + local.get 1 + br_if 0 (;@6;) + i32.const 1 + local.set 3 + br 2 (;@4;) + end + local.get 1 + i32.const 1 + call $__rust_alloc + local.set 3 + end + local.get 3 + i32.eqz + br_if 3 (;@1;) + end + local.get 0 + local.get 3 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 1 + i32.store + end + return + end + call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E + unreachable + end + local.get 1 + i32.const 1 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable) + (func $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E (type 1) (param i32) + (local i32 i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.load offset=16 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 0 + i32.store8 + local.get 1 + i32.load offset=20 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.load offset=16 + local.get 2 + i32.const 1 + call $__rust_dealloc + end + local.get 1 + i32.load offset=28 + i32.const 1 + i32.const 1 + call $__rust_dealloc + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.const -1 + i32.eq + br_if 0 (;@1;) + local.get 1 + local.get 1 + i32.load offset=4 + local.tee 0 + i32.const -1 + i32.add + i32.store offset=4 + local.get 0 + i32.const 1 + i32.ne + br_if 0 (;@1;) + local.get 1 + i32.const 48 + i32.const 8 + call $__rust_dealloc + end) + (func $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.const 3 + i32.store8 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 8 + i32.add + local.tee 3 + i32.load + local.tee 4 + i32.eqz + br_if 0 (;@2;) + i32.const 0 + local.set 5 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + loop ;; label = @6 + local.get 1 + i32.const 1 + i32.store8 offset=13 + local.get 1 + i32.load8_u offset=12 + local.tee 6 + i32.const 2 + i32.eq + br_if 1 (;@5;) + local.get 3 + i32.load + local.tee 7 + local.get 5 + i32.lt_u + br_if 2 (;@4;) + local.get 7 + local.get 5 + i32.sub + local.set 7 + block ;; label = @7 + block ;; label = @8 + local.get 6 + i32.const 1 + i32.eq + br_if 0 (;@8;) + local.get 1 + i32.load + local.set 6 + local.get 2 + local.get 7 + i32.store offset=12 + local.get 2 + local.get 6 + local.get 5 + i32.add + i32.store offset=8 + local.get 2 + i32.const 16 + i32.add + i32.const 1 + local.get 2 + i32.const 8 + i32.add + i32.const 1 + call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E + block ;; label = @9 + local.get 2 + i32.load16_u offset=16 + i32.const 1 + i32.ne + br_if 0 (;@9;) + local.get 2 + local.get 2 + i32.load16_u offset=18 + i32.store16 offset=30 + local.get 2 + i32.const 30 + i32.add + call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE + i32.const 65535 + i32.and + local.tee 6 + i32.const 8 + i32.eq + br_if 1 (;@8;) + local.get 1 + i32.const 0 + i32.store8 offset=13 + local.get 6 + call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE + i32.const 255 + i32.and + i32.const 15 + i32.eq + br_if 2 (;@7;) + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 6 + i32.store + br 6 (;@3;) + end + local.get 2 + i32.load offset=20 + local.set 7 + end + local.get 1 + i32.const 0 + i32.store8 offset=13 + block ;; label = @8 + local.get 7 + br_if 0 (;@8;) + local.get 2 + i32.const 16 + i32.add + i32.const 14 + i32.const 1049928 + i32.const 33 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 2 + i64.load offset=16 + i64.store align=4 + br 5 (;@3;) + end + local.get 7 + local.get 5 + i32.add + local.set 5 + end + local.get 5 + local.get 4 + i32.lt_u + br_if 0 (;@6;) + br 3 (;@3;) + end + end + i32.const 1049080 + i32.const 43 + i32.const 1049896 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 5 + local.get 7 + i32.const 1049912 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 5 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.const 8 + i32.add + local.tee 7 + i32.load + local.tee 6 + local.get 5 + i32.lt_u + br_if 1 (;@1;) + local.get 7 + i32.const 0 + i32.store + local.get 6 + local.get 5 + i32.sub + local.tee 7 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.load + local.tee 6 + local.get 6 + local.get 5 + i32.add + local.get 7 + call $memmove + drop + local.get 1 + i32.const 8 + i32.add + local.get 7 + i32.store + end + local.get 2 + i32.const 32 + i32.add + global.set 0 + return + end + local.get 5 + local.get 6 + call $_ZN5alloc3vec12Vec$LT$T$GT$5drain17end_assert_failed17h686d263f81d07b88E + unreachable) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE (type 0) + call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E + unreachable) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable) + (func $_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h70c46c42c25c7b72E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=8 + local.get 1 + call $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E) + (func $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E (type 5) (param i32) (result i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 1 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load + local.tee 2 + i32.const 1 + i32.add + i32.const 0 + i32.le_s + br_if 0 (;@4;) + local.get 0 + local.get 2 + i32.store + block ;; label = @5 + local.get 0 + i32.load offset=4 + local.tee 3 + br_if 0 (;@5;) + local.get 1 + i32.const 0 + i32.store offset=8 + local.get 1 + i32.const 8 + i32.add + call $_ZN3std6thread6Thread3new17hcdd908459063ea43E + local.set 3 + local.get 0 + i32.load + br_if 2 (;@3;) + local.get 0 + i32.const -1 + i32.store + block ;; label = @6 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@6;) + local.get 2 + local.get 2 + i32.load + local.tee 4 + i32.const -1 + i32.add + i32.store + local.get 4 + i32.const 1 + i32.ne + br_if 0 (;@6;) + local.get 0 + i32.const 4 + i32.add + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 0 + i32.load + i32.const 1 + i32.add + local.tee 2 + i32.store + end + local.get 2 + br_if 2 (;@2;) + local.get 0 + i32.const -1 + i32.store + local.get 3 + local.get 3 + i32.load + local.tee 2 + i32.const 1 + i32.add + i32.store + local.get 2 + i32.const -1 + i32.le_s + br_if 3 (;@1;) + local.get 0 + local.get 0 + i32.load + i32.const 1 + i32.add + i32.store + local.get 1 + i32.const 32 + i32.add + global.set 0 + local.get 3 + return + end + i32.const 1048912 + i32.const 24 + local.get 1 + i32.const 24 + i32.add + i32.const 1049124 + i32.const 1048936 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + i32.const 1048812 + i32.const 16 + local.get 1 + i32.const 24 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + i32.const 1048812 + i32.const 16 + local.get 1 + i32.const 24 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + unreachable + unreachable) + (func $_ZN3std6thread4park17h939424159e238725E (type 0) + (local i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 96 + i32.sub + local.tee 0 + global.set 0 + block ;; label = @1 + i32.const 0 + i32.load offset=1058340 + i32.const 1 + i32.eq + br_if 0 (;@1;) + i32.const 0 + i64.const 1 + i64.store offset=1058340 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058348 + end + i32.const 1058344 + call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E + local.tee 1 + i32.const 0 + local.get 1 + i32.load offset=24 + local.tee 2 + local.get 2 + i32.const 2 + i32.eq + local.tee 2 + select + i32.store offset=24 + local.get 0 + local.get 1 + i32.store offset=8 + block ;; label = @1 + local.get 2 + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load offset=8 + local.tee 1 + i32.const 28 + i32.add + local.tee 3 + i32.load + local.tee 2 + i32.load8_u + br_if 0 (;@5;) + local.get 2 + i32.const 1 + i32.store8 + i32.const 0 + local.set 4 + block ;; label = @6 + block ;; label = @7 + i32.const 0 + i32.load offset=1058352 + i32.const 1 + i32.ne + br_if 0 (;@7;) + i32.const 0 + i32.load offset=1058356 + local.set 4 + br 1 (;@6;) + end + i32.const 0 + i64.const 1 + i64.store offset=1058352 + end + i32.const 0 + local.get 4 + i32.store offset=1058356 + local.get 1 + i32.load8_u offset=32 + br_if 1 (;@4;) + local.get 1 + local.get 1 + i32.load offset=24 + local.tee 2 + i32.const 1 + local.get 2 + select + i32.store offset=24 + block ;; label = @6 + local.get 2 + br_if 0 (;@6;) + local.get 0 + i32.load offset=8 + i32.const 36 + i32.add + local.get 3 + i32.load + call $_ZN3std4sync7condvar7Condvar6verify17h7fb2a623225b9b55E + call $_ZN3std10sys_common7condvar7Condvar4wait17he75a7ac734aeedb4E + unreachable + end + local.get 2 + i32.const 2 + i32.ne + br_if 2 (;@3;) + local.get 0 + i32.load offset=8 + local.tee 5 + i32.load offset=24 + local.set 2 + local.get 5 + i32.const 0 + i32.store offset=24 + local.get 0 + local.get 2 + i32.store offset=12 + local.get 2 + i32.const 2 + i32.ne + br_if 3 (;@2;) + block ;; label = @6 + local.get 4 + br_if 0 (;@6;) + block ;; label = @7 + i32.const 0 + i32.load offset=1058352 + i32.const 1 + i32.eq + br_if 0 (;@7;) + i32.const 0 + i64.const 1 + i64.store offset=1058352 + br 1 (;@6;) + end + i32.const 0 + i32.load offset=1058356 + i32.eqz + br_if 0 (;@6;) + local.get 1 + i32.const 1 + i32.store8 offset=32 + end + local.get 3 + i32.load + i32.const 0 + i32.store8 + br 4 (;@1;) + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 0 + local.get 3 + i32.store offset=72 + local.get 0 + local.get 4 + i32.const 0 + i32.ne + i32.store8 offset=76 + i32.const 1049172 + i32.const 43 + local.get 0 + i32.const 72 + i32.add + i32.const 1049232 + i32.const 1049324 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + i32.const 1049340 + i32.const 23 + i32.const 1049364 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 0 + i32.const 40 + i32.add + i32.const 20 + i32.add + i32.const 6 + i32.store + local.get 0 + i32.const 52 + i32.add + i32.const 7 + i32.store + local.get 0 + i32.const 16 + i32.add + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get 0 + local.get 0 + i32.const 12 + i32.add + i32.store offset=64 + local.get 0 + i32.const 1049380 + i32.store offset=68 + local.get 0 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get 0 + i64.const 3 + i64.store offset=20 align=4 + local.get 0 + i32.const 1049056 + i32.store offset=16 + local.get 0 + i32.const 7 + i32.store offset=44 + local.get 0 + i32.const 1049036 + i32.store offset=88 + local.get 0 + i64.const 1 + i64.store offset=76 align=4 + local.get 0 + i32.const 1049416 + i32.store offset=72 + local.get 0 + local.get 0 + i32.const 40 + i32.add + i32.store offset=32 + local.get 0 + local.get 0 + i32.const 72 + i32.add + i32.store offset=56 + local.get 0 + local.get 0 + i32.const 68 + i32.add + i32.store offset=48 + local.get 0 + local.get 0 + i32.const 64 + i32.add + i32.store offset=40 + local.get 0 + i32.const 16 + i32.add + i32.const 1049424 + call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E + unreachable + end + local.get 0 + i32.load offset=8 + local.tee 1 + local.get 1 + i32.load + local.tee 1 + i32.const -1 + i32.add + i32.store + block ;; label = @1 + local.get 1 + i32.const 1 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.const 8 + i32.add + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + local.get 0 + i32.const 96 + i32.add + global.set 0) + (func $_ZN3std4sync7condvar7Condvar6verify17h7fb2a623225b9b55E (type 6) (param i32 i32) + (local i32) + local.get 0 + local.get 0 + i32.load offset=4 + local.tee 2 + local.get 1 + local.get 2 + select + i32.store offset=4 + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 2 + local.get 1 + i32.eq + br_if 0 (;@1;) + i32.const 1050624 + i32.const 54 + i32.const 1050704 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end) + (func $_ZN3std10sys_common7condvar7Condvar4wait17he75a7ac734aeedb4E (type 0) + (local i32) + local.get 0 + local.get 0 + call $_ZN3std3sys4wasi7condvar7Condvar4wait17hd58c2e705c9c4c90E + unreachable) + (func $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E (type 6) (param i32 i32) + (local i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 1 + call $_ZN4core5panic8Location6caller17hd41fba21c9b92f2bE + i32.store offset=12 + local.get 2 + local.get 0 + i32.store offset=8 + local.get 2 + i32.const 1049036 + i32.store offset=4 + local.get 2 + i32.const 1049036 + i32.store + local.get 2 + call $rust_begin_unwind + unreachable) + (func $_ZN3std6thread6Thread3new17hcdd908459063ea43E (type 5) (param i32) (result i32) + (local i32 i32 i32 i32 i64) + global.get 0 + i32.const 48 + i32.sub + local.tee 1 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load + local.tee 2 + br_if 0 (;@6;) + i32.const 0 + local.set 3 + br 1 (;@5;) + end + local.get 1 + local.get 0 + i64.load offset=4 align=4 + i64.store offset=36 align=4 + local.get 1 + local.get 2 + i32.store offset=32 + local.get 1 + i32.const 16 + i32.add + local.get 1 + i32.const 32 + i32.add + call $_ZN5alloc6string104_$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..vec..Vec$LT$u8$GT$$GT$4from17h4fac04ba81ae9773E + local.get 1 + i32.const 8 + i32.add + i32.const 0 + local.get 1 + i32.load offset=16 + local.tee 0 + local.get 1 + i32.load offset=24 + call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E + local.get 1 + i32.load offset=8 + br_if 1 (;@4;) + local.get 1 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 16 + i32.add + i32.const 8 + i32.add + i32.load + i32.store + local.get 1 + local.get 1 + i64.load offset=16 + i64.store offset=32 + local.get 1 + local.get 1 + i32.const 32 + i32.add + call $_ZN3std3ffi5c_str7CString18from_vec_unchecked17h1d6cb68d9855bba2E + local.get 1 + i32.load offset=4 + local.set 4 + local.get 1 + i32.load + local.set 3 + end + i32.const 0 + i32.load8_u offset=1058360 + br_if 1 (;@3;) + i32.const 0 + i32.const 1 + i32.store8 offset=1058360 + block ;; label = @5 + block ;; label = @6 + i32.const 0 + i64.load offset=1058256 + local.tee 5 + i64.const -1 + i64.eq + br_if 0 (;@6;) + i32.const 0 + local.get 5 + i64.const 1 + i64.add + i64.store offset=1058256 + local.get 5 + i64.const 0 + i64.ne + br_if 1 (;@5;) + i32.const 1049080 + i32.const 43 + i32.const 1049512 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + i32.const 1049440 + i32.const 55 + i32.const 1049496 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + i32.const 0 + i32.const 0 + i32.store8 offset=1058360 + i32.const 1 + i32.const 1 + call $__rust_alloc + local.tee 2 + i32.eqz + br_if 2 (;@2;) + local.get 2 + i32.const 0 + i32.store8 + i32.const 48 + i32.const 8 + call $__rust_alloc + local.tee 0 + i32.eqz + br_if 3 (;@1;) + local.get 0 + i64.const 1 + i64.store offset=36 align=4 + local.get 0 + i32.const 0 + i32.store offset=24 + local.get 0 + local.get 4 + i32.store offset=20 + local.get 0 + local.get 3 + i32.store offset=16 + local.get 0 + local.get 5 + i64.store offset=8 + local.get 0 + i64.const 4294967297 + i64.store + local.get 0 + local.get 2 + i64.extend_i32_u + i64.store offset=28 align=4 + local.get 1 + i32.const 48 + i32.add + global.set 0 + local.get 0 + return + end + local.get 1 + i32.load offset=12 + local.set 2 + local.get 1 + i32.const 40 + i32.add + local.get 1 + i64.load offset=20 align=4 + i64.store + local.get 1 + local.get 0 + i32.store offset=36 + local.get 1 + local.get 2 + i32.store offset=32 + i32.const 1049528 + i32.const 47 + local.get 1 + i32.const 32 + i32.add + i32.const 1049156 + i32.const 1049576 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + i32.const 1 + i32.const 1 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + i32.const 48 + i32.const 8 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable) + (func $_ZN3std3ffi5c_str7CString18from_vec_unchecked17h1d6cb68d9855bba2E (type 6) (param i32 i32) + (local i32 i32 i32) + local.get 1 + i32.const 1 + call $_ZN5alloc3vec12Vec$LT$T$GT$13reserve_exact17hfa748ba1b02fb699E + block ;; label = @1 + local.get 1 + i32.load offset=8 + local.tee 2 + local.get 1 + i32.const 4 + i32.add + local.tee 3 + i32.load + local.tee 4 + i32.ne + br_if 0 (;@1;) + local.get 1 + i32.const 1 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 3 + i32.load + local.set 4 + local.get 1 + i32.load offset=8 + local.set 2 + end + local.get 1 + local.get 2 + i32.const 1 + i32.add + local.tee 3 + i32.store offset=8 + local.get 1 + i32.load + local.tee 1 + local.get 2 + i32.add + i32.const 0 + i32.store8 + block ;; label = @1 + block ;; label = @2 + local.get 4 + local.get 3 + i32.ne + br_if 0 (;@2;) + local.get 1 + local.set 2 + br 1 (;@1;) + end + block ;; label = @2 + block ;; label = @3 + local.get 4 + local.get 3 + i32.lt_u + br_if 0 (;@3;) + local.get 4 + br_if 1 (;@2;) + local.get 1 + local.set 2 + br 2 (;@1;) + end + i32.const 1049248 + i32.const 36 + i32.const 1048796 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + block ;; label = @2 + local.get 3 + br_if 0 (;@2;) + i32.const 1 + local.set 2 + local.get 1 + local.get 4 + i32.const 1 + call $__rust_dealloc + br 1 (;@1;) + end + local.get 1 + local.get 4 + i32.const 1 + local.get 3 + call $__rust_realloc + local.tee 2 + br_if 0 (;@1;) + local.get 3 + i32.const 1 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 2 + i32.store) + (func $_ZN3std3env7_var_os17he9875667788e1d16E (type 7) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i64) + global.get 0 + i32.const 80 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 2 + i32.store offset=28 + local.get 3 + local.get 1 + i32.store offset=24 + i32.const 1 + local.set 4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.const 1 + i32.add + local.tee 5 + i32.const -1 + i32.le_s + br_if 0 (;@4;) + i32.const 0 + local.set 6 + block ;; label = @5 + local.get 5 + i32.eqz + br_if 0 (;@5;) + local.get 5 + local.set 6 + local.get 5 + i32.const 1 + call $__rust_alloc + local.tee 4 + i32.eqz + br_if 2 (;@3;) + end + local.get 3 + i32.const 0 + i32.store offset=72 + local.get 3 + local.get 4 + i32.store offset=64 + local.get 3 + local.get 6 + i32.store offset=68 + local.get 3 + i32.const 64 + i32.add + local.get 2 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 3 + i32.load offset=64 + local.tee 5 + local.get 3 + i32.load offset=72 + local.tee 4 + i32.add + local.get 1 + local.get 2 + call $memcpy + drop + local.get 3 + local.get 4 + local.get 2 + i32.add + local.tee 2 + i32.store offset=72 + local.get 3 + i32.const 16 + i32.add + i32.const 0 + local.get 5 + local.get 2 + call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 3 + i32.load offset=16 + br_if 0 (;@7;) + local.get 3 + i32.const 40 + i32.add + i32.const 8 + i32.add + local.get 3 + i32.const 64 + i32.add + i32.const 8 + i32.add + i32.load + i32.store + local.get 3 + local.get 3 + i64.load offset=64 + i64.store offset=40 + local.get 3 + i32.const 8 + i32.add + local.get 3 + i32.const 40 + i32.add + call $_ZN3std3ffi5c_str7CString18from_vec_unchecked17h1d6cb68d9855bba2E + local.get 3 + i32.load offset=12 + local.set 7 + local.get 3 + i32.load offset=8 + local.tee 8 + call $getenv + local.tee 6 + br_if 1 (;@6;) + i32.const 0 + local.set 2 + br 2 (;@5;) + end + local.get 3 + i32.load offset=68 + local.set 2 + local.get 3 + i32.const 40 + i32.add + i32.const 11 + i32.const 1049796 + i32.const 33 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + block ;; label = @7 + local.get 2 + i32.eqz + br_if 0 (;@7;) + local.get 5 + local.get 2 + i32.const 1 + call $__rust_dealloc + end + local.get 3 + local.get 3 + i64.load offset=40 + i64.store offset=32 + local.get 3 + i32.const 60 + i32.add + i32.const 2 + i32.store + local.get 3 + i32.const 76 + i32.add + i32.const 8 + i32.store + local.get 3 + i64.const 2 + i64.store offset=44 align=4 + local.get 3 + i32.const 1049724 + i32.store offset=40 + local.get 3 + i32.const 9 + i32.store offset=68 + local.get 3 + local.get 3 + i32.const 64 + i32.add + i32.store offset=56 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=72 + local.get 3 + local.get 3 + i32.const 24 + i32.add + i32.store offset=64 + local.get 3 + i32.const 40 + i32.add + i32.const 1049740 + call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E + unreachable + end + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 6 + i32.load8_u + i32.eqz + br_if 0 (;@8;) + local.get 6 + i32.const 1 + i32.add + local.set 4 + i32.const 0 + local.set 2 + loop ;; label = @9 + local.get 4 + local.get 2 + i32.add + local.set 5 + local.get 2 + i32.const 1 + i32.add + local.tee 1 + local.set 2 + local.get 5 + i32.load8_u + br_if 0 (;@9;) + end + local.get 1 + i32.const -1 + i32.eq + br_if 6 (;@2;) + local.get 1 + i32.const -1 + i32.le_s + br_if 4 (;@4;) + local.get 1 + br_if 1 (;@7;) + end + i32.const 0 + local.set 1 + i32.const 1 + local.set 2 + br 1 (;@6;) + end + local.get 1 + i32.const 1 + call $__rust_alloc + local.tee 2 + i32.eqz + br_if 5 (;@1;) + end + local.get 3 + i32.const 0 + i32.store offset=48 + local.get 3 + local.get 2 + i32.store offset=40 + local.get 3 + local.get 1 + i32.store offset=44 + local.get 3 + i32.const 40 + i32.add + local.get 1 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 3 + i32.load offset=40 + local.tee 2 + local.get 3 + i32.load offset=48 + local.tee 5 + i32.add + local.get 6 + local.get 1 + call $memcpy + drop + local.get 3 + local.get 5 + local.get 1 + i32.add + i32.store offset=48 + local.get 3 + i64.load offset=44 align=4 + local.set 9 + end + local.get 8 + i32.const 0 + i32.store8 + block ;; label = @5 + local.get 7 + i32.eqz + br_if 0 (;@5;) + local.get 8 + local.get 7 + i32.const 1 + call $__rust_dealloc + end + local.get 0 + local.get 9 + i64.store offset=4 align=4 + local.get 0 + local.get 2 + i32.store + local.get 3 + i32.const 80 + i32.add + global.set 0 + return + end + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE + unreachable + end + local.get 5 + i32.const 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE + unreachable + end + local.get 1 + i32.const 0 + i32.const 1049852 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 1 + i32.const 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE + unreachable) + (func $_ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17hb3ec362a48a590eeE (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 2 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load8_u + br_table 1 (;@3;) 0 (;@4;) 2 (;@2;) 1 (;@3;) + end + i32.const 1049996 + local.set 3 + i32.const 22 + local.set 4 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + block ;; label = @20 + block ;; label = @21 + block ;; label = @22 + local.get 0 + i32.load8_u offset=1 + br_table 0 (;@22;) 1 (;@21;) 2 (;@20;) 3 (;@19;) 4 (;@18;) 5 (;@17;) 6 (;@16;) 7 (;@15;) 8 (;@14;) 9 (;@13;) 10 (;@12;) 11 (;@11;) 12 (;@10;) 13 (;@9;) 14 (;@8;) 15 (;@7;) 16 (;@6;) 18 (;@4;) 0 (;@22;) + end + i32.const 1050277 + local.set 3 + i32.const 16 + local.set 4 + br 17 (;@4;) + end + i32.const 1050260 + local.set 3 + i32.const 17 + local.set 4 + br 16 (;@4;) + end + i32.const 1050242 + local.set 3 + i32.const 18 + local.set 4 + br 15 (;@4;) + end + i32.const 1050226 + local.set 3 + i32.const 16 + local.set 4 + br 14 (;@4;) + end + i32.const 1050208 + local.set 3 + i32.const 18 + local.set 4 + br 13 (;@4;) + end + i32.const 1050195 + local.set 3 + i32.const 13 + local.set 4 + br 12 (;@4;) + end + i32.const 1050181 + local.set 3 + br 10 (;@5;) + end + i32.const 1050160 + local.set 3 + i32.const 21 + local.set 4 + br 10 (;@4;) + end + i32.const 1050149 + local.set 3 + i32.const 11 + local.set 4 + br 9 (;@4;) + end + i32.const 1050128 + local.set 3 + i32.const 21 + local.set 4 + br 8 (;@4;) + end + i32.const 1050107 + local.set 3 + i32.const 21 + local.set 4 + br 7 (;@4;) + end + i32.const 1050084 + local.set 3 + i32.const 23 + local.set 4 + br 6 (;@4;) + end + i32.const 1050072 + local.set 3 + i32.const 12 + local.set 4 + br 5 (;@4;) + end + i32.const 1050063 + local.set 3 + i32.const 9 + local.set 4 + br 4 (;@4;) + end + i32.const 1050053 + local.set 3 + i32.const 10 + local.set 4 + br 3 (;@4;) + end + i32.const 1050032 + local.set 3 + i32.const 21 + local.set 4 + br 2 (;@4;) + end + i32.const 1050018 + local.set 3 + end + i32.const 14 + local.set 4 + end + local.get 2 + i32.const 60 + i32.add + i32.const 1 + i32.store + local.get 2 + local.get 4 + i32.store offset=28 + local.get 2 + local.get 3 + i32.store offset=24 + local.get 2 + i32.const 10 + i32.store offset=12 + local.get 2 + i64.const 1 + i64.store offset=44 align=4 + local.get 2 + i32.const 1050296 + i32.store offset=40 + local.get 2 + local.get 2 + i32.const 24 + i32.add + i32.store offset=8 + local.get 2 + local.get 2 + i32.const 8 + i32.add + i32.store offset=56 + local.get 1 + local.get 2 + i32.const 40 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E + local.set 0 + br 2 (;@1;) + end + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + local.get 0 + call $_ZN3std3sys4wasi2os12error_string17hc9a4b2180ec6a096E + local.get 2 + i32.const 60 + i32.add + i32.const 2 + i32.store + local.get 2 + i32.const 36 + i32.add + i32.const 11 + i32.store + local.get 2 + i64.const 3 + i64.store offset=44 align=4 + local.get 2 + i32.const 1050316 + i32.store offset=40 + local.get 2 + i32.const 12 + i32.store offset=28 + local.get 2 + local.get 2 + i32.const 24 + i32.add + i32.store offset=56 + local.get 2 + local.get 2 + i32.const 4 + i32.add + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 8 + i32.add + i32.store offset=24 + local.get 1 + local.get 2 + i32.const 40 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E + local.set 0 + local.get 2 + i32.load offset=8 + local.tee 1 + i32.eqz + br_if 1 (;@1;) + local.get 2 + i32.load offset=12 + local.tee 3 + i32.eqz + br_if 1 (;@1;) + local.get 1 + local.get 3 + i32.const 1 + call $__rust_dealloc + br 1 (;@1;) + end + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.load + local.get 1 + local.get 0 + i32.load offset=4 + i32.load offset=32 + call_indirect (type 3) + local.set 0 + end + local.get 2 + i32.const 64 + i32.add + global.set 0 + local.get 0) + (func $_ZN55_$LT$std..path..Display$u20$as$u20$core..fmt..Debug$GT$3fmt17h23d105d427099b82E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.const 4 + i32.add + i32.load + local.get 1 + call $_ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17h51daa603ac20d4e8E) + (func $_ZN3std5error5Error7type_id17h2550ffb23e5e09dbE (type 2) (param i32) (result i64) + i64.const -6756504174187499666) + (func $_ZN3std5error5Error9backtrace17h900a267d2e29f61aE (type 5) (param i32) (result i32) + i32.const 0) + (func $_ZN3std5error5Error5cause17h940cb81d2ddff14fE (type 6) (param i32 i32) + local.get 0 + i32.const 0 + i32.store) + (func $_ZN243_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$std..error..Error$GT$11description17hf458bce664dc3f4bE (type 6) (param i32 i32) + local.get 0 + local.get 1 + i32.load offset=8 + i32.store offset=4 + local.get 0 + local.get 1 + i32.load + i32.store) + (func $_ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17h8f27cecacd89bd46E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=8 + local.get 1 + call $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E) + (func $_ZN242_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Debug$GT$3fmt17hddb087305b783b60E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=8 + local.get 1 + call $_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h7843956b8f6f7061E) + (func $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE (type 5) (param i32) (result i32) + (local i32) + i32.const 16 + local.set 1 + block ;; label = @1 + local.get 0 + i32.const 65535 + i32.gt_u + br_if 0 (;@1;) + local.get 0 + i32.const 65535 + i32.and + i32.const -2 + i32.add + local.tee 0 + i32.const 71 + i32.gt_u + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + local.get 0 + br_table 2 (;@13;) 7 (;@8;) 6 (;@9;) 14 (;@1;) 13 (;@2;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 5 (;@10;) 0 (;@15;) 1 (;@14;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 12 (;@3;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 9 (;@6;) 10 (;@5;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 8 (;@7;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 4 (;@11;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 2 (;@13;) 3 (;@12;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 11 (;@4;) 2 (;@13;) + end + i32.const 2 + return + end + i32.const 3 + return + end + i32.const 1 + return + end + i32.const 8 + return + end + i32.const 5 + return + end + i32.const 4 + return + end + i32.const 7 + return + end + i32.const 6 + return + end + i32.const 0 + return + end + i32.const 15 + return + end + i32.const 11 + return + end + i32.const 13 + return + end + i32.const 9 + return + end + i32.const 10 + local.set 1 + end + local.get 1) + (func $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i64) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 8 + i32.add + i32.load + local.get 3 + i32.add + local.get 1 + i32.const 4 + i32.add + local.tee 5 + i32.load + i32.le_u + br_if 0 (;@4;) + local.get 4 + i32.const 16 + i32.add + local.get 1 + call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E + local.get 4 + i32.load offset=20 + local.set 6 + local.get 4 + i32.load offset=16 + local.tee 7 + i32.const 255 + i32.and + i32.const 3 + i32.ne + br_if 1 (;@3;) + block ;; label = @5 + i32.const 0 + br_if 0 (;@5;) + local.get 7 + i32.const 3 + i32.and + i32.const 2 + i32.ne + br_if 1 (;@4;) + end + local.get 6 + i32.load + local.get 6 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @5 + local.get 6 + i32.load offset=4 + local.tee 7 + i32.load offset=4 + local.tee 8 + i32.eqz + br_if 0 (;@5;) + local.get 6 + i32.load + local.get 8 + local.get 7 + i32.load offset=8 + call $__rust_dealloc + end + local.get 6 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 5 + i32.load + local.get 3 + i32.le_u + br_if 1 (;@2;) + local.get 1 + local.get 3 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 1 + i32.load + local.get 1 + i32.const 8 + i32.add + local.tee 1 + i32.load + local.tee 5 + i32.add + local.get 2 + local.get 3 + call $memcpy + drop + local.get 0 + local.get 3 + i32.store offset=4 + local.get 1 + local.get 5 + local.get 3 + i32.add + i32.store + local.get 0 + i32.const 0 + i32.store + br 2 (;@1;) + end + local.get 0 + i32.const 1 + i32.store + local.get 0 + local.get 6 + i64.extend_i32_u + i64.const 32 + i64.shl + local.get 7 + i64.extend_i32_u + i64.or + i64.store offset=4 align=4 + br 1 (;@1;) + end + local.get 1 + i32.const 1 + i32.store8 offset=13 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load8_u offset=12 + i32.const -1 + i32.add + local.tee 5 + i32.const 1 + i32.gt_u + br_if 0 (;@3;) + block ;; label = @4 + block ;; label = @5 + local.get 5 + br_table 1 (;@4;) 0 (;@5;) 1 (;@4;) + end + i32.const 1049080 + i32.const 43 + i32.const 1049964 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 3 + i64.extend_i32_u + local.set 9 + i32.const 0 + local.set 3 + br 1 (;@2;) + end + local.get 4 + local.get 3 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + local.get 4 + i32.const 16 + i32.add + i32.const 1 + local.get 4 + i32.const 8 + i32.add + i32.const 1 + call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E + block ;; label = @3 + local.get 4 + i32.load16_u offset=16 + i32.const 1 + i32.eq + br_if 0 (;@3;) + local.get 4 + i64.load32_u offset=20 + local.set 9 + i32.const 0 + local.set 3 + br 1 (;@2;) + end + local.get 4 + local.get 4 + i32.load16_u offset=18 + i32.store16 offset=30 + local.get 3 + i64.extend_i32_u + local.get 4 + i32.const 30 + i32.add + call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE + local.tee 3 + i64.extend_i32_u + i64.const 65535 + i64.and + i64.const 32 + i64.shl + local.get 3 + i32.const 65535 + i32.and + local.tee 3 + i32.const 8 + i32.eq + select + local.set 9 + local.get 3 + i32.const 8 + i32.ne + local.set 3 + end + local.get 0 + local.get 9 + i64.store offset=4 align=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + i32.const 0 + i32.store8 offset=13 + end + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN3std3sys4wasi2os12error_string17hc9a4b2180ec6a096E (type 6) (param i32 i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 1056 + i32.sub + local.tee 2 + global.set 0 + i32.const 0 + local.set 3 + local.get 2 + i32.const 8 + i32.add + i32.const 0 + i32.const 1024 + call $memset + drop + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + local.get 2 + i32.const 8 + i32.add + i32.const 1024 + call $strerror_r + i32.const 0 + i32.lt_s + br_if 0 (;@5;) + block ;; label = @6 + local.get 2 + i32.load8_u offset=8 + i32.eqz + br_if 0 (;@6;) + local.get 2 + i32.const 8 + i32.add + i32.const 1 + i32.add + local.set 4 + i32.const 0 + local.set 1 + loop ;; label = @7 + local.get 4 + local.get 1 + i32.add + local.set 5 + local.get 1 + i32.const 1 + i32.add + local.tee 3 + local.set 1 + local.get 5 + i32.load8_u + br_if 0 (;@7;) + end + local.get 3 + i32.const -1 + i32.eq + br_if 2 (;@4;) + end + local.get 2 + i32.const 1032 + i32.add + local.get 2 + i32.const 8 + i32.add + local.get 3 + call $_ZN4core3str9from_utf817h4147d06a7789f81eE + local.get 2 + i32.load offset=1032 + i32.const 1 + i32.eq + br_if 2 (;@3;) + local.get 2 + i32.const 1040 + i32.add + i32.load + local.tee 1 + i32.const -1 + i32.le_s + br_if 3 (;@2;) + local.get 2 + i32.load offset=1036 + local.set 5 + block ;; label = @6 + block ;; label = @7 + local.get 1 + br_if 0 (;@7;) + i32.const 1 + local.set 3 + i32.const 0 + local.set 4 + br 1 (;@6;) + end + local.get 1 + local.set 4 + local.get 1 + i32.const 1 + call $__rust_alloc + local.tee 3 + i32.eqz + br_if 5 (;@1;) + end + local.get 2 + i32.const 0 + i32.store offset=1040 + local.get 2 + local.get 3 + i32.store offset=1032 + local.get 2 + local.get 4 + i32.store offset=1036 + local.get 2 + i32.const 1032 + i32.add + local.get 1 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 2 + i32.load offset=1032 + local.get 2 + i32.load offset=1040 + local.tee 3 + i32.add + local.get 5 + local.get 1 + call $memcpy + drop + local.get 0 + i32.const 8 + i32.add + local.get 3 + local.get 1 + i32.add + i32.store + local.get 0 + local.get 2 + i64.load offset=1032 + i64.store align=4 + local.get 2 + i32.const 1056 + i32.add + global.set 0 + return + end + i32.const 1052276 + i32.const 18 + i32.const 1052320 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 3 + i32.const 0 + i32.const 1049852 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 2 + local.get 2 + i64.load offset=1036 align=4 + i64.store offset=1048 + i32.const 1049172 + i32.const 43 + local.get 2 + i32.const 1048 + i32.add + i32.const 1049216 + i32.const 1052336 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE + unreachable + end + local.get 1 + i32.const 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE + unreachable) + (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5write17h6eb49032bb7d1e27E (type 4) (param i32 i32 i32 i32) + local.get 0 + local.get 1 + i32.load + local.get 2 + local.get 3 + local.get 1 + i32.load offset=4 + i32.load offset=12 + call_indirect (type 4)) + (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$14write_vectored17he5299a3cb28c5fc6E (type 4) (param i32 i32 i32 i32) + local.get 0 + local.get 1 + i32.load + local.get 2 + local.get 3 + local.get 1 + i32.load offset=4 + i32.load offset=16 + call_indirect (type 4)) + (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$17is_write_vectored17h3aebec87a302fb55E (type 5) (param i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load offset=20 + call_indirect (type 5)) + (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5flush17h453d4cb3a98eec9bE (type 6) (param i32 i32) + local.get 0 + local.get 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load offset=24 + call_indirect (type 6)) + (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_all17h50557d4e500ea2b9E (type 4) (param i32 i32 i32 i32) + local.get 0 + local.get 1 + i32.load + local.get 2 + local.get 3 + local.get 1 + i32.load offset=4 + i32.load offset=28 + call_indirect (type 4)) + (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_fmt17h99e751738b71fff0E (type 7) (param i32 i32 i32) + (local i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 3 + global.set 0 + local.get 1 + i32.load + local.set 4 + local.get 1 + i32.load offset=4 + local.set 1 + local.get 3 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 2 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 3 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 2 + i64.load align=4 + i64.store offset=8 + local.get 0 + local.get 4 + local.get 3 + i32.const 8 + i32.add + local.get 1 + i32.load offset=36 + call_indirect (type 7) + local.get 3 + i32.const 32 + i32.add + global.set 0) + (func $_ZN60_$LT$std..io..stdio..StderrRaw$u20$as$u20$std..io..Write$GT$5write17h912c877745d11fe6E (type 4) (param i32 i32 i32 i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + local.get 4 + local.get 3 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + i32.const 1 + local.set 2 + local.get 4 + i32.const 16 + i32.add + i32.const 2 + local.get 4 + i32.const 8 + i32.add + i32.const 1 + call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.load16_u offset=16 + i32.const 1 + i32.ne + br_if 0 (;@2;) + local.get 4 + local.get 4 + i32.load16_u offset=18 + i32.store16 offset=30 + local.get 0 + local.get 4 + i32.const 30 + i32.add + call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE + i64.extend_i32_u + i64.const 65535 + i64.and + i64.const 32 + i64.shl + i64.store offset=4 align=4 + br 1 (;@1;) + end + local.get 0 + local.get 4 + i32.load offset=20 + i32.store offset=4 + i32.const 0 + local.set 2 + end + local.get 0 + local.get 2 + i32.store + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN3std10sys_common11at_exit_imp4push17ha33ee158d7c75638E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + i32.load8_u offset=1058361 + br_if 0 (;@3;) + i32.const 0 + i32.const 1 + i32.store8 offset=1058361 + block ;; label = @4 + block ;; label = @5 + i32.const 0 + i32.load offset=1058280 + local.tee 2 + i32.const 1 + i32.gt_u + br_if 0 (;@5;) + block ;; label = @6 + local.get 2 + br_table 0 (;@6;) 2 (;@4;) 0 (;@6;) + end + i32.const 12 + i32.const 4 + call $__rust_alloc + local.tee 2 + i32.eqz + br_if 3 (;@2;) + local.get 2 + i32.const 0 + i32.store offset=8 + local.get 2 + i64.const 4 + i64.store align=4 + i32.const 0 + local.get 2 + i32.store offset=1058280 + end + block ;; label = @5 + local.get 2 + i32.load offset=8 + local.tee 3 + local.get 2 + i32.const 4 + i32.add + i32.load + i32.eq + br_if 0 (;@5;) + local.get 2 + i32.load + local.set 4 + br 4 (;@1;) + end + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.const 1 + i32.add + local.tee 4 + local.get 3 + i32.lt_u + br_if 0 (;@6;) + local.get 3 + i32.const 1 + i32.shl + local.tee 5 + local.get 4 + local.get 5 + local.get 4 + i32.gt_u + select + local.tee 4 + i32.const 4 + local.get 4 + i32.const 4 + i32.gt_u + select + local.tee 6 + i32.const 536870911 + i32.and + local.tee 7 + local.get 6 + i32.ne + br_if 0 (;@6;) + local.get 6 + i32.const 3 + i32.shl + local.tee 5 + i32.const 0 + i32.lt_s + br_if 0 (;@6;) + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 2 + i32.load + i32.const 0 + local.get 3 + select + local.tee 4 + i32.eqz + br_if 0 (;@9;) + local.get 3 + i32.const 3 + i32.shl + local.tee 6 + local.get 5 + i32.eq + br_if 1 (;@8;) + block ;; label = @10 + local.get 6 + br_if 0 (;@10;) + block ;; label = @11 + local.get 5 + br_if 0 (;@11;) + i32.const 4 + local.set 4 + br 4 (;@7;) + end + local.get 5 + i32.const 4 + call $__rust_alloc + local.set 4 + br 2 (;@8;) + end + local.get 4 + local.get 6 + i32.const 4 + local.get 5 + call $__rust_realloc + local.set 4 + br 1 (;@8;) + end + local.get 7 + local.get 6 + i32.eq + i32.const 2 + i32.shl + local.set 4 + local.get 5 + i32.eqz + br_if 0 (;@8;) + local.get 5 + local.get 4 + call $__rust_alloc + local.set 4 + end + local.get 4 + i32.eqz + br_if 2 (;@5;) + local.get 2 + i32.load offset=8 + local.set 3 + end + local.get 2 + local.get 4 + i32.store + local.get 2 + i32.const 4 + i32.add + local.get 5 + i32.const 3 + i32.shr_u + i32.store + br 5 (;@1;) + end + call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E + unreachable + end + local.get 5 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + i32.const 0 + i32.const 0 + i32.store8 offset=1058361 + local.get 0 + local.get 1 + i32.load + call_indirect (type 1) + block ;; label = @4 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@4;) + local.get 0 + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + i32.const 0 + return + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + i32.const 12 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + local.get 4 + local.get 3 + i32.const 3 + i32.shl + i32.add + local.tee 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 2 + local.get 2 + i32.load offset=8 + i32.const 1 + i32.add + i32.store offset=8 + i32.const 0 + i32.const 0 + i32.store8 offset=1058361 + i32.const 1) + (func $_ZN3std2io5stdio6stdout17h0bb5151ba21c8b62E (type 11) (result i32) + (local i32 i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 0 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + i32.const 0 + i32.load8_u offset=1058276 + br_if 0 (;@7;) + i32.const 0 + i32.const 1 + i32.store8 offset=1058276 + block ;; label = @8 + block ;; label = @9 + i32.const 0 + i32.load offset=1058272 + local.tee 1 + i32.const 1 + i32.gt_u + br_if 0 (;@9;) + block ;; label = @10 + block ;; label = @11 + local.get 1 + br_table 1 (;@10;) 0 (;@11;) 1 (;@10;) + end + i32.const 0 + i32.const 0 + i32.store8 offset=1058276 + br 9 (;@1;) + end + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 1 + i32.eqz + br_if 3 (;@6;) + local.get 1 + i32.const 1058272 + i32.store + local.get 1 + i32.const 1051388 + call $_ZN3std10sys_common11at_exit_imp4push17ha33ee158d7c75638E + local.set 2 + i32.const 1024 + i32.const 1 + call $__rust_alloc + local.tee 3 + i32.eqz + br_if 4 (;@5;) + local.get 0 + i32.const 10 + i32.add + i32.const 2 + i32.add + local.tee 4 + local.get 0 + i32.const 13 + i32.add + i32.const 2 + i32.add + i32.load8_u + i32.store8 + local.get 0 + local.get 0 + i32.load16_u offset=13 align=1 + i32.store16 offset=10 + i32.const 32 + i32.const 4 + call $__rust_alloc + local.tee 1 + i32.eqz + br_if 5 (;@4;) + local.get 1 + i32.const 0 + i32.store8 offset=28 + local.get 1 + i32.const 0 + i32.store16 offset=24 + local.get 1 + i64.const 1024 + i64.store offset=16 align=4 + local.get 1 + local.get 3 + i32.store offset=12 + local.get 1 + i32.const 0 + i32.store offset=8 + local.get 1 + i64.const 4294967297 + i64.store align=4 + local.get 1 + local.get 0 + i32.load16_u offset=10 + i32.store16 offset=29 align=1 + local.get 1 + i32.const 31 + i32.add + local.get 4 + i32.load8_u + i32.store8 + local.get 2 + i32.eqz + br_if 1 (;@8;) + local.get 1 + local.get 1 + i32.load + local.tee 2 + i32.const 1 + i32.add + i32.store + local.get 2 + i32.const -1 + i32.le_s + br_if 6 (;@3;) + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 2 + i32.eqz + br_if 7 (;@2;) + i32.const 0 + local.get 2 + i32.store offset=1058272 + local.get 2 + local.get 1 + i32.store + br 1 (;@8;) + end + local.get 1 + i32.load + local.tee 1 + local.get 1 + i32.load + local.tee 2 + i32.const 1 + i32.add + i32.store + local.get 2 + i32.const -1 + i32.le_s + br_if 5 (;@3;) + end + i32.const 0 + i32.const 0 + i32.store8 offset=1058276 + local.get 1 + i32.eqz + br_if 6 (;@1;) + local.get 0 + i32.const 16 + i32.add + global.set 0 + local.get 1 + return + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + i32.const 1024 + i32.const 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE + unreachable + end + i32.const 32 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + unreachable + unreachable + end + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + i32.const 1050390 + i32.const 36 + i32.const 1050428 + call $_ZN4core6option13expect_failed17hf689d8761c64e95fE + unreachable) + (func $_ZN61_$LT$std..io..stdio..StdoutLock$u20$as$u20$std..io..Write$GT$5write17h318ff9a8d34e94bcE (type 4) (param i32 i32 i32 i32) + (local i32 i32 i64 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load + local.tee 1 + i32.load + br_if 0 (;@5;) + local.get 1 + i32.const -1 + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 5 + block ;; label = @6 + local.get 1 + i32.const 20 + i32.add + i32.load8_u + i32.eqz + br_if 0 (;@6;) + local.get 4 + i32.const 16 + i32.add + local.get 5 + call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 4 + i32.load8_u offset=16 + i32.const 3 + i32.ne + br_if 0 (;@9;) + local.get 1 + i32.const 16 + i32.add + i32.load8_u + i32.const 2 + i32.ne + br_if 1 (;@8;) + i32.const 1049080 + i32.const 43 + i32.const 1049964 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 4 + i64.load offset=16 + local.tee 6 + i64.const 255 + i64.and + i64.const 3 + i64.ne + br_if 1 (;@7;) + end + local.get 1 + i32.const 0 + i32.store8 offset=20 + br 1 (;@6;) + end + local.get 6 + i32.wrap_i64 + local.tee 7 + i32.const 255 + i32.and + i32.const 3 + i32.ne + br_if 2 (;@4;) + block ;; label = @7 + i32.const 0 + br_if 0 (;@7;) + local.get 7 + i32.const 3 + i32.and + i32.const 2 + i32.ne + br_if 1 (;@6;) + end + local.get 6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 7 + i32.load + local.get 7 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @7 + local.get 7 + i32.load offset=4 + local.tee 8 + i32.load offset=4 + local.tee 9 + i32.eqz + br_if 0 (;@7;) + local.get 7 + i32.load + local.get 9 + local.get 8 + i32.load offset=8 + call $__rust_dealloc + end + local.get 7 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 4 + i32.const 8 + i32.add + i32.const 10 + local.get 2 + local.get 3 + call $_ZN4core5slice6memchr7memrchr17h4b8437429e29ecf5E + block ;; label = @6 + local.get 4 + i32.load offset=8 + br_if 0 (;@6;) + local.get 0 + local.get 5 + local.get 2 + local.get 3 + call $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E + br 5 (;@1;) + end + block ;; label = @6 + block ;; label = @7 + local.get 4 + i32.load offset=12 + local.tee 8 + i32.const -1 + i32.eq + br_if 0 (;@7;) + local.get 8 + i32.const 1 + i32.add + local.set 7 + local.get 8 + local.get 3 + i32.lt_u + br_if 1 (;@6;) + local.get 7 + local.get 3 + i32.const 1049980 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + i32.const 1049980 + call $_ZN4core5slice25slice_index_overflow_fail17h55e360d291e497e5E + unreachable + end + local.get 4 + i32.const 16 + i32.add + local.get 5 + local.get 2 + local.get 7 + call $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E + local.get 4 + i32.const 24 + i32.add + i32.load + local.set 9 + local.get 4 + i32.load offset=20 + local.set 8 + block ;; label = @6 + block ;; label = @7 + local.get 4 + i32.load offset=16 + local.tee 10 + i32.const 1 + i32.gt_u + br_if 0 (;@7;) + local.get 10 + br_table 1 (;@6;) 4 (;@3;) 1 (;@6;) + end + local.get 8 + i32.const 255 + i32.and + i32.const 2 + i32.lt_u + br_if 0 (;@6;) + local.get 9 + i32.load + local.get 9 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @7 + local.get 9 + i32.load offset=4 + local.tee 10 + i32.load offset=4 + local.tee 11 + i32.eqz + br_if 0 (;@7;) + local.get 9 + i32.load + local.get 11 + local.get 10 + i32.load offset=8 + call $__rust_dealloc + end + local.get 9 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 1 + i32.const 1 + i32.store8 offset=20 + local.get 4 + i32.const 16 + i32.add + local.get 5 + call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 4 + i32.load8_u offset=16 + i32.const 3 + i32.ne + br_if 0 (;@9;) + local.get 1 + i32.const 16 + i32.add + i32.load8_u + i32.const 2 + i32.ne + br_if 1 (;@8;) + i32.const 1049080 + i32.const 43 + i32.const 1049964 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 4 + i64.load8_u offset=16 + i64.const 3 + i64.ne + br_if 1 (;@7;) + end + local.get 1 + i32.const 0 + i32.store8 offset=20 + local.get 8 + local.get 7 + i32.eq + br_if 1 (;@6;) + br 5 (;@2;) + end + local.get 4 + i32.load offset=20 + local.set 9 + local.get 8 + local.get 7 + i32.ne + local.get 4 + i32.load offset=16 + local.tee 11 + i32.const 255 + i32.and + i32.const 3 + i32.ne + i32.or + local.set 10 + block ;; label = @7 + block ;; label = @8 + i32.const 0 + br_if 0 (;@8;) + local.get 11 + i32.const 3 + i32.and + i32.const 2 + i32.ne + br_if 1 (;@7;) + end + local.get 9 + i32.load + local.get 9 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @8 + local.get 9 + i32.load offset=4 + local.tee 11 + i32.load offset=4 + local.tee 12 + i32.eqz + br_if 0 (;@8;) + local.get 9 + i32.load + local.get 12 + local.get 11 + i32.load offset=8 + call $__rust_dealloc + end + local.get 9 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 10 + br_if 4 (;@2;) + end + local.get 4 + i32.const 16 + i32.add + local.get 5 + local.get 2 + local.get 7 + i32.add + local.get 3 + local.get 7 + i32.sub + call $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E + block ;; label = @6 + local.get 4 + i32.load offset=16 + i32.const 1 + i32.eq + br_if 0 (;@6;) + local.get 0 + i32.const 0 + i32.store + local.get 0 + local.get 4 + i32.load offset=20 + local.get 8 + i32.add + i32.store offset=4 + br 5 (;@1;) + end + local.get 0 + i32.const 0 + i32.store + local.get 0 + local.get 8 + i32.store offset=4 + local.get 4 + i32.load8_u offset=20 + i32.const 2 + i32.lt_u + br_if 4 (;@1;) + local.get 4 + i32.const 24 + i32.add + i32.load + local.tee 5 + i32.load + local.get 5 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @6 + local.get 5 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@6;) + local.get 5 + i32.load + local.get 3 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 5 + i32.const 12 + i32.const 4 + call $__rust_dealloc + br 4 (;@1;) + end + i32.const 1048812 + i32.const 16 + local.get 4 + i32.const 16 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + local.get 0 + i32.const 1 + i32.store + local.get 0 + local.get 6 + i64.store offset=4 align=4 + br 2 (;@1;) + end + local.get 0 + i32.const 1 + i32.store + local.get 0 + local.get 9 + i64.extend_i32_u + i64.const 32 + i64.shl + local.get 8 + i64.extend_i32_u + i64.or + i64.store offset=4 align=4 + br 1 (;@1;) + end + local.get 0 + i32.const 0 + i32.store + local.get 0 + local.get 8 + i32.store offset=4 + end + local.get 1 + local.get 1 + i32.load + i32.const 1 + i32.add + i32.store + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hc12753628cececa7E (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 1 + i32.load + i32.const 8 + i32.add + i32.store offset=4 + local.get 3 + i32.const 3 + i32.store8 offset=12 + local.get 3 + local.get 3 + i32.const 4 + i32.add + i32.store offset=8 + local.get 3 + i32.const 24 + i32.add + i32.const 16 + i32.add + local.get 2 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 3 + i32.const 24 + i32.add + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 2 + i64.load align=4 + i64.store offset=24 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.const 8 + i32.add + i32.const 1050560 + local.get 3 + i32.const 24 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + i32.eqz + br_if 0 (;@3;) + block ;; label = @4 + local.get 3 + i32.load8_u offset=12 + i32.const 3 + i32.ne + br_if 0 (;@4;) + local.get 3 + i32.const 24 + i32.add + i32.const 16 + i32.const 1050584 + i32.const 15 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 3 + i64.load offset=24 + i64.store align=4 + br 2 (;@2;) + end + local.get 0 + local.get 3 + i64.load offset=12 align=4 + i64.store align=4 + br 2 (;@1;) + end + local.get 0 + i32.const 3 + i32.store8 + end + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 3 + i32.load8_u offset=12 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + i32.load + local.tee 2 + i32.load + local.get 2 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 2 + i32.load offset=4 + local.tee 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load + local.get 1 + local.get 0 + i32.load offset=8 + call $__rust_dealloc + end + local.get 3 + i32.load offset=16 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 3 + i32.const 48 + i32.add + global.set 0) + (func $_ZN3std4sync4once4Once10call_inner17hca77e4a078ff76abE (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 4 + global.set 0 + local.get 4 + i32.const 2 + i32.or + local.set 5 + local.get 0 + i32.load + local.set 6 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + loop ;; label = @5 + block ;; label = @6 + local.get 6 + i32.const 3 + i32.gt_u + br_if 0 (;@6;) + block ;; label = @7 + block ;; label = @8 + local.get 6 + br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 6 (;@2;) 1 (;@7;) + end + i32.const 1050856 + i32.const 42 + i32.const 1050900 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 0 + local.get 0 + i32.load + local.tee 6 + i32.const 2 + local.get 6 + select + i32.store + local.get 6 + br_if 1 (;@5;) + i32.const 0 + local.set 1 + br 3 (;@3;) + end + local.get 6 + i32.const 3 + i32.and + i32.const 2 + i32.ne + br_if 4 (;@1;) + block ;; label = @6 + block ;; label = @7 + loop ;; label = @8 + local.get 6 + local.set 1 + block ;; label = @9 + i32.const 0 + i32.load offset=1058340 + i32.const 1 + i32.eq + br_if 0 (;@9;) + i32.const 0 + i64.const 1 + i64.store offset=1058340 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058348 + end + i32.const 1058344 + call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E + local.set 7 + local.get 0 + local.get 5 + local.get 0 + i32.load + local.tee 6 + local.get 6 + local.get 1 + i32.eq + select + i32.store + local.get 4 + i32.const 0 + i32.store8 offset=8 + local.get 4 + local.get 7 + i32.store + local.get 4 + local.get 1 + i32.const -4 + i32.and + i32.store offset=4 + block ;; label = @9 + block ;; label = @10 + local.get 6 + local.get 1 + i32.ne + br_if 0 (;@10;) + local.get 4 + i32.load8_u offset=8 + i32.eqz + br_if 1 (;@9;) + br 3 (;@7;) + end + block ;; label = @10 + local.get 4 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@10;) + local.get 1 + local.get 1 + i32.load + local.tee 7 + i32.const -1 + i32.add + i32.store + local.get 7 + i32.const 1 + i32.ne + br_if 0 (;@10;) + local.get 4 + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + local.get 6 + i32.const 3 + i32.and + i32.const 2 + i32.eq + br_if 1 (;@8;) + br 3 (;@6;) + end + end + loop ;; label = @8 + call $_ZN3std6thread4park17h939424159e238725E + local.get 4 + i32.load8_u offset=8 + i32.eqz + br_if 0 (;@8;) + end + end + local.get 4 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@6;) + local.get 1 + local.get 1 + i32.load + local.tee 6 + i32.const -1 + i32.add + i32.store + local.get 6 + i32.const 1 + i32.ne + br_if 0 (;@6;) + local.get 4 + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + local.get 0 + i32.load + local.set 6 + br 1 (;@5;) + end + local.get 0 + i32.load + local.set 6 + br 0 (;@5;) + end + end + loop ;; label = @4 + block ;; label = @5 + local.get 6 + local.tee 1 + i32.const 3 + i32.gt_u + br_if 0 (;@5;) + block ;; label = @6 + local.get 1 + br_table 0 (;@6;) 0 (;@6;) 1 (;@5;) 4 (;@2;) 0 (;@6;) + end + local.get 0 + i32.const 2 + local.get 0 + i32.load + local.tee 6 + local.get 6 + local.get 1 + i32.eq + local.tee 7 + select + i32.store + local.get 7 + i32.eqz + br_if 1 (;@4;) + br 2 (;@3;) + end + local.get 1 + i32.const 3 + i32.and + i32.const 2 + i32.ne + br_if 3 (;@1;) + block ;; label = @5 + loop ;; label = @6 + local.get 1 + local.set 6 + block ;; label = @7 + i32.const 0 + i32.load offset=1058340 + i32.const 1 + i32.eq + br_if 0 (;@7;) + i32.const 0 + i64.const 1 + i64.store offset=1058340 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058348 + end + i32.const 1058344 + call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E + local.set 7 + local.get 0 + local.get 5 + local.get 0 + i32.load + local.tee 1 + local.get 1 + local.get 6 + i32.eq + local.tee 8 + select + i32.store + local.get 4 + i32.const 0 + i32.store8 offset=8 + local.get 4 + local.get 7 + i32.store + local.get 4 + local.get 6 + i32.const -4 + i32.and + i32.store offset=4 + block ;; label = @7 + local.get 8 + br_if 0 (;@7;) + block ;; label = @8 + local.get 4 + i32.load + local.tee 6 + i32.eqz + br_if 0 (;@8;) + local.get 6 + local.get 6 + i32.load + local.tee 7 + i32.const -1 + i32.add + i32.store + local.get 7 + i32.const 1 + i32.ne + br_if 0 (;@8;) + local.get 4 + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + local.get 1 + i32.const 3 + i32.and + i32.const 2 + i32.eq + br_if 1 (;@6;) + br 2 (;@5;) + end + end + block ;; label = @6 + local.get 4 + i32.load8_u offset=8 + br_if 0 (;@6;) + loop ;; label = @7 + call $_ZN3std6thread4park17h939424159e238725E + local.get 4 + i32.load8_u offset=8 + i32.eqz + br_if 0 (;@7;) + end + end + local.get 4 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@5;) + local.get 1 + local.get 1 + i32.load + local.tee 6 + i32.const -1 + i32.add + i32.store + local.get 6 + i32.const 1 + i32.ne + br_if 0 (;@5;) + local.get 4 + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + local.get 0 + i32.load + local.set 6 + br 0 (;@4;) + end + end + local.get 4 + local.get 0 + i32.store + local.get 2 + local.get 1 + i32.const 1 + i32.eq + local.get 3 + i32.load offset=12 + call_indirect (type 6) + local.get 4 + i32.const 3 + i32.store offset=4 + local.get 4 + call $_ZN70_$LT$std..sync..once..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$4drop17h49d83c7df7d961c7E + end + local.get 4 + i32.const 16 + i32.add + global.set 0 + return + end + i32.const 1050780 + i32.const 57 + i32.const 1050840 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable) + (func $_ZN3std2io5stdio9set_panic17h7aca8b71dbb6c3c1E (type 7) (param i32 i32 i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 3 + global.set 0 + i32.const 0 + local.set 4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + i32.load offset=1058324 + i32.const 1 + i32.eq + br_if 0 (;@3;) + i32.const 0 + i64.const 1 + i64.store offset=1058324 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058332 + br 1 (;@2;) + end + i32.const 0 + i32.load offset=1058328 + br_if 1 (;@1;) + i32.const 0 + i32.load offset=1058332 + local.set 4 + end + i32.const 0 + local.get 1 + i32.store offset=1058332 + i32.const 0 + i32.load offset=1058336 + local.set 1 + i32.const 0 + local.get 2 + i32.store offset=1058336 + i32.const 0 + i32.const 0 + i32.store offset=1058328 + block ;; label = @2 + local.get 4 + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 4 + local.get 1 + i32.load offset=24 + call_indirect (type 6) + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 3 + i32.load8_u + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 3 + i32.load offset=4 + local.tee 2 + i32.load + local.get 2 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 2 + i32.load offset=4 + local.tee 5 + i32.load offset=4 + local.tee 6 + i32.eqz + br_if 0 (;@3;) + local.get 2 + i32.load + local.get 6 + local.get 5 + i32.load offset=8 + call $__rust_dealloc + end + local.get 2 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i32.store + local.get 0 + local.get 1 + i32.store offset=4 + local.get 3 + i32.const 16 + i32.add + global.set 0 + return + end + i32.const 1048812 + i32.const 16 + local.get 3 + i32.const 8 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable) + (func $_ZN3std2io5stdio6_print17h53f0a7747fc3663eE (type 1) (param i32) + (local i32 i32 i64 i32 i32) + global.get 0 + i32.const 96 + i32.sub + local.tee 1 + global.set 0 + local.get 1 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 0 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 1 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 1 + local.get 0 + i64.load align=4 + i64.store offset=8 + local.get 1 + i32.const 6 + i32.store offset=36 + local.get 1 + i32.const 1050500 + i32.store offset=32 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + i32.const 0 + i32.load offset=1058308 + i32.const 1 + i32.eq + br_if 0 (;@7;) + i32.const 0 + i64.const 1 + i64.store offset=1058308 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058316 + br 1 (;@6;) + end + i32.const 0 + i32.load offset=1058312 + br_if 3 (;@3;) + i32.const 0 + i32.const 0 + i32.store offset=1058312 + i32.const 0 + i32.load offset=1058316 + local.set 0 + i32.const 0 + i32.const 0 + i32.store offset=1058316 + local.get 0 + br_if 1 (;@5;) + end + local.get 1 + call $_ZN3std2io5stdio6stdout17h0bb5151ba21c8b62E + local.tee 0 + i32.store offset=48 + local.get 1 + i32.const 72 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.const 16 + i32.add + i64.load + i64.store + local.get 1 + i32.const 72 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store + local.get 1 + local.get 1 + i64.load offset=8 + i64.store offset=72 + local.get 1 + i32.const 64 + i32.add + local.get 1 + i32.const 48 + i32.add + local.get 1 + i32.const 72 + i32.add + call $_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hc12753628cececa7E + local.get 0 + local.get 0 + i32.load + local.tee 2 + i32.const -1 + i32.add + i32.store + block ;; label = @6 + local.get 2 + i32.const 1 + i32.ne + br_if 0 (;@6;) + local.get 1 + i32.const 48 + i32.add + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E + end + local.get 1 + i64.load offset=64 + local.set 3 + br 1 (;@4;) + end + i32.const 0 + i32.load offset=1058320 + local.set 2 + local.get 1 + i32.const 72 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.const 16 + i32.add + i64.load + i64.store + local.get 1 + i32.const 72 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store + local.get 1 + local.get 1 + i64.load offset=8 + i64.store offset=72 + local.get 1 + i32.const 48 + i32.add + local.get 0 + local.get 1 + i32.const 72 + i32.add + local.get 2 + i32.load offset=36 + call_indirect (type 7) + i32.const 0 + i32.load offset=1058312 + br_if 2 (;@2;) + i32.const 0 + i32.const -1 + i32.store offset=1058312 + block ;; label = @5 + i32.const 0 + i32.load offset=1058316 + local.tee 4 + i32.eqz + br_if 0 (;@5;) + local.get 4 + i32.const 0 + i32.load offset=1058320 + i32.load + call_indirect (type 1) + i32.const 0 + i32.load offset=1058320 + local.tee 4 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@5;) + i32.const 0 + i32.load offset=1058316 + local.get 5 + local.get 4 + i32.load offset=8 + call $__rust_dealloc + end + i32.const 0 + local.get 2 + i32.store offset=1058320 + i32.const 0 + local.get 0 + i32.store offset=1058316 + i32.const 0 + i32.const 0 + i32.load offset=1058312 + i32.const 1 + i32.add + i32.store offset=1058312 + local.get 1 + local.get 1 + i64.load offset=48 + local.tee 3 + i64.store offset=64 + end + block ;; label = @4 + block ;; label = @5 + local.get 3 + i32.wrap_i64 + local.tee 0 + i32.const 255 + i32.and + i32.const 4 + i32.ne + br_if 0 (;@5;) + local.get 1 + call $_ZN3std2io5stdio6stdout17h0bb5151ba21c8b62E + local.tee 0 + i32.store offset=48 + local.get 1 + i32.const 72 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.const 16 + i32.add + i64.load + i64.store + local.get 1 + i32.const 72 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store + local.get 1 + local.get 1 + i64.load offset=8 + i64.store offset=72 + local.get 1 + i32.const 40 + i32.add + local.get 1 + i32.const 48 + i32.add + local.get 1 + i32.const 72 + i32.add + call $_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hc12753628cececa7E + local.get 0 + local.get 0 + i32.load + local.tee 2 + i32.const -1 + i32.add + i32.store + block ;; label = @6 + local.get 2 + i32.const 1 + i32.ne + br_if 0 (;@6;) + local.get 1 + i32.const 48 + i32.add + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E + end + local.get 1 + i32.load8_u offset=40 + local.tee 2 + local.set 0 + br 1 (;@4;) + end + local.get 1 + local.get 3 + i64.store offset=40 + local.get 3 + i32.wrap_i64 + local.set 2 + end + local.get 0 + i32.const 255 + i32.and + i32.const 3 + i32.ne + br_if 2 (;@1;) + block ;; label = @4 + block ;; label = @5 + i32.const 0 + br_if 0 (;@5;) + local.get 2 + i32.const 3 + i32.and + i32.const 2 + i32.ne + br_if 1 (;@4;) + end + local.get 1 + i32.load offset=44 + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @5 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 4 + i32.eqz + br_if 0 (;@5;) + local.get 0 + i32.load + local.get 4 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 1 + i32.const 96 + i32.add + global.set 0 + return + end + i32.const 1048812 + i32.const 16 + local.get 1 + i32.const 72 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + i32.const 1048812 + i32.const 16 + local.get 1 + i32.const 72 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + local.get 1 + local.get 1 + i64.load offset=40 + i64.store offset=64 + local.get 1 + i32.const 92 + i32.add + i32.const 2 + i32.store + local.get 1 + i32.const 60 + i32.add + i32.const 8 + i32.store + local.get 1 + i64.const 2 + i64.store offset=76 align=4 + local.get 1 + i32.const 1050468 + i32.store offset=72 + local.get 1 + i32.const 10 + i32.store offset=52 + local.get 1 + local.get 1 + i32.const 48 + i32.add + i32.store offset=88 + local.get 1 + local.get 1 + i32.const 64 + i32.add + i32.store offset=56 + local.get 1 + local.get 1 + i32.const 32 + i32.add + i32.store offset=48 + local.get 1 + i32.const 72 + i32.add + i32.const 1050484 + call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E + unreachable) + (func $_ZN3std2io5Write14write_vectored17ha0666460d161172dE (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + local.get 3 + i32.const 3 + i32.shl + local.set 3 + local.get 2 + i32.const -8 + i32.add + local.set 5 + block ;; label = @1 + loop ;; label = @2 + block ;; label = @3 + local.get 3 + br_if 0 (;@3;) + i32.const 1049036 + local.set 2 + i32.const 0 + local.set 6 + br 2 (;@1;) + end + local.get 3 + i32.const -8 + i32.add + local.set 3 + local.get 5 + i32.const 8 + i32.add + local.set 5 + local.get 2 + i32.const 4 + i32.add + local.set 6 + local.get 2 + i32.const 8 + i32.add + local.set 2 + local.get 6 + i32.load + local.tee 6 + i32.eqz + br_if 0 (;@2;) + end + local.get 5 + i32.load + local.set 2 + end + local.get 4 + local.get 6 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + i32.const 1 + local.set 2 + local.get 4 + i32.const 16 + i32.add + i32.const 2 + local.get 4 + i32.const 8 + i32.add + i32.const 1 + call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.load16_u offset=16 + i32.const 1 + i32.ne + br_if 0 (;@2;) + local.get 4 + local.get 4 + i32.load16_u offset=18 + i32.store16 offset=30 + local.get 0 + local.get 4 + i32.const 30 + i32.add + call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE + i64.extend_i32_u + i64.const 65535 + i64.and + i64.const 32 + i64.shl + i64.store offset=4 align=4 + br 1 (;@1;) + end + local.get 0 + local.get 4 + i32.load offset=20 + i32.store offset=4 + i32.const 0 + local.set 2 + end + local.get 0 + local.get 2 + i32.store + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN3std2io5Write17is_write_vectored17h543cbc50b0d68d7bE (type 5) (param i32) (result i32) + i32.const 0) + (func $_ZN3std2io5Write18write_all_vectored17h30c34f9cecddc9d3E (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.eqz + br_if 0 (;@4;) + loop ;; label = @5 + local.get 4 + i32.const 8 + i32.add + local.get 1 + i32.load + local.get 2 + local.get 3 + local.get 1 + i32.load offset=4 + i32.load offset=16 + call_indirect (type 4) + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 4 + i32.load offset=8 + local.tee 5 + i32.const 1 + i32.eq + br_if 0 (;@8;) + block ;; label = @9 + local.get 4 + i32.load offset=12 + local.tee 6 + br_if 0 (;@9;) + local.get 4 + i32.const 24 + i32.add + i32.const 14 + i32.const 1050340 + i32.const 28 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 4 + i64.load offset=24 + i64.store align=4 + br 8 (;@1;) + end + local.get 2 + i32.const 4 + i32.add + local.set 7 + local.get 3 + i32.const 3 + i32.shl + i32.const -8 + i32.add + i32.const 3 + i32.shr_u + i32.const 1 + i32.add + local.set 8 + i32.const 0 + local.set 9 + i32.const 0 + local.set 10 + loop ;; label = @9 + local.get 7 + i32.load + local.get 10 + i32.add + local.tee 11 + local.get 6 + i32.gt_u + br_if 2 (;@7;) + local.get 7 + i32.const 8 + i32.add + local.set 7 + local.get 11 + local.set 10 + local.get 8 + local.get 9 + i32.const 1 + i32.add + local.tee 9 + i32.ne + br_if 0 (;@9;) + end + local.get 11 + local.set 10 + local.get 8 + local.set 9 + br 1 (;@7;) + end + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 4 + i32.load8_u offset=12 + local.tee 6 + br_table 1 (;@10;) 0 (;@11;) 2 (;@9;) 1 (;@10;) + end + local.get 4 + i32.load8_u offset=13 + local.set 7 + br 2 (;@8;) + end + local.get 4 + i32.load offset=16 + call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE + i32.const 255 + i32.and + local.set 7 + br 1 (;@8;) + end + local.get 4 + i32.load offset=16 + i32.load8_u offset=8 + local.set 7 + end + i32.const 1 + local.set 5 + local.get 7 + i32.const 255 + i32.and + i32.const 15 + i32.eq + br_if 1 (;@6;) + local.get 0 + local.get 4 + i64.load offset=12 align=4 + i64.store align=4 + br 6 (;@1;) + end + local.get 3 + local.get 9 + i32.lt_u + br_if 3 (;@3;) + local.get 2 + local.get 9 + i32.const 3 + i32.shl + i32.add + local.set 2 + local.get 3 + local.get 9 + i32.sub + local.tee 3 + i32.eqz + br_if 0 (;@6;) + local.get 2 + i32.load offset=4 + local.tee 9 + local.get 6 + local.get 10 + i32.sub + local.tee 7 + i32.lt_u + br_if 4 (;@2;) + local.get 2 + i32.const 4 + i32.add + local.get 9 + local.get 7 + i32.sub + i32.store + local.get 2 + local.get 2 + i32.load + local.get 7 + i32.add + i32.store + local.get 4 + i32.load8_u offset=12 + local.set 6 + local.get 4 + i32.load offset=8 + local.set 5 + end + block ;; label = @6 + local.get 5 + i32.eqz + br_if 0 (;@6;) + local.get 6 + i32.const 255 + i32.and + i32.const 2 + i32.lt_u + br_if 0 (;@6;) + local.get 4 + i32.load offset=16 + local.tee 7 + i32.load + local.get 7 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @7 + local.get 7 + i32.load offset=4 + local.tee 9 + i32.load offset=4 + local.tee 10 + i32.eqz + br_if 0 (;@7;) + local.get 7 + i32.load + local.get 10 + local.get 9 + i32.load offset=8 + call $__rust_dealloc + end + local.get 7 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 3 + br_if 0 (;@5;) + end + end + local.get 0 + i32.const 3 + i32.store8 + br 2 (;@1;) + end + local.get 9 + local.get 3 + i32.const 1050528 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + i32.const 1052116 + i32.const 35 + i32.const 1052176 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN3std2io5Write18write_all_vectored17h937b0242149abcbeE (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 3 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 3 + i32.const 3 + i32.shl + local.set 5 + local.get 2 + i32.const -8 + i32.add + local.set 6 + local.get 2 + local.set 7 + block ;; label = @4 + loop ;; label = @5 + block ;; label = @6 + local.get 5 + br_if 0 (;@6;) + i32.const 1049036 + local.set 5 + i32.const 0 + local.set 8 + br 2 (;@4;) + end + local.get 5 + i32.const -8 + i32.add + local.set 5 + local.get 6 + i32.const 8 + i32.add + local.set 6 + local.get 7 + i32.const 4 + i32.add + local.set 8 + local.get 7 + i32.const 8 + i32.add + local.set 7 + local.get 8 + i32.load + local.tee 8 + i32.eqz + br_if 0 (;@5;) + end + local.get 6 + i32.load + local.set 5 + end + local.get 4 + local.get 8 + i32.store offset=12 + local.get 4 + local.get 5 + i32.store offset=8 + local.get 4 + i32.const 16 + i32.add + i32.const 2 + local.get 4 + i32.const 8 + i32.add + i32.const 1 + call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 4 + i32.load16_u offset=16 + i32.const 1 + i32.eq + br_if 0 (;@6;) + block ;; label = @7 + local.get 4 + i32.load offset=20 + local.tee 9 + br_if 0 (;@7;) + local.get 4 + i32.const 16 + i32.add + i32.const 14 + i32.const 1050340 + i32.const 28 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 4 + i64.load offset=16 + i64.store align=4 + br 6 (;@1;) + end + local.get 2 + i32.const 4 + i32.add + local.set 5 + local.get 3 + i32.const 3 + i32.shl + i32.const -8 + i32.add + i32.const 3 + i32.shr_u + i32.const 1 + i32.add + local.set 10 + i32.const 0 + local.set 7 + i32.const 0 + local.set 6 + loop ;; label = @7 + local.get 5 + i32.load + local.get 6 + i32.add + local.tee 8 + local.get 9 + i32.gt_u + br_if 2 (;@5;) + local.get 5 + i32.const 8 + i32.add + local.set 5 + local.get 8 + local.set 6 + local.get 10 + local.get 7 + i32.const 1 + i32.add + local.tee 7 + i32.ne + br_if 0 (;@7;) + end + local.get 8 + local.set 6 + local.get 10 + local.set 7 + br 1 (;@5;) + end + local.get 4 + local.get 4 + i32.load16_u offset=18 + i32.store16 offset=30 + local.get 4 + i32.const 30 + i32.add + call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE + i32.const 65535 + i32.and + local.tee 5 + call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE + i32.const 255 + i32.and + i32.const 15 + i32.eq + br_if 1 (;@4;) + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 5 + i32.store + br 4 (;@1;) + end + block ;; label = @5 + block ;; label = @6 + local.get 3 + local.get 7 + i32.lt_u + br_if 0 (;@6;) + local.get 2 + local.get 7 + i32.const 3 + i32.shl + i32.add + local.set 2 + local.get 3 + local.get 7 + i32.sub + local.tee 3 + i32.eqz + br_if 2 (;@4;) + local.get 2 + i32.load offset=4 + local.tee 7 + local.get 9 + local.get 6 + i32.sub + local.tee 5 + i32.lt_u + br_if 1 (;@5;) + local.get 2 + i32.const 4 + i32.add + local.get 7 + local.get 5 + i32.sub + i32.store + local.get 2 + local.get 2 + i32.load + local.get 5 + i32.add + i32.store + br 2 (;@4;) + end + local.get 7 + local.get 3 + i32.const 1050528 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + i32.const 1052116 + i32.const 35 + i32.const 1052176 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 3 + br_if 0 (;@3;) + end + end + local.get 0 + i32.const 3 + i32.store8 + end + local.get 4 + i32.const 32 + i32.add + global.set 0) + (func $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 3 + i32.store8 offset=12 + local.get 3 + local.get 1 + i32.store offset=8 + local.get 3 + i32.const 24 + i32.add + i32.const 16 + i32.add + local.get 2 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 3 + i32.const 24 + i32.add + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 2 + i64.load align=4 + i64.store offset=24 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.const 8 + i32.add + i32.const 1050600 + local.get 3 + i32.const 24 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + i32.eqz + br_if 0 (;@3;) + block ;; label = @4 + local.get 3 + i32.load8_u offset=12 + i32.const 3 + i32.ne + br_if 0 (;@4;) + local.get 3 + i32.const 24 + i32.add + i32.const 16 + i32.const 1050584 + i32.const 15 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 0 + local.get 3 + i64.load offset=24 + i64.store align=4 + br 2 (;@2;) + end + local.get 0 + local.get 3 + i64.load offset=12 align=4 + i64.store align=4 + br 2 (;@1;) + end + local.get 0 + i32.const 3 + i32.store8 + end + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 3 + i32.load8_u offset=12 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + i32.load + local.tee 2 + i32.load + local.get 2 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 2 + i32.load offset=4 + local.tee 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load + local.get 1 + local.get 0 + i32.load offset=8 + call $__rust_dealloc + end + local.get 3 + i32.load offset=16 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 3 + i32.const 48 + i32.add + global.set 0) + (func $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h612bf57410edd764E (type 8) (param i32 i32 i32) (result i32) + (local i32 i64 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load + local.get 1 + local.get 2 + call $_ZN3std2io5Write9write_all17h39d0435291d0ea60E + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 3 + i32.load8_u offset=8 + i32.const 3 + i32.eq + br_if 0 (;@1;) + local.get 3 + i64.load offset=8 + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load + local.get 5 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i64.store offset=4 align=4 + i32.const 1 + local.set 1 + end + local.get 3 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17hc2a4146e00a3c941E (type 8) (param i32 i32 i32) (result i32) + (local i32 i64 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load + local.get 1 + local.get 2 + call $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 3 + i32.load8_u offset=8 + i32.const 3 + i32.eq + br_if 0 (;@1;) + local.get 3 + i64.load offset=8 + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load + local.get 5 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.load offset=8 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + local.get 4 + i64.store offset=4 align=4 + i32.const 1 + local.set 1 + end + local.get 3 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN59_$LT$std..process..ChildStdin$u20$as$u20$std..io..Write$GT$5flush17hd1cd00994c0d68a2E (type 6) (param i32 i32) + local.get 0 + i32.const 3 + i32.store8) + (func $_ZN3std7process5abort17hf1114be477e68b14E (type 0) + call $_ZN3std3sys4wasi14abort_internal17h90f7a1074a6bed5aE + unreachable) + (func $_ZN3std3sys4wasi14abort_internal17h90f7a1074a6bed5aE (type 0) + call $abort + unreachable) + (func $_ZN70_$LT$std..sync..once..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$4drop17h49d83c7df7d961c7E (type 1) (param i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 1 + global.set 0 + local.get 0 + i32.load + local.tee 2 + i32.load + local.set 3 + local.get 2 + local.get 0 + i32.load offset=4 + i32.store + local.get 1 + local.get 3 + i32.const 3 + i32.and + local.tee 0 + i32.store offset=12 + block ;; label = @1 + local.get 0 + i32.const 2 + i32.ne + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 3 + i32.const -4 + i32.and + local.tee 0 + i32.eqz + br_if 0 (;@5;) + loop ;; label = @6 + local.get 0 + i32.load offset=4 + local.set 2 + local.get 0 + i32.load + local.set 3 + local.get 0 + i32.const 0 + i32.store + local.get 3 + i32.eqz + br_if 2 (;@4;) + local.get 0 + i32.const 1 + i32.store8 offset=8 + local.get 3 + i32.load offset=24 + local.set 0 + local.get 3 + i32.const 2 + i32.store offset=24 + local.get 1 + local.get 3 + i32.store offset=40 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 0 + i32.const 2 + i32.gt_u + br_if 0 (;@9;) + local.get 0 + br_table 2 (;@7;) 1 (;@8;) 2 (;@7;) 2 (;@7;) + end + i32.const 1049592 + i32.const 28 + i32.const 1049620 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 1 + i32.load offset=40 + local.tee 0 + i32.const 28 + i32.add + local.tee 3 + i32.load + local.tee 4 + i32.load8_u + br_if 4 (;@3;) + local.get 4 + i32.const 1 + i32.store8 + block ;; label = @8 + block ;; label = @9 + i32.const 0 + i32.load offset=1058352 + i32.const 1 + i32.ne + br_if 0 (;@9;) + i32.const 0 + i32.load offset=1058356 + local.set 4 + br 1 (;@8;) + end + i32.const 0 + local.set 4 + i32.const 0 + i64.const 1 + i64.store offset=1058352 + end + i32.const 0 + local.get 4 + i32.store offset=1058356 + local.get 0 + i32.load8_u offset=32 + br_if 5 (;@2;) + local.get 3 + i32.load + i32.const 0 + i32.store8 + end + local.get 1 + i32.load offset=40 + local.tee 0 + local.get 0 + i32.load + local.tee 0 + i32.const -1 + i32.add + i32.store + block ;; label = @7 + local.get 0 + i32.const 1 + i32.ne + br_if 0 (;@7;) + local.get 1 + i32.const 40 + i32.add + call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E + end + local.get 2 + local.set 0 + local.get 2 + br_if 0 (;@6;) + end + end + local.get 1 + i32.const 64 + i32.add + global.set 0 + return + end + i32.const 1049080 + i32.const 43 + i32.const 1050932 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + local.get 1 + local.get 3 + i32.store offset=16 + local.get 1 + local.get 4 + i32.const 0 + i32.ne + i32.store8 offset=20 + i32.const 1049172 + i32.const 43 + local.get 1 + i32.const 16 + i32.add + i32.const 1049232 + i32.const 1049636 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + local.get 1 + i32.const 52 + i32.add + i32.const 7 + i32.store + local.get 1 + i32.const 36 + i32.add + i32.const 2 + i32.store + local.get 1 + i64.const 3 + i64.store offset=20 align=4 + local.get 1 + i32.const 1049012 + i32.store offset=16 + local.get 1 + i32.const 7 + i32.store offset=44 + local.get 1 + local.get 1 + i32.const 12 + i32.add + i32.store offset=56 + local.get 1 + i32.const 1049380 + i32.store offset=60 + local.get 1 + local.get 1 + i32.const 40 + i32.add + i32.store offset=32 + local.get 1 + local.get 1 + i32.const 60 + i32.add + i32.store offset=48 + local.get 1 + local.get 1 + i32.const 56 + i32.add + i32.store offset=40 + local.get 1 + i32.const 16 + i32.add + i32.const 1050916 + call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E + unreachable) + (func $_ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17hf61cfde2fe9b6125E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load8_u + local.set 3 + local.get 2 + i32.const 40 + i32.add + i32.const 16 + i32.const 1052388 + i32.const 35 + call $_ZN3std2io5error5Error3new17h241fae668dc94904E + local.get 2 + i32.load offset=44 + local.set 0 + block ;; label = @1 + local.get 2 + i32.load8_u offset=40 + i32.const 2 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 4 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load + local.get 5 + local.get 4 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 2 + i32.const 0 + i32.store + local.get 2 + local.get 3 + i32.store8 offset=12 + local.get 2 + local.get 0 + i64.extend_i32_u + i64.store offset=4 align=4 + local.get 2 + i32.const 60 + i32.add + i32.const 0 + i32.store + local.get 2 + i32.const 1049036 + i32.store offset=56 + local.get 2 + i64.const 1 + i64.store offset=44 align=4 + local.get 2 + i32.const 1051052 + i32.store offset=40 + block ;; label = @1 + block ;; label = @2 + local.get 1 + local.get 2 + i32.const 40 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E + br_if 0 (;@2;) + local.get 2 + i32.const 16 + i32.add + local.get 1 + local.get 3 + local.get 2 + i32.const 1051060 + call $_ZN9backtrace5print12BacktraceFmt3new17heb00f4bb3dc7e3fcE + block ;; label = @3 + local.get 2 + i32.const 16 + i32.add + call $_ZN9backtrace5print12BacktraceFmt11add_context17hce465d38752fa7c6E + br_if 0 (;@3;) + local.get 2 + i32.const 16 + i32.add + call $_ZN9backtrace5print12BacktraceFmt11add_context17hce465d38752fa7c6E + br_if 0 (;@3;) + block ;; label = @4 + local.get 3 + i32.const 255 + i32.and + br_if 0 (;@4;) + local.get 2 + i32.const 60 + i32.add + i32.const 0 + i32.store + local.get 2 + i32.const 1049036 + i32.store offset=56 + local.get 2 + i64.const 1 + i64.store offset=44 align=4 + local.get 2 + i32.const 1051168 + i32.store offset=40 + local.get 1 + local.get 2 + i32.const 40 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E + br_if 1 (;@3;) + end + block ;; label = @4 + local.get 2 + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@4;) + local.get 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@4;) + local.get 0 + local.get 3 + i32.const 1 + call $__rust_dealloc + end + i32.const 0 + local.set 0 + br 2 (;@1;) + end + local.get 2 + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.get 3 + i32.const 1 + call $__rust_dealloc + end + i32.const 1 + local.set 0 + end + local.get 2 + i32.const 64 + i32.add + global.set 0 + local.get 0) + (func $_ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17hbd37bfd99643a95bE (type 8) (param i32 i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 3 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.load + i32.const 1 + i32.ne + br_if 0 (;@2;) + i32.const 1051180 + local.set 2 + i32.const 9 + local.set 4 + br 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + local.get 2 + i32.load offset=4 + local.get 2 + i32.const 8 + i32.add + i32.load + call $_ZN4core3str9from_utf817h4147d06a7789f81eE + i32.const 1051180 + local.get 3 + i32.load offset=20 + local.get 3 + i32.load offset=16 + i32.const 1 + i32.eq + local.tee 4 + select + local.set 2 + i32.const 9 + local.get 3 + i32.const 16 + i32.add + i32.const 8 + i32.add + i32.load + local.get 4 + select + local.set 4 + end + local.get 3 + i32.const 8 + i32.add + local.get 2 + local.get 4 + call $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE + local.get 3 + i32.load offset=8 + local.get 3 + i32.load offset=12 + local.get 1 + call $_ZN66_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$3fmt17hb03f341134eb2e55E + local.set 2 + local.get 3 + i32.const 32 + i32.add + global.set 0 + local.get 2) + (func $_ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h9f16e1c4d331680cE (type 3) (param i32 i32) (result i32) + local.get 0 + local.get 1 + i32.load offset=12 + call_indirect (type 5)) + (func $_ZN3std3sys4wasi7condvar7Condvar4wait17hd58c2e705c9c4c90E (type 6) (param i32 i32) + i32.const 1052032 + i32.const 29 + i32.const 1052100 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable) + (func $_ZN82_$LT$std..sys_common..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h5133a11d5216d05aE (type 3) (param i32 i32) (result i32) + i32.const 1051232 + i32.const 25 + local.get 1 + call $_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h7843956b8f6f7061E) + (func $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE (type 1) (param i32) + (local i32 i32 i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 1 + global.set 0 + local.get 1 + i32.const 16 + i32.add + i32.const 16 + i32.add + local.get 0 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 1 + i32.const 16 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 1 + local.get 0 + i64.load align=4 + i64.store offset=16 + local.get 1 + i32.const 8 + i32.add + local.get 1 + i32.const 40 + i32.add + local.get 1 + i32.const 16 + i32.add + call $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE + block ;; label = @1 + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 1 + i32.load8_u offset=8 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 1 + i32.load offset=12 + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load + local.get 3 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 1 + i32.const 48 + i32.add + global.set 0) + (func $_ZN3std10sys_common4util5abort17h4ad11f4843dc8899E (type 1) (param i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 1 + global.set 0 + local.get 1 + i32.const 20 + i32.add + i32.const 1 + i32.store + local.get 1 + i64.const 2 + i64.store offset=4 align=4 + local.get 1 + i32.const 1051372 + i32.store + local.get 1 + i32.const 6 + i32.store offset=28 + local.get 1 + local.get 0 + i32.store offset=24 + local.get 1 + local.get 1 + i32.const 24 + i32.add + i32.store offset=16 + local.get 1 + call $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE + call $_ZN3std3sys4wasi14abort_internal17h90f7a1074a6bed5aE + unreachable) + (func $_ZN3std5alloc24default_alloc_error_hook17h2080d072101c71d6E (type 6) (param i32 i32) + (local i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + i32.const 13 + i32.store offset=12 + local.get 2 + local.get 0 + i32.store offset=20 + local.get 2 + local.get 2 + i32.const 20 + i32.add + i32.store offset=8 + local.get 2 + i32.const 52 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 2 + i64.store offset=36 align=4 + local.get 2 + i32.const 1051440 + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 8 + i32.add + i32.store offset=48 + local.get 2 + i32.const 24 + i32.add + local.get 2 + i32.const 56 + i32.add + local.get 2 + i32.const 32 + i32.add + call $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE + block ;; label = @1 + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 2 + i32.load8_u offset=24 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 2 + i32.load offset=28 + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load offset=4 + local.tee 4 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load + local.get 4 + local.get 3 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 2 + i32.const 64 + i32.add + global.set 0) + (func $rust_oom (type 6) (param i32 i32) + (local i32) + local.get 0 + local.get 1 + i32.const 0 + i32.load offset=1058292 + local.tee 2 + i32.const 14 + local.get 2 + select + call_indirect (type 6) + call $_ZN3std7process5abort17hf1114be477e68b14E + unreachable) + (func $__rdl_alloc (type 3) (param i32 i32) (result i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 8 + i32.gt_u + br_if 0 (;@2;) + local.get 1 + local.get 0 + i32.le_u + br_if 1 (;@1;) + end + local.get 1 + local.get 0 + call $aligned_alloc + return + end + local.get 0 + call $malloc) + (func $__rdl_dealloc (type 7) (param i32 i32 i32) + local.get 0 + call $free) + (func $__rdl_realloc (type 9) (param i32 i32 i32 i32) (result i32) + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.const 8 + i32.gt_u + br_if 0 (;@2;) + local.get 2 + local.get 3 + i32.le_u + br_if 1 (;@1;) + end + block ;; label = @2 + local.get 2 + local.get 3 + call $aligned_alloc + local.tee 2 + br_if 0 (;@2;) + i32.const 0 + return + end + local.get 2 + local.get 0 + local.get 3 + local.get 1 + local.get 1 + local.get 3 + i32.gt_u + select + call $memcpy + local.set 3 + local.get 0 + call $free + local.get 3 + return + end + local.get 0 + local.get 3 + call $realloc) + (func $_ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h46401a881447bbf1E (type 7) (param i32 i32 i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get 3 + i32.const 32 + i32.add + i32.const 20 + i32.add + i32.const 15 + i32.store + local.get 3 + i32.const 44 + i32.add + i32.const 10 + i32.store + local.get 3 + i64.const 4 + i64.store offset=4 align=4 + local.get 3 + i32.const 1051632 + i32.store + local.get 3 + i32.const 10 + i32.store offset=36 + local.get 3 + local.get 0 + i32.load offset=8 + i32.store offset=48 + local.get 3 + local.get 0 + i32.load offset=4 + i32.store offset=40 + local.get 3 + local.get 0 + i32.load + i32.store offset=32 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=16 + local.get 3 + i32.const 24 + i32.add + local.get 1 + local.get 3 + local.get 2 + i32.load offset=36 + local.tee 2 + call_indirect (type 7) + block ;; label = @1 + block ;; label = @2 + i32.const 0 + br_if 0 (;@2;) + local.get 3 + i32.load8_u offset=24 + i32.const 2 + i32.ne + br_if 1 (;@1;) + end + local.get 3 + i32.load offset=28 + local.tee 4 + i32.load + local.get 4 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @2 + local.get 4 + i32.load offset=4 + local.tee 5 + i32.load offset=4 + local.tee 6 + i32.eqz + br_if 0 (;@2;) + local.get 4 + i32.load + local.get 6 + local.get 5 + i32.load offset=8 + call $__rust_dealloc + end + local.get 4 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load offset=12 + i32.load8_u + local.tee 4 + i32.const -3 + i32.add + i32.const 255 + i32.and + local.tee 0 + i32.const 1 + i32.add + i32.const 0 + local.get 0 + i32.const 2 + i32.lt_u + select + br_table 0 (;@4;) 2 (;@2;) 1 (;@3;) 0 (;@4;) + end + i32.const 0 + i32.load8_u offset=1058362 + br_if 2 (;@1;) + i32.const 0 + i32.const 1 + i32.store8 offset=1058362 + local.get 3 + i32.const 52 + i32.add + i32.const 1 + i32.store + local.get 3 + i64.const 1 + i64.store offset=36 align=4 + local.get 3 + i32.const 1050296 + i32.store offset=32 + local.get 3 + i32.const 16 + i32.store offset=4 + local.get 3 + local.get 4 + i32.store8 offset=63 + local.get 3 + local.get 3 + i32.store offset=48 + local.get 3 + local.get 3 + i32.const 63 + i32.add + i32.store + local.get 3 + i32.const 24 + i32.add + local.get 1 + local.get 3 + i32.const 32 + i32.add + local.get 2 + call_indirect (type 7) + i32.const 0 + i32.const 0 + i32.store8 offset=1058362 + block ;; label = @4 + i32.const 0 + br_if 0 (;@4;) + local.get 3 + i32.load8_u offset=24 + i32.const 2 + i32.ne + br_if 2 (;@2;) + end + local.get 3 + i32.load offset=28 + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @4 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@4;) + local.get 0 + i32.load + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 12 + i32.const 4 + call $__rust_dealloc + br 1 (;@2;) + end + i32.const 0 + i32.load8_u offset=1058264 + local.set 0 + i32.const 0 + i32.const 0 + i32.store8 offset=1058264 + local.get 0 + i32.eqz + br_if 0 (;@2;) + local.get 3 + i32.const 52 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 1049036 + i32.store offset=48 + local.get 3 + i64.const 1 + i64.store offset=36 align=4 + local.get 3 + i32.const 1051744 + i32.store offset=32 + local.get 3 + local.get 1 + local.get 3 + i32.const 32 + i32.add + local.get 2 + call_indirect (type 7) + block ;; label = @3 + i32.const 0 + br_if 0 (;@3;) + local.get 3 + i32.load8_u + i32.const 2 + i32.ne + br_if 1 (;@2;) + end + local.get 3 + i32.load offset=4 + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 1) + block ;; label = @3 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@3;) + local.get 0 + i32.load + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 12 + i32.const 4 + call $__rust_dealloc + end + local.get 3 + i32.const 64 + i32.add + global.set 0 + return + end + i32.const 1052192 + i32.const 32 + i32.const 1052260 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable) + (func $rust_begin_unwind (type 1) (param i32) + (local i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 1 + global.set 0 + local.get 0 + call $_ZN4core5panic9PanicInfo8location17hd9842140c74e4b5aE + i32.const 1051752 + call $_ZN4core6option15Option$LT$T$GT$6unwrap17ha9b23444d02fba95E + local.set 2 + local.get 0 + call $_ZN4core5panic9PanicInfo7message17h173c452a45dbd3bdE + call $_ZN4core6option15Option$LT$T$GT$6unwrap17h710816bd9632510dE + local.set 3 + local.get 1 + i32.const 0 + i32.store offset=4 + local.get 1 + local.get 3 + i32.store + local.get 1 + i32.const 1051784 + local.get 0 + call $_ZN4core5panic9PanicInfo7message17h173c452a45dbd3bdE + local.get 2 + call $_ZN3std9panicking20rust_panic_with_hook17hb404003726e52692E + unreachable) + (func $_ZN3std9panicking20rust_panic_with_hook17hb404003726e52692E (type 4) (param i32 i32 i32 i32) + (local i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 4 + global.set 0 + i32.const 1 + local.set 5 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1058352 + i32.const 1 + i32.eq + br_if 0 (;@4;) + i32.const 0 + i64.const 4294967297 + i64.store offset=1058352 + br 1 (;@3;) + end + i32.const 0 + i32.const 0 + i32.load offset=1058356 + i32.const 1 + i32.add + local.tee 5 + i32.store offset=1058356 + local.get 5 + i32.const 2 + i32.gt_u + br_if 1 (;@2;) + end + local.get 4 + local.get 3 + i32.store offset=36 + local.get 4 + local.get 2 + i32.store offset=32 + local.get 4 + i32.const 1049036 + i32.store offset=28 + local.get 4 + i32.const 1049036 + i32.store offset=24 + block ;; label = @3 + i32.const 0 + i32.load offset=1058296 + local.tee 2 + i32.const -1 + i32.le_s + br_if 0 (;@3;) + i32.const 0 + local.get 2 + i32.const 1 + i32.add + i32.store offset=1058296 + block ;; label = @4 + block ;; label = @5 + i32.const 0 + i32.load offset=1058304 + local.tee 2 + i32.eqz + br_if 0 (;@5;) + i32.const 0 + i32.load offset=1058300 + local.set 3 + local.get 4 + i32.const 16 + i32.add + local.get 0 + local.get 1 + i32.load offset=16 + call_indirect (type 6) + local.get 4 + local.get 4 + i64.load offset=16 + i64.store offset=24 + local.get 3 + local.get 4 + i32.const 24 + i32.add + local.get 2 + i32.load offset=12 + call_indirect (type 6) + br 1 (;@4;) + end + local.get 4 + i32.const 8 + i32.add + local.get 0 + local.get 1 + i32.load offset=16 + call_indirect (type 6) + local.get 4 + local.get 4 + i64.load offset=8 + i64.store offset=24 + local.get 4 + i32.const 24 + i32.add + call $_ZN3std9panicking12default_hook17h98793b832cd2dab6E + end + i32.const 0 + i32.const 0 + i32.load offset=1058296 + i32.const -1 + i32.add + i32.store offset=1058296 + local.get 5 + i32.const 1 + i32.le_u + br_if 2 (;@1;) + local.get 4 + i32.const 60 + i32.add + i32.const 0 + i32.store + local.get 4 + i32.const 1049036 + i32.store offset=56 + local.get 4 + i64.const 1 + i64.store offset=44 align=4 + local.get 4 + i32.const 1051960 + i32.store offset=40 + local.get 4 + i32.const 40 + i32.add + call $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE + unreachable + unreachable + end + local.get 4 + i32.const 60 + i32.add + i32.const 0 + i32.store + local.get 4 + i32.const 1049036 + i32.store offset=56 + local.get 4 + i64.const 1 + i64.store offset=44 align=4 + local.get 4 + i32.const 1052380 + i32.store offset=40 + local.get 4 + i32.const 40 + i32.add + call $_ZN3std10sys_common4util5abort17h4ad11f4843dc8899E + unreachable + end + local.get 4 + i32.const 60 + i32.add + i32.const 0 + i32.store + local.get 4 + i32.const 1049036 + i32.store offset=56 + local.get 4 + i64.const 1 + i64.store offset=44 align=4 + local.get 4 + i32.const 1051908 + i32.store offset=40 + local.get 4 + i32.const 40 + i32.add + call $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE + unreachable + unreachable + end + local.get 0 + local.get 1 + call $rust_panic + unreachable) + (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h516f6ed2d13d495aE (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 2 + global.set 0 + block ;; label = @1 + local.get 1 + i32.load offset=4 + local.tee 3 + br_if 0 (;@1;) + local.get 1 + i32.const 4 + i32.add + local.set 3 + local.get 1 + i32.load + local.set 4 + local.get 2 + i32.const 0 + i32.store offset=32 + local.get 2 + i64.const 1 + i64.store offset=24 + local.get 2 + local.get 2 + i32.const 24 + i32.add + i32.store offset=36 + local.get 2 + i32.const 40 + i32.add + i32.const 16 + i32.add + local.get 4 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 40 + i32.add + i32.const 8 + i32.add + local.get 4 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 4 + i64.load align=4 + i64.store offset=40 + local.get 2 + i32.const 36 + i32.add + i32.const 1048680 + local.get 2 + i32.const 40 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + drop + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.tee 4 + local.get 2 + i32.load offset=32 + i32.store + local.get 2 + local.get 2 + i64.load offset=24 + i64.store offset=8 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.const 8 + i32.add + i32.load + local.tee 6 + i32.eqz + br_if 0 (;@2;) + local.get 5 + local.get 6 + i32.const 1 + call $__rust_dealloc + end + local.get 3 + local.get 2 + i64.load offset=8 + i64.store align=4 + local.get 3 + i32.const 8 + i32.add + local.get 4 + i32.load + i32.store + local.get 3 + i32.load + local.set 3 + end + local.get 1 + i32.const 1 + i32.store offset=4 + local.get 1 + i32.const 12 + i32.add + i32.load + local.set 4 + local.get 1 + i32.const 8 + i32.add + local.tee 1 + i32.load + local.set 5 + local.get 1 + i64.const 0 + i64.store align=4 + block ;; label = @1 + i32.const 12 + i32.const 4 + call $__rust_alloc + local.tee 1 + br_if 0 (;@1;) + i32.const 12 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable + end + local.get 1 + local.get 4 + i32.store offset=8 + local.get 1 + local.get 5 + i32.store offset=4 + local.get 1 + local.get 3 + i32.store + local.get 0 + i32.const 1051804 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 2 + i32.const 64 + i32.add + global.set 0) + (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h0dcd379042aba638E (type 6) (param i32 i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 2 + global.set 0 + local.get 1 + i32.const 4 + i32.add + local.set 3 + block ;; label = @1 + local.get 1 + i32.load offset=4 + br_if 0 (;@1;) + local.get 1 + i32.load + local.set 4 + local.get 2 + i32.const 0 + i32.store offset=32 + local.get 2 + i64.const 1 + i64.store offset=24 + local.get 2 + local.get 2 + i32.const 24 + i32.add + i32.store offset=36 + local.get 2 + i32.const 40 + i32.add + i32.const 16 + i32.add + local.get 4 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 40 + i32.add + i32.const 8 + i32.add + local.get 4 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 4 + i64.load align=4 + i64.store offset=40 + local.get 2 + i32.const 36 + i32.add + i32.const 1048680 + local.get 2 + i32.const 40 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + drop + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.tee 4 + local.get 2 + i32.load offset=32 + i32.store + local.get 2 + local.get 2 + i64.load offset=24 + i64.store offset=8 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 5 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 5 + local.get 1 + i32.const 1 + call $__rust_dealloc + end + local.get 3 + local.get 2 + i64.load offset=8 + i64.store align=4 + local.get 3 + i32.const 8 + i32.add + local.get 4 + i32.load + i32.store + end + local.get 0 + i32.const 1051804 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 2 + i32.const 64 + i32.add + global.set 0) + (func $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17hf6fdacb60f80e8b3E (type 6) (param i32 i32) + (local i32 i32) + local.get 1 + i32.load + local.set 2 + local.get 1 + i32.const 0 + i32.store + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.load offset=4 + local.set 3 + i32.const 8 + i32.const 4 + call $__rust_alloc + local.tee 1 + i32.eqz + br_if 1 (;@1;) + local.get 1 + local.get 3 + i32.store offset=4 + local.get 1 + local.get 2 + i32.store + local.get 0 + i32.const 1051840 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + return + end + call $_ZN3std7process5abort17hf1114be477e68b14E + unreachable + end + i32.const 8 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E + unreachable) + (func $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$3get17h3853a323bdd12366E (type 6) (param i32 i32) + block ;; label = @1 + local.get 1 + i32.load + br_if 0 (;@1;) + call $_ZN3std7process5abort17hf1114be477e68b14E + unreachable + end + local.get 0 + i32.const 1051840 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store) + (func $rust_panic (type 6) (param i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + local.get 2 + call $__rust_start_panic + i32.store offset=12 + local.get 2 + i32.const 36 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 1 + i64.store offset=20 align=4 + local.get 2 + i32.const 1052000 + i32.store offset=16 + local.get 2 + i32.const 13 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 40 + i32.add + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.store offset=40 + local.get 2 + i32.const 16 + i32.add + call $_ZN3std10sys_common4util5abort17h4ad11f4843dc8899E + unreachable) + (func $_ZN3std2rt19lang_start_internal17h671cbf6e632f7250E (type 9) (param i32 i32 i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 4 + i32.const 1 + call $__rust_alloc + local.tee 5 + i32.eqz + br_if 0 (;@4;) + local.get 4 + i64.const 4 + i64.store offset=20 align=4 + local.get 4 + local.get 5 + i32.store offset=16 + local.get 4 + i32.const 16 + i32.add + i32.const 4 + call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE + local.get 4 + i32.load offset=16 + local.get 4 + i32.load offset=24 + local.tee 5 + i32.add + i32.const 1852399981 + i32.store align=1 + local.get 4 + i32.const 8 + i32.add + local.get 5 + i32.const 4 + i32.add + i32.store + local.get 4 + local.get 4 + i64.load offset=16 + i64.store + local.get 4 + call $_ZN3std6thread6Thread3new17hcdd908459063ea43E + local.set 5 + block ;; label = @5 + block ;; label = @6 + i32.const 0 + i32.load offset=1058340 + i32.const 1 + i32.eq + br_if 0 (;@6;) + i32.const 0 + i64.const 1 + i64.store offset=1058340 align=4 + i32.const 0 + i32.const 0 + i32.store offset=1058348 + br 1 (;@5;) + end + i32.const 0 + i32.load offset=1058344 + local.tee 6 + i32.const 1 + i32.add + i32.const 0 + i32.le_s + br_if 2 (;@3;) + i32.const 0 + i32.load offset=1058348 + br_if 3 (;@2;) + local.get 6 + br_if 4 (;@1;) + end + i32.const 0 + local.get 5 + i32.store offset=1058348 + i32.const 0 + i32.const 0 + i32.store offset=1058344 + local.get 0 + local.get 1 + call $_ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h9f16e1c4d331680cE + local.set 0 + block ;; label = @5 + i32.const 0 + i32.load offset=1058288 + i32.const 3 + i32.eq + br_if 0 (;@5;) + local.get 4 + i32.const 1 + i32.store8 + local.get 4 + local.get 4 + i32.store offset=16 + i32.const 1058288 + i32.const 0 + local.get 4 + i32.const 16 + i32.add + i32.const 1050720 + call $_ZN3std4sync4once4Once10call_inner17hca77e4a078ff76abE + end + local.get 4 + i32.const 32 + i32.add + global.set 0 + local.get 0 + return + end + i32.const 4 + i32.const 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE + unreachable + end + i32.const 1048912 + i32.const 24 + local.get 4 + i32.const 16 + i32.add + i32.const 1049124 + i32.const 1048936 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable + end + i32.const 1051293 + i32.const 38 + i32.const 1051332 + call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE + unreachable + end + i32.const 1048812 + i32.const 16 + local.get 4 + i32.const 16 + i32.add + i32.const 1049140 + i32.const 1048896 + call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE + unreachable) + (func $_ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h62d3c8deb4a47d04E (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 1 + i32.const 1052008 + i32.const 8 + call $_ZN4core3fmt9Formatter11debug_tuple17hafbe9eaebee7e85bE + local.get 2 + local.get 0 + i32.store offset=12 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.const 1049284 + call $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE + drop + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.store offset=12 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.const 1052016 + call $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE + drop + local.get 2 + call $_ZN4core3fmt8builders10DebugTuple6finish17hf5054e572dd32ba2E + local.set 0 + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 0) + (func $_ZN3std3sys4wasi7process8ExitCode6as_i3217ha6343d4419ced070E (type 5) (param i32) (result i32) + local.get 0 + i32.load8_u) + (func $__rust_start_panic (type 5) (param i32) (result i32) + unreachable + unreachable) + (func $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE (type 5) (param i32) (result i32) + local.get 0 + i32.load16_u) + (func $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E (type 4) (param i32 i32 i32 i32) + (local i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 4 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 1 + local.get 2 + local.get 3 + local.get 4 + i32.const 12 + i32.add + call $_ZN4wasi13lib_generated22wasi_snapshot_preview18fd_write17hfbffe82bfc68da68E + local.tee 1 + br_if 0 (;@2;) + local.get 0 + i32.const 4 + i32.add + local.get 4 + i32.load offset=12 + i32.store + i32.const 0 + local.set 1 + br 1 (;@1;) + end + local.get 0 + local.get 1 + i32.store16 offset=2 + i32.const 1 + local.set 1 + end + local.get 0 + local.get 1 + i32.store16 + local.get 4 + i32.const 16 + i32.add + global.set 0) + (func $_ZN9backtrace5print12BacktraceFmt3new17heb00f4bb3dc7e3fcE (type 10) (param i32 i32 i32 i32 i32) + local.get 0 + local.get 2 + i32.store8 offset=16 + local.get 0 + i32.const 0 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 0 + local.get 3 + i32.store offset=8 + local.get 0 + i32.const 12 + i32.add + local.get 4 + i32.store) + (func $_ZN9backtrace5print12BacktraceFmt11add_context17hce465d38752fa7c6E (type 5) (param i32) (result i32) + i32.const 0) + (func $abort (type 0) + unreachable + unreachable) + (func $malloc (type 5) (param i32) (result i32) + local.get 0 + call $dlmalloc) + (func $dlmalloc (type 5) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 1 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + local.get 0 + i32.const 236 + i32.gt_u + br_if 0 (;@12;) + block ;; label = @13 + i32.const 0 + i32.load offset=1058364 + local.tee 2 + i32.const 16 + local.get 0 + i32.const 19 + i32.add + i32.const -16 + i32.and + local.get 0 + i32.const 11 + i32.lt_u + select + local.tee 3 + i32.const 3 + i32.shr_u + local.tee 4 + i32.shr_u + local.tee 0 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@13;) + local.get 0 + i32.const 1 + i32.and + local.get 4 + i32.or + i32.const 1 + i32.xor + local.tee 3 + i32.const 3 + i32.shl + local.tee 5 + i32.const 1058412 + i32.add + i32.load + local.tee 4 + i32.const 8 + i32.add + local.set 0 + block ;; label = @14 + block ;; label = @15 + local.get 4 + i32.load offset=8 + local.tee 6 + local.get 5 + i32.const 1058404 + i32.add + local.tee 5 + i32.ne + br_if 0 (;@15;) + i32.const 0 + local.get 2 + i32.const -2 + local.get 3 + i32.rotl + i32.and + i32.store offset=1058364 + br 1 (;@14;) + end + i32.const 0 + i32.load offset=1058380 + local.get 6 + i32.gt_u + drop + local.get 5 + local.get 6 + i32.store offset=8 + local.get 6 + local.get 5 + i32.store offset=12 + end + local.get 4 + local.get 3 + i32.const 3 + i32.shl + local.tee 6 + i32.const 3 + i32.or + i32.store offset=4 + local.get 4 + local.get 6 + i32.add + local.tee 4 + local.get 4 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + br 12 (;@1;) + end + local.get 3 + i32.const 0 + i32.load offset=1058372 + local.tee 7 + i32.le_u + br_if 1 (;@11;) + block ;; label = @13 + local.get 0 + i32.eqz + br_if 0 (;@13;) + block ;; label = @14 + block ;; label = @15 + local.get 0 + local.get 4 + i32.shl + i32.const 2 + local.get 4 + i32.shl + local.tee 0 + i32.const 0 + local.get 0 + i32.sub + i32.or + i32.and + local.tee 0 + i32.const 0 + local.get 0 + i32.sub + i32.and + i32.const -1 + i32.add + local.tee 0 + local.get 0 + i32.const 12 + i32.shr_u + i32.const 16 + i32.and + local.tee 0 + i32.shr_u + local.tee 4 + i32.const 5 + i32.shr_u + i32.const 8 + i32.and + local.tee 6 + local.get 0 + i32.or + local.get 4 + local.get 6 + i32.shr_u + local.tee 0 + i32.const 2 + i32.shr_u + i32.const 4 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + local.tee 0 + i32.const 1 + i32.shr_u + i32.const 2 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + local.tee 0 + i32.const 1 + i32.shr_u + i32.const 1 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + i32.add + local.tee 6 + i32.const 3 + i32.shl + local.tee 5 + i32.const 1058412 + i32.add + i32.load + local.tee 4 + i32.load offset=8 + local.tee 0 + local.get 5 + i32.const 1058404 + i32.add + local.tee 5 + i32.ne + br_if 0 (;@15;) + i32.const 0 + local.get 2 + i32.const -2 + local.get 6 + i32.rotl + i32.and + local.tee 2 + i32.store offset=1058364 + br 1 (;@14;) + end + i32.const 0 + i32.load offset=1058380 + local.get 0 + i32.gt_u + drop + local.get 5 + local.get 0 + i32.store offset=8 + local.get 0 + local.get 5 + i32.store offset=12 + end + local.get 4 + i32.const 8 + i32.add + local.set 0 + local.get 4 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + local.get 4 + local.get 6 + i32.const 3 + i32.shl + local.tee 6 + i32.add + local.get 6 + local.get 3 + i32.sub + local.tee 6 + i32.store + local.get 4 + local.get 3 + i32.add + local.tee 5 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 + block ;; label = @14 + local.get 7 + i32.eqz + br_if 0 (;@14;) + local.get 7 + i32.const 3 + i32.shr_u + local.tee 8 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 3 + i32.const 0 + i32.load offset=1058384 + local.set 4 + block ;; label = @15 + block ;; label = @16 + local.get 2 + i32.const 1 + local.get 8 + i32.shl + local.tee 8 + i32.and + br_if 0 (;@16;) + i32.const 0 + local.get 2 + local.get 8 + i32.or + i32.store offset=1058364 + local.get 3 + local.set 8 + br 1 (;@15;) + end + local.get 3 + i32.load offset=8 + local.set 8 + end + local.get 8 + local.get 4 + i32.store offset=12 + local.get 3 + local.get 4 + i32.store offset=8 + local.get 4 + local.get 3 + i32.store offset=12 + local.get 4 + local.get 8 + i32.store offset=8 + end + i32.const 0 + local.get 5 + i32.store offset=1058384 + i32.const 0 + local.get 6 + i32.store offset=1058372 + br 12 (;@1;) + end + i32.const 0 + i32.load offset=1058368 + local.tee 9 + i32.eqz + br_if 1 (;@11;) + local.get 9 + i32.const 0 + local.get 9 + i32.sub + i32.and + i32.const -1 + i32.add + local.tee 0 + local.get 0 + i32.const 12 + i32.shr_u + i32.const 16 + i32.and + local.tee 0 + i32.shr_u + local.tee 4 + i32.const 5 + i32.shr_u + i32.const 8 + i32.and + local.tee 6 + local.get 0 + i32.or + local.get 4 + local.get 6 + i32.shr_u + local.tee 0 + i32.const 2 + i32.shr_u + i32.const 4 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + local.tee 0 + i32.const 1 + i32.shr_u + i32.const 2 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + local.tee 0 + i32.const 1 + i32.shr_u + i32.const 1 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + i32.add + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + i32.load + local.tee 5 + i32.load offset=4 + i32.const -8 + i32.and + local.get 3 + i32.sub + local.set 4 + local.get 5 + local.set 6 + block ;; label = @13 + loop ;; label = @14 + block ;; label = @15 + local.get 6 + i32.load offset=16 + local.tee 0 + br_if 0 (;@15;) + local.get 6 + i32.const 20 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 2 (;@13;) + end + local.get 0 + i32.load offset=4 + i32.const -8 + i32.and + local.get 3 + i32.sub + local.tee 6 + local.get 4 + local.get 6 + local.get 4 + i32.lt_u + local.tee 6 + select + local.set 4 + local.get 0 + local.get 5 + local.get 6 + select + local.set 5 + local.get 0 + local.set 6 + br 0 (;@14;) + end + end + local.get 5 + i32.load offset=24 + local.set 10 + block ;; label = @13 + local.get 5 + i32.load offset=12 + local.tee 8 + local.get 5 + i32.eq + br_if 0 (;@13;) + block ;; label = @14 + i32.const 0 + i32.load offset=1058380 + local.get 5 + i32.load offset=8 + local.tee 0 + i32.gt_u + br_if 0 (;@14;) + local.get 0 + i32.load offset=12 + local.get 5 + i32.ne + drop + end + local.get 8 + local.get 0 + i32.store offset=8 + local.get 0 + local.get 8 + i32.store offset=12 + br 11 (;@2;) + end + block ;; label = @13 + local.get 5 + i32.const 20 + i32.add + local.tee 6 + i32.load + local.tee 0 + br_if 0 (;@13;) + local.get 5 + i32.load offset=16 + local.tee 0 + i32.eqz + br_if 3 (;@10;) + local.get 5 + i32.const 16 + i32.add + local.set 6 + end + loop ;; label = @13 + local.get 6 + local.set 11 + local.get 0 + local.tee 8 + i32.const 20 + i32.add + local.tee 6 + i32.load + local.tee 0 + br_if 0 (;@13;) + local.get 8 + i32.const 16 + i32.add + local.set 6 + local.get 8 + i32.load offset=16 + local.tee 0 + br_if 0 (;@13;) + end + local.get 11 + i32.const 0 + i32.store + br 10 (;@2;) + end + i32.const -1 + local.set 3 + local.get 0 + i32.const -65 + i32.gt_u + br_if 0 (;@11;) + local.get 0 + i32.const 19 + i32.add + local.tee 0 + i32.const -16 + i32.and + local.set 3 + i32.const 0 + i32.load offset=1058368 + local.tee 7 + i32.eqz + br_if 0 (;@11;) + i32.const 0 + local.set 11 + block ;; label = @12 + local.get 0 + i32.const 8 + i32.shr_u + local.tee 0 + i32.eqz + br_if 0 (;@12;) + i32.const 31 + local.set 11 + local.get 3 + i32.const 16777215 + i32.gt_u + br_if 0 (;@12;) + local.get 0 + local.get 0 + i32.const 1048320 + i32.add + i32.const 16 + i32.shr_u + i32.const 8 + i32.and + local.tee 4 + i32.shl + local.tee 0 + local.get 0 + i32.const 520192 + i32.add + i32.const 16 + i32.shr_u + i32.const 4 + i32.and + local.tee 0 + i32.shl + local.tee 6 + local.get 6 + i32.const 245760 + i32.add + i32.const 16 + i32.shr_u + i32.const 2 + i32.and + local.tee 6 + i32.shl + i32.const 15 + i32.shr_u + local.get 0 + local.get 4 + i32.or + local.get 6 + i32.or + i32.sub + local.tee 0 + i32.const 1 + i32.shl + local.get 3 + local.get 0 + i32.const 21 + i32.add + i32.shr_u + i32.const 1 + i32.and + i32.or + i32.const 28 + i32.add + local.set 11 + end + i32.const 0 + local.get 3 + i32.sub + local.set 6 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + local.get 11 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + i32.load + local.tee 4 + br_if 0 (;@15;) + i32.const 0 + local.set 0 + i32.const 0 + local.set 8 + br 1 (;@14;) + end + local.get 3 + i32.const 0 + i32.const 25 + local.get 11 + i32.const 1 + i32.shr_u + i32.sub + local.get 11 + i32.const 31 + i32.eq + select + i32.shl + local.set 5 + i32.const 0 + local.set 0 + i32.const 0 + local.set 8 + loop ;; label = @15 + block ;; label = @16 + local.get 4 + i32.load offset=4 + i32.const -8 + i32.and + local.get 3 + i32.sub + local.tee 2 + local.get 6 + i32.ge_u + br_if 0 (;@16;) + local.get 2 + local.set 6 + local.get 4 + local.set 8 + local.get 2 + br_if 0 (;@16;) + i32.const 0 + local.set 6 + local.get 4 + local.set 8 + local.get 4 + local.set 0 + br 3 (;@13;) + end + local.get 0 + local.get 4 + i32.const 20 + i32.add + i32.load + local.tee 2 + local.get 2 + local.get 4 + local.get 5 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + i32.load + local.tee 4 + i32.eq + select + local.get 0 + local.get 2 + select + local.set 0 + local.get 5 + local.get 4 + i32.const 0 + i32.ne + i32.shl + local.set 5 + local.get 4 + br_if 0 (;@15;) + end + end + block ;; label = @14 + local.get 0 + local.get 8 + i32.or + br_if 0 (;@14;) + i32.const 2 + local.get 11 + i32.shl + local.tee 0 + i32.const 0 + local.get 0 + i32.sub + i32.or + local.get 7 + i32.and + local.tee 0 + i32.eqz + br_if 3 (;@11;) + local.get 0 + i32.const 0 + local.get 0 + i32.sub + i32.and + i32.const -1 + i32.add + local.tee 0 + local.get 0 + i32.const 12 + i32.shr_u + i32.const 16 + i32.and + local.tee 0 + i32.shr_u + local.tee 4 + i32.const 5 + i32.shr_u + i32.const 8 + i32.and + local.tee 5 + local.get 0 + i32.or + local.get 4 + local.get 5 + i32.shr_u + local.tee 0 + i32.const 2 + i32.shr_u + i32.const 4 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + local.tee 0 + i32.const 1 + i32.shr_u + i32.const 2 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + local.tee 0 + i32.const 1 + i32.shr_u + i32.const 1 + i32.and + local.tee 4 + i32.or + local.get 0 + local.get 4 + i32.shr_u + i32.add + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + i32.load + local.set 0 + end + local.get 0 + i32.eqz + br_if 1 (;@12;) + end + loop ;; label = @13 + local.get 0 + i32.load offset=4 + i32.const -8 + i32.and + local.get 3 + i32.sub + local.tee 2 + local.get 6 + i32.lt_u + local.set 5 + block ;; label = @14 + local.get 0 + i32.load offset=16 + local.tee 4 + br_if 0 (;@14;) + local.get 0 + i32.const 20 + i32.add + i32.load + local.set 4 + end + local.get 2 + local.get 6 + local.get 5 + select + local.set 6 + local.get 0 + local.get 8 + local.get 5 + select + local.set 8 + local.get 4 + local.set 0 + local.get 4 + br_if 0 (;@13;) + end + end + local.get 8 + i32.eqz + br_if 0 (;@11;) + local.get 6 + i32.const 0 + i32.load offset=1058372 + local.get 3 + i32.sub + i32.ge_u + br_if 0 (;@11;) + local.get 8 + i32.load offset=24 + local.set 11 + block ;; label = @12 + local.get 8 + i32.load offset=12 + local.tee 5 + local.get 8 + i32.eq + br_if 0 (;@12;) + block ;; label = @13 + i32.const 0 + i32.load offset=1058380 + local.get 8 + i32.load offset=8 + local.tee 0 + i32.gt_u + br_if 0 (;@13;) + local.get 0 + i32.load offset=12 + local.get 8 + i32.ne + drop + end + local.get 5 + local.get 0 + i32.store offset=8 + local.get 0 + local.get 5 + i32.store offset=12 + br 9 (;@3;) + end + block ;; label = @12 + local.get 8 + i32.const 20 + i32.add + local.tee 4 + i32.load + local.tee 0 + br_if 0 (;@12;) + local.get 8 + i32.load offset=16 + local.tee 0 + i32.eqz + br_if 3 (;@9;) + local.get 8 + i32.const 16 + i32.add + local.set 4 + end + loop ;; label = @12 + local.get 4 + local.set 2 + local.get 0 + local.tee 5 + i32.const 20 + i32.add + local.tee 4 + i32.load + local.tee 0 + br_if 0 (;@12;) + local.get 5 + i32.const 16 + i32.add + local.set 4 + local.get 5 + i32.load offset=16 + local.tee 0 + br_if 0 (;@12;) + end + local.get 2 + i32.const 0 + i32.store + br 8 (;@3;) + end + block ;; label = @11 + i32.const 0 + i32.load offset=1058372 + local.tee 0 + local.get 3 + i32.lt_u + br_if 0 (;@11;) + i32.const 0 + i32.load offset=1058384 + local.set 4 + block ;; label = @12 + block ;; label = @13 + local.get 0 + local.get 3 + i32.sub + local.tee 6 + i32.const 16 + i32.lt_u + br_if 0 (;@13;) + local.get 4 + local.get 3 + i32.add + local.tee 5 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.get 6 + i32.store offset=1058372 + i32.const 0 + local.get 5 + i32.store offset=1058384 + local.get 4 + local.get 0 + i32.add + local.get 6 + i32.store + local.get 4 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + br 1 (;@12;) + end + local.get 4 + local.get 0 + i32.const 3 + i32.or + i32.store offset=4 + local.get 4 + local.get 0 + i32.add + local.tee 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + i32.const 0 + i32.store offset=1058384 + i32.const 0 + i32.const 0 + i32.store offset=1058372 + end + local.get 4 + i32.const 8 + i32.add + local.set 0 + br 10 (;@1;) + end + block ;; label = @11 + i32.const 0 + i32.load offset=1058376 + local.tee 5 + local.get 3 + i32.le_u + br_if 0 (;@11;) + i32.const 0 + i32.load offset=1058388 + local.tee 0 + local.get 3 + i32.add + local.tee 4 + local.get 5 + local.get 3 + i32.sub + local.tee 6 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.get 6 + i32.store offset=1058376 + i32.const 0 + local.get 4 + i32.store offset=1058388 + local.get 0 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.set 0 + br 10 (;@1;) + end + block ;; label = @11 + block ;; label = @12 + i32.const 0 + i32.load offset=1058836 + i32.eqz + br_if 0 (;@12;) + i32.const 0 + i32.load offset=1058844 + local.set 4 + br 1 (;@11;) + end + i32.const 0 + i64.const -1 + i64.store offset=1058848 align=4 + i32.const 0 + i64.const 281474976776192 + i64.store offset=1058840 align=4 + i32.const 0 + local.get 1 + i32.const 12 + i32.add + i32.const -16 + i32.and + i32.const 1431655768 + i32.xor + i32.store offset=1058836 + i32.const 0 + i32.const 0 + i32.store offset=1058856 + i32.const 0 + i32.const 0 + i32.store offset=1058808 + i32.const 65536 + local.set 4 + end + i32.const 0 + local.set 0 + block ;; label = @11 + local.get 4 + local.get 3 + i32.const 71 + i32.add + local.tee 7 + i32.add + local.tee 2 + i32.const 0 + local.get 4 + i32.sub + local.tee 11 + i32.and + local.tee 8 + local.get 3 + i32.gt_u + br_if 0 (;@11;) + i32.const 0 + i32.const 48 + i32.store offset=1058860 + br 10 (;@1;) + end + block ;; label = @11 + i32.const 0 + i32.load offset=1058804 + local.tee 0 + i32.eqz + br_if 0 (;@11;) + block ;; label = @12 + i32.const 0 + i32.load offset=1058796 + local.tee 4 + local.get 8 + i32.add + local.tee 6 + local.get 4 + i32.le_u + br_if 0 (;@12;) + local.get 6 + local.get 0 + i32.le_u + br_if 1 (;@11;) + end + i32.const 0 + local.set 0 + i32.const 0 + i32.const 48 + i32.store offset=1058860 + br 10 (;@1;) + end + i32.const 0 + i32.load8_u offset=1058808 + i32.const 4 + i32.and + br_if 4 (;@6;) + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + i32.const 0 + i32.load offset=1058388 + local.tee 4 + i32.eqz + br_if 0 (;@13;) + i32.const 1058812 + local.set 0 + loop ;; label = @14 + block ;; label = @15 + local.get 0 + i32.load + local.tee 6 + local.get 4 + i32.gt_u + br_if 0 (;@15;) + local.get 6 + local.get 0 + i32.load offset=4 + i32.add + local.get 4 + i32.gt_u + br_if 3 (;@12;) + end + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@14;) + end + end + i32.const 0 + call $sbrk + local.tee 5 + i32.const -1 + i32.eq + br_if 5 (;@7;) + local.get 8 + local.set 2 + block ;; label = @13 + i32.const 0 + i32.load offset=1058840 + local.tee 0 + i32.const -1 + i32.add + local.tee 4 + local.get 5 + i32.and + i32.eqz + br_if 0 (;@13;) + local.get 8 + local.get 5 + i32.sub + local.get 4 + local.get 5 + i32.add + i32.const 0 + local.get 0 + i32.sub + i32.and + i32.add + local.set 2 + end + local.get 2 + local.get 3 + i32.le_u + br_if 5 (;@7;) + local.get 2 + i32.const 2147483646 + i32.gt_u + br_if 5 (;@7;) + block ;; label = @13 + i32.const 0 + i32.load offset=1058804 + local.tee 0 + i32.eqz + br_if 0 (;@13;) + i32.const 0 + i32.load offset=1058796 + local.tee 4 + local.get 2 + i32.add + local.tee 6 + local.get 4 + i32.le_u + br_if 6 (;@7;) + local.get 6 + local.get 0 + i32.gt_u + br_if 6 (;@7;) + end + local.get 2 + call $sbrk + local.tee 0 + local.get 5 + i32.ne + br_if 1 (;@11;) + br 7 (;@5;) + end + local.get 2 + local.get 5 + i32.sub + local.get 11 + i32.and + local.tee 2 + i32.const 2147483646 + i32.gt_u + br_if 4 (;@7;) + local.get 2 + call $sbrk + local.tee 5 + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.add + i32.eq + br_if 3 (;@8;) + local.get 5 + local.set 0 + end + local.get 0 + local.set 5 + block ;; label = @11 + local.get 3 + i32.const 72 + i32.add + local.get 2 + i32.le_u + br_if 0 (;@11;) + local.get 2 + i32.const 2147483646 + i32.gt_u + br_if 0 (;@11;) + local.get 5 + i32.const -1 + i32.eq + br_if 0 (;@11;) + local.get 7 + local.get 2 + i32.sub + i32.const 0 + i32.load offset=1058844 + local.tee 0 + i32.add + i32.const 0 + local.get 0 + i32.sub + i32.and + local.tee 0 + i32.const 2147483646 + i32.gt_u + br_if 6 (;@5;) + block ;; label = @12 + local.get 0 + call $sbrk + i32.const -1 + i32.eq + br_if 0 (;@12;) + local.get 0 + local.get 2 + i32.add + local.set 2 + br 7 (;@5;) + end + i32.const 0 + local.get 2 + i32.sub + call $sbrk + drop + br 4 (;@7;) + end + local.get 5 + i32.const -1 + i32.ne + br_if 5 (;@5;) + br 3 (;@7;) + end + i32.const 0 + local.set 8 + br 7 (;@2;) + end + i32.const 0 + local.set 5 + br 5 (;@3;) + end + local.get 5 + i32.const -1 + i32.ne + br_if 2 (;@5;) + end + i32.const 0 + i32.const 0 + i32.load offset=1058808 + i32.const 4 + i32.or + i32.store offset=1058808 + end + local.get 8 + i32.const 2147483646 + i32.gt_u + br_if 1 (;@4;) + local.get 8 + call $sbrk + local.tee 5 + i32.const 0 + call $sbrk + local.tee 0 + i32.ge_u + br_if 1 (;@4;) + local.get 5 + i32.const -1 + i32.eq + br_if 1 (;@4;) + local.get 0 + i32.const -1 + i32.eq + br_if 1 (;@4;) + local.get 0 + local.get 5 + i32.sub + local.tee 2 + local.get 3 + i32.const 56 + i32.add + i32.le_u + br_if 1 (;@4;) + end + i32.const 0 + i32.const 0 + i32.load offset=1058796 + local.get 2 + i32.add + local.tee 0 + i32.store offset=1058796 + block ;; label = @5 + local.get 0 + i32.const 0 + i32.load offset=1058800 + i32.le_u + br_if 0 (;@5;) + i32.const 0 + local.get 0 + i32.store offset=1058800 + end + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + i32.const 0 + i32.load offset=1058388 + local.tee 4 + i32.eqz + br_if 0 (;@8;) + i32.const 1058812 + local.set 0 + loop ;; label = @9 + local.get 5 + local.get 0 + i32.load + local.tee 6 + local.get 0 + i32.load offset=4 + local.tee 8 + i32.add + i32.eq + br_if 2 (;@7;) + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@9;) + br 3 (;@6;) + end + end + block ;; label = @8 + block ;; label = @9 + i32.const 0 + i32.load offset=1058380 + local.tee 0 + i32.eqz + br_if 0 (;@9;) + local.get 5 + local.get 0 + i32.ge_u + br_if 1 (;@8;) + end + i32.const 0 + local.get 5 + i32.store offset=1058380 + end + i32.const 0 + local.set 0 + i32.const 0 + local.get 2 + i32.store offset=1058816 + i32.const 0 + local.get 5 + i32.store offset=1058812 + i32.const 0 + i32.const -1 + i32.store offset=1058396 + i32.const 0 + i32.const 0 + i32.load offset=1058836 + i32.store offset=1058400 + i32.const 0 + i32.const 0 + i32.store offset=1058824 + loop ;; label = @8 + local.get 0 + i32.const 1058412 + i32.add + local.get 0 + i32.const 1058404 + i32.add + local.tee 4 + i32.store + local.get 0 + i32.const 1058416 + i32.add + local.get 4 + i32.store + local.get 0 + i32.const 8 + i32.add + local.tee 0 + i32.const 256 + i32.ne + br_if 0 (;@8;) + end + local.get 5 + i32.const -8 + local.get 5 + i32.sub + i32.const 15 + i32.and + i32.const 0 + local.get 5 + i32.const 8 + i32.add + i32.const 15 + i32.and + select + local.tee 0 + i32.add + local.tee 4 + local.get 2 + i32.const -56 + i32.add + local.tee 6 + local.get 0 + i32.sub + local.tee 0 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + i32.const 0 + i32.load offset=1058852 + i32.store offset=1058392 + i32.const 0 + local.get 0 + i32.store offset=1058376 + i32.const 0 + local.get 4 + i32.store offset=1058388 + local.get 5 + local.get 6 + i32.add + i32.const 56 + i32.store offset=4 + br 2 (;@5;) + end + local.get 0 + i32.load8_u offset=12 + i32.const 8 + i32.and + br_if 0 (;@6;) + local.get 5 + local.get 4 + i32.le_u + br_if 0 (;@6;) + local.get 6 + local.get 4 + i32.gt_u + br_if 0 (;@6;) + local.get 4 + i32.const -8 + local.get 4 + i32.sub + i32.const 15 + i32.and + i32.const 0 + local.get 4 + i32.const 8 + i32.add + i32.const 15 + i32.and + select + local.tee 6 + i32.add + local.tee 5 + i32.const 0 + i32.load offset=1058376 + local.get 2 + i32.add + local.tee 11 + local.get 6 + i32.sub + local.tee 6 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + local.get 8 + local.get 2 + i32.add + i32.store offset=4 + i32.const 0 + i32.const 0 + i32.load offset=1058852 + i32.store offset=1058392 + i32.const 0 + local.get 6 + i32.store offset=1058376 + i32.const 0 + local.get 5 + i32.store offset=1058388 + local.get 4 + local.get 11 + i32.add + i32.const 56 + i32.store offset=4 + br 1 (;@5;) + end + block ;; label = @6 + local.get 5 + i32.const 0 + i32.load offset=1058380 + local.tee 8 + i32.ge_u + br_if 0 (;@6;) + i32.const 0 + local.get 5 + i32.store offset=1058380 + local.get 5 + local.set 8 + end + local.get 5 + local.get 2 + i32.add + local.set 6 + i32.const 1058812 + local.set 0 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + loop ;; label = @13 + local.get 0 + i32.load + local.get 6 + i32.eq + br_if 1 (;@12;) + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@13;) + br 2 (;@11;) + end + end + local.get 0 + i32.load8_u offset=12 + i32.const 8 + i32.and + i32.eqz + br_if 1 (;@10;) + end + i32.const 1058812 + local.set 0 + loop ;; label = @11 + block ;; label = @12 + local.get 0 + i32.load + local.tee 6 + local.get 4 + i32.gt_u + br_if 0 (;@12;) + local.get 6 + local.get 0 + i32.load offset=4 + i32.add + local.tee 6 + local.get 4 + i32.gt_u + br_if 3 (;@9;) + end + local.get 0 + i32.load offset=8 + local.set 0 + br 0 (;@11;) + end + end + local.get 0 + local.get 5 + i32.store + local.get 0 + local.get 0 + i32.load offset=4 + local.get 2 + i32.add + i32.store offset=4 + local.get 5 + i32.const -8 + local.get 5 + i32.sub + i32.const 15 + i32.and + i32.const 0 + local.get 5 + i32.const 8 + i32.add + i32.const 15 + i32.and + select + i32.add + local.tee 11 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + local.get 6 + i32.const -8 + local.get 6 + i32.sub + i32.const 15 + i32.and + i32.const 0 + local.get 6 + i32.const 8 + i32.add + i32.const 15 + i32.and + select + i32.add + local.tee 5 + local.get 11 + i32.sub + local.get 3 + i32.sub + local.set 0 + local.get 11 + local.get 3 + i32.add + local.set 6 + block ;; label = @10 + local.get 4 + local.get 5 + i32.ne + br_if 0 (;@10;) + i32.const 0 + local.get 6 + i32.store offset=1058388 + i32.const 0 + i32.const 0 + i32.load offset=1058376 + local.get 0 + i32.add + local.tee 0 + i32.store offset=1058376 + local.get 6 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + br 3 (;@7;) + end + block ;; label = @10 + i32.const 0 + i32.load offset=1058384 + local.get 5 + i32.ne + br_if 0 (;@10;) + i32.const 0 + local.get 6 + i32.store offset=1058384 + i32.const 0 + i32.const 0 + i32.load offset=1058372 + local.get 0 + i32.add + local.tee 0 + i32.store offset=1058372 + local.get 6 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + local.get 6 + local.get 0 + i32.add + local.get 0 + i32.store + br 3 (;@7;) + end + block ;; label = @10 + local.get 5 + i32.load offset=4 + local.tee 4 + i32.const 3 + i32.and + i32.const 1 + i32.ne + br_if 0 (;@10;) + local.get 4 + i32.const -8 + i32.and + local.set 7 + block ;; label = @11 + block ;; label = @12 + local.get 4 + i32.const 255 + i32.gt_u + br_if 0 (;@12;) + local.get 5 + i32.load offset=12 + local.set 3 + block ;; label = @13 + local.get 5 + i32.load offset=8 + local.tee 2 + local.get 4 + i32.const 3 + i32.shr_u + local.tee 9 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.tee 4 + i32.eq + br_if 0 (;@13;) + local.get 8 + local.get 2 + i32.gt_u + drop + end + block ;; label = @13 + local.get 3 + local.get 2 + i32.ne + br_if 0 (;@13;) + i32.const 0 + i32.const 0 + i32.load offset=1058364 + i32.const -2 + local.get 9 + i32.rotl + i32.and + i32.store offset=1058364 + br 2 (;@11;) + end + block ;; label = @13 + local.get 3 + local.get 4 + i32.eq + br_if 0 (;@13;) + local.get 8 + local.get 3 + i32.gt_u + drop + end + local.get 3 + local.get 2 + i32.store offset=8 + local.get 2 + local.get 3 + i32.store offset=12 + br 1 (;@11;) + end + local.get 5 + i32.load offset=24 + local.set 9 + block ;; label = @12 + block ;; label = @13 + local.get 5 + i32.load offset=12 + local.tee 2 + local.get 5 + i32.eq + br_if 0 (;@13;) + block ;; label = @14 + local.get 8 + local.get 5 + i32.load offset=8 + local.tee 4 + i32.gt_u + br_if 0 (;@14;) + local.get 4 + i32.load offset=12 + local.get 5 + i32.ne + drop + end + local.get 2 + local.get 4 + i32.store offset=8 + local.get 4 + local.get 2 + i32.store offset=12 + br 1 (;@12;) + end + block ;; label = @13 + local.get 5 + i32.const 20 + i32.add + local.tee 4 + i32.load + local.tee 3 + br_if 0 (;@13;) + local.get 5 + i32.const 16 + i32.add + local.tee 4 + i32.load + local.tee 3 + br_if 0 (;@13;) + i32.const 0 + local.set 2 + br 1 (;@12;) + end + loop ;; label = @13 + local.get 4 + local.set 8 + local.get 3 + local.tee 2 + i32.const 20 + i32.add + local.tee 4 + i32.load + local.tee 3 + br_if 0 (;@13;) + local.get 2 + i32.const 16 + i32.add + local.set 4 + local.get 2 + i32.load offset=16 + local.tee 3 + br_if 0 (;@13;) + end + local.get 8 + i32.const 0 + i32.store + end + local.get 9 + i32.eqz + br_if 0 (;@11;) + block ;; label = @12 + block ;; label = @13 + local.get 5 + i32.load offset=28 + local.tee 3 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 4 + i32.load + local.get 5 + i32.ne + br_if 0 (;@13;) + local.get 4 + local.get 2 + i32.store + local.get 2 + br_if 1 (;@12;) + i32.const 0 + i32.const 0 + i32.load offset=1058368 + i32.const -2 + local.get 3 + i32.rotl + i32.and + i32.store offset=1058368 + br 2 (;@11;) + end + local.get 9 + i32.const 16 + i32.const 20 + local.get 9 + i32.load offset=16 + local.get 5 + i32.eq + select + i32.add + local.get 2 + i32.store + local.get 2 + i32.eqz + br_if 1 (;@11;) + end + local.get 2 + local.get 9 + i32.store offset=24 + block ;; label = @12 + local.get 5 + i32.load offset=16 + local.tee 4 + i32.eqz + br_if 0 (;@12;) + local.get 2 + local.get 4 + i32.store offset=16 + local.get 4 + local.get 2 + i32.store offset=24 + end + local.get 5 + i32.load offset=20 + local.tee 4 + i32.eqz + br_if 0 (;@11;) + local.get 2 + i32.const 20 + i32.add + local.get 4 + i32.store + local.get 4 + local.get 2 + i32.store offset=24 + end + local.get 7 + local.get 0 + i32.add + local.set 0 + local.get 5 + local.get 7 + i32.add + local.set 5 + end + local.get 5 + local.get 5 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + local.get 6 + local.get 0 + i32.add + local.get 0 + i32.store + local.get 6 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + block ;; label = @10 + local.get 0 + i32.const 255 + i32.gt_u + br_if 0 (;@10;) + local.get 0 + i32.const 3 + i32.shr_u + local.tee 4 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 0 + block ;; label = @11 + block ;; label = @12 + i32.const 0 + i32.load offset=1058364 + local.tee 3 + i32.const 1 + local.get 4 + i32.shl + local.tee 4 + i32.and + br_if 0 (;@12;) + i32.const 0 + local.get 3 + local.get 4 + i32.or + i32.store offset=1058364 + local.get 0 + local.set 4 + br 1 (;@11;) + end + local.get 0 + i32.load offset=8 + local.set 4 + end + local.get 4 + local.get 6 + i32.store offset=12 + local.get 0 + local.get 6 + i32.store offset=8 + local.get 6 + local.get 0 + i32.store offset=12 + local.get 6 + local.get 4 + i32.store offset=8 + br 3 (;@7;) + end + i32.const 0 + local.set 4 + block ;; label = @10 + local.get 0 + i32.const 8 + i32.shr_u + local.tee 3 + i32.eqz + br_if 0 (;@10;) + i32.const 31 + local.set 4 + local.get 0 + i32.const 16777215 + i32.gt_u + br_if 0 (;@10;) + local.get 3 + local.get 3 + i32.const 1048320 + i32.add + i32.const 16 + i32.shr_u + i32.const 8 + i32.and + local.tee 4 + i32.shl + local.tee 3 + local.get 3 + i32.const 520192 + i32.add + i32.const 16 + i32.shr_u + i32.const 4 + i32.and + local.tee 3 + i32.shl + local.tee 5 + local.get 5 + i32.const 245760 + i32.add + i32.const 16 + i32.shr_u + i32.const 2 + i32.and + local.tee 5 + i32.shl + i32.const 15 + i32.shr_u + local.get 3 + local.get 4 + i32.or + local.get 5 + i32.or + i32.sub + local.tee 4 + i32.const 1 + i32.shl + local.get 0 + local.get 4 + i32.const 21 + i32.add + i32.shr_u + i32.const 1 + i32.and + i32.or + i32.const 28 + i32.add + local.set 4 + end + local.get 6 + local.get 4 + i32.store offset=28 + local.get 6 + i64.const 0 + i64.store offset=16 align=4 + local.get 4 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.set 3 + block ;; label = @10 + i32.const 0 + i32.load offset=1058368 + local.tee 5 + i32.const 1 + local.get 4 + i32.shl + local.tee 8 + i32.and + br_if 0 (;@10;) + local.get 3 + local.get 6 + i32.store + i32.const 0 + local.get 5 + local.get 8 + i32.or + i32.store offset=1058368 + local.get 6 + local.get 3 + i32.store offset=24 + local.get 6 + local.get 6 + i32.store offset=8 + local.get 6 + local.get 6 + i32.store offset=12 + br 3 (;@7;) + end + local.get 0 + i32.const 0 + i32.const 25 + local.get 4 + i32.const 1 + i32.shr_u + i32.sub + local.get 4 + i32.const 31 + i32.eq + select + i32.shl + local.set 4 + local.get 3 + i32.load + local.set 5 + loop ;; label = @10 + local.get 5 + local.tee 3 + i32.load offset=4 + i32.const -8 + i32.and + local.get 0 + i32.eq + br_if 2 (;@8;) + local.get 4 + i32.const 29 + i32.shr_u + local.set 5 + local.get 4 + i32.const 1 + i32.shl + local.set 4 + local.get 3 + local.get 5 + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee 8 + i32.load + local.tee 5 + br_if 0 (;@10;) + end + local.get 8 + local.get 6 + i32.store + local.get 6 + local.get 3 + i32.store offset=24 + local.get 6 + local.get 6 + i32.store offset=12 + local.get 6 + local.get 6 + i32.store offset=8 + br 2 (;@7;) + end + local.get 5 + i32.const -8 + local.get 5 + i32.sub + i32.const 15 + i32.and + i32.const 0 + local.get 5 + i32.const 8 + i32.add + i32.const 15 + i32.and + select + local.tee 0 + i32.add + local.tee 11 + local.get 2 + i32.const -56 + i32.add + local.tee 8 + local.get 0 + i32.sub + local.tee 0 + i32.const 1 + i32.or + i32.store offset=4 + local.get 5 + local.get 8 + i32.add + i32.const 56 + i32.store offset=4 + local.get 4 + local.get 6 + i32.const 55 + local.get 6 + i32.sub + i32.const 15 + i32.and + i32.const 0 + local.get 6 + i32.const -55 + i32.add + i32.const 15 + i32.and + select + i32.add + i32.const -63 + i32.add + local.tee 8 + local.get 8 + local.get 4 + i32.const 16 + i32.add + i32.lt_u + select + local.tee 8 + i32.const 35 + i32.store offset=4 + i32.const 0 + i32.const 0 + i32.load offset=1058852 + i32.store offset=1058392 + i32.const 0 + local.get 0 + i32.store offset=1058376 + i32.const 0 + local.get 11 + i32.store offset=1058388 + local.get 8 + i32.const 16 + i32.add + i32.const 0 + i64.load offset=1058820 align=4 + i64.store align=4 + local.get 8 + i32.const 0 + i64.load offset=1058812 align=4 + i64.store offset=8 align=4 + i32.const 0 + local.get 8 + i32.const 8 + i32.add + i32.store offset=1058820 + i32.const 0 + local.get 2 + i32.store offset=1058816 + i32.const 0 + local.get 5 + i32.store offset=1058812 + i32.const 0 + i32.const 0 + i32.store offset=1058824 + local.get 8 + i32.const 36 + i32.add + local.set 0 + loop ;; label = @9 + local.get 0 + i32.const 7 + i32.store + local.get 0 + i32.const 4 + i32.add + local.tee 0 + local.get 6 + i32.lt_u + br_if 0 (;@9;) + end + local.get 8 + local.get 4 + i32.eq + br_if 3 (;@5;) + local.get 8 + local.get 8 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + local.get 8 + local.get 8 + local.get 4 + i32.sub + local.tee 2 + i32.store + local.get 4 + local.get 2 + i32.const 1 + i32.or + i32.store offset=4 + block ;; label = @9 + local.get 2 + i32.const 255 + i32.gt_u + br_if 0 (;@9;) + local.get 2 + i32.const 3 + i32.shr_u + local.tee 6 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 0 + block ;; label = @10 + block ;; label = @11 + i32.const 0 + i32.load offset=1058364 + local.tee 5 + i32.const 1 + local.get 6 + i32.shl + local.tee 6 + i32.and + br_if 0 (;@11;) + i32.const 0 + local.get 5 + local.get 6 + i32.or + i32.store offset=1058364 + local.get 0 + local.set 6 + br 1 (;@10;) + end + local.get 0 + i32.load offset=8 + local.set 6 + end + local.get 6 + local.get 4 + i32.store offset=12 + local.get 0 + local.get 4 + i32.store offset=8 + local.get 4 + local.get 0 + i32.store offset=12 + local.get 4 + local.get 6 + i32.store offset=8 + br 4 (;@5;) + end + i32.const 0 + local.set 0 + block ;; label = @9 + local.get 2 + i32.const 8 + i32.shr_u + local.tee 6 + i32.eqz + br_if 0 (;@9;) + i32.const 31 + local.set 0 + local.get 2 + i32.const 16777215 + i32.gt_u + br_if 0 (;@9;) + local.get 6 + local.get 6 + i32.const 1048320 + i32.add + i32.const 16 + i32.shr_u + i32.const 8 + i32.and + local.tee 0 + i32.shl + local.tee 6 + local.get 6 + i32.const 520192 + i32.add + i32.const 16 + i32.shr_u + i32.const 4 + i32.and + local.tee 6 + i32.shl + local.tee 5 + local.get 5 + i32.const 245760 + i32.add + i32.const 16 + i32.shr_u + i32.const 2 + i32.and + local.tee 5 + i32.shl + i32.const 15 + i32.shr_u + local.get 6 + local.get 0 + i32.or + local.get 5 + i32.or + i32.sub + local.tee 0 + i32.const 1 + i32.shl + local.get 2 + local.get 0 + i32.const 21 + i32.add + i32.shr_u + i32.const 1 + i32.and + i32.or + i32.const 28 + i32.add + local.set 0 + end + local.get 4 + i64.const 0 + i64.store offset=16 align=4 + local.get 4 + i32.const 28 + i32.add + local.get 0 + i32.store + local.get 0 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.set 6 + block ;; label = @9 + i32.const 0 + i32.load offset=1058368 + local.tee 5 + i32.const 1 + local.get 0 + i32.shl + local.tee 8 + i32.and + br_if 0 (;@9;) + local.get 6 + local.get 4 + i32.store + i32.const 0 + local.get 5 + local.get 8 + i32.or + i32.store offset=1058368 + local.get 4 + i32.const 24 + i32.add + local.get 6 + i32.store + local.get 4 + local.get 4 + i32.store offset=8 + local.get 4 + local.get 4 + i32.store offset=12 + br 4 (;@5;) + end + local.get 2 + i32.const 0 + i32.const 25 + local.get 0 + i32.const 1 + i32.shr_u + i32.sub + local.get 0 + i32.const 31 + i32.eq + select + i32.shl + local.set 0 + local.get 6 + i32.load + local.set 5 + loop ;; label = @9 + local.get 5 + local.tee 6 + i32.load offset=4 + i32.const -8 + i32.and + local.get 2 + i32.eq + br_if 3 (;@6;) + local.get 0 + i32.const 29 + i32.shr_u + local.set 5 + local.get 0 + i32.const 1 + i32.shl + local.set 0 + local.get 6 + local.get 5 + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee 8 + i32.load + local.tee 5 + br_if 0 (;@9;) + end + local.get 8 + local.get 4 + i32.store + local.get 4 + i32.const 24 + i32.add + local.get 6 + i32.store + local.get 4 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 4 + i32.store offset=8 + br 3 (;@5;) + end + local.get 3 + i32.load offset=8 + local.set 0 + local.get 3 + local.get 6 + i32.store offset=8 + local.get 0 + local.get 6 + i32.store offset=12 + local.get 6 + i32.const 0 + i32.store offset=24 + local.get 6 + local.get 0 + i32.store offset=8 + local.get 6 + local.get 3 + i32.store offset=12 + end + local.get 11 + i32.const 8 + i32.add + local.set 0 + br 5 (;@1;) + end + local.get 6 + i32.load offset=8 + local.set 0 + local.get 6 + local.get 4 + i32.store offset=8 + local.get 0 + local.get 4 + i32.store offset=12 + local.get 4 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get 4 + local.get 0 + i32.store offset=8 + local.get 4 + local.get 6 + i32.store offset=12 + end + i32.const 0 + i32.load offset=1058376 + local.tee 0 + local.get 3 + i32.le_u + br_if 0 (;@4;) + i32.const 0 + i32.load offset=1058388 + local.tee 4 + local.get 3 + i32.add + local.tee 6 + local.get 0 + local.get 3 + i32.sub + local.tee 0 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.get 0 + i32.store offset=1058376 + i32.const 0 + local.get 6 + i32.store offset=1058388 + local.get 4 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + local.get 4 + i32.const 8 + i32.add + local.set 0 + br 3 (;@1;) + end + i32.const 0 + local.set 0 + i32.const 0 + i32.const 48 + i32.store offset=1058860 + br 2 (;@1;) + end + block ;; label = @3 + local.get 11 + i32.eqz + br_if 0 (;@3;) + block ;; label = @4 + block ;; label = @5 + local.get 8 + local.get 8 + i32.load offset=28 + local.tee 4 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 0 + i32.load + i32.ne + br_if 0 (;@5;) + local.get 0 + local.get 5 + i32.store + local.get 5 + br_if 1 (;@4;) + i32.const 0 + local.get 7 + i32.const -2 + local.get 4 + i32.rotl + i32.and + local.tee 7 + i32.store offset=1058368 + br 2 (;@3;) + end + local.get 11 + i32.const 16 + i32.const 20 + local.get 11 + i32.load offset=16 + local.get 8 + i32.eq + select + i32.add + local.get 5 + i32.store + local.get 5 + i32.eqz + br_if 1 (;@3;) + end + local.get 5 + local.get 11 + i32.store offset=24 + block ;; label = @4 + local.get 8 + i32.load offset=16 + local.tee 0 + i32.eqz + br_if 0 (;@4;) + local.get 5 + local.get 0 + i32.store offset=16 + local.get 0 + local.get 5 + i32.store offset=24 + end + local.get 8 + i32.const 20 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@3;) + local.get 5 + i32.const 20 + i32.add + local.get 0 + i32.store + local.get 0 + local.get 5 + i32.store offset=24 + end + block ;; label = @3 + block ;; label = @4 + local.get 6 + i32.const 15 + i32.gt_u + br_if 0 (;@4;) + local.get 8 + local.get 6 + local.get 3 + i32.add + local.tee 0 + i32.const 3 + i32.or + i32.store offset=4 + local.get 8 + local.get 0 + i32.add + local.tee 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + br 1 (;@3;) + end + local.get 8 + local.get 3 + i32.add + local.tee 5 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 + local.get 8 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + local.get 5 + local.get 6 + i32.add + local.get 6 + i32.store + block ;; label = @4 + local.get 6 + i32.const 255 + i32.gt_u + br_if 0 (;@4;) + local.get 6 + i32.const 3 + i32.shr_u + local.tee 4 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 0 + block ;; label = @5 + block ;; label = @6 + i32.const 0 + i32.load offset=1058364 + local.tee 6 + i32.const 1 + local.get 4 + i32.shl + local.tee 4 + i32.and + br_if 0 (;@6;) + i32.const 0 + local.get 6 + local.get 4 + i32.or + i32.store offset=1058364 + local.get 0 + local.set 4 + br 1 (;@5;) + end + local.get 0 + i32.load offset=8 + local.set 4 + end + local.get 4 + local.get 5 + i32.store offset=12 + local.get 0 + local.get 5 + i32.store offset=8 + local.get 5 + local.get 0 + i32.store offset=12 + local.get 5 + local.get 4 + i32.store offset=8 + br 1 (;@3;) + end + block ;; label = @4 + block ;; label = @5 + local.get 6 + i32.const 8 + i32.shr_u + local.tee 4 + br_if 0 (;@5;) + i32.const 0 + local.set 0 + br 1 (;@4;) + end + i32.const 31 + local.set 0 + local.get 6 + i32.const 16777215 + i32.gt_u + br_if 0 (;@4;) + local.get 4 + local.get 4 + i32.const 1048320 + i32.add + i32.const 16 + i32.shr_u + i32.const 8 + i32.and + local.tee 0 + i32.shl + local.tee 4 + local.get 4 + i32.const 520192 + i32.add + i32.const 16 + i32.shr_u + i32.const 4 + i32.and + local.tee 4 + i32.shl + local.tee 3 + local.get 3 + i32.const 245760 + i32.add + i32.const 16 + i32.shr_u + i32.const 2 + i32.and + local.tee 3 + i32.shl + i32.const 15 + i32.shr_u + local.get 4 + local.get 0 + i32.or + local.get 3 + i32.or + i32.sub + local.tee 0 + i32.const 1 + i32.shl + local.get 6 + local.get 0 + i32.const 21 + i32.add + i32.shr_u + i32.const 1 + i32.and + i32.or + i32.const 28 + i32.add + local.set 0 + end + local.get 5 + local.get 0 + i32.store offset=28 + local.get 5 + i64.const 0 + i64.store offset=16 align=4 + local.get 0 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.set 4 + block ;; label = @4 + local.get 7 + i32.const 1 + local.get 0 + i32.shl + local.tee 3 + i32.and + br_if 0 (;@4;) + local.get 4 + local.get 5 + i32.store + i32.const 0 + local.get 7 + local.get 3 + i32.or + i32.store offset=1058368 + local.get 5 + local.get 4 + i32.store offset=24 + local.get 5 + local.get 5 + i32.store offset=8 + local.get 5 + local.get 5 + i32.store offset=12 + br 1 (;@3;) + end + local.get 6 + i32.const 0 + i32.const 25 + local.get 0 + i32.const 1 + i32.shr_u + i32.sub + local.get 0 + i32.const 31 + i32.eq + select + i32.shl + local.set 0 + local.get 4 + i32.load + local.set 3 + block ;; label = @4 + loop ;; label = @5 + local.get 3 + local.tee 4 + i32.load offset=4 + i32.const -8 + i32.and + local.get 6 + i32.eq + br_if 1 (;@4;) + local.get 0 + i32.const 29 + i32.shr_u + local.set 3 + local.get 0 + i32.const 1 + i32.shl + local.set 0 + local.get 4 + local.get 3 + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee 2 + i32.load + local.tee 3 + br_if 0 (;@5;) + end + local.get 2 + local.get 5 + i32.store + local.get 5 + local.get 4 + i32.store offset=24 + local.get 5 + local.get 5 + i32.store offset=12 + local.get 5 + local.get 5 + i32.store offset=8 + br 1 (;@3;) + end + local.get 4 + i32.load offset=8 + local.set 0 + local.get 4 + local.get 5 + i32.store offset=8 + local.get 0 + local.get 5 + i32.store offset=12 + local.get 5 + i32.const 0 + i32.store offset=24 + local.get 5 + local.get 0 + i32.store offset=8 + local.get 5 + local.get 4 + i32.store offset=12 + end + local.get 8 + i32.const 8 + i32.add + local.set 0 + br 1 (;@1;) + end + block ;; label = @2 + local.get 10 + i32.eqz + br_if 0 (;@2;) + block ;; label = @3 + block ;; label = @4 + local.get 5 + local.get 5 + i32.load offset=28 + local.tee 6 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 0 + i32.load + i32.ne + br_if 0 (;@4;) + local.get 0 + local.get 8 + i32.store + local.get 8 + br_if 1 (;@3;) + i32.const 0 + local.get 9 + i32.const -2 + local.get 6 + i32.rotl + i32.and + i32.store offset=1058368 + br 2 (;@2;) + end + local.get 10 + i32.const 16 + i32.const 20 + local.get 10 + i32.load offset=16 + local.get 5 + i32.eq + select + i32.add + local.get 8 + i32.store + local.get 8 + i32.eqz + br_if 1 (;@2;) + end + local.get 8 + local.get 10 + i32.store offset=24 + block ;; label = @3 + local.get 5 + i32.load offset=16 + local.tee 0 + i32.eqz + br_if 0 (;@3;) + local.get 8 + local.get 0 + i32.store offset=16 + local.get 0 + local.get 8 + i32.store offset=24 + end + local.get 5 + i32.const 20 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@2;) + local.get 8 + i32.const 20 + i32.add + local.get 0 + i32.store + local.get 0 + local.get 8 + i32.store offset=24 + end + block ;; label = @2 + block ;; label = @3 + local.get 4 + i32.const 15 + i32.gt_u + br_if 0 (;@3;) + local.get 5 + local.get 4 + local.get 3 + i32.add + local.tee 0 + i32.const 3 + i32.or + i32.store offset=4 + local.get 5 + local.get 0 + i32.add + local.tee 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + br 1 (;@2;) + end + local.get 5 + local.get 3 + i32.add + local.tee 6 + local.get 4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 5 + local.get 3 + i32.const 3 + i32.or + i32.store offset=4 + local.get 6 + local.get 4 + i32.add + local.get 4 + i32.store + block ;; label = @3 + local.get 7 + i32.eqz + br_if 0 (;@3;) + local.get 7 + i32.const 3 + i32.shr_u + local.tee 8 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 3 + i32.const 0 + i32.load offset=1058384 + local.set 0 + block ;; label = @4 + block ;; label = @5 + i32.const 1 + local.get 8 + i32.shl + local.tee 8 + local.get 2 + i32.and + br_if 0 (;@5;) + i32.const 0 + local.get 8 + local.get 2 + i32.or + i32.store offset=1058364 + local.get 3 + local.set 8 + br 1 (;@4;) + end + local.get 3 + i32.load offset=8 + local.set 8 + end + local.get 8 + local.get 0 + i32.store offset=12 + local.get 3 + local.get 0 + i32.store offset=8 + local.get 0 + local.get 3 + i32.store offset=12 + local.get 0 + local.get 8 + i32.store offset=8 + end + i32.const 0 + local.get 6 + i32.store offset=1058384 + i32.const 0 + local.get 4 + i32.store offset=1058372 + end + local.get 5 + i32.const 8 + i32.add + local.set 0 + end + local.get 1 + i32.const 16 + i32.add + global.set 0 + local.get 0) + (func $free (type 1) (param i32) + local.get 0 + call $dlfree) + (func $dlfree (type 1) (param i32) + (local i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + local.get 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const -8 + i32.add + local.tee 1 + local.get 0 + i32.const -4 + i32.add + i32.load + local.tee 2 + i32.const -8 + i32.and + local.tee 0 + i32.add + local.set 3 + block ;; label = @2 + local.get 2 + i32.const 1 + i32.and + br_if 0 (;@2;) + local.get 2 + i32.const 3 + i32.and + i32.eqz + br_if 1 (;@1;) + local.get 1 + local.get 1 + i32.load + local.tee 2 + i32.sub + local.tee 1 + i32.const 0 + i32.load offset=1058380 + local.tee 4 + i32.lt_u + br_if 1 (;@1;) + local.get 2 + local.get 0 + i32.add + local.set 0 + block ;; label = @3 + i32.const 0 + i32.load offset=1058384 + local.get 1 + i32.eq + br_if 0 (;@3;) + block ;; label = @4 + local.get 2 + i32.const 255 + i32.gt_u + br_if 0 (;@4;) + local.get 1 + i32.load offset=12 + local.set 5 + block ;; label = @5 + local.get 1 + i32.load offset=8 + local.tee 6 + local.get 2 + i32.const 3 + i32.shr_u + local.tee 7 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.tee 2 + i32.eq + br_if 0 (;@5;) + local.get 4 + local.get 6 + i32.gt_u + drop + end + block ;; label = @5 + local.get 5 + local.get 6 + i32.ne + br_if 0 (;@5;) + i32.const 0 + i32.const 0 + i32.load offset=1058364 + i32.const -2 + local.get 7 + i32.rotl + i32.and + i32.store offset=1058364 + br 3 (;@2;) + end + block ;; label = @5 + local.get 5 + local.get 2 + i32.eq + br_if 0 (;@5;) + local.get 4 + local.get 5 + i32.gt_u + drop + end + local.get 5 + local.get 6 + i32.store offset=8 + local.get 6 + local.get 5 + i32.store offset=12 + br 2 (;@2;) + end + local.get 1 + i32.load offset=24 + local.set 7 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load offset=12 + local.tee 5 + local.get 1 + i32.eq + br_if 0 (;@5;) + block ;; label = @6 + local.get 4 + local.get 1 + i32.load offset=8 + local.tee 2 + i32.gt_u + br_if 0 (;@6;) + local.get 2 + i32.load offset=12 + local.get 1 + i32.ne + drop + end + local.get 5 + local.get 2 + i32.store offset=8 + local.get 2 + local.get 5 + i32.store offset=12 + br 1 (;@4;) + end + block ;; label = @5 + local.get 1 + i32.const 20 + i32.add + local.tee 2 + i32.load + local.tee 4 + br_if 0 (;@5;) + local.get 1 + i32.const 16 + i32.add + local.tee 2 + i32.load + local.tee 4 + br_if 0 (;@5;) + i32.const 0 + local.set 5 + br 1 (;@4;) + end + loop ;; label = @5 + local.get 2 + local.set 6 + local.get 4 + local.tee 5 + i32.const 20 + i32.add + local.tee 2 + i32.load + local.tee 4 + br_if 0 (;@5;) + local.get 5 + i32.const 16 + i32.add + local.set 2 + local.get 5 + i32.load offset=16 + local.tee 4 + br_if 0 (;@5;) + end + local.get 6 + i32.const 0 + i32.store + end + local.get 7 + i32.eqz + br_if 1 (;@2;) + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load offset=28 + local.tee 4 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 2 + i32.load + local.get 1 + i32.ne + br_if 0 (;@5;) + local.get 2 + local.get 5 + i32.store + local.get 5 + br_if 1 (;@4;) + i32.const 0 + i32.const 0 + i32.load offset=1058368 + i32.const -2 + local.get 4 + i32.rotl + i32.and + i32.store offset=1058368 + br 3 (;@2;) + end + local.get 7 + i32.const 16 + i32.const 20 + local.get 7 + i32.load offset=16 + local.get 1 + i32.eq + select + i32.add + local.get 5 + i32.store + local.get 5 + i32.eqz + br_if 2 (;@2;) + end + local.get 5 + local.get 7 + i32.store offset=24 + block ;; label = @4 + local.get 1 + i32.load offset=16 + local.tee 2 + i32.eqz + br_if 0 (;@4;) + local.get 5 + local.get 2 + i32.store offset=16 + local.get 2 + local.get 5 + i32.store offset=24 + end + local.get 1 + i32.load offset=20 + local.tee 2 + i32.eqz + br_if 1 (;@2;) + local.get 5 + i32.const 20 + i32.add + local.get 2 + i32.store + local.get 2 + local.get 5 + i32.store offset=24 + br 1 (;@2;) + end + local.get 3 + i32.load offset=4 + local.tee 2 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if 0 (;@2;) + local.get 3 + local.get 2 + i32.const -2 + i32.and + i32.store offset=4 + i32.const 0 + local.get 0 + i32.store offset=1058372 + local.get 1 + local.get 0 + i32.add + local.get 0 + i32.store + local.get 1 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + return + end + local.get 3 + local.get 1 + i32.le_u + br_if 0 (;@1;) + local.get 3 + i32.load offset=4 + local.tee 2 + i32.const 1 + i32.and + i32.eqz + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 2 + i32.and + br_if 0 (;@3;) + block ;; label = @4 + i32.const 0 + i32.load offset=1058388 + local.get 3 + i32.ne + br_if 0 (;@4;) + i32.const 0 + local.get 1 + i32.store offset=1058388 + i32.const 0 + i32.const 0 + i32.load offset=1058376 + local.get 0 + i32.add + local.tee 0 + i32.store offset=1058376 + local.get 1 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + local.get 1 + i32.const 0 + i32.load offset=1058384 + i32.ne + br_if 3 (;@1;) + i32.const 0 + i32.const 0 + i32.store offset=1058372 + i32.const 0 + i32.const 0 + i32.store offset=1058384 + return + end + block ;; label = @4 + i32.const 0 + i32.load offset=1058384 + local.get 3 + i32.ne + br_if 0 (;@4;) + i32.const 0 + local.get 1 + i32.store offset=1058384 + i32.const 0 + i32.const 0 + i32.load offset=1058372 + local.get 0 + i32.add + local.tee 0 + i32.store offset=1058372 + local.get 1 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + local.get 1 + local.get 0 + i32.add + local.get 0 + i32.store + return + end + local.get 2 + i32.const -8 + i32.and + local.get 0 + i32.add + local.set 0 + block ;; label = @4 + block ;; label = @5 + local.get 2 + i32.const 255 + i32.gt_u + br_if 0 (;@5;) + local.get 3 + i32.load offset=12 + local.set 4 + block ;; label = @6 + local.get 3 + i32.load offset=8 + local.tee 5 + local.get 2 + i32.const 3 + i32.shr_u + local.tee 3 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.tee 2 + i32.eq + br_if 0 (;@6;) + i32.const 0 + i32.load offset=1058380 + local.get 5 + i32.gt_u + drop + end + block ;; label = @6 + local.get 4 + local.get 5 + i32.ne + br_if 0 (;@6;) + i32.const 0 + i32.const 0 + i32.load offset=1058364 + i32.const -2 + local.get 3 + i32.rotl + i32.and + i32.store offset=1058364 + br 2 (;@4;) + end + block ;; label = @6 + local.get 4 + local.get 2 + i32.eq + br_if 0 (;@6;) + i32.const 0 + i32.load offset=1058380 + local.get 4 + i32.gt_u + drop + end + local.get 4 + local.get 5 + i32.store offset=8 + local.get 5 + local.get 4 + i32.store offset=12 + br 1 (;@4;) + end + local.get 3 + i32.load offset=24 + local.set 7 + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.load offset=12 + local.tee 5 + local.get 3 + i32.eq + br_if 0 (;@6;) + block ;; label = @7 + i32.const 0 + i32.load offset=1058380 + local.get 3 + i32.load offset=8 + local.tee 2 + i32.gt_u + br_if 0 (;@7;) + local.get 2 + i32.load offset=12 + local.get 3 + i32.ne + drop + end + local.get 5 + local.get 2 + i32.store offset=8 + local.get 2 + local.get 5 + i32.store offset=12 + br 1 (;@5;) + end + block ;; label = @6 + local.get 3 + i32.const 20 + i32.add + local.tee 2 + i32.load + local.tee 4 + br_if 0 (;@6;) + local.get 3 + i32.const 16 + i32.add + local.tee 2 + i32.load + local.tee 4 + br_if 0 (;@6;) + i32.const 0 + local.set 5 + br 1 (;@5;) + end + loop ;; label = @6 + local.get 2 + local.set 6 + local.get 4 + local.tee 5 + i32.const 20 + i32.add + local.tee 2 + i32.load + local.tee 4 + br_if 0 (;@6;) + local.get 5 + i32.const 16 + i32.add + local.set 2 + local.get 5 + i32.load offset=16 + local.tee 4 + br_if 0 (;@6;) + end + local.get 6 + i32.const 0 + i32.store + end + local.get 7 + i32.eqz + br_if 0 (;@4;) + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.load offset=28 + local.tee 4 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 2 + i32.load + local.get 3 + i32.ne + br_if 0 (;@6;) + local.get 2 + local.get 5 + i32.store + local.get 5 + br_if 1 (;@5;) + i32.const 0 + i32.const 0 + i32.load offset=1058368 + i32.const -2 + local.get 4 + i32.rotl + i32.and + i32.store offset=1058368 + br 2 (;@4;) + end + local.get 7 + i32.const 16 + i32.const 20 + local.get 7 + i32.load offset=16 + local.get 3 + i32.eq + select + i32.add + local.get 5 + i32.store + local.get 5 + i32.eqz + br_if 1 (;@4;) + end + local.get 5 + local.get 7 + i32.store offset=24 + block ;; label = @5 + local.get 3 + i32.load offset=16 + local.tee 2 + i32.eqz + br_if 0 (;@5;) + local.get 5 + local.get 2 + i32.store offset=16 + local.get 2 + local.get 5 + i32.store offset=24 + end + local.get 3 + i32.load offset=20 + local.tee 2 + i32.eqz + br_if 0 (;@4;) + local.get 5 + i32.const 20 + i32.add + local.get 2 + i32.store + local.get 2 + local.get 5 + i32.store offset=24 + end + local.get 1 + local.get 0 + i32.add + local.get 0 + i32.store + local.get 1 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + local.get 1 + i32.const 0 + i32.load offset=1058384 + i32.ne + br_if 1 (;@2;) + i32.const 0 + local.get 0 + i32.store offset=1058372 + return + end + local.get 3 + local.get 2 + i32.const -2 + i32.and + i32.store offset=4 + local.get 1 + local.get 0 + i32.add + local.get 0 + i32.store + local.get 1 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + end + block ;; label = @2 + local.get 0 + i32.const 255 + i32.gt_u + br_if 0 (;@2;) + local.get 0 + i32.const 3 + i32.shr_u + local.tee 2 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 0 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1058364 + local.tee 4 + i32.const 1 + local.get 2 + i32.shl + local.tee 2 + i32.and + br_if 0 (;@4;) + i32.const 0 + local.get 4 + local.get 2 + i32.or + i32.store offset=1058364 + local.get 0 + local.set 2 + br 1 (;@3;) + end + local.get 0 + i32.load offset=8 + local.set 2 + end + local.get 2 + local.get 1 + i32.store offset=12 + local.get 0 + local.get 1 + i32.store offset=8 + local.get 1 + local.get 0 + i32.store offset=12 + local.get 1 + local.get 2 + i32.store offset=8 + return + end + i32.const 0 + local.set 2 + block ;; label = @2 + local.get 0 + i32.const 8 + i32.shr_u + local.tee 4 + i32.eqz + br_if 0 (;@2;) + i32.const 31 + local.set 2 + local.get 0 + i32.const 16777215 + i32.gt_u + br_if 0 (;@2;) + local.get 4 + local.get 4 + i32.const 1048320 + i32.add + i32.const 16 + i32.shr_u + i32.const 8 + i32.and + local.tee 2 + i32.shl + local.tee 4 + local.get 4 + i32.const 520192 + i32.add + i32.const 16 + i32.shr_u + i32.const 4 + i32.and + local.tee 4 + i32.shl + local.tee 5 + local.get 5 + i32.const 245760 + i32.add + i32.const 16 + i32.shr_u + i32.const 2 + i32.and + local.tee 5 + i32.shl + i32.const 15 + i32.shr_u + local.get 4 + local.get 2 + i32.or + local.get 5 + i32.or + i32.sub + local.tee 2 + i32.const 1 + i32.shl + local.get 0 + local.get 2 + i32.const 21 + i32.add + i32.shr_u + i32.const 1 + i32.and + i32.or + i32.const 28 + i32.add + local.set 2 + end + local.get 1 + i64.const 0 + i64.store offset=16 align=4 + local.get 1 + i32.const 28 + i32.add + local.get 2 + i32.store + local.get 2 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.set 4 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + i32.load offset=1058368 + local.tee 5 + i32.const 1 + local.get 2 + i32.shl + local.tee 3 + i32.and + br_if 0 (;@3;) + local.get 4 + local.get 1 + i32.store + i32.const 0 + local.get 5 + local.get 3 + i32.or + i32.store offset=1058368 + local.get 1 + i32.const 24 + i32.add + local.get 4 + i32.store + local.get 1 + local.get 1 + i32.store offset=8 + local.get 1 + local.get 1 + i32.store offset=12 + br 1 (;@2;) + end + local.get 0 + i32.const 0 + i32.const 25 + local.get 2 + i32.const 1 + i32.shr_u + i32.sub + local.get 2 + i32.const 31 + i32.eq + select + i32.shl + local.set 2 + local.get 4 + i32.load + local.set 5 + block ;; label = @3 + loop ;; label = @4 + local.get 5 + local.tee 4 + i32.load offset=4 + i32.const -8 + i32.and + local.get 0 + i32.eq + br_if 1 (;@3;) + local.get 2 + i32.const 29 + i32.shr_u + local.set 5 + local.get 2 + i32.const 1 + i32.shl + local.set 2 + local.get 4 + local.get 5 + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@4;) + end + local.get 3 + local.get 1 + i32.store + local.get 1 + local.get 1 + i32.store offset=12 + local.get 1 + i32.const 24 + i32.add + local.get 4 + i32.store + local.get 1 + local.get 1 + i32.store offset=8 + br 1 (;@2;) + end + local.get 4 + i32.load offset=8 + local.set 0 + local.get 4 + local.get 1 + i32.store offset=8 + local.get 0 + local.get 1 + i32.store offset=12 + local.get 1 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get 1 + local.get 0 + i32.store offset=8 + local.get 1 + local.get 4 + i32.store offset=12 + end + i32.const 0 + i32.const 0 + i32.load offset=1058396 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=1058396 + local.get 1 + br_if 0 (;@1;) + i32.const 1058820 + local.set 1 + loop ;; label = @2 + local.get 1 + i32.load + local.tee 0 + i32.const 8 + i32.add + local.set 1 + local.get 0 + br_if 0 (;@2;) + end + i32.const 0 + i32.const -1 + i32.store offset=1058396 + end) + (func $calloc (type 3) (param i32 i32) (result i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 0 + local.set 2 + br 1 (;@1;) + end + local.get 1 + local.get 0 + i32.mul + local.set 2 + local.get 1 + local.get 0 + i32.or + i32.const 65536 + i32.lt_u + br_if 0 (;@1;) + local.get 2 + i32.const -1 + local.get 2 + local.get 0 + i32.div_u + local.get 1 + i32.eq + select + local.set 2 + end + block ;; label = @1 + local.get 2 + call $dlmalloc + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const -4 + i32.add + i32.load8_u + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 0 + local.get 2 + call $memset + drop + end + local.get 0) + (func $realloc (type 3) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + local.get 1 + call $dlmalloc + return + end + block ;; label = @1 + local.get 1 + i32.const -64 + i32.lt_u + br_if 0 (;@1;) + i32.const 0 + i32.const 48 + i32.store offset=1058860 + i32.const 0 + return + end + local.get 1 + i32.const 11 + i32.lt_u + local.set 2 + local.get 1 + i32.const 19 + i32.add + i32.const -16 + i32.and + local.set 3 + local.get 0 + i32.const -8 + i32.add + local.set 4 + local.get 0 + i32.const -4 + i32.add + local.tee 5 + i32.load + local.tee 6 + i32.const 3 + i32.and + local.set 7 + i32.const 0 + i32.load offset=1058380 + local.set 8 + block ;; label = @1 + local.get 6 + i32.const -8 + i32.and + local.tee 9 + i32.const 1 + i32.lt_s + br_if 0 (;@1;) + local.get 7 + i32.const 1 + i32.eq + br_if 0 (;@1;) + local.get 8 + local.get 4 + i32.gt_u + drop + end + i32.const 16 + local.get 3 + local.get 2 + select + local.set 2 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 7 + br_if 0 (;@3;) + local.get 2 + i32.const 256 + i32.lt_u + br_if 1 (;@2;) + local.get 9 + local.get 2 + i32.const 4 + i32.or + i32.lt_u + br_if 1 (;@2;) + local.get 9 + local.get 2 + i32.sub + i32.const 0 + i32.load offset=1058844 + i32.const 1 + i32.shl + i32.le_u + br_if 2 (;@1;) + br 1 (;@2;) + end + local.get 4 + local.get 9 + i32.add + local.set 7 + block ;; label = @3 + local.get 9 + local.get 2 + i32.lt_u + br_if 0 (;@3;) + local.get 9 + local.get 2 + i32.sub + local.tee 1 + i32.const 16 + i32.lt_u + br_if 2 (;@1;) + local.get 5 + local.get 2 + local.get 6 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get 4 + local.get 2 + i32.add + local.tee 2 + local.get 1 + i32.const 3 + i32.or + i32.store offset=4 + local.get 7 + local.get 7 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 2 + local.get 1 + call $dispose_chunk + local.get 0 + return + end + block ;; label = @3 + i32.const 0 + i32.load offset=1058388 + local.get 7 + i32.ne + br_if 0 (;@3;) + i32.const 0 + i32.load offset=1058376 + local.get 9 + i32.add + local.tee 9 + local.get 2 + i32.le_u + br_if 1 (;@2;) + local.get 5 + local.get 2 + local.get 6 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + i32.const 0 + local.get 4 + local.get 2 + i32.add + local.tee 1 + i32.store offset=1058388 + i32.const 0 + local.get 9 + local.get 2 + i32.sub + local.tee 2 + i32.store offset=1058376 + local.get 1 + local.get 2 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + return + end + block ;; label = @3 + i32.const 0 + i32.load offset=1058384 + local.get 7 + i32.ne + br_if 0 (;@3;) + i32.const 0 + i32.load offset=1058372 + local.get 9 + i32.add + local.tee 9 + local.get 2 + i32.lt_u + br_if 1 (;@2;) + block ;; label = @4 + block ;; label = @5 + local.get 9 + local.get 2 + i32.sub + local.tee 1 + i32.const 16 + i32.lt_u + br_if 0 (;@5;) + local.get 5 + local.get 2 + local.get 6 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get 4 + local.get 2 + i32.add + local.tee 2 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 4 + local.get 9 + i32.add + local.tee 9 + local.get 1 + i32.store + local.get 9 + local.get 9 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + br 1 (;@4;) + end + local.get 5 + local.get 6 + i32.const 1 + i32.and + local.get 9 + i32.or + i32.const 2 + i32.or + i32.store + local.get 4 + local.get 9 + i32.add + local.tee 1 + local.get 1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.set 1 + i32.const 0 + local.set 2 + end + i32.const 0 + local.get 2 + i32.store offset=1058384 + i32.const 0 + local.get 1 + i32.store offset=1058372 + local.get 0 + return + end + local.get 7 + i32.load offset=4 + local.tee 3 + i32.const 2 + i32.and + br_if 0 (;@2;) + local.get 3 + i32.const -8 + i32.and + local.get 9 + i32.add + local.tee 10 + local.get 2 + i32.lt_u + br_if 0 (;@2;) + local.get 10 + local.get 2 + i32.sub + local.set 11 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.const 255 + i32.gt_u + br_if 0 (;@4;) + local.get 7 + i32.load offset=12 + local.set 1 + block ;; label = @5 + local.get 7 + i32.load offset=8 + local.tee 9 + local.get 3 + i32.const 3 + i32.shr_u + local.tee 3 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.tee 7 + i32.eq + br_if 0 (;@5;) + local.get 8 + local.get 9 + i32.gt_u + drop + end + block ;; label = @5 + local.get 1 + local.get 9 + i32.ne + br_if 0 (;@5;) + i32.const 0 + i32.const 0 + i32.load offset=1058364 + i32.const -2 + local.get 3 + i32.rotl + i32.and + i32.store offset=1058364 + br 2 (;@3;) + end + block ;; label = @5 + local.get 1 + local.get 7 + i32.eq + br_if 0 (;@5;) + local.get 8 + local.get 1 + i32.gt_u + drop + end + local.get 1 + local.get 9 + i32.store offset=8 + local.get 9 + local.get 1 + i32.store offset=12 + br 1 (;@3;) + end + local.get 7 + i32.load offset=24 + local.set 12 + block ;; label = @4 + block ;; label = @5 + local.get 7 + i32.load offset=12 + local.tee 3 + local.get 7 + i32.eq + br_if 0 (;@5;) + block ;; label = @6 + local.get 8 + local.get 7 + i32.load offset=8 + local.tee 1 + i32.gt_u + br_if 0 (;@6;) + local.get 1 + i32.load offset=12 + local.get 7 + i32.ne + drop + end + local.get 3 + local.get 1 + i32.store offset=8 + local.get 1 + local.get 3 + i32.store offset=12 + br 1 (;@4;) + end + block ;; label = @5 + local.get 7 + i32.const 20 + i32.add + local.tee 1 + i32.load + local.tee 9 + br_if 0 (;@5;) + local.get 7 + i32.const 16 + i32.add + local.tee 1 + i32.load + local.tee 9 + br_if 0 (;@5;) + i32.const 0 + local.set 3 + br 1 (;@4;) + end + loop ;; label = @5 + local.get 1 + local.set 8 + local.get 9 + local.tee 3 + i32.const 20 + i32.add + local.tee 1 + i32.load + local.tee 9 + br_if 0 (;@5;) + local.get 3 + i32.const 16 + i32.add + local.set 1 + local.get 3 + i32.load offset=16 + local.tee 9 + br_if 0 (;@5;) + end + local.get 8 + i32.const 0 + i32.store + end + local.get 12 + i32.eqz + br_if 0 (;@3;) + block ;; label = @4 + block ;; label = @5 + local.get 7 + i32.load offset=28 + local.tee 9 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 1 + i32.load + local.get 7 + i32.ne + br_if 0 (;@5;) + local.get 1 + local.get 3 + i32.store + local.get 3 + br_if 1 (;@4;) + i32.const 0 + i32.const 0 + i32.load offset=1058368 + i32.const -2 + local.get 9 + i32.rotl + i32.and + i32.store offset=1058368 + br 2 (;@3;) + end + local.get 12 + i32.const 16 + i32.const 20 + local.get 12 + i32.load offset=16 + local.get 7 + i32.eq + select + i32.add + local.get 3 + i32.store + local.get 3 + i32.eqz + br_if 1 (;@3;) + end + local.get 3 + local.get 12 + i32.store offset=24 + block ;; label = @4 + local.get 7 + i32.load offset=16 + local.tee 1 + i32.eqz + br_if 0 (;@4;) + local.get 3 + local.get 1 + i32.store offset=16 + local.get 1 + local.get 3 + i32.store offset=24 + end + local.get 7 + i32.load offset=20 + local.tee 1 + i32.eqz + br_if 0 (;@3;) + local.get 3 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 1 + local.get 3 + i32.store offset=24 + end + block ;; label = @3 + local.get 11 + i32.const 15 + i32.gt_u + br_if 0 (;@3;) + local.get 5 + local.get 6 + i32.const 1 + i32.and + local.get 10 + i32.or + i32.const 2 + i32.or + i32.store + local.get 4 + local.get 10 + i32.add + local.tee 1 + local.get 1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + return + end + local.get 5 + local.get 2 + local.get 6 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get 4 + local.get 2 + i32.add + local.tee 1 + local.get 11 + i32.const 3 + i32.or + i32.store offset=4 + local.get 4 + local.get 10 + i32.add + local.tee 2 + local.get 2 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 1 + local.get 11 + call $dispose_chunk + local.get 0 + return + end + block ;; label = @2 + local.get 1 + call $dlmalloc + local.tee 2 + br_if 0 (;@2;) + i32.const 0 + return + end + local.get 2 + local.get 0 + local.get 5 + i32.load + local.tee 9 + i32.const -8 + i32.and + i32.const 4 + i32.const 8 + local.get 9 + i32.const 3 + i32.and + select + i32.sub + local.tee 9 + local.get 1 + local.get 9 + local.get 1 + i32.lt_u + select + call $memcpy + local.set 1 + local.get 0 + call $dlfree + local.get 1 + local.set 0 + end + local.get 0) + (func $dispose_chunk (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32) + local.get 0 + local.get 1 + i32.add + local.set 2 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 3 + i32.const 1 + i32.and + br_if 0 (;@2;) + local.get 3 + i32.const 3 + i32.and + i32.eqz + br_if 1 (;@1;) + local.get 0 + i32.load + local.tee 3 + local.get 1 + i32.add + local.set 1 + block ;; label = @3 + i32.const 0 + i32.load offset=1058384 + local.get 0 + local.get 3 + i32.sub + local.tee 0 + i32.eq + br_if 0 (;@3;) + i32.const 0 + i32.load offset=1058380 + local.set 4 + block ;; label = @4 + local.get 3 + i32.const 255 + i32.gt_u + br_if 0 (;@4;) + local.get 0 + i32.load offset=12 + local.set 5 + block ;; label = @5 + local.get 0 + i32.load offset=8 + local.tee 6 + local.get 3 + i32.const 3 + i32.shr_u + local.tee 7 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.tee 3 + i32.eq + br_if 0 (;@5;) + local.get 4 + local.get 6 + i32.gt_u + drop + end + block ;; label = @5 + local.get 5 + local.get 6 + i32.ne + br_if 0 (;@5;) + i32.const 0 + i32.const 0 + i32.load offset=1058364 + i32.const -2 + local.get 7 + i32.rotl + i32.and + i32.store offset=1058364 + br 3 (;@2;) + end + block ;; label = @5 + local.get 5 + local.get 3 + i32.eq + br_if 0 (;@5;) + local.get 4 + local.get 5 + i32.gt_u + drop + end + local.get 5 + local.get 6 + i32.store offset=8 + local.get 6 + local.get 5 + i32.store offset=12 + br 2 (;@2;) + end + local.get 0 + i32.load offset=24 + local.set 7 + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load offset=12 + local.tee 6 + local.get 0 + i32.eq + br_if 0 (;@5;) + block ;; label = @6 + local.get 4 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.gt_u + br_if 0 (;@6;) + local.get 3 + i32.load offset=12 + local.get 0 + i32.ne + drop + end + local.get 6 + local.get 3 + i32.store offset=8 + local.get 3 + local.get 6 + i32.store offset=12 + br 1 (;@4;) + end + block ;; label = @5 + local.get 0 + i32.const 20 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@5;) + local.get 0 + i32.const 16 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@5;) + i32.const 0 + local.set 6 + br 1 (;@4;) + end + loop ;; label = @5 + local.get 3 + local.set 4 + local.get 5 + local.tee 6 + i32.const 20 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@5;) + local.get 6 + i32.const 16 + i32.add + local.set 3 + local.get 6 + i32.load offset=16 + local.tee 5 + br_if 0 (;@5;) + end + local.get 4 + i32.const 0 + i32.store + end + local.get 7 + i32.eqz + br_if 1 (;@2;) + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load offset=28 + local.tee 5 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 3 + i32.load + local.get 0 + i32.ne + br_if 0 (;@5;) + local.get 3 + local.get 6 + i32.store + local.get 6 + br_if 1 (;@4;) + i32.const 0 + i32.const 0 + i32.load offset=1058368 + i32.const -2 + local.get 5 + i32.rotl + i32.and + i32.store offset=1058368 + br 3 (;@2;) + end + local.get 7 + i32.const 16 + i32.const 20 + local.get 7 + i32.load offset=16 + local.get 0 + i32.eq + select + i32.add + local.get 6 + i32.store + local.get 6 + i32.eqz + br_if 2 (;@2;) + end + local.get 6 + local.get 7 + i32.store offset=24 + block ;; label = @4 + local.get 0 + i32.load offset=16 + local.tee 3 + i32.eqz + br_if 0 (;@4;) + local.get 6 + local.get 3 + i32.store offset=16 + local.get 3 + local.get 6 + i32.store offset=24 + end + local.get 0 + i32.load offset=20 + local.tee 3 + i32.eqz + br_if 1 (;@2;) + local.get 6 + i32.const 20 + i32.add + local.get 3 + i32.store + local.get 3 + local.get 6 + i32.store offset=24 + br 1 (;@2;) + end + local.get 2 + i32.load offset=4 + local.tee 3 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if 0 (;@2;) + local.get 2 + local.get 3 + i32.const -2 + i32.and + i32.store offset=4 + i32.const 0 + local.get 1 + i32.store offset=1058372 + local.get 2 + local.get 1 + i32.store + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + return + end + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.load offset=4 + local.tee 3 + i32.const 2 + i32.and + br_if 0 (;@3;) + block ;; label = @4 + i32.const 0 + i32.load offset=1058388 + local.get 2 + i32.ne + br_if 0 (;@4;) + i32.const 0 + local.get 0 + i32.store offset=1058388 + i32.const 0 + i32.const 0 + i32.load offset=1058376 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1058376 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + i32.const 0 + i32.load offset=1058384 + i32.ne + br_if 3 (;@1;) + i32.const 0 + i32.const 0 + i32.store offset=1058372 + i32.const 0 + i32.const 0 + i32.store offset=1058384 + return + end + block ;; label = @4 + i32.const 0 + i32.load offset=1058384 + local.get 2 + i32.ne + br_if 0 (;@4;) + i32.const 0 + local.get 0 + i32.store offset=1058384 + i32.const 0 + i32.const 0 + i32.load offset=1058372 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1058372 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.get 1 + i32.store + return + end + i32.const 0 + i32.load offset=1058380 + local.set 4 + local.get 3 + i32.const -8 + i32.and + local.get 1 + i32.add + local.set 1 + block ;; label = @4 + block ;; label = @5 + local.get 3 + i32.const 255 + i32.gt_u + br_if 0 (;@5;) + local.get 2 + i32.load offset=12 + local.set 5 + block ;; label = @6 + local.get 2 + i32.load offset=8 + local.tee 6 + local.get 3 + i32.const 3 + i32.shr_u + local.tee 2 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.tee 3 + i32.eq + br_if 0 (;@6;) + local.get 4 + local.get 6 + i32.gt_u + drop + end + block ;; label = @6 + local.get 5 + local.get 6 + i32.ne + br_if 0 (;@6;) + i32.const 0 + i32.const 0 + i32.load offset=1058364 + i32.const -2 + local.get 2 + i32.rotl + i32.and + i32.store offset=1058364 + br 2 (;@4;) + end + block ;; label = @6 + local.get 5 + local.get 3 + i32.eq + br_if 0 (;@6;) + local.get 4 + local.get 5 + i32.gt_u + drop + end + local.get 5 + local.get 6 + i32.store offset=8 + local.get 6 + local.get 5 + i32.store offset=12 + br 1 (;@4;) + end + local.get 2 + i32.load offset=24 + local.set 7 + block ;; label = @5 + block ;; label = @6 + local.get 2 + i32.load offset=12 + local.tee 6 + local.get 2 + i32.eq + br_if 0 (;@6;) + block ;; label = @7 + local.get 4 + local.get 2 + i32.load offset=8 + local.tee 3 + i32.gt_u + br_if 0 (;@7;) + local.get 3 + i32.load offset=12 + local.get 2 + i32.ne + drop + end + local.get 6 + local.get 3 + i32.store offset=8 + local.get 3 + local.get 6 + i32.store offset=12 + br 1 (;@5;) + end + block ;; label = @6 + local.get 2 + i32.const 20 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@6;) + local.get 2 + i32.const 16 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@6;) + i32.const 0 + local.set 6 + br 1 (;@5;) + end + loop ;; label = @6 + local.get 3 + local.set 4 + local.get 5 + local.tee 6 + i32.const 20 + i32.add + local.tee 3 + i32.load + local.tee 5 + br_if 0 (;@6;) + local.get 6 + i32.const 16 + i32.add + local.set 3 + local.get 6 + i32.load offset=16 + local.tee 5 + br_if 0 (;@6;) + end + local.get 4 + i32.const 0 + i32.store + end + local.get 7 + i32.eqz + br_if 0 (;@4;) + block ;; label = @5 + block ;; label = @6 + local.get 2 + i32.load offset=28 + local.tee 5 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.tee 3 + i32.load + local.get 2 + i32.ne + br_if 0 (;@6;) + local.get 3 + local.get 6 + i32.store + local.get 6 + br_if 1 (;@5;) + i32.const 0 + i32.const 0 + i32.load offset=1058368 + i32.const -2 + local.get 5 + i32.rotl + i32.and + i32.store offset=1058368 + br 2 (;@4;) + end + local.get 7 + i32.const 16 + i32.const 20 + local.get 7 + i32.load offset=16 + local.get 2 + i32.eq + select + i32.add + local.get 6 + i32.store + local.get 6 + i32.eqz + br_if 1 (;@4;) + end + local.get 6 + local.get 7 + i32.store offset=24 + block ;; label = @5 + local.get 2 + i32.load offset=16 + local.tee 3 + i32.eqz + br_if 0 (;@5;) + local.get 6 + local.get 3 + i32.store offset=16 + local.get 3 + local.get 6 + i32.store offset=24 + end + local.get 2 + i32.load offset=20 + local.tee 3 + i32.eqz + br_if 0 (;@4;) + local.get 6 + i32.const 20 + i32.add + local.get 3 + i32.store + local.get 3 + local.get 6 + i32.store offset=24 + end + local.get 0 + local.get 1 + i32.add + local.get 1 + i32.store + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + i32.const 0 + i32.load offset=1058384 + i32.ne + br_if 1 (;@2;) + i32.const 0 + local.get 1 + i32.store offset=1058372 + return + end + local.get 2 + local.get 3 + i32.const -2 + i32.and + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.get 1 + i32.store + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + end + block ;; label = @2 + local.get 1 + i32.const 255 + i32.gt_u + br_if 0 (;@2;) + local.get 1 + i32.const 3 + i32.shr_u + local.tee 3 + i32.const 3 + i32.shl + i32.const 1058404 + i32.add + local.set 1 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1058364 + local.tee 5 + i32.const 1 + local.get 3 + i32.shl + local.tee 3 + i32.and + br_if 0 (;@4;) + i32.const 0 + local.get 5 + local.get 3 + i32.or + i32.store offset=1058364 + local.get 1 + local.set 3 + br 1 (;@3;) + end + local.get 1 + i32.load offset=8 + local.set 3 + end + local.get 3 + local.get 0 + i32.store offset=12 + local.get 1 + local.get 0 + i32.store offset=8 + local.get 0 + local.get 1 + i32.store offset=12 + local.get 0 + local.get 3 + i32.store offset=8 + return + end + i32.const 0 + local.set 3 + block ;; label = @2 + local.get 1 + i32.const 8 + i32.shr_u + local.tee 5 + i32.eqz + br_if 0 (;@2;) + i32.const 31 + local.set 3 + local.get 1 + i32.const 16777215 + i32.gt_u + br_if 0 (;@2;) + local.get 5 + local.get 5 + i32.const 1048320 + i32.add + i32.const 16 + i32.shr_u + i32.const 8 + i32.and + local.tee 3 + i32.shl + local.tee 5 + local.get 5 + i32.const 520192 + i32.add + i32.const 16 + i32.shr_u + i32.const 4 + i32.and + local.tee 5 + i32.shl + local.tee 6 + local.get 6 + i32.const 245760 + i32.add + i32.const 16 + i32.shr_u + i32.const 2 + i32.and + local.tee 6 + i32.shl + i32.const 15 + i32.shr_u + local.get 5 + local.get 3 + i32.or + local.get 6 + i32.or + i32.sub + local.tee 3 + i32.const 1 + i32.shl + local.get 1 + local.get 3 + i32.const 21 + i32.add + i32.shr_u + i32.const 1 + i32.and + i32.or + i32.const 28 + i32.add + local.set 3 + end + local.get 0 + i64.const 0 + i64.store offset=16 align=4 + local.get 0 + i32.const 28 + i32.add + local.get 3 + i32.store + local.get 3 + i32.const 2 + i32.shl + i32.const 1058668 + i32.add + local.set 5 + block ;; label = @2 + i32.const 0 + i32.load offset=1058368 + local.tee 6 + i32.const 1 + local.get 3 + i32.shl + local.tee 2 + i32.and + br_if 0 (;@2;) + local.get 5 + local.get 0 + i32.store + i32.const 0 + local.get 6 + local.get 2 + i32.or + i32.store offset=1058368 + local.get 0 + i32.const 24 + i32.add + local.get 5 + i32.store + local.get 0 + local.get 0 + i32.store offset=8 + local.get 0 + local.get 0 + i32.store offset=12 + return + end + local.get 1 + i32.const 0 + i32.const 25 + local.get 3 + i32.const 1 + i32.shr_u + i32.sub + local.get 3 + i32.const 31 + i32.eq + select + i32.shl + local.set 3 + local.get 5 + i32.load + local.set 6 + block ;; label = @2 + loop ;; label = @3 + local.get 6 + local.tee 5 + i32.load offset=4 + i32.const -8 + i32.and + local.get 1 + i32.eq + br_if 1 (;@2;) + local.get 3 + i32.const 29 + i32.shr_u + local.set 6 + local.get 3 + i32.const 1 + i32.shl + local.set 3 + local.get 5 + local.get 6 + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee 2 + i32.load + local.tee 6 + br_if 0 (;@3;) + end + local.get 2 + local.get 0 + i32.store + local.get 0 + i32.const 24 + i32.add + local.get 5 + i32.store + local.get 0 + local.get 0 + i32.store offset=12 + local.get 0 + local.get 0 + i32.store offset=8 + return + end + local.get 5 + i32.load offset=8 + local.set 1 + local.get 5 + local.get 0 + i32.store offset=8 + local.get 1 + local.get 0 + i32.store offset=12 + local.get 0 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get 0 + local.get 1 + i32.store offset=8 + local.get 0 + local.get 5 + i32.store offset=12 + end) + (func $internal_memalign (type 3) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 16 + local.get 0 + i32.const 16 + i32.gt_u + select + local.tee 2 + local.get 2 + i32.const -1 + i32.add + i32.and + br_if 0 (;@2;) + local.get 2 + local.set 0 + br 1 (;@1;) + end + i32.const 32 + local.set 3 + loop ;; label = @2 + local.get 3 + local.tee 0 + i32.const 1 + i32.shl + local.set 3 + local.get 0 + local.get 2 + i32.lt_u + br_if 0 (;@2;) + end + end + block ;; label = @1 + i32.const -64 + local.get 0 + i32.sub + local.get 1 + i32.gt_u + br_if 0 (;@1;) + i32.const 0 + i32.const 48 + i32.store offset=1058860 + i32.const 0 + return + end + block ;; label = @1 + i32.const 16 + local.get 1 + i32.const 19 + i32.add + i32.const -16 + i32.and + local.get 1 + i32.const 11 + i32.lt_u + select + local.tee 1 + i32.const 12 + i32.or + local.get 0 + i32.add + call $dlmalloc + local.tee 3 + br_if 0 (;@1;) + i32.const 0 + return + end + local.get 3 + i32.const -8 + i32.add + local.set 2 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const -1 + i32.add + local.get 3 + i32.and + br_if 0 (;@2;) + local.get 2 + local.set 0 + br 1 (;@1;) + end + local.get 3 + i32.const -4 + i32.add + local.tee 4 + i32.load + local.tee 5 + i32.const -8 + i32.and + local.get 3 + local.get 0 + i32.add + i32.const -1 + i32.add + i32.const 0 + local.get 0 + i32.sub + i32.and + i32.const -8 + i32.add + local.tee 3 + local.get 3 + local.get 0 + i32.add + local.get 3 + local.get 2 + i32.sub + i32.const 15 + i32.gt_u + select + local.tee 0 + local.get 2 + i32.sub + local.tee 3 + i32.sub + local.set 6 + block ;; label = @2 + local.get 5 + i32.const 3 + i32.and + br_if 0 (;@2;) + local.get 0 + local.get 6 + i32.store offset=4 + local.get 0 + local.get 2 + i32.load + local.get 3 + i32.add + i32.store + br 1 (;@1;) + end + local.get 0 + local.get 6 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store offset=4 + local.get 0 + local.get 6 + i32.add + local.tee 6 + local.get 6 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 4 + local.get 3 + local.get 4 + i32.load + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 2 + local.get 3 + call $dispose_chunk + end + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 3 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@1;) + local.get 3 + i32.const -8 + i32.and + local.tee 2 + local.get 1 + i32.const 16 + i32.add + i32.le_u + br_if 0 (;@1;) + local.get 0 + local.get 1 + local.get 3 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.tee 3 + local.get 2 + local.get 1 + i32.sub + local.tee 1 + i32.const 3 + i32.or + i32.store offset=4 + local.get 0 + local.get 2 + i32.add + local.tee 2 + local.get 2 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get 3 + local.get 1 + call $dispose_chunk + end + local.get 0 + i32.const 8 + i32.add) + (func $aligned_alloc (type 3) (param i32 i32) (result i32) + block ;; label = @1 + local.get 0 + i32.const 16 + i32.gt_u + br_if 0 (;@1;) + local.get 1 + call $dlmalloc + return + end + local.get 0 + local.get 1 + call $internal_memalign) + (func $_Exit (type 1) (param i32) + local.get 0 + call $__wasi_proc_exit + unreachable) + (func $__wasilibc_populate_libpreopen (type 0) + (local i32 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 0 + global.set 0 + i32.const 3 + local.set 1 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + local.get 0 + i32.const 8 + i32.add + call $__wasi_fd_prestat_get + local.tee 2 + i32.const 8 + i32.gt_u + br_if 1 (;@3;) + block ;; label = @5 + block ;; label = @6 + local.get 2 + br_table 0 (;@6;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 1 (;@5;) 0 (;@6;) + end + block ;; label = @6 + local.get 0 + i32.load8_u offset=8 + br_if 0 (;@6;) + local.get 0 + i32.load offset=12 + local.tee 2 + i32.const 1 + i32.add + call $malloc + local.tee 3 + i32.eqz + br_if 4 (;@2;) + local.get 1 + local.get 3 + local.get 2 + call $__wasi_fd_prestat_dir_name + br_if 3 (;@3;) + local.get 3 + local.get 0 + i32.load offset=12 + i32.add + i32.const 0 + i32.store8 + local.get 1 + i32.const -1 + i32.le_s + br_if 5 (;@1;) + block ;; label = @7 + block ;; label = @8 + i32.const 0 + i32.load offset=1058872 + local.tee 2 + i32.const 0 + i32.load offset=1058868 + i32.eq + br_if 0 (;@8;) + i32.const 0 + i32.load offset=1058864 + local.set 4 + br 1 (;@7;) + end + i32.const 8 + local.get 2 + i32.const 1 + i32.shl + i32.const 4 + local.get 2 + select + local.tee 5 + call $calloc + local.tee 4 + i32.eqz + br_if 5 (;@2;) + local.get 4 + i32.const 0 + i32.load offset=1058864 + local.tee 6 + local.get 2 + i32.const 3 + i32.shl + call $memcpy + local.set 2 + local.get 6 + call $free + i32.const 0 + local.get 5 + i32.store offset=1058868 + i32.const 0 + local.get 2 + i32.store offset=1058864 + i32.const 0 + i32.load offset=1058872 + local.set 2 + end + i32.const 0 + local.get 2 + i32.const 1 + i32.add + i32.store offset=1058872 + local.get 4 + local.get 2 + i32.const 3 + i32.shl + i32.add + local.tee 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 3 + i32.store + end + local.get 1 + i32.const 1 + i32.add + local.tee 2 + local.get 1 + i32.ge_u + local.set 3 + local.get 2 + local.set 1 + local.get 3 + br_if 1 (;@4;) + end + end + local.get 0 + i32.const 16 + i32.add + global.set 0 + return + end + i32.const 71 + call $_Exit + unreachable + end + i32.const 70 + call $_Exit + unreachable + end + call $abort + unreachable) + (func $sbrk (type 5) (param i32) (result i32) + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + memory.size + i32.const 16 + i32.shl + return + end + block ;; label = @1 + local.get 0 + i32.const 65535 + i32.and + br_if 0 (;@1;) + local.get 0 + i32.const -1 + i32.le_s + br_if 0 (;@1;) + block ;; label = @2 + local.get 0 + i32.const 16 + i32.shr_u + memory.grow + local.tee 0 + i32.const -1 + i32.ne + br_if 0 (;@2;) + i32.const 0 + i32.const 48 + i32.store offset=1058860 + i32.const -1 + return + end + local.get 0 + i32.const 16 + i32.shl + return + end + call $abort + unreachable) + (func $__wasilibc_ensure_environ (type 0) + block ;; label = @1 + i32.const 0 + i32.load offset=1058880 + i32.const -1 + i32.ne + br_if 0 (;@1;) + call $__wasilibc_initialize_environ + end) + (func $__wasilibc_initialize_environ (type 0) + (local i32 i32 i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 0 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 12 + i32.add + local.get 0 + i32.const 8 + i32.add + call $__wasi_environ_sizes_get + br_if 0 (;@3;) + block ;; label = @4 + local.get 0 + i32.load offset=12 + local.tee 1 + br_if 0 (;@4;) + i32.const 0 + i32.const 1058876 + i32.store offset=1058880 + br 3 (;@1;) + end + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.const 1 + i32.add + local.tee 2 + local.get 1 + i32.lt_u + br_if 0 (;@5;) + local.get 0 + i32.load offset=8 + call $malloc + local.tee 3 + i32.eqz + br_if 0 (;@5;) + local.get 2 + i32.const 4 + call $calloc + local.tee 1 + br_if 1 (;@4;) + local.get 3 + call $free + end + i32.const 70 + call $_Exit + unreachable + end + local.get 1 + local.get 3 + call $__wasi_environ_get + i32.eqz + br_if 1 (;@2;) + local.get 3 + call $free + local.get 1 + call $free + end + i32.const 71 + call $_Exit + unreachable + end + i32.const 0 + local.get 1 + i32.store offset=1058880 + end + local.get 0 + i32.const 16 + i32.add + global.set 0) + (func $__wasilibc_initialize_environ_eagerly (type 0) + call $__wasilibc_initialize_environ) + (func $dummy (type 0)) + (func $__prepare_for_exit (type 0) + call $dummy + call $dummy) + (func $getenv (type 5) (param i32) (result i32) + (local i32 i32 i32 i32) + call $__wasilibc_ensure_environ + i32.const 0 + local.set 1 + block ;; label = @1 + local.get 0 + i32.const 61 + call $__strchrnul + local.tee 2 + local.get 0 + i32.sub + local.tee 3 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.load8_u + br_if 0 (;@1;) + i32.const 0 + i32.load offset=1058880 + local.tee 4 + i32.eqz + br_if 0 (;@1;) + local.get 4 + i32.load + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 4 + i32.const 4 + i32.add + local.set 4 + block ;; label = @2 + loop ;; label = @3 + block ;; label = @4 + local.get 0 + local.get 2 + local.get 3 + call $strncmp + br_if 0 (;@4;) + local.get 2 + local.get 3 + i32.add + local.tee 2 + i32.load8_u + i32.const 61 + i32.eq + br_if 2 (;@2;) + end + local.get 4 + i32.load + local.set 2 + local.get 4 + i32.const 4 + i32.add + local.set 4 + local.get 2 + br_if 0 (;@3;) + br 2 (;@1;) + end + end + local.get 2 + i32.const 1 + i32.add + local.set 1 + end + local.get 1) + (func $memmove (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32) + block ;; label = @1 + local.get 0 + local.get 1 + i32.eq + br_if 0 (;@1;) + block ;; label = @2 + local.get 1 + local.get 0 + i32.sub + local.get 2 + i32.sub + i32.const 0 + local.get 2 + i32.const 1 + i32.shl + i32.sub + i32.gt_u + br_if 0 (;@2;) + local.get 0 + local.get 1 + local.get 2 + call $memcpy + drop + br 1 (;@1;) + end + local.get 1 + local.get 0 + i32.xor + i32.const 3 + i32.and + local.set 3 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + local.get 1 + i32.ge_u + br_if 0 (;@4;) + block ;; label = @5 + local.get 3 + i32.eqz + br_if 0 (;@5;) + local.get 0 + local.set 3 + br 3 (;@2;) + end + block ;; label = @5 + local.get 0 + i32.const 3 + i32.and + br_if 0 (;@5;) + local.get 0 + local.set 3 + br 2 (;@3;) + end + local.get 0 + local.set 3 + loop ;; label = @5 + local.get 2 + i32.eqz + br_if 4 (;@1;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 2 + i32.const -1 + i32.add + local.set 2 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + i32.const 3 + i32.and + i32.eqz + br_if 2 (;@3;) + br 0 (;@5;) + end + end + block ;; label = @4 + block ;; label = @5 + local.get 3 + i32.eqz + br_if 0 (;@5;) + local.get 2 + local.set 3 + br 1 (;@4;) + end + block ;; label = @5 + block ;; label = @6 + local.get 0 + local.get 2 + i32.add + i32.const 3 + i32.and + br_if 0 (;@6;) + local.get 2 + local.set 3 + br 1 (;@5;) + end + local.get 1 + i32.const -1 + i32.add + local.set 4 + local.get 0 + i32.const -1 + i32.add + local.set 5 + loop ;; label = @6 + local.get 2 + i32.eqz + br_if 5 (;@1;) + local.get 5 + local.get 2 + i32.add + local.tee 6 + local.get 4 + local.get 2 + i32.add + i32.load8_u + i32.store8 + local.get 2 + i32.const -1 + i32.add + local.tee 3 + local.set 2 + local.get 6 + i32.const 3 + i32.and + br_if 0 (;@6;) + end + end + local.get 3 + i32.const 4 + i32.lt_u + br_if 0 (;@4;) + local.get 0 + i32.const -4 + i32.add + local.set 2 + local.get 1 + i32.const -4 + i32.add + local.set 6 + loop ;; label = @5 + local.get 2 + local.get 3 + i32.add + local.get 6 + local.get 3 + i32.add + i32.load + i32.store + local.get 3 + i32.const -4 + i32.add + local.tee 3 + i32.const 3 + i32.gt_u + br_if 0 (;@5;) + end + end + local.get 3 + i32.eqz + br_if 2 (;@1;) + local.get 1 + i32.const -1 + i32.add + local.set 1 + local.get 0 + i32.const -1 + i32.add + local.set 2 + loop ;; label = @4 + local.get 2 + local.get 3 + i32.add + local.get 1 + local.get 3 + i32.add + i32.load8_u + i32.store8 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + br_if 0 (;@4;) + br 3 (;@1;) + end + end + local.get 2 + i32.const 4 + i32.lt_u + br_if 0 (;@2;) + local.get 2 + local.set 6 + loop ;; label = @3 + local.get 3 + local.get 1 + i32.load + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 6 + i32.const -4 + i32.add + local.tee 6 + i32.const 3 + i32.gt_u + br_if 0 (;@3;) + end + local.get 2 + i32.const 3 + i32.and + local.set 2 + end + local.get 2 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 2 + i32.const -1 + i32.add + local.tee 2 + br_if 0 (;@2;) + end + end + local.get 0) + (func $strerror (type 5) (param i32) (result i32) + (local i32 i32 i32 i32) + i32.const 0 + local.set 1 + block ;; label = @1 + i32.const 0 + i32.load offset=1058908 + local.tee 2 + br_if 0 (;@1;) + i32.const 1058884 + local.set 2 + i32.const 0 + i32.const 1058884 + i32.store offset=1058908 + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + i32.const 1052432 + i32.add + i32.load8_u + local.get 0 + i32.eq + br_if 1 (;@3;) + i32.const 77 + local.set 3 + local.get 1 + i32.const 1 + i32.add + local.tee 1 + i32.const 77 + i32.ne + br_if 0 (;@4;) + br 2 (;@2;) + end + end + local.get 1 + local.set 3 + local.get 1 + br_if 0 (;@2;) + i32.const 1052512 + local.set 4 + br 1 (;@1;) + end + i32.const 1052512 + local.set 1 + loop ;; label = @2 + local.get 1 + i32.load8_u + local.set 0 + local.get 1 + i32.const 1 + i32.add + local.tee 4 + local.set 1 + local.get 0 + br_if 0 (;@2;) + local.get 4 + local.set 1 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + br_if 0 (;@2;) + end + end + local.get 4 + local.get 2 + i32.load offset=20 + call $__lctrans) + (func $strerror_r (type 8) (param i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + call $strerror + local.tee 0 + call $strlen + local.tee 3 + local.get 2 + i32.lt_u + br_if 0 (;@2;) + i32.const 68 + local.set 3 + local.get 2 + i32.eqz + br_if 1 (;@1;) + local.get 1 + local.get 0 + local.get 2 + i32.const -1 + i32.add + local.tee 2 + call $memcpy + local.get 2 + i32.add + i32.const 0 + i32.store8 + i32.const 68 + return + end + local.get 1 + local.get 0 + local.get 3 + i32.const 1 + i32.add + call $memcpy + drop + i32.const 0 + local.set 3 + end + local.get 3) + (func $__strchrnul (type 3) (param i32 i32) (result i32) + (local i32 i32) + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + local.tee 2 + i32.eqz + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@3;) + loop ;; label = @4 + local.get 0 + i32.load8_u + local.tee 3 + i32.eqz + br_if 2 (;@2;) + local.get 3 + local.get 1 + i32.const 255 + i32.and + i32.eq + br_if 2 (;@2;) + local.get 0 + i32.const 1 + i32.add + local.tee 0 + i32.const 3 + i32.and + br_if 0 (;@4;) + end + end + block ;; label = @3 + local.get 0 + i32.load + local.tee 3 + i32.const -1 + i32.xor + local.get 3 + i32.const -16843009 + i32.add + i32.and + i32.const -2139062144 + i32.and + br_if 0 (;@3;) + local.get 2 + i32.const 16843009 + i32.mul + local.set 2 + loop ;; label = @4 + local.get 3 + local.get 2 + i32.xor + local.tee 3 + i32.const -1 + i32.xor + local.get 3 + i32.const -16843009 + i32.add + i32.and + i32.const -2139062144 + i32.and + br_if 1 (;@3;) + local.get 0 + i32.load offset=4 + local.set 3 + local.get 0 + i32.const 4 + i32.add + local.set 0 + local.get 3 + i32.const -1 + i32.xor + local.get 3 + i32.const -16843009 + i32.add + i32.and + i32.const -2139062144 + i32.and + i32.eqz + br_if 0 (;@4;) + end + end + local.get 0 + i32.const -1 + i32.add + local.set 0 + loop ;; label = @3 + local.get 0 + i32.const 1 + i32.add + local.tee 0 + i32.load8_u + local.tee 3 + i32.eqz + br_if 1 (;@2;) + local.get 3 + local.get 1 + i32.const 255 + i32.and + i32.ne + br_if 0 (;@3;) + end + end + local.get 0 + return + end + local.get 0 + local.get 0 + call $strlen + i32.add) + (func $memcpy (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.set 3 + loop ;; label = @3 + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 2 + i32.const -1 + i32.add + local.set 4 + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 2 + i32.const 1 + i32.eq + br_if 2 (;@1;) + local.get 4 + local.set 2 + local.get 1 + i32.const 3 + i32.and + br_if 0 (;@3;) + br 2 (;@1;) + end + end + local.get 2 + local.set 4 + local.get 0 + local.set 3 + end + block ;; label = @1 + block ;; label = @2 + local.get 3 + i32.const 3 + i32.and + local.tee 2 + br_if 0 (;@2;) + block ;; label = @3 + block ;; label = @4 + local.get 4 + i32.const 16 + i32.ge_u + br_if 0 (;@4;) + local.get 4 + local.set 2 + br 1 (;@3;) + end + local.get 4 + i32.const -16 + i32.add + local.set 2 + loop ;; label = @4 + local.get 3 + local.get 1 + i32.load + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 1 + i32.const 4 + i32.add + i32.load + i32.store + local.get 3 + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store + local.get 3 + i32.const 12 + i32.add + local.get 1 + i32.const 12 + i32.add + i32.load + i32.store + local.get 3 + i32.const 16 + i32.add + local.set 3 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 4 + i32.const -16 + i32.add + local.tee 4 + i32.const 15 + i32.gt_u + br_if 0 (;@4;) + end + end + block ;; label = @3 + local.get 2 + i32.const 8 + i32.and + i32.eqz + br_if 0 (;@3;) + local.get 3 + local.get 1 + i64.load align=4 + i64.store align=4 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 3 + i32.const 8 + i32.add + local.set 3 + end + block ;; label = @3 + local.get 2 + i32.const 4 + i32.and + i32.eqz + br_if 0 (;@3;) + local.get 3 + local.get 1 + i32.load + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 3 + i32.const 4 + i32.add + local.set 3 + end + block ;; label = @3 + local.get 2 + i32.const 2 + i32.and + i32.eqz + br_if 0 (;@3;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 3 + local.get 1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get 3 + i32.const 2 + i32.add + local.set 3 + local.get 1 + i32.const 2 + i32.add + local.set 1 + end + local.get 2 + i32.const 1 + i32.and + i32.eqz + br_if 1 (;@1;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 0 + return + end + block ;; label = @2 + local.get 4 + i32.const 32 + i32.lt_u + br_if 0 (;@2;) + local.get 2 + i32.const -1 + i32.add + local.tee 2 + i32.const 2 + i32.gt_u + br_if 0 (;@2;) + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 2 + br_table 0 (;@5;) 1 (;@4;) 2 (;@3;) 0 (;@5;) + end + local.get 3 + local.get 1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get 3 + local.get 1 + i32.load + local.tee 5 + i32.store8 + local.get 3 + local.get 1 + i32.load8_u offset=2 + i32.store8 offset=2 + local.get 4 + i32.const -3 + i32.add + local.set 6 + local.get 3 + i32.const 3 + i32.add + local.set 7 + local.get 4 + i32.const -20 + i32.add + i32.const -16 + i32.and + local.set 8 + i32.const 0 + local.set 2 + loop ;; label = @5 + local.get 7 + local.get 2 + i32.add + local.tee 3 + local.get 1 + local.get 2 + i32.add + local.tee 9 + i32.const 4 + i32.add + i32.load + local.tee 10 + i32.const 8 + i32.shl + local.get 5 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 9 + i32.const 8 + i32.add + i32.load + local.tee 5 + i32.const 8 + i32.shl + local.get 10 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 8 + i32.add + local.get 9 + i32.const 12 + i32.add + i32.load + local.tee 10 + i32.const 8 + i32.shl + local.get 5 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 12 + i32.add + local.get 9 + i32.const 16 + i32.add + i32.load + local.tee 5 + i32.const 8 + i32.shl + local.get 10 + i32.const 24 + i32.shr_u + i32.or + i32.store + local.get 2 + i32.const 16 + i32.add + local.set 2 + local.get 6 + i32.const -16 + i32.add + local.tee 6 + i32.const 16 + i32.gt_u + br_if 0 (;@5;) + end + local.get 7 + local.get 2 + i32.add + local.set 3 + local.get 1 + local.get 2 + i32.add + i32.const 3 + i32.add + local.set 1 + local.get 4 + local.get 8 + i32.sub + i32.const -19 + i32.add + local.set 4 + br 2 (;@2;) + end + local.get 3 + local.get 1 + i32.load + local.tee 5 + i32.store8 + local.get 3 + local.get 1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get 4 + i32.const -2 + i32.add + local.set 6 + local.get 3 + i32.const 2 + i32.add + local.set 7 + local.get 4 + i32.const -20 + i32.add + i32.const -16 + i32.and + local.set 8 + i32.const 0 + local.set 2 + loop ;; label = @4 + local.get 7 + local.get 2 + i32.add + local.tee 3 + local.get 1 + local.get 2 + i32.add + local.tee 9 + i32.const 4 + i32.add + i32.load + local.tee 10 + i32.const 16 + i32.shl + local.get 5 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 9 + i32.const 8 + i32.add + i32.load + local.tee 5 + i32.const 16 + i32.shl + local.get 10 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 8 + i32.add + local.get 9 + i32.const 12 + i32.add + i32.load + local.tee 10 + i32.const 16 + i32.shl + local.get 5 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 12 + i32.add + local.get 9 + i32.const 16 + i32.add + i32.load + local.tee 5 + i32.const 16 + i32.shl + local.get 10 + i32.const 16 + i32.shr_u + i32.or + i32.store + local.get 2 + i32.const 16 + i32.add + local.set 2 + local.get 6 + i32.const -16 + i32.add + local.tee 6 + i32.const 17 + i32.gt_u + br_if 0 (;@4;) + end + local.get 7 + local.get 2 + i32.add + local.set 3 + local.get 1 + local.get 2 + i32.add + i32.const 2 + i32.add + local.set 1 + local.get 4 + local.get 8 + i32.sub + i32.const -18 + i32.add + local.set 4 + br 1 (;@2;) + end + local.get 3 + local.get 1 + i32.load + local.tee 5 + i32.store8 + local.get 4 + i32.const -1 + i32.add + local.set 6 + local.get 3 + i32.const 1 + i32.add + local.set 7 + local.get 4 + i32.const -20 + i32.add + i32.const -16 + i32.and + local.set 8 + i32.const 0 + local.set 2 + loop ;; label = @3 + local.get 7 + local.get 2 + i32.add + local.tee 3 + local.get 1 + local.get 2 + i32.add + local.tee 9 + i32.const 4 + i32.add + i32.load + local.tee 10 + i32.const 24 + i32.shl + local.get 5 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 9 + i32.const 8 + i32.add + i32.load + local.tee 5 + i32.const 24 + i32.shl + local.get 10 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 8 + i32.add + local.get 9 + i32.const 12 + i32.add + i32.load + local.tee 10 + i32.const 24 + i32.shl + local.get 5 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const 12 + i32.add + local.get 9 + i32.const 16 + i32.add + i32.load + local.tee 5 + i32.const 24 + i32.shl + local.get 10 + i32.const 8 + i32.shr_u + i32.or + i32.store + local.get 2 + i32.const 16 + i32.add + local.set 2 + local.get 6 + i32.const -16 + i32.add + local.tee 6 + i32.const 18 + i32.gt_u + br_if 0 (;@3;) + end + local.get 7 + local.get 2 + i32.add + local.set 3 + local.get 1 + local.get 2 + i32.add + i32.const 1 + i32.add + local.set 1 + local.get 4 + local.get 8 + i32.sub + i32.const -17 + i32.add + local.set 4 + end + block ;; label = @2 + local.get 4 + i32.const 16 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 1 + i32.load16_u align=1 + i32.store16 align=1 + local.get 3 + local.get 1 + i32.load8_u offset=2 + i32.store8 offset=2 + local.get 3 + local.get 1 + i32.load8_u offset=3 + i32.store8 offset=3 + local.get 3 + local.get 1 + i32.load8_u offset=4 + i32.store8 offset=4 + local.get 3 + local.get 1 + i32.load8_u offset=5 + i32.store8 offset=5 + local.get 3 + local.get 1 + i32.load8_u offset=6 + i32.store8 offset=6 + local.get 3 + local.get 1 + i32.load8_u offset=7 + i32.store8 offset=7 + local.get 3 + local.get 1 + i32.load8_u offset=8 + i32.store8 offset=8 + local.get 3 + local.get 1 + i32.load8_u offset=9 + i32.store8 offset=9 + local.get 3 + local.get 1 + i32.load8_u offset=10 + i32.store8 offset=10 + local.get 3 + local.get 1 + i32.load8_u offset=11 + i32.store8 offset=11 + local.get 3 + local.get 1 + i32.load8_u offset=12 + i32.store8 offset=12 + local.get 3 + local.get 1 + i32.load8_u offset=13 + i32.store8 offset=13 + local.get 3 + local.get 1 + i32.load8_u offset=14 + i32.store8 offset=14 + local.get 3 + local.get 1 + i32.load8_u offset=15 + i32.store8 offset=15 + local.get 3 + i32.const 16 + i32.add + local.set 3 + local.get 1 + i32.const 16 + i32.add + local.set 1 + end + block ;; label = @2 + local.get 4 + i32.const 8 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 3 + local.get 1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get 3 + local.get 1 + i32.load8_u offset=2 + i32.store8 offset=2 + local.get 3 + local.get 1 + i32.load8_u offset=3 + i32.store8 offset=3 + local.get 3 + local.get 1 + i32.load8_u offset=4 + i32.store8 offset=4 + local.get 3 + local.get 1 + i32.load8_u offset=5 + i32.store8 offset=5 + local.get 3 + local.get 1 + i32.load8_u offset=6 + i32.store8 offset=6 + local.get 3 + local.get 1 + i32.load8_u offset=7 + i32.store8 offset=7 + local.get 3 + i32.const 8 + i32.add + local.set 3 + local.get 1 + i32.const 8 + i32.add + local.set 1 + end + block ;; label = @2 + local.get 4 + i32.const 4 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 3 + local.get 1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get 3 + local.get 1 + i32.load8_u offset=2 + i32.store8 offset=2 + local.get 3 + local.get 1 + i32.load8_u offset=3 + i32.store8 offset=3 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 1 + i32.const 4 + i32.add + local.set 1 + end + block ;; label = @2 + local.get 4 + i32.const 2 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 3 + local.get 1 + i32.load8_u offset=1 + i32.store8 offset=1 + local.get 3 + i32.const 2 + i32.add + local.set 3 + local.get 1 + i32.const 2 + i32.add + local.set 1 + end + local.get 4 + i32.const 1 + i32.and + i32.eqz + br_if 0 (;@1;) + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + end + local.get 0) + (func $memset (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i64) + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + local.get 1 + i32.store8 + local.get 2 + local.get 0 + i32.add + local.tee 3 + i32.const -1 + i32.add + local.get 1 + i32.store8 + local.get 2 + i32.const 3 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + local.get 1 + i32.store8 offset=2 + local.get 0 + local.get 1 + i32.store8 offset=1 + local.get 3 + i32.const -3 + i32.add + local.get 1 + i32.store8 + local.get 3 + i32.const -2 + i32.add + local.get 1 + i32.store8 + local.get 2 + i32.const 7 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + local.get 1 + i32.store8 offset=3 + local.get 3 + i32.const -4 + i32.add + local.get 1 + i32.store8 + local.get 2 + i32.const 9 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + i32.const 0 + local.get 0 + i32.sub + i32.const 3 + i32.and + local.tee 4 + i32.add + local.tee 3 + local.get 1 + i32.const 255 + i32.and + i32.const 16843009 + i32.mul + local.tee 1 + i32.store + local.get 3 + local.get 2 + local.get 4 + i32.sub + i32.const -4 + i32.and + local.tee 4 + i32.add + local.tee 2 + i32.const -4 + i32.add + local.get 1 + i32.store + local.get 4 + i32.const 9 + i32.lt_u + br_if 0 (;@1;) + local.get 3 + local.get 1 + i32.store offset=8 + local.get 3 + local.get 1 + i32.store offset=4 + local.get 2 + i32.const -8 + i32.add + local.get 1 + i32.store + local.get 2 + i32.const -12 + i32.add + local.get 1 + i32.store + local.get 4 + i32.const 25 + i32.lt_u + br_if 0 (;@1;) + local.get 3 + local.get 1 + i32.store offset=24 + local.get 3 + local.get 1 + i32.store offset=20 + local.get 3 + local.get 1 + i32.store offset=16 + local.get 3 + local.get 1 + i32.store offset=12 + local.get 2 + i32.const -16 + i32.add + local.get 1 + i32.store + local.get 2 + i32.const -20 + i32.add + local.get 1 + i32.store + local.get 2 + i32.const -24 + i32.add + local.get 1 + i32.store + local.get 2 + i32.const -28 + i32.add + local.get 1 + i32.store + local.get 4 + local.get 3 + i32.const 4 + i32.and + i32.const 24 + i32.or + local.tee 5 + i32.sub + local.tee 2 + i32.const 32 + i32.lt_u + br_if 0 (;@1;) + local.get 1 + i64.extend_i32_u + local.tee 6 + i64.const 32 + i64.shl + local.get 6 + i64.or + local.set 6 + local.get 3 + local.get 5 + i32.add + local.set 1 + loop ;; label = @2 + local.get 1 + local.get 6 + i64.store + local.get 1 + i32.const 24 + i32.add + local.get 6 + i64.store + local.get 1 + i32.const 16 + i32.add + local.get 6 + i64.store + local.get 1 + i32.const 8 + i32.add + local.get 6 + i64.store + local.get 1 + i32.const 32 + i32.add + local.set 1 + local.get 2 + i32.const -32 + i32.add + local.tee 2 + i32.const 31 + i32.gt_u + br_if 0 (;@2;) + end + end + local.get 0) + (func $strncmp (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32) + block ;; label = @1 + local.get 2 + br_if 0 (;@1;) + i32.const 0 + return + end + i32.const 0 + local.set 3 + block ;; label = @1 + local.get 0 + i32.load8_u + local.tee 4 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 2 + loop ;; label = @2 + block ;; label = @3 + local.get 4 + i32.const 255 + i32.and + local.get 1 + i32.load8_u + local.tee 5 + i32.eq + br_if 0 (;@3;) + local.get 4 + local.set 3 + br 2 (;@1;) + end + block ;; label = @3 + local.get 2 + br_if 0 (;@3;) + local.get 4 + local.set 3 + br 2 (;@1;) + end + block ;; label = @3 + local.get 5 + br_if 0 (;@3;) + local.get 4 + local.set 3 + br 2 (;@1;) + end + local.get 2 + i32.const -1 + i32.add + local.set 2 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 0 + i32.load8_u + local.set 4 + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 4 + br_if 0 (;@2;) + end + end + local.get 3 + i32.const 255 + i32.and + local.get 1 + i32.load8_u + i32.sub) + (func $memcmp (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32) + i32.const 0 + local.set 3 + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + block ;; label = @2 + loop ;; label = @3 + local.get 0 + i32.load8_u + local.tee 4 + local.get 1 + i32.load8_u + local.tee 5 + i32.ne + br_if 1 (;@2;) + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.tee 2 + br_if 0 (;@3;) + br 2 (;@1;) + end + end + local.get 4 + local.get 5 + i32.sub + local.set 3 + end + local.get 3) + (func $strlen (type 5) (param i32) (result i32) + (local i32 i32 i32) + local.get 0 + local.set 1 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@3;) + block ;; label = @4 + local.get 0 + i32.load8_u + br_if 0 (;@4;) + local.get 0 + local.get 0 + i32.sub + return + end + local.get 0 + i32.const 1 + i32.add + local.set 1 + loop ;; label = @4 + local.get 1 + i32.const 3 + i32.and + i32.eqz + br_if 1 (;@3;) + local.get 1 + i32.load8_u + local.set 2 + local.get 1 + i32.const 1 + i32.add + local.tee 3 + local.set 1 + local.get 2 + i32.eqz + br_if 2 (;@2;) + br 0 (;@4;) + end + end + local.get 1 + i32.const -4 + i32.add + local.set 1 + loop ;; label = @3 + local.get 1 + i32.const 4 + i32.add + local.tee 1 + i32.load + local.tee 2 + i32.const -1 + i32.xor + local.get 2 + i32.const -16843009 + i32.add + i32.and + i32.const -2139062144 + i32.and + i32.eqz + br_if 0 (;@3;) + end + block ;; label = @3 + local.get 2 + i32.const 255 + i32.and + br_if 0 (;@3;) + local.get 1 + local.get 0 + i32.sub + return + end + loop ;; label = @3 + local.get 1 + i32.load8_u offset=1 + local.set 2 + local.get 1 + i32.const 1 + i32.add + local.tee 3 + local.set 1 + local.get 2 + br_if 0 (;@3;) + br 2 (;@1;) + end + end + local.get 3 + i32.const -1 + i32.add + local.set 3 + end + local.get 3 + local.get 0 + i32.sub) + (func $dummy.1 (type 3) (param i32 i32) (result i32) + local.get 0) + (func $__lctrans (type 3) (param i32 i32) (result i32) + local.get 0 + local.get 1 + call $dummy.1) + (func $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $rust_oom + unreachable) + (func $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E (type 0) + i32.const 1054109 + i32.const 17 + i32.const 1054128 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable) + (func $_ZN5alloc6string104_$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..vec..Vec$LT$u8$GT$$GT$4from17h4fac04ba81ae9773E (type 6) (param i32 i32) + local.get 0 + local.get 1 + i64.load align=4 + i64.store align=4 + local.get 0 + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store) + (func $_ZN5alloc3vec12Vec$LT$T$GT$5drain17end_assert_failed17h686d263f81d07b88E (type 6) (param i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 2 + i32.const 44 + i32.add + i32.const 13 + i32.store + local.get 2 + i64.const 3 + i64.store offset=12 align=4 + local.get 2 + i32.const 1054208 + i32.store offset=8 + local.get 2 + i32.const 13 + i32.store offset=36 + local.get 2 + local.get 2 + i32.const 32 + i32.add + i32.store offset=24 + local.get 2 + local.get 2 + i32.const 4 + i32.add + i32.store offset=40 + local.get 2 + local.get 2 + i32.store offset=32 + local.get 2 + i32.const 8 + i32.add + i32.const 1054232 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN4core3ops8function6FnOnce9call_once17hbe6f8b545009bafbE (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + drop + loop (result i32) ;; label = @1 + br 0 (;@1;) + end) + (func $_ZN4core3ptr13drop_in_place17h0204d3c859ff1c91E (type 1) (param i32)) + (func $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 3 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 3 + i32.const 44 + i32.add + i32.const 13 + i32.store + local.get 3 + i64.const 2 + i64.store offset=12 align=4 + local.get 3 + i32.const 1054452 + i32.store offset=8 + local.get 3 + i32.const 13 + i32.store offset=36 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=24 + local.get 3 + local.get 3 + i32.store offset=40 + local.get 3 + local.get 3 + i32.const 4 + i32.add + i32.store offset=32 + local.get 3 + i32.const 8 + i32.add + local.get 2 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN4core9panicking5panic17he0bb7a4a857bed0cE (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 1054248 + i32.store offset=16 + local.get 3 + i64.const 1 + i64.store offset=4 align=4 + local.get 3 + local.get 1 + i32.store offset=28 + local.get 3 + local.get 0 + i32.store offset=24 + local.get 3 + local.get 3 + i32.const 24 + i32.add + i32.store + local.get 3 + local.get 2 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 3 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 3 + i32.const 44 + i32.add + i32.const 13 + i32.store + local.get 3 + i64.const 2 + i64.store offset=12 align=4 + local.get 3 + i32.const 1054972 + i32.store offset=8 + local.get 3 + i32.const 13 + i32.store offset=36 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=24 + local.get 3 + local.get 3 + i32.const 4 + i32.add + i32.store offset=40 + local.get 3 + local.get 3 + i32.store offset=32 + local.get 3 + i32.const 8 + i32.add + local.get 2 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 3 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 3 + i32.const 44 + i32.add + i32.const 13 + i32.store + local.get 3 + i64.const 2 + i64.store offset=12 align=4 + local.get 3 + i32.const 1055024 + i32.store offset=8 + local.get 3 + i32.const 13 + i32.store offset=36 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=24 + local.get 3 + local.get 3 + i32.const 4 + i32.add + i32.store offset=40 + local.get 3 + local.get 3 + i32.store offset=32 + local.get 3 + i32.const 8 + i32.add + local.get 2 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=16 + local.set 3 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load offset=8 + local.tee 4 + i32.const 1 + i32.eq + br_if 0 (;@4;) + local.get 3 + i32.const 1 + i32.eq + br_if 1 (;@3;) + local.get 0 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 3 + br 3 (;@1;) + end + local.get 3 + i32.const 1 + i32.ne + br_if 1 (;@2;) + end + block ;; label = @3 + block ;; label = @4 + local.get 2 + br_if 0 (;@4;) + i32.const 0 + local.set 2 + br 1 (;@3;) + end + local.get 1 + local.get 2 + i32.add + local.set 5 + local.get 0 + i32.const 20 + i32.add + i32.load + i32.const 1 + i32.add + local.set 6 + i32.const 0 + local.set 7 + local.get 1 + local.set 3 + local.get 1 + local.set 8 + loop ;; label = @4 + local.get 3 + i32.const 1 + i32.add + local.set 9 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 3 + i32.load8_s + local.tee 10 + i32.const -1 + i32.gt_s + br_if 0 (;@7;) + block ;; label = @8 + block ;; label = @9 + local.get 9 + local.get 5 + i32.ne + br_if 0 (;@9;) + i32.const 0 + local.set 11 + local.get 5 + local.set 3 + br 1 (;@8;) + end + local.get 3 + i32.load8_u offset=1 + i32.const 63 + i32.and + local.set 11 + local.get 3 + i32.const 2 + i32.add + local.tee 9 + local.set 3 + end + local.get 10 + i32.const 31 + i32.and + local.set 12 + block ;; label = @8 + local.get 10 + i32.const 255 + i32.and + local.tee 10 + i32.const 223 + i32.gt_u + br_if 0 (;@8;) + local.get 11 + local.get 12 + i32.const 6 + i32.shl + i32.or + local.set 10 + br 2 (;@6;) + end + block ;; label = @8 + block ;; label = @9 + local.get 3 + local.get 5 + i32.ne + br_if 0 (;@9;) + i32.const 0 + local.set 13 + local.get 5 + local.set 14 + br 1 (;@8;) + end + local.get 3 + i32.load8_u + i32.const 63 + i32.and + local.set 13 + local.get 3 + i32.const 1 + i32.add + local.tee 9 + local.set 14 + end + local.get 13 + local.get 11 + i32.const 6 + i32.shl + i32.or + local.set 11 + block ;; label = @8 + local.get 10 + i32.const 240 + i32.ge_u + br_if 0 (;@8;) + local.get 11 + local.get 12 + i32.const 12 + i32.shl + i32.or + local.set 10 + br 2 (;@6;) + end + block ;; label = @8 + block ;; label = @9 + local.get 14 + local.get 5 + i32.ne + br_if 0 (;@9;) + i32.const 0 + local.set 10 + local.get 9 + local.set 3 + br 1 (;@8;) + end + local.get 14 + i32.const 1 + i32.add + local.set 3 + local.get 14 + i32.load8_u + i32.const 63 + i32.and + local.set 10 + end + local.get 11 + i32.const 6 + i32.shl + local.get 12 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.get 10 + i32.or + local.tee 10 + i32.const 1114112 + i32.ne + br_if 2 (;@5;) + br 4 (;@3;) + end + local.get 10 + i32.const 255 + i32.and + local.set 10 + end + local.get 9 + local.set 3 + end + block ;; label = @5 + local.get 6 + i32.const -1 + i32.add + local.tee 6 + i32.eqz + br_if 0 (;@5;) + local.get 7 + local.get 8 + i32.sub + local.get 3 + i32.add + local.set 7 + local.get 3 + local.set 8 + local.get 5 + local.get 3 + i32.ne + br_if 1 (;@4;) + br 2 (;@3;) + end + end + local.get 10 + i32.const 1114112 + i32.eq + br_if 0 (;@3;) + block ;; label = @4 + block ;; label = @5 + local.get 7 + i32.eqz + br_if 0 (;@5;) + local.get 7 + local.get 2 + i32.eq + br_if 0 (;@5;) + i32.const 0 + local.set 3 + local.get 7 + local.get 2 + i32.ge_u + br_if 1 (;@4;) + local.get 1 + local.get 7 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if 1 (;@4;) + end + local.get 1 + local.set 3 + end + local.get 7 + local.get 2 + local.get 3 + select + local.set 2 + local.get 3 + local.get 1 + local.get 3 + select + local.set 1 + end + local.get 4 + i32.const 1 + i32.eq + br_if 0 (;@2;) + local.get 0 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + return + end + i32.const 0 + local.set 9 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + local.get 2 + local.set 10 + local.get 1 + local.set 3 + loop ;; label = @3 + local.get 9 + local.get 3 + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + i32.add + local.set 9 + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@3;) + end + end + block ;; label = @2 + local.get 2 + local.get 9 + i32.sub + local.get 0 + i32.load offset=12 + local.tee 6 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + return + end + i32.const 0 + local.set 7 + i32.const 0 + local.set 9 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + i32.const 0 + local.set 9 + local.get 2 + local.set 10 + local.get 1 + local.set 3 + loop ;; label = @3 + local.get 9 + local.get 3 + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + i32.add + local.set 9 + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@3;) + end + end + local.get 9 + local.get 2 + i32.sub + local.get 6 + i32.add + local.tee 9 + local.set 10 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + local.get 0 + i32.load8_u offset=32 + local.tee 3 + local.get 3 + i32.const 3 + i32.eq + select + br_table 2 (;@2;) 1 (;@3;) 0 (;@4;) 1 (;@3;) 2 (;@2;) + end + local.get 9 + i32.const 1 + i32.shr_u + local.set 7 + local.get 9 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 10 + br 1 (;@2;) + end + i32.const 0 + local.set 10 + local.get 9 + local.set 7 + end + local.get 7 + i32.const 1 + i32.add + local.set 3 + block ;; label = @2 + loop ;; label = @3 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + i32.eqz + br_if 1 (;@2;) + local.get 0 + i32.load offset=24 + local.get 0 + i32.load offset=4 + local.get 0 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@3;) + end + i32.const 1 + return + end + local.get 0 + i32.load offset=4 + local.set 9 + i32.const 1 + local.set 3 + local.get 0 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 0 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 8) + br_if 0 (;@1;) + local.get 10 + i32.const 1 + i32.add + local.set 3 + local.get 0 + i32.load offset=28 + local.set 10 + local.get 0 + i32.load offset=24 + local.set 0 + loop ;; label = @2 + block ;; label = @3 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + br_if 0 (;@3;) + i32.const 0 + return + end + local.get 0 + local.get 9 + local.get 10 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@2;) + end + i32.const 1 + return + end + local.get 3) + (func $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E (type 10) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 112 + i32.sub + local.tee 5 + global.set 0 + local.get 5 + local.get 3 + i32.store offset=12 + local.get 5 + local.get 2 + i32.store offset=8 + i32.const 1 + local.set 6 + local.get 1 + local.set 7 + block ;; label = @1 + local.get 1 + i32.const 257 + i32.lt_u + br_if 0 (;@1;) + i32.const 0 + local.get 1 + i32.sub + local.set 8 + i32.const 256 + local.set 9 + loop ;; label = @2 + block ;; label = @3 + local.get 9 + local.get 1 + i32.ge_u + br_if 0 (;@3;) + i32.const 0 + local.set 6 + local.get 0 + local.get 9 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@3;) + local.get 9 + local.set 7 + br 2 (;@1;) + end + local.get 9 + i32.const -1 + i32.add + local.set 7 + i32.const 0 + local.set 6 + local.get 9 + i32.const 1 + i32.eq + br_if 1 (;@1;) + local.get 8 + local.get 9 + i32.add + local.set 10 + local.get 7 + local.set 9 + local.get 10 + i32.const 1 + i32.ne + br_if 0 (;@2;) + end + end + local.get 5 + local.get 7 + i32.store offset=20 + local.get 5 + local.get 0 + i32.store offset=16 + local.get 5 + i32.const 0 + i32.const 5 + local.get 6 + select + i32.store offset=28 + local.get 5 + i32.const 1054248 + i32.const 1055644 + local.get 6 + select + i32.store offset=24 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + local.get 1 + i32.gt_u + local.tee 6 + br_if 0 (;@4;) + local.get 3 + local.get 1 + i32.gt_u + br_if 0 (;@4;) + local.get 2 + local.get 3 + i32.gt_u + br_if 1 (;@3;) + block ;; label = @5 + block ;; label = @6 + local.get 2 + i32.eqz + br_if 0 (;@6;) + local.get 1 + local.get 2 + i32.eq + br_if 0 (;@6;) + local.get 1 + local.get 2 + i32.le_u + br_if 1 (;@5;) + local.get 0 + local.get 2 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if 1 (;@5;) + end + local.get 3 + local.set 2 + end + local.get 5 + local.get 2 + i32.store offset=32 + local.get 2 + i32.eqz + br_if 2 (;@2;) + local.get 2 + local.get 1 + i32.eq + br_if 2 (;@2;) + local.get 1 + i32.const 1 + i32.add + local.set 9 + loop ;; label = @5 + block ;; label = @6 + local.get 2 + local.get 1 + i32.ge_u + br_if 0 (;@6;) + local.get 0 + local.get 2 + i32.add + i32.load8_s + i32.const -64 + i32.ge_s + br_if 4 (;@2;) + end + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 2 + i32.const 1 + i32.eq + br_if 4 (;@1;) + local.get 9 + local.get 2 + i32.eq + local.set 3 + local.get 6 + local.set 2 + local.get 3 + i32.eqz + br_if 0 (;@5;) + br 4 (;@1;) + end + end + local.get 5 + local.get 2 + local.get 3 + local.get 6 + select + i32.store offset=40 + local.get 5 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get 5 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 79 + i32.store + local.get 5 + i32.const 84 + i32.add + i32.const 79 + i32.store + local.get 5 + i64.const 3 + i64.store offset=52 align=4 + local.get 5 + i32.const 1055684 + i32.store offset=48 + local.get 5 + i32.const 13 + i32.store offset=76 + local.get 5 + local.get 5 + i32.const 72 + i32.add + i32.store offset=64 + local.get 5 + local.get 5 + i32.const 24 + i32.add + i32.store offset=88 + local.get 5 + local.get 5 + i32.const 16 + i32.add + i32.store offset=80 + local.get 5 + local.get 5 + i32.const 40 + i32.add + i32.store offset=72 + local.get 5 + i32.const 48 + i32.add + local.get 4 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable + end + local.get 5 + i32.const 100 + i32.add + i32.const 79 + i32.store + local.get 5 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 79 + i32.store + local.get 5 + i32.const 84 + i32.add + i32.const 13 + i32.store + local.get 5 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 4 + i32.store + local.get 5 + i64.const 4 + i64.store offset=52 align=4 + local.get 5 + i32.const 1055744 + i32.store offset=48 + local.get 5 + i32.const 13 + i32.store offset=76 + local.get 5 + local.get 5 + i32.const 72 + i32.add + i32.store offset=64 + local.get 5 + local.get 5 + i32.const 24 + i32.add + i32.store offset=96 + local.get 5 + local.get 5 + i32.const 16 + i32.add + i32.store offset=88 + local.get 5 + local.get 5 + i32.const 12 + i32.add + i32.store offset=80 + local.get 5 + local.get 5 + i32.const 8 + i32.add + i32.store offset=72 + local.get 5 + i32.const 48 + i32.add + local.get 4 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable + end + local.get 2 + local.set 6 + end + block ;; label = @1 + local.get 6 + local.get 1 + i32.eq + br_if 0 (;@1;) + i32.const 1 + local.set 9 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 0 + local.get 6 + i32.add + local.tee 3 + i32.load8_s + local.tee 2 + i32.const -1 + i32.gt_s + br_if 0 (;@5;) + i32.const 0 + local.set 9 + local.get 0 + local.get 1 + i32.add + local.tee 1 + local.set 7 + block ;; label = @6 + local.get 3 + i32.const 1 + i32.add + local.get 1 + i32.eq + br_if 0 (;@6;) + local.get 3 + i32.const 2 + i32.add + local.set 7 + local.get 3 + i32.load8_u offset=1 + i32.const 63 + i32.and + local.set 9 + end + local.get 2 + i32.const 31 + i32.and + local.set 3 + local.get 2 + i32.const 255 + i32.and + i32.const 223 + i32.gt_u + br_if 1 (;@4;) + local.get 9 + local.get 3 + i32.const 6 + i32.shl + i32.or + local.set 2 + br 2 (;@3;) + end + local.get 5 + local.get 2 + i32.const 255 + i32.and + i32.store offset=36 + local.get 5 + i32.const 40 + i32.add + local.set 1 + br 2 (;@2;) + end + i32.const 0 + local.set 0 + local.get 1 + local.set 8 + block ;; label = @4 + local.get 7 + local.get 1 + i32.eq + br_if 0 (;@4;) + local.get 7 + i32.const 1 + i32.add + local.set 8 + local.get 7 + i32.load8_u + i32.const 63 + i32.and + local.set 0 + end + local.get 0 + local.get 9 + i32.const 6 + i32.shl + i32.or + local.set 9 + block ;; label = @4 + local.get 2 + i32.const 255 + i32.and + i32.const 240 + i32.ge_u + br_if 0 (;@4;) + local.get 9 + local.get 3 + i32.const 12 + i32.shl + i32.or + local.set 2 + br 1 (;@3;) + end + i32.const 0 + local.set 2 + block ;; label = @4 + local.get 8 + local.get 1 + i32.eq + br_if 0 (;@4;) + local.get 8 + i32.load8_u + i32.const 63 + i32.and + local.set 2 + end + local.get 9 + i32.const 6 + i32.shl + local.get 3 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.get 2 + i32.or + local.tee 2 + i32.const 1114112 + i32.eq + br_if 2 (;@1;) + end + local.get 5 + local.get 2 + i32.store offset=36 + i32.const 1 + local.set 9 + local.get 5 + i32.const 40 + i32.add + local.set 1 + local.get 2 + i32.const 128 + i32.lt_u + br_if 0 (;@2;) + i32.const 2 + local.set 9 + local.get 2 + i32.const 2048 + i32.lt_u + br_if 0 (;@2;) + i32.const 3 + i32.const 4 + local.get 2 + i32.const 65536 + i32.lt_u + select + local.set 9 + end + local.get 5 + local.get 6 + i32.store offset=40 + local.get 5 + local.get 9 + local.get 6 + i32.add + i32.store offset=44 + local.get 5 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 5 + i32.store + local.get 5 + i32.const 108 + i32.add + i32.const 79 + i32.store + local.get 5 + i32.const 100 + i32.add + i32.const 79 + i32.store + local.get 5 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 80 + i32.store + local.get 5 + i32.const 84 + i32.add + i32.const 81 + i32.store + local.get 5 + i64.const 5 + i64.store offset=52 align=4 + local.get 5 + i32.const 1055828 + i32.store offset=48 + local.get 5 + local.get 1 + i32.store offset=88 + local.get 5 + i32.const 13 + i32.store offset=76 + local.get 5 + local.get 5 + i32.const 72 + i32.add + i32.store offset=64 + local.get 5 + local.get 5 + i32.const 24 + i32.add + i32.store offset=104 + local.get 5 + local.get 5 + i32.const 16 + i32.add + i32.store offset=96 + local.get 5 + local.get 5 + i32.const 36 + i32.add + i32.store offset=80 + local.get 5 + local.get 5 + i32.const 32 + i32.add + i32.store offset=72 + local.get 5 + i32.const 48 + i32.add + local.get 4 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable + end + i32.const 1054285 + i32.const 43 + local.get 4 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable) + (func $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE (type 6) (param i32 i32) + (local i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 1 + i32.store offset=12 + local.get 2 + local.get 0 + i32.store offset=8 + local.get 2 + i32.const 1054356 + i32.store offset=4 + local.get 2 + i32.const 1054248 + i32.store + local.get 2 + call $rust_begin_unwind + unreachable) + (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17he6ead8fc076aace0E (type 3) (param i32 i32) (result i32) + local.get 0 + i64.load32_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E) + (func $_ZN4core3fmt5write17hf78275652148e08fE (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + i32.const 36 + i32.add + local.get 1 + i32.store + local.get 3 + i32.const 3 + i32.store8 offset=40 + local.get 3 + i64.const 137438953472 + i64.store offset=8 + local.get 3 + local.get 0 + i32.store offset=32 + local.get 3 + i32.const 0 + i32.store offset=24 + local.get 3 + i32.const 0 + i32.store offset=16 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 2 + i32.load offset=8 + local.tee 4 + i32.eqz + br_if 0 (;@5;) + local.get 2 + i32.load + local.set 5 + local.get 2 + i32.load offset=4 + local.tee 6 + local.get 2 + i32.const 12 + i32.add + i32.load + local.tee 7 + local.get 7 + local.get 6 + i32.gt_u + select + local.tee 7 + i32.eqz + br_if 1 (;@4;) + local.get 2 + i32.const 20 + i32.add + i32.load + local.set 8 + local.get 2 + i32.load offset=16 + local.set 9 + local.get 0 + local.get 5 + i32.load + local.get 5 + i32.load offset=4 + local.get 1 + i32.load offset=12 + call_indirect (type 8) + br_if 3 (;@2;) + local.get 5 + i32.const 12 + i32.add + local.set 2 + i32.const 0 + local.set 10 + block ;; label = @6 + block ;; label = @7 + loop ;; label = @8 + local.get 3 + local.get 4 + i32.const 4 + i32.add + i32.load + i32.store offset=12 + local.get 3 + local.get 4 + i32.const 28 + i32.add + i32.load8_u + i32.store8 offset=40 + local.get 3 + local.get 4 + i32.const 8 + i32.add + i32.load + i32.store offset=8 + local.get 4 + i32.const 24 + i32.add + i32.load + local.set 0 + i32.const 0 + local.set 1 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 4 + i32.const 20 + i32.add + i32.load + br_table 1 (;@10;) 0 (;@11;) 2 (;@9;) 1 (;@10;) + end + local.get 0 + local.get 8 + i32.ge_u + br_if 3 (;@7;) + local.get 0 + i32.const 3 + i32.shl + local.set 11 + i32.const 0 + local.set 1 + local.get 9 + local.get 11 + i32.add + local.tee 11 + i32.load offset=4 + i32.const 82 + i32.ne + br_if 1 (;@9;) + local.get 11 + i32.load + i32.load + local.set 0 + end + i32.const 1 + local.set 1 + end + local.get 3 + local.get 0 + i32.store offset=20 + local.get 3 + local.get 1 + i32.store offset=16 + local.get 4 + i32.const 16 + i32.add + i32.load + local.set 0 + i32.const 0 + local.set 1 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 4 + i32.const 12 + i32.add + i32.load + br_table 1 (;@10;) 0 (;@11;) 2 (;@9;) 1 (;@10;) + end + local.get 0 + local.get 8 + i32.ge_u + br_if 4 (;@6;) + local.get 0 + i32.const 3 + i32.shl + local.set 11 + local.get 9 + local.get 11 + i32.add + local.tee 11 + i32.load offset=4 + i32.const 82 + i32.ne + br_if 1 (;@9;) + local.get 11 + i32.load + i32.load + local.set 0 + end + i32.const 1 + local.set 1 + end + local.get 3 + local.get 0 + i32.store offset=28 + local.get 3 + local.get 1 + i32.store offset=24 + block ;; label = @9 + local.get 4 + i32.load + local.tee 0 + local.get 8 + i32.ge_u + br_if 0 (;@9;) + local.get 9 + local.get 0 + i32.const 3 + i32.shl + i32.add + local.tee 0 + i32.load + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load offset=4 + call_indirect (type 3) + br_if 7 (;@2;) + local.get 10 + i32.const 1 + i32.add + local.tee 10 + local.get 7 + i32.ge_u + br_if 6 (;@3;) + local.get 4 + i32.const 32 + i32.add + local.set 4 + local.get 2 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.load + local.set 1 + local.get 2 + i32.const 8 + i32.add + local.set 2 + local.get 3 + i32.load offset=32 + local.get 0 + i32.load + local.get 1 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 8) + i32.eqz + br_if 1 (;@8;) + br 7 (;@2;) + end + end + local.get 0 + local.get 8 + i32.const 1054824 + call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE + unreachable + end + local.get 0 + local.get 8 + i32.const 1054840 + call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE + unreachable + end + local.get 0 + local.get 8 + i32.const 1054840 + call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE + unreachable + end + local.get 2 + i32.load + local.set 5 + local.get 2 + i32.load offset=4 + local.tee 6 + local.get 2 + i32.const 20 + i32.add + i32.load + local.tee 4 + local.get 4 + local.get 6 + i32.gt_u + select + local.tee 7 + i32.eqz + br_if 0 (;@4;) + local.get 2 + i32.load offset=16 + local.set 4 + local.get 0 + local.get 5 + i32.load + local.get 5 + i32.load offset=4 + local.get 1 + i32.load offset=12 + call_indirect (type 8) + br_if 2 (;@2;) + local.get 5 + i32.const 12 + i32.add + local.set 2 + i32.const 0 + local.set 0 + loop ;; label = @5 + local.get 4 + i32.load + local.get 3 + i32.const 8 + i32.add + local.get 4 + i32.const 4 + i32.add + i32.load + call_indirect (type 3) + br_if 3 (;@2;) + local.get 0 + i32.const 1 + i32.add + local.tee 0 + local.get 7 + i32.ge_u + br_if 2 (;@3;) + local.get 4 + i32.const 8 + i32.add + local.set 4 + local.get 2 + i32.const -4 + i32.add + local.set 1 + local.get 2 + i32.load + local.set 10 + local.get 2 + i32.const 8 + i32.add + local.set 2 + local.get 3 + i32.load offset=32 + local.get 1 + i32.load + local.get 10 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 8) + i32.eqz + br_if 0 (;@5;) + br 3 (;@2;) + end + end + i32.const 0 + local.set 7 + end + block ;; label = @3 + local.get 6 + local.get 7 + i32.le_u + br_if 0 (;@3;) + local.get 3 + i32.load offset=32 + local.get 5 + local.get 7 + i32.const 3 + i32.shl + i32.add + local.tee 4 + i32.load + local.get 4 + i32.load offset=4 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@2;) + end + i32.const 0 + local.set 4 + br 1 (;@1;) + end + i32.const 1 + local.set 4 + end + local.get 3 + i32.const 48 + i32.add + global.set 0 + local.get 4) + (func $_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h94ceed4e1d7d3c8dE (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 0 + local.get 1 + call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E + br_if 0 (;@2;) + local.get 1 + i32.const 28 + i32.add + i32.load + local.set 3 + local.get 1 + i32.load offset=24 + local.set 4 + local.get 2 + i32.const 28 + i32.add + i32.const 0 + i32.store + local.get 2 + i32.const 1054248 + i32.store offset=24 + local.get 2 + i64.const 1 + i64.store offset=12 align=4 + local.get 2 + i32.const 1054252 + i32.store offset=8 + local.get 4 + local.get 3 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + i32.eqz + br_if 1 (;@1;) + end + local.get 2 + i32.const 32 + i32.add + global.set 0 + i32.const 1 + return + end + local.get 0 + i32.const 4 + i32.add + local.get 1 + call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 128 + i32.sub + local.tee 2 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load + local.tee 3 + i32.const 16 + i32.and + br_if 0 (;@5;) + local.get 0 + i32.load + local.set 4 + local.get 3 + i32.const 32 + i32.and + br_if 1 (;@4;) + local.get 4 + i64.extend_i32_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E + local.set 0 + br 2 (;@3;) + end + local.get 0 + i32.load + local.set 4 + i32.const 0 + local.set 0 + loop ;; label = @5 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 4 + i32.const 15 + i32.and + local.tee 3 + i32.const 48 + i32.or + local.get 3 + i32.const 87 + i32.add + local.get 3 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 4 + i32.const 4 + i32.shr_u + local.tee 4 + br_if 0 (;@5;) + end + local.get 0 + i32.const 128 + i32.add + local.tee 4 + i32.const 129 + i32.ge_u + br_if 2 (;@2;) + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + br 1 (;@3;) + end + i32.const 0 + local.set 0 + loop ;; label = @4 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 4 + i32.const 15 + i32.and + local.tee 3 + i32.const 48 + i32.or + local.get 3 + i32.const 55 + i32.add + local.get 3 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 4 + i32.const 4 + i32.shr_u + local.tee 4 + br_if 0 (;@4;) + end + local.get 0 + i32.const 128 + i32.add + local.tee 4 + i32.const 129 + i32.ge_u + br_if 2 (;@1;) + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + end + local.get 2 + i32.const 128 + i32.add + global.set 0 + local.get 0 + return + end + local.get 4 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 4 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hb45251ab3c3bdb48E (type 2) (param i32) (result i64) + i64.const -3452326882552253247) + (func $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17hcb497cdb5137530aE (type 3) (param i32 i32) (result i32) + local.get 1 + i32.load offset=24 + i32.const 1054260 + i32.const 11 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8)) + (func $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h4131a8147211fa76E (type 3) (param i32 i32) (result i32) + local.get 1 + i32.load offset=24 + i32.const 1054271 + i32.const 14 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8)) + (func $_ZN82_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1b10a0b08a976a19E (type 5) (param i32) (result i32) + (local i32 i32) + i32.const 1114112 + local.set 1 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load + br_table 3 (;@1;) 2 (;@2;) 1 (;@3;) 0 (;@4;) 3 (;@1;) + end + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 0 + i32.const 12 + i32.add + i32.load8_u + br_table 7 (;@1;) 4 (;@4;) 3 (;@5;) 2 (;@6;) 1 (;@7;) 0 (;@8;) 7 (;@1;) + end + local.get 0 + i32.const 4 + i32.store8 offset=12 + i32.const 92 + return + end + local.get 0 + i32.const 3 + i32.store8 offset=12 + i32.const 117 + return + end + local.get 0 + i32.const 2 + i32.store8 offset=12 + i32.const 123 + return + end + local.get 0 + i32.load offset=4 + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 2 + i32.const 2 + i32.shl + i32.const 28 + i32.and + i32.shr_u + i32.const 15 + i32.and + local.tee 1 + i32.const 48 + i32.or + local.get 1 + i32.const 87 + i32.add + local.get 1 + i32.const 10 + i32.lt_u + select + local.set 1 + block ;; label = @5 + local.get 2 + i32.eqz + br_if 0 (;@5;) + local.get 0 + local.get 2 + i32.const -1 + i32.add + i32.store offset=8 + local.get 1 + return + end + local.get 0 + i32.const 1 + i32.store8 offset=12 + local.get 1 + return + end + local.get 0 + i32.const 0 + i32.store8 offset=12 + i32.const 125 + return + end + local.get 0 + i32.const 1 + i32.store + i32.const 92 + return + end + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.load offset=4 + local.set 1 + end + local.get 1) + (func $_ZN4core3fmt8builders11DebugStruct5field17h6969da1bb0a508efE (type 12) (param i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i64 i64) + global.get 0 + i32.const 64 + i32.sub + local.tee 5 + global.set 0 + i32.const 1 + local.set 6 + block ;; label = @1 + local.get 0 + i32.load8_u offset=4 + br_if 0 (;@1;) + local.get 0 + i32.load8_u offset=5 + local.set 7 + block ;; label = @2 + local.get 0 + i32.load + local.tee 8 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 6 + local.get 8 + i32.load offset=24 + i32.const 1054501 + i32.const 1054503 + local.get 7 + i32.const 255 + i32.and + local.tee 7 + select + i32.const 2 + i32.const 3 + local.get 7 + select + local.get 8 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + i32.const 1 + local.set 6 + local.get 0 + i32.load + local.tee 8 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 8 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + i32.const 1 + local.set 6 + local.get 0 + i32.load + local.tee 8 + i32.load offset=24 + i32.const 1054336 + i32.const 2 + local.get 8 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + local.get 3 + local.get 0 + i32.load + local.get 4 + i32.load offset=12 + call_indirect (type 3) + local.set 6 + br 1 (;@1;) + end + block ;; label = @2 + local.get 7 + i32.const 255 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 6 + local.get 8 + i32.load offset=24 + i32.const 1054496 + i32.const 3 + local.get 8 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + local.get 0 + i32.load + local.set 8 + end + i32.const 1 + local.set 6 + local.get 5 + i32.const 1 + i32.store8 offset=23 + local.get 5 + i32.const 52 + i32.add + i32.const 1054468 + i32.store + local.get 5 + local.get 8 + i64.load offset=24 align=4 + i64.store offset=8 + local.get 5 + local.get 5 + i32.const 23 + i32.add + i32.store offset=16 + local.get 8 + i64.load offset=8 align=4 + local.set 9 + local.get 8 + i64.load offset=16 align=4 + local.set 10 + local.get 5 + local.get 8 + i32.load8_u offset=32 + i32.store8 offset=56 + local.get 5 + local.get 10 + i64.store offset=40 + local.get 5 + local.get 9 + i64.store offset=32 + local.get 5 + local.get 8 + i64.load align=4 + i64.store offset=24 + local.get 5 + local.get 5 + i32.const 8 + i32.add + i32.store offset=48 + local.get 5 + i32.const 8 + i32.add + local.get 1 + local.get 2 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE + br_if 0 (;@1;) + local.get 5 + i32.const 8 + i32.add + i32.const 1054336 + i32.const 2 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE + br_if 0 (;@1;) + local.get 3 + local.get 5 + i32.const 24 + i32.add + local.get 4 + i32.load offset=12 + call_indirect (type 3) + br_if 0 (;@1;) + local.get 5 + i32.load offset=48 + i32.const 1054499 + i32.const 2 + local.get 5 + i32.load offset=52 + i32.load offset=12 + call_indirect (type 8) + local.set 6 + end + local.get 0 + i32.const 1 + i32.store8 offset=5 + local.get 0 + local.get 6 + i32.store8 offset=4 + local.get 5 + i32.const 64 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core6option13expect_failed17hf689d8761c64e95fE (type 7) (param i32 i32 i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + local.get 3 + local.get 1 + i32.store offset=12 + local.get 3 + local.get 0 + i32.store offset=8 + local.get 3 + i32.const 36 + i32.add + i32.const 1 + i32.store + local.get 3 + i64.const 1 + i64.store offset=20 align=4 + local.get 3 + i32.const 1054328 + i32.store offset=16 + local.get 3 + i32.const 79 + i32.store offset=44 + local.get 3 + local.get 3 + i32.const 40 + i32.add + i32.store offset=32 + local.get 3 + local.get 3 + i32.const 8 + i32.add + i32.store offset=40 + local.get 3 + i32.const 16 + i32.add + local.get 2 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h76450d0c1fa7b5b6E (type 3) (param i32 i32) (result i32) + local.get 1 + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E) + (func $_ZN4core6option18expect_none_failed17h959c69efc793a13dE (type 10) (param i32 i32 i32 i32 i32) + (local i32) + global.get 0 + i32.const 64 + i32.sub + local.tee 5 + global.set 0 + local.get 5 + local.get 1 + i32.store offset=12 + local.get 5 + local.get 0 + i32.store offset=8 + local.get 5 + local.get 3 + i32.store offset=20 + local.get 5 + local.get 2 + i32.store offset=16 + local.get 5 + i32.const 44 + i32.add + i32.const 2 + i32.store + local.get 5 + i32.const 60 + i32.add + i32.const 83 + i32.store + local.get 5 + i64.const 2 + i64.store offset=28 align=4 + local.get 5 + i32.const 1054340 + i32.store offset=24 + local.get 5 + i32.const 79 + i32.store offset=52 + local.get 5 + local.get 5 + i32.const 48 + i32.add + i32.store offset=40 + local.get 5 + local.get 5 + i32.const 16 + i32.add + i32.store offset=56 + local.get 5 + local.get 5 + i32.const 8 + i32.add + i32.store offset=48 + local.get 5 + i32.const 24 + i32.add + local.get 4 + call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE + unreachable) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h37140add365c2157E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + local.get 0 + i32.load offset=4 + i32.load offset=12 + call_indirect (type 3)) + (func $_ZN4core5panic9PanicInfo7message17h173c452a45dbd3bdE (type 5) (param i32) (result i32) + local.get 0 + i32.load offset=8) + (func $_ZN4core5panic9PanicInfo8location17hd9842140c74e4b5aE (type 5) (param i32) (result i32) + local.get 0 + i32.load offset=12) + (func $_ZN4core5panic8Location6caller17hd41fba21c9b92f2bE (type 5) (param i32) (result i32) + local.get 0) + (func $_ZN4core5panic8Location4file17h51ec8de78a0a7533E (type 6) (param i32 i32) + local.get 0 + local.get 1 + i64.load align=4 + i64.store align=4) + (func $_ZN60_$LT$core..panic..Location$u20$as$u20$core..fmt..Display$GT$3fmt17h37d828db1f545440E (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + i32.const 20 + i32.add + i32.const 13 + i32.store + local.get 2 + i32.const 12 + i32.add + i32.const 13 + i32.store + local.get 2 + i32.const 79 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + local.get 0 + i32.const 12 + i32.add + i32.store offset=16 + local.get 2 + local.get 0 + i32.const 8 + i32.add + i32.store offset=8 + local.get 1 + i32.const 28 + i32.add + i32.load + local.set 0 + local.get 1 + i32.load offset=24 + local.set 1 + local.get 2 + i32.const 24 + i32.add + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get 2 + i64.const 3 + i64.store offset=28 align=4 + local.get 2 + i32.const 1054376 + i32.store offset=24 + local.get 2 + local.get 2 + i32.store offset=40 + local.get 1 + local.get 0 + local.get 2 + i32.const 24 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 0 + local.get 2 + i32.const 48 + i32.add + global.set 0 + local.get 0) + (func $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 2 + br_if 0 (;@2;) + i32.const 0 + local.set 4 + br 1 (;@1;) + end + local.get 3 + i32.const 40 + i32.add + local.set 5 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + loop ;; label = @6 + block ;; label = @7 + local.get 0 + i32.load offset=8 + i32.load8_u + i32.eqz + br_if 0 (;@7;) + local.get 0 + i32.load + i32.const 1054492 + i32.const 4 + local.get 0 + i32.load offset=4 + i32.load offset=12 + call_indirect (type 8) + br_if 5 (;@2;) + end + local.get 3 + i32.const 10 + i32.store offset=40 + local.get 3 + i64.const 4294967306 + i64.store offset=32 + local.get 3 + local.get 2 + i32.store offset=28 + local.get 3 + i32.const 0 + i32.store offset=24 + local.get 3 + local.get 2 + i32.store offset=20 + local.get 3 + local.get 1 + i32.store offset=16 + local.get 3 + i32.const 8 + i32.add + i32.const 10 + local.get 1 + local.get 2 + call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + local.get 3 + i32.load offset=8 + i32.const 1 + i32.ne + br_if 0 (;@10;) + local.get 3 + i32.load offset=12 + local.set 4 + loop ;; label = @11 + local.get 3 + local.get 4 + local.get 3 + i32.load offset=24 + i32.add + i32.const 1 + i32.add + local.tee 4 + i32.store offset=24 + block ;; label = @12 + block ;; label = @13 + local.get 4 + local.get 3 + i32.load offset=36 + local.tee 6 + i32.ge_u + br_if 0 (;@13;) + local.get 3 + i32.load offset=20 + local.set 7 + br 1 (;@12;) + end + local.get 3 + i32.load offset=20 + local.tee 7 + local.get 4 + i32.lt_u + br_if 0 (;@12;) + local.get 6 + i32.const 5 + i32.ge_u + br_if 7 (;@5;) + local.get 3 + i32.load offset=16 + local.get 4 + local.get 6 + i32.sub + local.tee 8 + i32.add + local.tee 9 + local.get 5 + i32.eq + br_if 4 (;@8;) + local.get 9 + local.get 5 + local.get 6 + call $memcmp + i32.eqz + br_if 4 (;@8;) + end + local.get 3 + i32.load offset=28 + local.tee 9 + local.get 4 + i32.lt_u + br_if 2 (;@9;) + local.get 7 + local.get 9 + i32.lt_u + br_if 2 (;@9;) + local.get 3 + local.get 6 + local.get 3 + i32.const 16 + i32.add + i32.add + i32.const 23 + i32.add + i32.load8_u + local.get 3 + i32.load offset=16 + local.get 4 + i32.add + local.get 9 + local.get 4 + i32.sub + call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E + local.get 3 + i32.load offset=4 + local.set 4 + local.get 3 + i32.load + i32.const 1 + i32.eq + br_if 0 (;@11;) + end + end + local.get 3 + local.get 3 + i32.load offset=28 + i32.store offset=24 + end + local.get 0 + i32.load offset=8 + i32.const 0 + i32.store8 + local.get 2 + local.set 4 + br 1 (;@7;) + end + local.get 0 + i32.load offset=8 + i32.const 1 + i32.store8 + local.get 8 + i32.const 1 + i32.add + local.set 4 + end + local.get 0 + i32.load offset=4 + local.set 9 + local.get 0 + i32.load + local.set 6 + block ;; label = @7 + local.get 4 + i32.eqz + local.get 2 + local.get 4 + i32.eq + i32.or + local.tee 7 + br_if 0 (;@7;) + local.get 2 + local.get 4 + i32.le_u + br_if 3 (;@4;) + local.get 1 + local.get 4 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 3 (;@4;) + end + local.get 6 + local.get 1 + local.get 4 + local.get 9 + i32.load offset=12 + call_indirect (type 8) + br_if 4 (;@2;) + block ;; label = @7 + local.get 7 + br_if 0 (;@7;) + local.get 2 + local.get 4 + i32.le_u + br_if 4 (;@3;) + local.get 1 + local.get 4 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 4 (;@3;) + end + local.get 1 + local.get 4 + i32.add + local.set 1 + local.get 2 + local.get 4 + i32.sub + local.tee 2 + br_if 0 (;@6;) + end + i32.const 0 + local.set 4 + br 4 (;@1;) + end + local.get 6 + i32.const 4 + i32.const 1055112 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 1 + local.get 2 + i32.const 0 + local.get 4 + i32.const 1055612 + call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E + unreachable + end + local.get 1 + local.get 2 + local.get 4 + local.get 2 + i32.const 1055628 + call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E + unreachable + end + i32.const 1 + local.set 4 + end + local.get 3 + i32.const 48 + i32.add + global.set 0 + local.get 4) + (func $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32) + i32.const 0 + local.set 4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.const 3 + i32.and + local.tee 5 + i32.eqz + br_if 0 (;@4;) + i32.const 4 + local.get 5 + i32.sub + local.tee 5 + i32.eqz + br_if 0 (;@4;) + local.get 3 + local.get 5 + local.get 5 + local.get 3 + i32.gt_u + select + local.tee 6 + i32.eqz + br_if 0 (;@4;) + i32.const 0 + local.set 5 + local.get 1 + i32.const 255 + i32.and + local.set 4 + loop ;; label = @5 + local.get 2 + local.get 5 + i32.add + i32.load8_u + local.get 4 + i32.eq + br_if 2 (;@3;) + local.get 6 + local.get 5 + i32.const 1 + i32.add + local.tee 5 + i32.ne + br_if 0 (;@5;) + end + local.get 6 + local.set 4 + end + local.get 3 + i32.const 8 + i32.lt_u + br_if 1 (;@2;) + local.get 4 + local.get 3 + i32.const -8 + i32.add + local.tee 7 + i32.gt_u + br_if 1 (;@2;) + local.get 1 + i32.const 255 + i32.and + i32.const 16843009 + i32.mul + local.set 5 + block ;; label = @4 + loop ;; label = @5 + local.get 2 + local.get 4 + i32.add + local.tee 6 + i32.const 4 + i32.add + i32.load + local.get 5 + i32.xor + local.tee 8 + i32.const -1 + i32.xor + local.get 8 + i32.const -16843009 + i32.add + i32.and + local.get 6 + i32.load + local.get 5 + i32.xor + local.tee 6 + i32.const -1 + i32.xor + local.get 6 + i32.const -16843009 + i32.add + i32.and + i32.or + i32.const -2139062144 + i32.and + br_if 1 (;@4;) + local.get 4 + i32.const 8 + i32.add + local.tee 4 + local.get 7 + i32.le_u + br_if 0 (;@5;) + end + end + local.get 4 + local.get 3 + i32.le_u + br_if 1 (;@2;) + local.get 4 + local.get 3 + i32.const 1054884 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + i32.const 1 + local.set 6 + br 1 (;@1;) + end + i32.const 0 + local.set 5 + i32.const 0 + local.set 6 + block ;; label = @2 + local.get 4 + local.get 3 + i32.eq + br_if 0 (;@2;) + local.get 2 + local.get 4 + i32.add + local.set 2 + local.get 3 + local.get 4 + i32.sub + local.set 8 + i32.const 0 + local.set 5 + local.get 1 + i32.const 255 + i32.and + local.set 6 + block ;; label = @3 + loop ;; label = @4 + local.get 2 + local.get 5 + i32.add + i32.load8_u + local.get 6 + i32.eq + br_if 1 (;@3;) + local.get 8 + local.get 5 + i32.const 1 + i32.add + local.tee 5 + i32.ne + br_if 0 (;@4;) + end + i32.const 0 + local.set 6 + local.get 8 + local.get 4 + i32.add + local.set 5 + br 2 (;@1;) + end + i32.const 1 + local.set 6 + local.get 5 + local.set 5 + end + local.get 5 + local.get 4 + i32.add + local.set 5 + end + local.get 0 + local.get 5 + i32.store offset=4 + local.get 0 + local.get 6 + i32.store) + (func $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i64 i64) + global.get 0 + i32.const 64 + i32.sub + local.tee 3 + global.set 0 + i32.const 1 + local.set 4 + block ;; label = @1 + local.get 0 + i32.load8_u offset=8 + br_if 0 (;@1;) + local.get 0 + i32.load offset=4 + local.set 5 + block ;; label = @2 + local.get 0 + i32.load + local.tee 6 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 4 + local.get 6 + i32.load offset=24 + i32.const 1054501 + i32.const 1054511 + local.get 5 + select + i32.const 2 + i32.const 1 + local.get 5 + select + local.get 6 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + local.get 1 + local.get 0 + i32.load + local.get 2 + i32.load offset=12 + call_indirect (type 3) + local.set 4 + br 1 (;@1;) + end + block ;; label = @2 + local.get 5 + br_if 0 (;@2;) + i32.const 1 + local.set 4 + local.get 6 + i32.load offset=24 + i32.const 1054509 + i32.const 2 + local.get 6 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + local.get 0 + i32.load + local.set 6 + end + i32.const 1 + local.set 4 + local.get 3 + i32.const 1 + i32.store8 offset=23 + local.get 3 + i32.const 52 + i32.add + i32.const 1054468 + i32.store + local.get 3 + local.get 6 + i64.load offset=24 align=4 + i64.store offset=8 + local.get 3 + local.get 3 + i32.const 23 + i32.add + i32.store offset=16 + local.get 6 + i64.load offset=8 align=4 + local.set 7 + local.get 6 + i64.load offset=16 align=4 + local.set 8 + local.get 3 + local.get 6 + i32.load8_u offset=32 + i32.store8 offset=56 + local.get 3 + local.get 8 + i64.store offset=40 + local.get 3 + local.get 7 + i64.store offset=32 + local.get 3 + local.get 6 + i64.load align=4 + i64.store offset=24 + local.get 3 + local.get 3 + i32.const 8 + i32.add + i32.store offset=48 + local.get 1 + local.get 3 + i32.const 24 + i32.add + local.get 2 + i32.load offset=12 + call_indirect (type 3) + br_if 0 (;@1;) + local.get 3 + i32.load offset=48 + i32.const 1054499 + i32.const 2 + local.get 3 + i32.load offset=52 + i32.load offset=12 + call_indirect (type 8) + local.set 4 + end + local.get 0 + local.get 4 + i32.store8 offset=8 + local.get 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.add + i32.store offset=4 + local.get 3 + i32.const 64 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core3fmt8builders10DebugTuple6finish17hf5054e572dd32ba2E (type 5) (param i32) (result i32) + (local i32 i32 i32) + local.get 0 + i32.load8_u offset=8 + local.set 1 + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.const 255 + i32.and + local.set 3 + i32.const 1 + local.set 1 + block ;; label = @2 + local.get 3 + br_if 0 (;@2;) + block ;; label = @3 + local.get 2 + i32.const 1 + i32.ne + br_if 0 (;@3;) + local.get 0 + i32.load8_u offset=9 + i32.eqz + br_if 0 (;@3;) + local.get 0 + i32.load + local.tee 3 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@3;) + i32.const 1 + local.set 1 + local.get 3 + i32.load offset=24 + i32.const 1054512 + i32.const 1 + local.get 3 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@2;) + end + local.get 0 + i32.load + local.tee 1 + i32.load offset=24 + i32.const 1054513 + i32.const 1 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 1 + end + local.get 0 + local.get 1 + i32.store8 offset=8 + end + local.get 1 + i32.const 255 + i32.and + i32.const 0 + i32.ne) + (func $_ZN4core3fmt8builders10DebugInner5entry17h51d95cb3aeb668bbE (type 7) (param i32 i32 i32) + (local i32 i32 i32 i64 i64) + global.get 0 + i32.const 64 + i32.sub + local.tee 3 + global.set 0 + i32.const 1 + local.set 4 + block ;; label = @1 + local.get 0 + i32.load8_u offset=4 + br_if 0 (;@1;) + local.get 0 + i32.load8_u offset=5 + local.set 4 + block ;; label = @2 + local.get 0 + i32.load + local.tee 5 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@2;) + block ;; label = @3 + local.get 4 + i32.const 255 + i32.and + i32.eqz + br_if 0 (;@3;) + i32.const 1 + local.set 4 + local.get 5 + i32.load offset=24 + i32.const 1054501 + i32.const 2 + local.get 5 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 2 (;@1;) + local.get 0 + i32.load + local.set 5 + end + local.get 1 + local.get 5 + local.get 2 + i32.load offset=12 + call_indirect (type 3) + local.set 4 + br 1 (;@1;) + end + block ;; label = @2 + local.get 4 + i32.const 255 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 4 + local.get 5 + i32.load offset=24 + i32.const 1054514 + i32.const 1 + local.get 5 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + local.get 0 + i32.load + local.set 5 + end + i32.const 1 + local.set 4 + local.get 3 + i32.const 1 + i32.store8 offset=23 + local.get 3 + i32.const 52 + i32.add + i32.const 1054468 + i32.store + local.get 3 + local.get 5 + i64.load offset=24 align=4 + i64.store offset=8 + local.get 3 + local.get 3 + i32.const 23 + i32.add + i32.store offset=16 + local.get 5 + i64.load offset=8 align=4 + local.set 6 + local.get 5 + i64.load offset=16 align=4 + local.set 7 + local.get 3 + local.get 5 + i32.load8_u offset=32 + i32.store8 offset=56 + local.get 3 + local.get 7 + i64.store offset=40 + local.get 3 + local.get 6 + i64.store offset=32 + local.get 3 + local.get 5 + i64.load align=4 + i64.store offset=24 + local.get 3 + local.get 3 + i32.const 8 + i32.add + i32.store offset=48 + local.get 1 + local.get 3 + i32.const 24 + i32.add + local.get 2 + i32.load offset=12 + call_indirect (type 3) + br_if 0 (;@1;) + local.get 3 + i32.load offset=48 + i32.const 1054499 + i32.const 2 + local.get 3 + i32.load offset=52 + i32.load offset=12 + call_indirect (type 8) + local.set 4 + end + local.get 0 + i32.const 1 + i32.store8 offset=5 + local.get 0 + local.get 4 + i32.store8 offset=4 + local.get 3 + i32.const 64 + i32.add + global.set 0) + (func $_ZN4core3fmt8builders8DebugSet5entry17hcec6345aa501ef45E (type 8) (param i32 i32 i32) (result i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN4core3fmt8builders10DebugInner5entry17h51d95cb3aeb668bbE + local.get 0) + (func $_ZN4core3fmt8builders9DebugList6finish17hbd08192effc20d79E (type 5) (param i32) (result i32) + (local i32) + i32.const 1 + local.set 1 + block ;; label = @1 + local.get 0 + i32.load8_u offset=4 + br_if 0 (;@1;) + local.get 0 + i32.load + local.tee 0 + i32.load offset=24 + i32.const 1054532 + i32.const 1 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 1 + end + local.get 1) + (func $_ZN4core3fmt5Write10write_char17h9446e22d80409ee0E (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + i32.const 0 + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 1 + i32.const 2048 + i32.lt_u + br_if 1 (;@3;) + local.get 2 + i32.const 12 + i32.add + local.set 3 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 2 (;@2;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.get 1 + i32.store8 offset=12 + local.get 2 + i32.const 12 + i32.add + local.set 3 + i32.const 1 + local.set 1 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + local.get 2 + i32.const 12 + i32.add + local.set 3 + i32.const 2 + local.set 1 + br 1 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set 1 + end + local.get 0 + local.get 3 + local.get 1 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE + local.set 1 + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN4core3fmt5Write9write_fmt17h6f04c3f5d7115a7dE (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1054776 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17hb3f289137b2fd88fE (type 8) (param i32 i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + local.get 2 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h96c3b1b942e129b3E (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load + local.set 0 + local.get 2 + i32.const 0 + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 1 + i32.const 2048 + i32.lt_u + br_if 1 (;@3;) + local.get 2 + i32.const 12 + i32.add + local.set 3 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 2 (;@2;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.get 1 + i32.store8 offset=12 + local.get 2 + i32.const 12 + i32.add + local.set 3 + i32.const 1 + local.set 1 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + local.get 2 + i32.const 12 + i32.add + local.set 3 + i32.const 2 + local.set 1 + br 1 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set 1 + end + local.get 0 + local.get 3 + local.get 1 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE + local.set 1 + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hcaddaae78279c2cdE (type 3) (param i32 i32) (result i32) + (local i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 2 + local.get 0 + i32.load + i32.store offset=4 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 2 + i32.const 4 + i32.add + i32.const 1054776 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17h74a61b11f6dc7b9dE (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 1 + i32.const 28 + i32.add + i32.load + local.set 3 + local.get 1 + i32.load offset=24 + local.set 1 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 0 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 0 + i64.load align=4 + i64.store offset=8 + local.get 1 + local.get 3 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 0 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E (type 13) (param i32 i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.eqz + br_if 0 (;@2;) + i32.const 43 + i32.const 1114112 + local.get 0 + i32.load + local.tee 6 + i32.const 1 + i32.and + local.tee 1 + select + local.set 7 + local.get 1 + local.get 5 + i32.add + local.set 8 + br 1 (;@1;) + end + local.get 5 + i32.const 1 + i32.add + local.set 8 + local.get 0 + i32.load + local.set 6 + i32.const 45 + local.set 7 + end + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 0 + local.set 2 + br 1 (;@1;) + end + i32.const 0 + local.set 9 + block ;; label = @2 + local.get 3 + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.set 10 + local.get 2 + local.set 1 + loop ;; label = @3 + local.get 9 + local.get 1 + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + i32.add + local.set 9 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@3;) + end + end + local.get 8 + local.get 3 + i32.add + local.get 9 + i32.sub + local.set 8 + end + i32.const 1 + local.set 1 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.eq + br_if 0 (;@2;) + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E + br_if 1 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 1 + br 1 (;@1;) + end + block ;; label = @2 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 9 + local.get 8 + i32.gt_u + br_if 0 (;@2;) + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E + br_if 1 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + return + end + block ;; label = @2 + block ;; label = @3 + local.get 6 + i32.const 8 + i32.and + br_if 0 (;@3;) + i32.const 0 + local.set 1 + local.get 9 + local.get 8 + i32.sub + local.tee 9 + local.set 8 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + i32.const 1 + local.get 0 + i32.load8_u offset=32 + local.tee 10 + local.get 10 + i32.const 3 + i32.eq + select + br_table 2 (;@4;) 1 (;@5;) 0 (;@6;) 1 (;@5;) 2 (;@4;) + end + local.get 9 + i32.const 1 + i32.shr_u + local.set 1 + local.get 9 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 8 + br 1 (;@4;) + end + i32.const 0 + local.set 8 + local.get 9 + local.set 1 + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + loop ;; label = @4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.eqz + br_if 2 (;@2;) + local.get 0 + i32.load offset=24 + local.get 0 + i32.load offset=4 + local.get 0 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@4;) + end + i32.const 1 + return + end + local.get 0 + i32.load offset=4 + local.set 6 + local.get 0 + i32.const 48 + i32.store offset=4 + local.get 0 + i32.load8_u offset=32 + local.set 11 + i32.const 1 + local.set 1 + local.get 0 + i32.const 1 + i32.store8 offset=32 + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E + br_if 1 (;@1;) + i32.const 0 + local.set 1 + local.get 9 + local.get 8 + i32.sub + local.tee 10 + local.set 3 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + i32.const 1 + local.get 0 + i32.load8_u offset=32 + local.tee 9 + local.get 9 + i32.const 3 + i32.eq + select + br_table 2 (;@3;) 1 (;@4;) 0 (;@5;) 1 (;@4;) 2 (;@3;) + end + local.get 10 + i32.const 1 + i32.shr_u + local.set 1 + local.get 10 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 3 + br 1 (;@3;) + end + i32.const 0 + local.set 3 + local.get 10 + local.set 1 + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.eqz + br_if 1 (;@3;) + local.get 0 + i32.load offset=24 + local.get 0 + i32.load offset=4 + local.get 0 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@4;) + end + i32.const 1 + return + end + local.get 0 + i32.load offset=4 + local.set 10 + i32.const 1 + local.set 1 + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@1;) + local.get 3 + i32.const 1 + i32.add + local.set 9 + local.get 0 + i32.load offset=28 + local.set 3 + local.get 0 + i32.load offset=24 + local.set 2 + block ;; label = @3 + loop ;; label = @4 + local.get 9 + i32.const -1 + i32.add + local.tee 9 + i32.eqz + br_if 1 (;@3;) + i32.const 1 + local.set 1 + local.get 2 + local.get 10 + local.get 3 + i32.load offset=16 + call_indirect (type 3) + br_if 3 (;@1;) + br 0 (;@4;) + end + end + local.get 0 + local.get 11 + i32.store8 offset=32 + local.get 0 + local.get 6 + i32.store offset=4 + i32.const 0 + return + end + local.get 0 + i32.load offset=4 + local.set 10 + i32.const 1 + local.set 1 + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E + br_if 0 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 8) + br_if 0 (;@1;) + local.get 8 + i32.const 1 + i32.add + local.set 9 + local.get 0 + i32.load offset=28 + local.set 3 + local.get 0 + i32.load offset=24 + local.set 0 + loop ;; label = @2 + block ;; label = @3 + local.get 9 + i32.const -1 + i32.add + local.tee 9 + br_if 0 (;@3;) + i32.const 0 + return + end + i32.const 1 + local.set 1 + local.get 0 + local.get 10 + local.get 3 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@2;) + end + end + local.get 1) + (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E (type 9) (param i32 i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 1114112 + i32.eq + br_if 0 (;@2;) + i32.const 1 + local.set 4 + local.get 0 + i32.load offset=24 + local.get 1 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect (type 3) + br_if 1 (;@1;) + end + block ;; label = @2 + local.get 2 + br_if 0 (;@2;) + i32.const 0 + return + end + local.get 0 + i32.load offset=24 + local.get 2 + local.get 3 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 4 + end + local.get 4) + (func $_ZN4core3fmt9Formatter9write_str17h545f61f492283d6dE (type 8) (param i32 i32 i32) (result i32) + local.get 0 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8)) + (func $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 3 + local.get 0 + i32.load offset=24 + local.set 0 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store offset=8 + local.get 0 + local.get 3 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17hf78275652148e08fE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set 0 + local.get 1) + (func $_ZN4core3fmt9Formatter15debug_lower_hex17hce81659868cce5baE (type 5) (param i32) (result i32) + local.get 0 + i32.load8_u + i32.const 16 + i32.and + i32.const 4 + i32.shr_u) + (func $_ZN4core3fmt9Formatter15debug_upper_hex17h19a78e2dfbd00c52E (type 5) (param i32) (result i32) + local.get 0 + i32.load8_u + i32.const 32 + i32.and + i32.const 5 + i32.shr_u) + (func $_ZN4core3fmt9Formatter11debug_tuple17hafbe9eaebee7e85bE (type 4) (param i32 i32 i32 i32) + local.get 0 + local.get 1 + i32.load offset=24 + local.get 2 + local.get 3 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + i32.store8 offset=8 + local.get 0 + local.get 1 + i32.store + local.get 0 + local.get 3 + i32.eqz + i32.store8 offset=9 + local.get 0 + i32.const 0 + i32.store offset=4) + (func $_ZN4core3fmt9Formatter10debug_list17haf359c45ea555102E (type 6) (param i32 i32) + (local i32) + local.get 1 + i32.load offset=24 + i32.const 1054515 + i32.const 1 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 2 + local.get 0 + i32.const 0 + i32.store8 offset=5 + local.get 0 + local.get 2 + i32.store8 offset=4 + local.get 0 + local.get 1 + i32.store) + (func $_ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17h10ad0684667415e1E (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load offset=24 + local.get 1 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect (type 3)) + (func $_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h7843956b8f6f7061E (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64) + global.get 0 + i32.const 32 + i32.sub + local.tee 3 + global.set 0 + i32.const 1 + local.set 4 + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.load offset=24 + i32.const 34 + local.get 2 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect (type 3) + br_if 0 (;@2;) + block ;; label = @3 + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + i32.const 0 + local.set 5 + br 1 (;@3;) + end + local.get 0 + local.get 1 + i32.add + local.set 6 + i32.const 0 + local.set 5 + local.get 0 + local.set 7 + i32.const 0 + local.set 8 + block ;; label = @4 + loop ;; label = @5 + local.get 7 + local.set 9 + local.get 7 + i32.const 1 + i32.add + local.set 10 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 7 + i32.load8_s + local.tee 11 + i32.const -1 + i32.gt_s + br_if 0 (;@8;) + block ;; label = @9 + block ;; label = @10 + local.get 10 + local.get 6 + i32.ne + br_if 0 (;@10;) + i32.const 0 + local.set 12 + local.get 6 + local.set 7 + br 1 (;@9;) + end + local.get 7 + i32.load8_u offset=1 + i32.const 63 + i32.and + local.set 12 + local.get 7 + i32.const 2 + i32.add + local.tee 10 + local.set 7 + end + local.get 11 + i32.const 31 + i32.and + local.set 4 + block ;; label = @9 + local.get 11 + i32.const 255 + i32.and + local.tee 11 + i32.const 223 + i32.gt_u + br_if 0 (;@9;) + local.get 12 + local.get 4 + i32.const 6 + i32.shl + i32.or + local.set 12 + br 2 (;@7;) + end + block ;; label = @9 + block ;; label = @10 + local.get 7 + local.get 6 + i32.ne + br_if 0 (;@10;) + i32.const 0 + local.set 13 + local.get 6 + local.set 14 + br 1 (;@9;) + end + local.get 7 + i32.load8_u + i32.const 63 + i32.and + local.set 13 + local.get 7 + i32.const 1 + i32.add + local.tee 10 + local.set 14 + end + local.get 13 + local.get 12 + i32.const 6 + i32.shl + i32.or + local.set 12 + block ;; label = @9 + local.get 11 + i32.const 240 + i32.ge_u + br_if 0 (;@9;) + local.get 12 + local.get 4 + i32.const 12 + i32.shl + i32.or + local.set 12 + br 2 (;@7;) + end + block ;; label = @9 + block ;; label = @10 + local.get 14 + local.get 6 + i32.ne + br_if 0 (;@10;) + i32.const 0 + local.set 11 + local.get 10 + local.set 7 + br 1 (;@9;) + end + local.get 14 + i32.const 1 + i32.add + local.set 7 + local.get 14 + i32.load8_u + i32.const 63 + i32.and + local.set 11 + end + local.get 12 + i32.const 6 + i32.shl + local.get 4 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.get 11 + i32.or + local.tee 12 + i32.const 1114112 + i32.ne + br_if 2 (;@6;) + br 4 (;@4;) + end + local.get 11 + i32.const 255 + i32.and + local.set 12 + end + local.get 10 + local.set 7 + end + i32.const 2 + local.set 10 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 12 + i32.const -9 + i32.add + local.tee 11 + i32.const 30 + i32.le_u + br_if 0 (;@11;) + local.get 12 + i32.const 92 + i32.ne + br_if 1 (;@10;) + br 2 (;@9;) + end + i32.const 116 + local.set 14 + block ;; label = @11 + block ;; label = @12 + local.get 11 + br_table 5 (;@7;) 1 (;@11;) 2 (;@10;) 2 (;@10;) 0 (;@12;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 3 (;@9;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 3 (;@9;) 5 (;@7;) + end + i32.const 114 + local.set 14 + br 4 (;@7;) + end + i32.const 110 + local.set 14 + br 3 (;@7;) + end + block ;; label = @10 + local.get 12 + call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E + br_if 0 (;@10;) + block ;; label = @11 + block ;; label = @12 + local.get 12 + i32.const 65536 + i32.lt_u + br_if 0 (;@12;) + local.get 12 + i32.const 131072 + i32.lt_u + br_if 1 (;@11;) + local.get 12 + i32.const -918000 + i32.add + i32.const 196112 + i32.lt_u + br_if 2 (;@10;) + local.get 12 + i32.const -201547 + i32.add + i32.const 716213 + i32.lt_u + br_if 2 (;@10;) + local.get 12 + i32.const -195102 + i32.add + i32.const 1506 + i32.lt_u + br_if 2 (;@10;) + local.get 12 + i32.const -191457 + i32.add + i32.const 3103 + i32.lt_u + br_if 2 (;@10;) + local.get 12 + i32.const -183970 + i32.add + i32.const 14 + i32.lt_u + br_if 2 (;@10;) + local.get 12 + i32.const 2097150 + i32.and + i32.const 178206 + i32.eq + br_if 2 (;@10;) + local.get 12 + i32.const -173790 + i32.add + i32.const 34 + i32.lt_u + br_if 2 (;@10;) + local.get 12 + i32.const -177973 + i32.add + i32.const 10 + i32.le_u + br_if 2 (;@10;) + br 6 (;@6;) + end + local.get 12 + i32.const 1055932 + i32.const 41 + i32.const 1056014 + i32.const 290 + i32.const 1056304 + i32.const 309 + call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E + i32.eqz + br_if 1 (;@10;) + br 5 (;@6;) + end + local.get 12 + i32.const 1056613 + i32.const 38 + i32.const 1056689 + i32.const 175 + i32.const 1056864 + i32.const 419 + call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E + br_if 4 (;@6;) + end + local.get 12 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set 15 + i32.const 3 + local.set 10 + br 1 (;@8;) + end + end + local.get 12 + local.set 14 + end + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 3 + local.get 5 + i32.store offset=8 + local.get 3 + local.get 8 + i32.store offset=12 + block ;; label = @7 + block ;; label = @8 + local.get 8 + local.get 5 + i32.lt_u + br_if 0 (;@8;) + block ;; label = @9 + local.get 5 + i32.eqz + br_if 0 (;@9;) + local.get 5 + local.get 1 + i32.eq + br_if 0 (;@9;) + local.get 5 + local.get 1 + i32.ge_u + br_if 1 (;@8;) + local.get 0 + local.get 5 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 1 (;@8;) + end + block ;; label = @9 + local.get 8 + i32.eqz + br_if 0 (;@9;) + local.get 8 + local.get 1 + i32.eq + br_if 0 (;@9;) + local.get 8 + local.get 1 + i32.ge_u + br_if 1 (;@8;) + local.get 0 + local.get 8 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 1 (;@8;) + end + local.get 2 + i32.load offset=24 + local.get 0 + local.get 5 + i32.add + local.get 8 + local.get 5 + i32.sub + local.get 2 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 8) + i32.eqz + br_if 1 (;@7;) + i32.const 1 + local.set 4 + br 6 (;@2;) + end + local.get 3 + local.get 3 + i32.const 12 + i32.add + i32.store offset=24 + local.get 3 + local.get 3 + i32.const 8 + i32.add + i32.store offset=20 + local.get 3 + local.get 3 + i32.store offset=16 + local.get 3 + i32.const 16 + i32.add + call $_ZN4core3str6traits101_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..Range$LT$usize$GT$$GT$5index28_$u7b$$u7b$closure$u7d$$u7d$17hff5efd4ea80ffcf2E + unreachable + end + loop ;; label = @7 + local.get 10 + local.set 11 + i32.const 1 + local.set 4 + i32.const 92 + local.set 5 + i32.const 1 + local.set 10 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + local.get 11 + br_table 2 (;@11;) 1 (;@12;) 5 (;@8;) 0 (;@13;) 2 (;@11;) + end + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + local.get 15 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 255 + i32.and + br_table 5 (;@11;) 3 (;@13;) 2 (;@14;) 1 (;@15;) 0 (;@16;) 6 (;@10;) 5 (;@11;) + end + local.get 15 + i64.const -1095216660481 + i64.and + i64.const 12884901888 + i64.or + local.set 15 + i32.const 3 + local.set 10 + i32.const 117 + local.set 5 + br 7 (;@8;) + end + local.get 15 + i64.const -1095216660481 + i64.and + i64.const 8589934592 + i64.or + local.set 15 + i32.const 3 + local.set 10 + i32.const 123 + local.set 5 + br 6 (;@8;) + end + local.get 14 + local.get 15 + i32.wrap_i64 + local.tee 11 + i32.const 2 + i32.shl + i32.const 28 + i32.and + i32.shr_u + i32.const 15 + i32.and + local.tee 10 + i32.const 48 + i32.or + local.get 10 + i32.const 87 + i32.add + local.get 10 + i32.const 10 + i32.lt_u + select + local.set 5 + block ;; label = @14 + local.get 11 + i32.eqz + br_if 0 (;@14;) + local.get 15 + i64.const -1 + i64.add + i64.const 4294967295 + i64.and + local.get 15 + i64.const -4294967296 + i64.and + i64.or + local.set 15 + br 5 (;@9;) + end + local.get 15 + i64.const -1095216660481 + i64.and + i64.const 4294967296 + i64.or + local.set 15 + br 4 (;@9;) + end + local.get 15 + i64.const -1095216660481 + i64.and + local.set 15 + i32.const 3 + local.set 10 + i32.const 125 + local.set 5 + br 4 (;@8;) + end + i32.const 0 + local.set 10 + local.get 14 + local.set 5 + br 3 (;@8;) + end + i32.const 1 + local.set 10 + block ;; label = @11 + local.get 12 + i32.const 128 + i32.lt_u + br_if 0 (;@11;) + i32.const 2 + local.set 10 + local.get 12 + i32.const 2048 + i32.lt_u + br_if 0 (;@11;) + i32.const 3 + i32.const 4 + local.get 12 + i32.const 65536 + i32.lt_u + select + local.set 10 + end + local.get 10 + local.get 8 + i32.add + local.set 5 + br 4 (;@6;) + end + local.get 15 + i64.const -1095216660481 + i64.and + i64.const 17179869184 + i64.or + local.set 15 + end + i32.const 3 + local.set 10 + end + local.get 2 + i32.load offset=24 + local.get 5 + local.get 2 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@7;) + br 5 (;@2;) + end + end + local.get 8 + local.get 9 + i32.sub + local.get 7 + i32.add + local.set 8 + local.get 6 + local.get 7 + i32.ne + br_if 0 (;@5;) + end + end + local.get 5 + i32.eqz + br_if 0 (;@3;) + local.get 5 + local.get 1 + i32.eq + br_if 0 (;@3;) + local.get 5 + local.get 1 + i32.ge_u + br_if 2 (;@1;) + local.get 0 + local.get 5 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 2 (;@1;) + end + i32.const 1 + local.set 4 + local.get 2 + i32.load offset=24 + local.get 0 + local.get 5 + i32.add + local.get 1 + local.get 5 + i32.sub + local.get 2 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 8) + br_if 0 (;@2;) + local.get 2 + i32.load offset=24 + i32.const 34 + local.get 2 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + local.set 4 + end + local.get 3 + i32.const 32 + i32.add + global.set 0 + local.get 4 + return + end + local.get 0 + local.get 1 + local.get 5 + local.get 1 + i32.const 1055628 + call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E + unreachable) + (func $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E (type 5) (param i32) (result i32) + (local i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + i32.const 15 + local.get 0 + i32.const 68900 + i32.lt_u + select + local.tee 1 + local.get 1 + i32.const 8 + i32.add + local.tee 1 + local.get 1 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 11 + i32.shl + local.get 0 + i32.const 11 + i32.shl + local.tee 1 + i32.gt_u + select + local.tee 2 + local.get 2 + i32.const 4 + i32.add + local.tee 2 + local.get 2 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 11 + i32.shl + local.get 1 + i32.gt_u + select + local.tee 2 + local.get 2 + i32.const 2 + i32.add + local.tee 2 + local.get 2 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 11 + i32.shl + local.get 1 + i32.gt_u + select + local.tee 2 + local.get 2 + i32.const 1 + i32.add + local.tee 2 + local.get 2 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 11 + i32.shl + local.get 1 + i32.gt_u + select + local.tee 2 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 11 + i32.shl + local.tee 3 + local.get 1 + i32.eq + local.get 3 + local.get 1 + i32.lt_u + i32.add + local.get 2 + i32.add + local.tee 1 + i32.const 30 + i32.gt_u + br_if 0 (;@3;) + i32.const 689 + local.set 3 + block ;; label = @4 + local.get 1 + i32.const 30 + i32.eq + br_if 0 (;@4;) + local.get 1 + i32.const 2 + i32.shl + i32.const 1057444 + i32.add + i32.load + i32.const 21 + i32.shr_u + local.set 3 + end + i32.const 0 + local.set 2 + block ;; label = @4 + local.get 1 + i32.const -1 + i32.add + local.tee 4 + local.get 1 + i32.gt_u + br_if 0 (;@4;) + local.get 4 + i32.const 31 + i32.ge_u + br_if 3 (;@1;) + local.get 4 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 2097151 + i32.and + local.set 2 + end + block ;; label = @4 + local.get 3 + local.get 1 + i32.const 2 + i32.shl + i32.const 1057440 + i32.add + i32.load + i32.const 21 + i32.shr_u + local.tee 1 + i32.const 1 + i32.add + i32.eq + br_if 0 (;@4;) + local.get 0 + local.get 2 + i32.sub + local.set 2 + local.get 3 + i32.const -1 + i32.add + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @5 + local.get 1 + i32.const 688 + i32.gt_u + br_if 3 (;@2;) + local.get 0 + local.get 1 + i32.const 1057564 + i32.add + i32.load8_u + i32.add + local.tee 0 + local.get 2 + i32.gt_u + br_if 1 (;@4;) + local.get 3 + local.get 1 + i32.const 1 + i32.add + local.tee 1 + i32.ne + br_if 0 (;@5;) + end + local.get 3 + local.set 1 + end + local.get 1 + i32.const 1 + i32.and + return + end + local.get 1 + i32.const 31 + i32.const 1057320 + call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE + unreachable + end + local.get 1 + i32.const 689 + i32.const 1057336 + call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE + unreachable + end + local.get 4 + i32.const 31 + i32.const 1057352 + call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE + unreachable) + (func $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E (type 14) (param i32 i32 i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + i32.const 1 + local.set 7 + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 2 + i32.const 1 + i32.shl + i32.add + local.set 8 + local.get 0 + i32.const 65280 + i32.and + i32.const 8 + i32.shr_u + local.set 9 + i32.const 0 + local.set 10 + local.get 0 + i32.const 255 + i32.and + local.set 11 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + i32.const 2 + i32.add + local.set 12 + local.get 10 + local.get 1 + i32.load8_u offset=1 + local.tee 2 + i32.add + local.set 13 + block ;; label = @5 + local.get 1 + i32.load8_u + local.tee 1 + local.get 9 + i32.eq + br_if 0 (;@5;) + local.get 1 + local.get 9 + i32.gt_u + br_if 3 (;@2;) + local.get 13 + local.set 10 + local.get 12 + local.set 1 + local.get 12 + local.get 8 + i32.ne + br_if 1 (;@4;) + br 3 (;@2;) + end + block ;; label = @5 + local.get 13 + local.get 10 + i32.lt_u + br_if 0 (;@5;) + local.get 13 + local.get 4 + i32.gt_u + br_if 2 (;@3;) + local.get 3 + local.get 10 + i32.add + local.set 1 + block ;; label = @6 + loop ;; label = @7 + local.get 2 + i32.eqz + br_if 1 (;@6;) + local.get 2 + i32.const -1 + i32.add + local.set 2 + local.get 1 + i32.load8_u + local.set 10 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 10 + local.get 11 + i32.ne + br_if 0 (;@7;) + end + i32.const 0 + local.set 7 + br 5 (;@1;) + end + local.get 13 + local.set 10 + local.get 12 + local.set 1 + local.get 12 + local.get 8 + i32.ne + br_if 1 (;@4;) + br 3 (;@2;) + end + end + local.get 10 + local.get 13 + i32.const 1055900 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 13 + local.get 4 + i32.const 1055900 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 6 + i32.eqz + br_if 0 (;@1;) + local.get 5 + local.get 6 + i32.add + local.set 11 + local.get 0 + i32.const 65535 + i32.and + local.set 1 + i32.const 1 + local.set 7 + block ;; label = @2 + loop ;; label = @3 + local.get 5 + i32.const 1 + i32.add + local.set 10 + block ;; label = @4 + block ;; label = @5 + local.get 5 + i32.load8_u + local.tee 2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee 13 + i32.const 0 + i32.lt_s + br_if 0 (;@5;) + local.get 10 + local.set 5 + br 1 (;@4;) + end + local.get 10 + local.get 11 + i32.eq + br_if 2 (;@2;) + local.get 13 + i32.const 127 + i32.and + i32.const 8 + i32.shl + local.get 5 + i32.load8_u offset=1 + i32.or + local.set 2 + local.get 5 + i32.const 2 + i32.add + local.set 5 + end + local.get 1 + local.get 2 + i32.sub + local.tee 1 + i32.const 0 + i32.lt_s + br_if 2 (;@1;) + local.get 7 + i32.const 1 + i32.xor + local.set 7 + local.get 5 + local.get 11 + i32.ne + br_if 0 (;@3;) + br 2 (;@1;) + end + end + i32.const 1054285 + i32.const 43 + i32.const 1055916 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 7 + i32.const 1 + i32.and) + (func $_ZN4core3str6traits101_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..Range$LT$usize$GT$$GT$5index28_$u7b$$u7b$closure$u7d$$u7d$17hff5efd4ea80ffcf2E (type 1) (param i32) + (local i32) + local.get 0 + i32.load + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + local.get 0 + i32.load offset=4 + i32.load + local.get 0 + i32.load offset=8 + i32.load + i32.const 1055596 + call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E + unreachable) + (func $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E (type 8) (param i32 i32 i32) (result i32) + local.get 2 + local.get 0 + local.get 1 + call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E) + (func $_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h3e5fc21d5d0a9a89E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i64) + i32.const 1 + local.set 2 + block ;; label = @1 + local.get 1 + i32.load offset=24 + i32.const 39 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect (type 3) + br_if 0 (;@1;) + i32.const 2 + local.set 3 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load + local.tee 0 + i32.const -9 + i32.add + local.tee 4 + i32.const 30 + i32.le_u + br_if 0 (;@6;) + local.get 0 + i32.const 92 + i32.ne + br_if 1 (;@5;) + br 2 (;@4;) + end + i32.const 116 + local.set 5 + block ;; label = @6 + block ;; label = @7 + local.get 4 + br_table 5 (;@2;) 1 (;@6;) 2 (;@5;) 2 (;@5;) 0 (;@7;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 3 (;@4;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 3 (;@4;) 5 (;@2;) + end + i32.const 114 + local.set 5 + br 4 (;@2;) + end + i32.const 110 + local.set 5 + br 3 (;@2;) + end + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 0 + call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E + br_if 0 (;@7;) + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + local.get 0 + i32.const 65536 + i32.lt_u + br_if 0 (;@10;) + local.get 0 + i32.const 131072 + i32.lt_u + br_if 1 (;@9;) + local.get 0 + i32.const -918000 + i32.add + i32.const 196112 + i32.lt_u + br_if 2 (;@8;) + local.get 0 + i32.const -201547 + i32.add + i32.const 716213 + i32.lt_u + br_if 2 (;@8;) + local.get 0 + i32.const -195102 + i32.add + i32.const 1506 + i32.lt_u + br_if 2 (;@8;) + local.get 0 + i32.const -191457 + i32.add + i32.const 3103 + i32.lt_u + br_if 2 (;@8;) + local.get 0 + i32.const -183970 + i32.add + i32.const 14 + i32.lt_u + br_if 2 (;@8;) + local.get 0 + i32.const 2097150 + i32.and + i32.const 178206 + i32.eq + br_if 2 (;@8;) + local.get 0 + i32.const -173790 + i32.add + i32.const 34 + i32.lt_u + br_if 2 (;@8;) + local.get 0 + i32.const -177973 + i32.add + i32.const 10 + i32.gt_u + br_if 5 (;@5;) + br 2 (;@8;) + end + local.get 0 + i32.const 1055932 + i32.const 41 + i32.const 1056014 + i32.const 290 + i32.const 1056304 + i32.const 309 + call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E + i32.eqz + br_if 1 (;@8;) + br 4 (;@5;) + end + local.get 0 + i32.const 1056613 + i32.const 38 + i32.const 1056689 + i32.const 175 + i32.const 1056864 + i32.const 419 + call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E + br_if 3 (;@5;) + end + local.get 0 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set 6 + br 1 (;@6;) + end + local.get 0 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set 6 + end + i32.const 3 + local.set 3 + br 2 (;@3;) + end + i32.const 1 + local.set 3 + br 1 (;@3;) + end + end + local.get 0 + local.set 5 + end + loop ;; label = @2 + local.get 3 + local.set 4 + i32.const 92 + local.set 0 + i32.const 1 + local.set 2 + i32.const 1 + local.set 3 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 4 + br_table 2 (;@6;) 1 (;@7;) 5 (;@3;) 0 (;@8;) 2 (;@6;) + end + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 255 + i32.and + br_table 5 (;@6;) 3 (;@8;) 2 (;@9;) 1 (;@10;) 0 (;@11;) 6 (;@5;) 5 (;@6;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 12884901888 + i64.or + local.set 6 + i32.const 117 + local.set 0 + br 6 (;@4;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 8589934592 + i64.or + local.set 6 + i32.const 123 + local.set 0 + br 5 (;@4;) + end + local.get 5 + local.get 6 + i32.wrap_i64 + local.tee 4 + i32.const 2 + i32.shl + i32.const 28 + i32.and + i32.shr_u + i32.const 15 + i32.and + local.tee 3 + i32.const 48 + i32.or + local.get 3 + i32.const 87 + i32.add + local.get 3 + i32.const 10 + i32.lt_u + select + local.set 0 + block ;; label = @9 + local.get 4 + i32.eqz + br_if 0 (;@9;) + local.get 6 + i64.const -1 + i64.add + i64.const 4294967295 + i64.and + local.get 6 + i64.const -4294967296 + i64.and + i64.or + local.set 6 + br 5 (;@4;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 4294967296 + i64.or + local.set 6 + br 4 (;@4;) + end + local.get 6 + i64.const -1095216660481 + i64.and + local.set 6 + i32.const 125 + local.set 0 + br 3 (;@4;) + end + i32.const 0 + local.set 3 + local.get 5 + local.set 0 + br 3 (;@3;) + end + local.get 1 + i32.load offset=24 + i32.const 39 + local.get 1 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + return + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 17179869184 + i64.or + local.set 6 + end + i32.const 3 + local.set 3 + end + local.get 1 + i32.load offset=24 + local.get 0 + local.get 1 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + i32.eqz + br_if 0 (;@2;) + end + end + local.get 2) + (func $_ZN4core5slice6memchr7memrchr17h4b8437429e29ecf5E (type 4) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + local.get 3 + i32.const 0 + local.get 3 + i32.const 4 + local.get 2 + i32.const 3 + i32.and + local.tee 4 + i32.sub + i32.const 0 + local.get 4 + select + local.tee 5 + i32.sub + i32.const 7 + i32.and + local.get 3 + local.get 5 + i32.lt_u + local.tee 6 + select + local.tee 4 + i32.sub + local.set 7 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 3 + local.get 4 + i32.lt_u + br_if 0 (;@4;) + local.get 3 + local.get 5 + local.get 6 + select + local.set 8 + local.get 2 + local.get 7 + i32.add + local.get 2 + local.get 3 + i32.add + local.tee 5 + i32.sub + local.set 6 + local.get 5 + i32.const -1 + i32.add + local.set 5 + local.get 1 + i32.const 255 + i32.and + local.set 9 + block ;; label = @5 + loop ;; label = @6 + local.get 4 + i32.eqz + br_if 1 (;@5;) + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 4 + i32.const -1 + i32.add + local.set 4 + local.get 5 + i32.load8_u + local.set 10 + local.get 5 + i32.const -1 + i32.add + local.set 5 + local.get 10 + local.get 9 + i32.ne + br_if 0 (;@6;) + end + local.get 7 + local.get 6 + i32.sub + local.set 4 + br 3 (;@2;) + end + local.get 1 + i32.const 255 + i32.and + i32.const 16843009 + i32.mul + local.set 5 + block ;; label = @5 + loop ;; label = @6 + local.get 7 + local.tee 4 + local.get 8 + i32.le_u + br_if 1 (;@5;) + local.get 4 + i32.const -8 + i32.add + local.set 7 + local.get 2 + local.get 4 + i32.add + local.tee 6 + i32.const -4 + i32.add + i32.load + local.get 5 + i32.xor + local.tee 10 + i32.const -1 + i32.xor + local.get 10 + i32.const -16843009 + i32.add + i32.and + local.get 6 + i32.const -8 + i32.add + i32.load + local.get 5 + i32.xor + local.tee 6 + i32.const -1 + i32.xor + local.get 6 + i32.const -16843009 + i32.add + i32.and + i32.or + i32.const -2139062144 + i32.and + i32.eqz + br_if 0 (;@6;) + end + end + local.get 4 + local.get 3 + i32.gt_u + br_if 1 (;@3;) + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 1 + i32.const 255 + i32.and + local.set 10 + loop ;; label = @5 + block ;; label = @6 + local.get 4 + br_if 0 (;@6;) + i32.const 0 + local.set 5 + br 5 (;@1;) + end + local.get 6 + local.get 4 + i32.add + local.set 5 + local.get 4 + i32.const -1 + i32.add + local.set 4 + local.get 5 + i32.load8_u + local.get 10 + i32.eq + br_if 3 (;@2;) + br 0 (;@5;) + end + end + local.get 7 + local.get 3 + i32.const 1054900 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 4 + local.get 3 + i32.const 1054916 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + i32.const 1 + local.set 5 + end + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store) + (func $_ZN4core5slice25slice_index_overflow_fail17h55e360d291e497e5E (type 1) (param i32) + i32.const 1055040 + i32.const 44 + local.get 0 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable) + (func $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE (type 7) (param i32 i32 i32) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store) + (func $_ZN4core3str5lossy9Utf8Lossy6chunks17h8921da9536869963E (type 7) (param i32 i32 i32) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store) + (func $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.load + local.set 3 + i32.const 0 + local.set 4 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + loop ;; label = @19 + local.get 4 + i32.const 1 + i32.add + local.set 5 + block ;; label = @20 + block ;; label = @21 + local.get 3 + local.get 4 + i32.add + local.tee 6 + i32.load8_u + local.tee 7 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee 8 + i32.const -1 + i32.le_s + br_if 0 (;@21;) + local.get 5 + local.set 4 + br 1 (;@20;) + end + block ;; label = @21 + block ;; label = @22 + block ;; label = @23 + block ;; label = @24 + local.get 7 + i32.const 1055338 + i32.add + i32.load8_u + i32.const -2 + i32.add + local.tee 9 + i32.const 2 + i32.gt_u + br_if 0 (;@24;) + local.get 9 + br_table 1 (;@23;) 2 (;@22;) 3 (;@21;) 1 (;@23;) + end + local.get 2 + local.get 4 + i32.lt_u + br_if 7 (;@16;) + local.get 2 + local.get 4 + i32.le_u + br_if 8 (;@15;) + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 1 + local.get 3 + local.get 5 + i32.add + i32.store + local.get 0 + i32.const 12 + i32.add + i32.const 1 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + block ;; label = @23 + local.get 3 + local.get 5 + i32.add + local.tee 8 + i32.const 0 + local.get 2 + local.get 5 + i32.gt_u + select + local.tee 7 + i32.const 1054249 + local.get 7 + select + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.ne + br_if 0 (;@23;) + local.get 4 + i32.const 2 + i32.add + local.set 4 + br 3 (;@20;) + end + local.get 2 + local.get 4 + i32.lt_u + br_if 8 (;@14;) + local.get 2 + local.get 4 + i32.le_u + br_if 9 (;@13;) + local.get 1 + local.get 8 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 0 + i32.const 12 + i32.add + i32.const 1 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + local.get 3 + local.get 5 + i32.add + local.tee 10 + i32.const 0 + local.get 2 + local.get 5 + i32.gt_u + select + local.tee 9 + i32.const 1054249 + local.get 9 + select + i32.load8_u + local.set 9 + block ;; label = @22 + block ;; label = @23 + local.get 7 + i32.const -224 + i32.add + local.tee 7 + i32.const 13 + i32.gt_u + br_if 0 (;@23;) + block ;; label = @24 + block ;; label = @25 + local.get 7 + br_table 0 (;@25;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 1 (;@24;) 0 (;@25;) + end + local.get 9 + i32.const 224 + i32.and + i32.const 160 + i32.eq + br_if 2 (;@22;) + br 22 (;@2;) + end + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 21 (;@2;) + local.get 9 + i32.const 255 + i32.and + i32.const 160 + i32.ge_u + br_if 21 (;@2;) + br 1 (;@22;) + end + block ;; label = @23 + local.get 8 + i32.const 31 + i32.add + i32.const 255 + i32.and + i32.const 11 + i32.gt_u + br_if 0 (;@23;) + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 21 (;@2;) + local.get 9 + i32.const 255 + i32.and + i32.const 192 + i32.ge_u + br_if 21 (;@2;) + br 1 (;@22;) + end + local.get 9 + i32.const 255 + i32.and + i32.const 191 + i32.gt_u + br_if 20 (;@2;) + local.get 8 + i32.const 254 + i32.and + i32.const 238 + i32.ne + br_if 20 (;@2;) + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 20 (;@2;) + end + block ;; label = @22 + local.get 3 + local.get 4 + i32.const 2 + i32.add + local.tee 5 + i32.add + local.tee 8 + i32.const 0 + local.get 2 + local.get 5 + i32.gt_u + select + local.tee 7 + i32.const 1054249 + local.get 7 + select + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.ne + br_if 0 (;@22;) + local.get 4 + i32.const 3 + i32.add + local.set 4 + br 2 (;@20;) + end + local.get 2 + local.get 4 + i32.lt_u + br_if 9 (;@12;) + local.get 4 + i32.const -3 + i32.gt_u + br_if 10 (;@11;) + local.get 2 + local.get 5 + i32.lt_u + br_if 11 (;@10;) + local.get 1 + local.get 8 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 0 + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + local.get 3 + local.get 5 + i32.add + local.tee 10 + i32.const 0 + local.get 2 + local.get 5 + i32.gt_u + select + local.tee 9 + i32.const 1054249 + local.get 9 + select + i32.load8_u + local.set 9 + block ;; label = @21 + block ;; label = @22 + local.get 7 + i32.const -240 + i32.add + local.tee 7 + i32.const 4 + i32.gt_u + br_if 0 (;@22;) + block ;; label = @23 + block ;; label = @24 + local.get 7 + br_table 0 (;@24;) 2 (;@22;) 2 (;@22;) 2 (;@22;) 1 (;@23;) 0 (;@24;) + end + local.get 9 + i32.const 112 + i32.add + i32.const 255 + i32.and + i32.const 48 + i32.lt_u + br_if 2 (;@21;) + br 20 (;@3;) + end + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 19 (;@3;) + local.get 9 + i32.const 255 + i32.and + i32.const 144 + i32.ge_u + br_if 19 (;@3;) + br 1 (;@21;) + end + local.get 9 + i32.const 255 + i32.and + i32.const 191 + i32.gt_u + br_if 18 (;@3;) + local.get 8 + i32.const 15 + i32.add + i32.const 255 + i32.and + i32.const 2 + i32.gt_u + br_if 18 (;@3;) + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 18 (;@3;) + end + local.get 3 + local.get 4 + i32.const 2 + i32.add + local.tee 5 + i32.add + local.tee 8 + i32.const 0 + local.get 2 + local.get 5 + i32.gt_u + select + local.tee 7 + i32.const 1054249 + local.get 7 + select + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.ne + br_if 2 (;@18;) + local.get 3 + local.get 4 + i32.const 3 + i32.add + local.tee 5 + i32.add + local.tee 8 + i32.const 0 + local.get 2 + local.get 5 + i32.gt_u + select + local.tee 7 + i32.const 1054249 + local.get 7 + select + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.ne + br_if 3 (;@17;) + local.get 4 + i32.const 4 + i32.add + local.set 4 + end + local.get 4 + local.get 2 + i32.lt_u + br_if 0 (;@19;) + end + local.get 1 + i32.const 0 + i32.store offset=4 + local.get 1 + i32.const 1054248 + i32.store + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 0 + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get 0 + i32.const 8 + i32.add + i32.const 1054248 + i32.store + return + end + local.get 2 + local.get 4 + i32.lt_u + br_if 8 (;@9;) + local.get 4 + i32.const -3 + i32.gt_u + br_if 9 (;@8;) + local.get 2 + local.get 5 + i32.lt_u + br_if 10 (;@7;) + local.get 1 + local.get 8 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 0 + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + local.get 2 + local.get 4 + i32.lt_u + br_if 10 (;@6;) + local.get 4 + i32.const -4 + i32.gt_u + br_if 11 (;@5;) + local.get 2 + local.get 5 + i32.lt_u + br_if 12 (;@4;) + local.get 1 + local.get 8 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 0 + i32.const 12 + i32.add + i32.const 3 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + local.get 4 + local.get 2 + i32.const 1055152 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 5 + local.get 2 + i32.const 1055152 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 2 + i32.const 1055248 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 5 + local.get 2 + i32.const 1055248 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 2 + i32.const 1055216 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 5 + i32.const 1055216 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 5 + local.get 2 + i32.const 1055216 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 2 + i32.const 1055168 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 5 + i32.const 1055168 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 5 + local.get 2 + i32.const 1055168 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 2 + i32.const 1055184 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 4 + local.get 5 + i32.const 1055184 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 5 + local.get 2 + i32.const 1055184 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + block ;; label = @3 + block ;; label = @4 + local.get 2 + local.get 4 + i32.lt_u + br_if 0 (;@4;) + local.get 2 + local.get 4 + i32.le_u + br_if 1 (;@3;) + local.get 1 + local.get 10 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 0 + i32.const 12 + i32.add + i32.const 1 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + local.get 4 + local.get 2 + i32.const 1055200 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 5 + local.get 2 + i32.const 1055200 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + block ;; label = @2 + block ;; label = @3 + local.get 2 + local.get 4 + i32.lt_u + br_if 0 (;@3;) + local.get 2 + local.get 4 + i32.le_u + br_if 1 (;@2;) + local.get 1 + local.get 10 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 1 + local.get 2 + local.get 5 + i32.sub + i32.store offset=4 + local.get 0 + i32.const 12 + i32.add + i32.const 1 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.store + return + end + local.get 4 + local.get 2 + i32.const 1055232 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 5 + local.get 2 + i32.const 1055232 + call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E + unreachable + end + local.get 0 + i32.const 0 + i32.store) + (func $_ZN66_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$3fmt17hb03f341134eb2e55E (type 8) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32) + global.get 0 + i32.const 32 + i32.sub + local.tee 3 + global.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.eqz + br_if 0 (;@3;) + local.get 3 + local.get 1 + i32.store offset=12 + local.get 3 + local.get 0 + i32.store offset=8 + local.get 3 + i32.const 16 + i32.add + local.get 3 + i32.const 8 + i32.add + call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E + block ;; label = @4 + local.get 3 + i32.load offset=16 + local.tee 0 + i32.eqz + br_if 0 (;@4;) + loop ;; label = @5 + local.get 3 + i32.load offset=28 + local.set 4 + local.get 3 + i32.load offset=20 + local.tee 5 + local.get 1 + i32.eq + br_if 3 (;@2;) + i32.const 1 + local.set 6 + local.get 2 + i32.load offset=24 + local.get 0 + local.get 5 + local.get 2 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 8) + br_if 4 (;@1;) + block ;; label = @6 + local.get 4 + i32.eqz + br_if 0 (;@6;) + local.get 2 + i32.load offset=24 + i32.const 65533 + local.get 2 + i32.load offset=28 + i32.load offset=16 + call_indirect (type 3) + br_if 5 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + local.get 3 + i32.const 8 + i32.add + call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E + local.get 3 + i32.load offset=16 + local.tee 0 + br_if 0 (;@5;) + end + end + i32.const 0 + local.set 6 + br 2 (;@1;) + end + local.get 2 + i32.const 1054248 + i32.const 0 + call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E + local.set 6 + br 1 (;@1;) + end + block ;; label = @2 + local.get 4 + br_if 0 (;@2;) + local.get 2 + local.get 0 + local.get 1 + call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E + local.set 6 + br 1 (;@1;) + end + i32.const 1055264 + i32.const 35 + i32.const 1055300 + call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE + unreachable + end + local.get 3 + i32.const 32 + i32.add + global.set 0 + local.get 6) + (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i8$GT$3fmt17h520fc9cf30ca6ce8E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 128 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load8_u + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @1 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 3 + i32.const 15 + i32.and + local.tee 4 + i32.const 48 + i32.or + local.get 4 + i32.const 87 + i32.add + local.get 4 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 3 + i32.const 4 + i32.shr_u + i32.const 15 + i32.and + local.tee 3 + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 0 + i32.const 128 + i32.add + local.tee 3 + i32.const 129 + i32.lt_u + br_if 0 (;@1;) + local.get 3 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + local.get 2 + i32.const 128 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core3str9from_utf817h4147d06a7789f81eE (type 7) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i64 i32 i64) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.eqz + br_if 0 (;@4;) + i32.const 0 + local.get 1 + i32.sub + i32.const 0 + local.get 1 + i32.const 3 + i32.and + select + local.set 3 + i32.const 0 + local.get 2 + i32.const -7 + i32.add + local.tee 4 + local.get 4 + local.get 2 + i32.gt_u + select + local.set 5 + i32.const 0 + local.set 4 + loop ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 1 + local.get 4 + i32.add + i32.load8_u + local.tee 6 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee 7 + i32.const -1 + i32.gt_s + br_if 0 (;@7;) + i64.const 1099511627776 + local.set 8 + block ;; label = @8 + local.get 6 + i32.const 1055338 + i32.add + i32.load8_u + i32.const -2 + i32.add + local.tee 9 + i32.const 2 + i32.le_u + br_if 0 (;@8;) + i64.const 4294967296 + local.set 10 + br 7 (;@1;) + end + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + local.get 9 + br_table 0 (;@12;) 1 (;@11;) 2 (;@10;) 0 (;@12;) + end + local.get 4 + i32.const 1 + i32.add + local.tee 6 + local.get 2 + i32.lt_u + br_if 2 (;@9;) + i64.const 0 + local.set 10 + br 9 (;@2;) + end + i64.const 0 + local.set 10 + local.get 4 + i32.const 1 + i32.add + local.tee 9 + local.get 2 + i32.ge_u + br_if 8 (;@2;) + local.get 1 + local.get 9 + i32.add + i32.load8_u + local.set 9 + block ;; label = @11 + block ;; label = @12 + local.get 6 + i32.const -224 + i32.add + local.tee 6 + i32.const 13 + i32.gt_u + br_if 0 (;@12;) + block ;; label = @13 + block ;; label = @14 + local.get 6 + br_table 0 (;@14;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 1 (;@13;) 0 (;@14;) + end + local.get 9 + i32.const 224 + i32.and + i32.const 160 + i32.eq + br_if 2 (;@11;) + i64.const 4294967296 + local.set 10 + br 12 (;@1;) + end + block ;; label = @13 + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.le_s + br_if 0 (;@13;) + i64.const 4294967296 + local.set 10 + br 12 (;@1;) + end + local.get 9 + i32.const 255 + i32.and + i32.const 160 + i32.lt_u + br_if 1 (;@11;) + i64.const 4294967296 + local.set 10 + br 11 (;@1;) + end + block ;; label = @12 + local.get 7 + i32.const 31 + i32.add + i32.const 255 + i32.and + i32.const 11 + i32.gt_u + br_if 0 (;@12;) + block ;; label = @13 + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.le_s + br_if 0 (;@13;) + i64.const 4294967296 + local.set 10 + br 12 (;@1;) + end + local.get 9 + i32.const 255 + i32.and + i32.const 192 + i32.lt_u + br_if 1 (;@11;) + i64.const 4294967296 + local.set 10 + br 11 (;@1;) + end + block ;; label = @12 + local.get 9 + i32.const 255 + i32.and + i32.const 191 + i32.le_u + br_if 0 (;@12;) + i64.const 4294967296 + local.set 10 + br 11 (;@1;) + end + block ;; label = @12 + local.get 7 + i32.const 254 + i32.and + i32.const 238 + i32.eq + br_if 0 (;@12;) + i64.const 4294967296 + local.set 10 + br 11 (;@1;) + end + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.le_s + br_if 0 (;@11;) + i64.const 4294967296 + local.set 10 + br 10 (;@1;) + end + i64.const 0 + local.set 8 + local.get 4 + i32.const 2 + i32.add + local.tee 6 + local.get 2 + i32.ge_u + br_if 9 (;@1;) + local.get 1 + local.get 6 + i32.add + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + br_if 2 (;@8;) + br 7 (;@3;) + end + i64.const 0 + local.set 10 + local.get 4 + i32.const 1 + i32.add + local.tee 9 + local.get 2 + i32.ge_u + br_if 7 (;@2;) + local.get 1 + local.get 9 + i32.add + i32.load8_u + local.set 9 + block ;; label = @10 + block ;; label = @11 + local.get 6 + i32.const -240 + i32.add + local.tee 6 + i32.const 4 + i32.gt_u + br_if 0 (;@11;) + block ;; label = @12 + block ;; label = @13 + local.get 6 + br_table 0 (;@13;) 2 (;@11;) 2 (;@11;) 2 (;@11;) 1 (;@12;) 0 (;@13;) + end + local.get 9 + i32.const 112 + i32.add + i32.const 255 + i32.and + i32.const 48 + i32.lt_u + br_if 2 (;@10;) + i64.const 4294967296 + local.set 10 + br 11 (;@1;) + end + block ;; label = @12 + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.le_s + br_if 0 (;@12;) + i64.const 4294967296 + local.set 10 + br 11 (;@1;) + end + local.get 9 + i32.const 255 + i32.and + i32.const 144 + i32.lt_u + br_if 1 (;@10;) + i64.const 4294967296 + local.set 10 + br 10 (;@1;) + end + block ;; label = @11 + local.get 9 + i32.const 255 + i32.and + i32.const 191 + i32.le_u + br_if 0 (;@11;) + i64.const 4294967296 + local.set 10 + br 10 (;@1;) + end + block ;; label = @11 + local.get 7 + i32.const 15 + i32.add + i32.const 255 + i32.and + i32.const 2 + i32.le_u + br_if 0 (;@11;) + i64.const 4294967296 + local.set 10 + br 10 (;@1;) + end + local.get 9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const -1 + i32.le_s + br_if 0 (;@10;) + i64.const 4294967296 + local.set 10 + br 9 (;@1;) + end + local.get 4 + i32.const 2 + i32.add + local.tee 6 + local.get 2 + i32.ge_u + br_if 7 (;@2;) + local.get 1 + local.get 6 + i32.add + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.ne + br_if 6 (;@3;) + i64.const 0 + local.set 8 + local.get 4 + i32.const 3 + i32.add + local.tee 6 + local.get 2 + i32.ge_u + br_if 8 (;@1;) + local.get 1 + local.get 6 + i32.add + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + br_if 1 (;@8;) + i64.const 3298534883328 + local.set 8 + i64.const 4294967296 + local.set 10 + br 8 (;@1;) + end + i64.const 4294967296 + local.set 10 + local.get 1 + local.get 6 + i32.add + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.ne + br_if 7 (;@1;) + end + local.get 6 + i32.const 1 + i32.add + local.set 4 + br 1 (;@6;) + end + block ;; label = @7 + local.get 3 + local.get 4 + i32.sub + i32.const 3 + i32.and + br_if 0 (;@7;) + block ;; label = @8 + local.get 4 + local.get 5 + i32.ge_u + br_if 0 (;@8;) + loop ;; label = @9 + local.get 1 + local.get 4 + i32.add + local.tee 6 + i32.const 4 + i32.add + i32.load + local.get 6 + i32.load + i32.or + i32.const -2139062144 + i32.and + br_if 1 (;@8;) + local.get 4 + i32.const 8 + i32.add + local.tee 4 + local.get 5 + i32.lt_u + br_if 0 (;@9;) + end + end + local.get 4 + local.get 2 + i32.ge_u + br_if 1 (;@6;) + loop ;; label = @8 + local.get 1 + local.get 4 + i32.add + i32.load8_s + i32.const 0 + i32.lt_s + br_if 2 (;@6;) + local.get 2 + local.get 4 + i32.const 1 + i32.add + local.tee 4 + i32.ne + br_if 0 (;@8;) + br 4 (;@4;) + end + end + local.get 4 + i32.const 1 + i32.add + local.set 4 + end + local.get 4 + local.get 2 + i32.lt_u + br_if 0 (;@5;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 0 + i32.const 0 + i32.store + return + end + i64.const 2199023255552 + local.set 8 + i64.const 4294967296 + local.set 10 + br 1 (;@1;) + end + i64.const 0 + local.set 8 + end + local.get 0 + local.get 10 + local.get 4 + i64.extend_i32_u + i64.or + local.get 8 + i64.or + i64.store offset=4 align=4 + local.get 0 + i32.const 1 + i32.store) + (func $_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h9ace9957d1dfdd97E (type 3) (param i32 i32) (result i32) + local.get 0 + i64.load8_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E) + (func $_ZN4core7unicode9printable12is_printable17h576ae3d8aaeb2915E (type 5) (param i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.const 65536 + i32.lt_u + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 131072 + i32.lt_u + br_if 0 (;@3;) + i32.const 0 + local.set 1 + local.get 0 + i32.const -201547 + i32.add + i32.const 716213 + i32.lt_u + br_if 1 (;@2;) + local.get 0 + i32.const -195102 + i32.add + i32.const 1506 + i32.lt_u + br_if 1 (;@2;) + local.get 0 + i32.const -191457 + i32.add + i32.const 3103 + i32.lt_u + br_if 1 (;@2;) + local.get 0 + i32.const -183970 + i32.add + i32.const 14 + i32.lt_u + br_if 1 (;@2;) + local.get 0 + i32.const 2097150 + i32.and + i32.const 178206 + i32.eq + br_if 1 (;@2;) + local.get 0 + i32.const -173790 + i32.add + i32.const 34 + i32.lt_u + br_if 1 (;@2;) + local.get 0 + i32.const -177973 + i32.add + i32.const 11 + i32.lt_u + br_if 1 (;@2;) + local.get 0 + i32.const -918000 + i32.add + i32.const 196111 + i32.gt_u + return + end + local.get 0 + i32.const 1056613 + i32.const 38 + i32.const 1056689 + i32.const 175 + i32.const 1056864 + i32.const 419 + call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E + local.set 1 + end + local.get 1 + return + end + local.get 0 + i32.const 1055932 + i32.const 41 + i32.const 1056014 + i32.const 290 + i32.const 1056304 + i32.const 309 + call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E) + (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h84435a511eccf523E (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 128 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @1 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 3 + i32.const 15 + i32.and + local.tee 4 + i32.const 48 + i32.or + local.get 4 + i32.const 87 + i32.add + local.get 4 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 3 + i32.const 4 + i32.shr_u + local.tee 3 + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 0 + i32.const 128 + i32.add + local.tee 3 + i32.const 129 + i32.lt_u + br_if 0 (;@1;) + local.get 3 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + local.get 2 + i32.const 128 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E (type 15) (param i64 i32 i32) (result i32) + (local i32 i32 i64 i32 i32 i32) + global.get 0 + i32.const 48 + i32.sub + local.tee 3 + global.set 0 + i32.const 39 + local.set 4 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i64.const 10000 + i64.ge_u + br_if 0 (;@2;) + local.get 0 + local.set 5 + br 1 (;@1;) + end + i32.const 39 + local.set 4 + loop ;; label = @2 + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.add + local.tee 6 + i32.const -4 + i32.add + local.get 0 + local.get 0 + i64.const 10000 + i64.div_u + local.tee 5 + i64.const 10000 + i64.mul + i64.sub + i32.wrap_i64 + local.tee 7 + i32.const 65535 + i32.and + i32.const 100 + i32.div_u + local.tee 8 + i32.const 1 + i32.shl + i32.const 1054574 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 6 + i32.const -2 + i32.add + local.get 7 + local.get 8 + i32.const 100 + i32.mul + i32.sub + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1054574 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 4 + i32.const -4 + i32.add + local.set 4 + local.get 0 + i64.const 99999999 + i64.gt_u + local.set 6 + local.get 5 + local.set 0 + local.get 6 + br_if 0 (;@2;) + end + end + block ;; label = @1 + local.get 5 + i32.wrap_i64 + local.tee 6 + i32.const 99 + i32.le_s + br_if 0 (;@1;) + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -2 + i32.add + local.tee 4 + i32.add + local.get 5 + i32.wrap_i64 + local.tee 6 + local.get 6 + i32.const 65535 + i32.and + i32.const 100 + i32.div_u + local.tee 6 + i32.const 100 + i32.mul + i32.sub + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1054574 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + end + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 10 + i32.lt_s + br_if 0 (;@2;) + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -2 + i32.add + local.tee 4 + i32.add + local.get 6 + i32.const 1 + i32.shl + i32.const 1054574 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + br 1 (;@1;) + end + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -1 + i32.add + local.tee 4 + i32.add + local.get 6 + i32.const 48 + i32.add + i32.store8 + end + local.get 2 + local.get 1 + i32.const 1054248 + i32.const 0 + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.add + i32.const 39 + local.get 4 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 4 + local.get 3 + i32.const 48 + i32.add + global.set 0 + local.get 4) + (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hf0602dfa1b51374aE (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 128 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load8_u + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @1 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 3 + i32.const 15 + i32.and + local.tee 4 + i32.const 48 + i32.or + local.get 4 + i32.const 55 + i32.add + local.get 4 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 3 + i32.const 4 + i32.shr_u + i32.const 15 + i32.and + local.tee 3 + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 0 + i32.const 128 + i32.add + local.tee 3 + i32.const 129 + i32.lt_u + br_if 0 (;@1;) + local.get 3 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + local.get 2 + i32.const 128 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hf6dfd165e0a82f4aE (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 128 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @1 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 3 + i32.const 15 + i32.and + local.tee 4 + i32.const 48 + i32.or + local.get 4 + i32.const 55 + i32.add + local.get 4 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 3 + i32.const 4 + i32.shr_u + local.tee 3 + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 0 + i32.const 128 + i32.add + local.tee 3 + i32.const 129 + i32.lt_u + br_if 0 (;@1;) + local.get 3 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + local.get 2 + i32.const 128 + i32.add + global.set 0 + local.get 0) + (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17h6a0f8a8815814437E (type 3) (param i32 i32) (result i32) + (local i64) + local.get 0 + i32.load + local.tee 0 + i64.extend_i32_s + local.tee 2 + local.get 2 + i64.const 63 + i64.shr_s + local.tee 2 + i64.add + local.get 2 + i64.xor + local.get 0 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h061cea3d0e32c42bE (type 3) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h40152972685c8e83E (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + local.tee 0 + i32.load8_u + i32.const 1 + i32.ne + br_if 0 (;@2;) + local.get 2 + local.get 1 + i32.load offset=24 + i32.const 1057384 + i32.const 4 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + i32.store8 offset=8 + local.get 2 + local.get 1 + i32.store + local.get 2 + i32.const 0 + i32.store8 offset=9 + local.get 2 + i32.const 0 + i32.store offset=4 + local.get 2 + local.get 0 + i32.const 1 + i32.add + i32.store offset=12 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.const 1054516 + call $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE + drop + local.get 2 + i32.load8_u offset=8 + local.set 1 + block ;; label = @3 + local.get 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.const 255 + i32.and + local.set 0 + i32.const 1 + local.set 1 + block ;; label = @4 + local.get 0 + br_if 0 (;@4;) + block ;; label = @5 + local.get 3 + i32.const 1 + i32.ne + br_if 0 (;@5;) + local.get 2 + i32.load8_u offset=9 + i32.const 255 + i32.and + i32.eqz + br_if 0 (;@5;) + local.get 2 + i32.load + local.tee 0 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@5;) + i32.const 1 + local.set 1 + local.get 0 + i32.load offset=24 + i32.const 1054512 + i32.const 1 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + br_if 1 (;@4;) + end + local.get 2 + i32.load + local.tee 1 + i32.load offset=24 + i32.const 1054513 + i32.const 1 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 1 + end + local.get 2 + local.get 1 + i32.store8 offset=8 + end + local.get 1 + i32.const 255 + i32.and + i32.const 0 + i32.ne + local.set 1 + br 1 (;@1;) + end + local.get 1 + i32.load offset=24 + i32.const 1057388 + i32.const 4 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 1 + end + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 1) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hcaf25e9d3ce3562aE (type 3) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get 0 + i32.const 128 + i32.sub + local.tee 2 + global.set 0 + local.get 0 + i32.load + local.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load + local.tee 3 + i32.const 16 + i32.and + br_if 0 (;@5;) + local.get 0 + i32.load8_u + local.set 4 + local.get 3 + i32.const 32 + i32.and + br_if 1 (;@4;) + local.get 4 + i64.extend_i32_u + i64.const 255 + i64.and + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E + local.set 0 + br 2 (;@3;) + end + local.get 0 + i32.load8_u + local.set 4 + i32.const 0 + local.set 0 + loop ;; label = @5 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 4 + i32.const 15 + i32.and + local.tee 3 + i32.const 48 + i32.or + local.get 3 + i32.const 87 + i32.add + local.get 3 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 4 + i32.const 4 + i32.shr_u + i32.const 15 + i32.and + local.tee 4 + br_if 0 (;@5;) + end + local.get 0 + i32.const 128 + i32.add + local.tee 4 + i32.const 129 + i32.ge_u + br_if 2 (;@2;) + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + br 1 (;@3;) + end + i32.const 0 + local.set 0 + loop ;; label = @4 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + local.get 4 + i32.const 15 + i32.and + local.tee 3 + i32.const 48 + i32.or + local.get 3 + i32.const 55 + i32.add + local.get 3 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 4 + i32.const 4 + i32.shr_u + i32.const 15 + i32.and + local.tee 4 + br_if 0 (;@4;) + end + local.get 0 + i32.const 128 + i32.add + local.tee 4 + i32.const 129 + i32.ge_u + br_if 2 (;@1;) + local.get 1 + i32.const 1 + i32.const 1054572 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E + local.set 0 + end + local.get 2 + i32.const 128 + i32.add + global.set 0 + local.get 0 + return + end + local.get 4 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable + end + local.get 4 + i32.const 128 + i32.const 1054556 + call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE + unreachable) + (func $_ZN57_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h0736023f89ec8051E (type 3) (param i32 i32) (result i32) + (local i32 i32) + global.get 0 + i32.const 16 + i32.sub + local.tee 2 + global.set 0 + local.get 1 + i32.load offset=24 + i32.const 1057392 + i32.const 9 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 8) + local.set 3 + local.get 2 + i32.const 0 + i32.store8 offset=5 + local.get 2 + local.get 3 + i32.store8 offset=4 + local.get 2 + local.get 1 + i32.store + local.get 2 + local.get 0 + i32.store offset=12 + local.get 2 + i32.const 1057401 + i32.const 11 + local.get 2 + i32.const 12 + i32.add + i32.const 1057368 + call $_ZN4core3fmt8builders11DebugStruct5field17h6969da1bb0a508efE + drop + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.store offset=12 + local.get 2 + i32.const 1057412 + i32.const 9 + local.get 2 + i32.const 12 + i32.add + i32.const 1057424 + call $_ZN4core3fmt8builders11DebugStruct5field17h6969da1bb0a508efE + drop + local.get 2 + i32.load8_u offset=4 + local.set 1 + block ;; label = @1 + local.get 2 + i32.load8_u offset=5 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.const 255 + i32.and + local.set 0 + i32.const 1 + local.set 1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + local.get 2 + i32.load + local.tee 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + local.set 0 + local.get 1 + i32.load offset=24 + local.set 3 + block ;; label = @3 + local.get 1 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@3;) + local.get 3 + i32.const 1054507 + i32.const 2 + local.get 0 + call_indirect (type 8) + local.set 1 + br 1 (;@2;) + end + local.get 3 + i32.const 1054506 + i32.const 1 + local.get 0 + call_indirect (type 8) + local.set 1 + end + local.get 2 + local.get 1 + i32.store8 offset=4 + end + local.get 2 + i32.const 16 + i32.add + global.set 0 + local.get 1 + i32.const 255 + i32.and + i32.const 0 + i32.ne) + (table (;0;) 95 95 funcref) + (memory (;0;) 17) + (global (;0;) (mut i32) (i32.const 1048576)) + (global (;1;) i32 (i32.const 1058912)) + (global (;2;) i32 (i32.const 1058912)) + (export "memory" (memory 0)) + (export "_start" (func $_start)) + (export "__original_main" (func $__original_main)) + (export "main" (func $main)) + (export "__data_end" (global 1)) + (export "__heap_base" (global 2)) + (elem (;0;) (i32.const 1) func $_ZN4core3ptr13drop_in_place17hbdefc172b9ada5feE $_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h0e98a8fdad6ece05E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h19a2a61da5d6a26cE $_ZN5hello4main17hd078db076938ab99E $_ZN45_$LT$$RF$T$u20$as$u20$core..fmt..UpperHex$GT$3fmt17hb918cce28d9d0601E $_ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17h74a61b11f6dc7b9dE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h72010bc18c2c3871E $_ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17hb3ec362a48a590eeE $_ZN55_$LT$std..path..Display$u20$as$u20$core..fmt..Debug$GT$3fmt17h23d105d427099b82E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h3f42ebff8fc1778aE $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17h6a0f8a8815814437E $_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h70c46c42c25c7b72E $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17he6ead8fc076aace0E $_ZN3std5alloc24default_alloc_error_hook17h2080d072101c71d6E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h52ad5ba400a1c0b2E $_ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17hf61cfde2fe9b6125E $_ZN4core3ptr13drop_in_place17h02e69d70ceca204bE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h1d2341287c3c1530E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h2b6afd714e60244dE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h424f8a87ef227754E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h244888c2b6dd19d8E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hf61ed0efe1fa8f1aE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h7883bd689e386d70E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17heec17b7d6bd2890dE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hd4204762d830caa6E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hf5f9ccb98e7f13b1E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h935565c54b9e7992E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h0392c58b36b5e65cE $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17hcb497cdb5137530aE $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h4131a8147211fa76E $_ZN4core3ptr13drop_in_place17hf3262b356a2935b1E $_ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h62d3c8deb4a47d04E $_ZN57_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h0736023f89ec8051E $_ZN4core3ptr13drop_in_place17h2bbaf394966f4871E $_ZN82_$LT$std..sys_common..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h5133a11d5216d05aE $_ZN4core3ptr13drop_in_place17h286c4e66fba3710aE $_ZN3std5error5Error5cause17h940cb81d2ddff14fE $_ZN3std5error5Error7type_id17h2550ffb23e5e09dbE $_ZN3std5error5Error9backtrace17h900a267d2e29f61aE $_ZN243_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$std..error..Error$GT$11description17hf458bce664dc3f4bE $_ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17h8f27cecacd89bd46E $_ZN242_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Debug$GT$3fmt17hddb087305b783b60E $_ZN4core3ptr13drop_in_place17h031a203171380296E $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17hc2a4146e00a3c941E $_ZN4core3fmt5Write10write_char17hb53f5ebecc3ea1e8E $_ZN4core3fmt5Write9write_fmt17h742453284fe8e52bE $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h612bf57410edd764E $_ZN4core3fmt5Write10write_char17h5ee09af859d49745E $_ZN4core3fmt5Write9write_fmt17h76d12290e419169eE $_ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h1a740cc3bed420c0E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0d04168c9cec80f1E $_ZN4core3ptr13drop_in_place17hea2daf7bfbdfa5f6E $_ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17hbd37bfd99643a95bE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2ca61fe20b181ea6E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hc0ad29c3b7e3386dE $_ZN60_$LT$std..io..stdio..StderrRaw$u20$as$u20$std..io..Write$GT$5write17h912c877745d11fe6E $_ZN3std2io5Write14write_vectored17ha0666460d161172dE $_ZN3std2io5Write17is_write_vectored17h543cbc50b0d68d7bE $_ZN59_$LT$std..process..ChildStdin$u20$as$u20$std..io..Write$GT$5flush17hd1cd00994c0d68a2E $_ZN3std2io5Write9write_all17h39d0435291d0ea60E $_ZN3std2io5Write18write_all_vectored17h937b0242149abcbeE $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE $_ZN4core3ptr13drop_in_place17he50565616af5671aE $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5write17h6eb49032bb7d1e27E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$14write_vectored17he5299a3cb28c5fc6E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$17is_write_vectored17h3aebec87a302fb55E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5flush17h453d4cb3a98eec9bE $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_all17h50557d4e500ea2b9E $_ZN3std2io5Write18write_all_vectored17h30c34f9cecddc9d3E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_fmt17h99e751738b71fff0E $_ZN4core3ptr13drop_in_place17ha21ac40875b3662cE $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h516f6ed2d13d495aE $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h0dcd379042aba638E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hf6b487e2f110a1d5E $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17hf6fdacb60f80e8b3E $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$3get17h3853a323bdd12366E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h8ccad713f7bee105E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4473b65edfd7c202E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h76450d0c1fa7b5b6E $_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h94ceed4e1d7d3c8dE $_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h3e5fc21d5d0a9a89E $_ZN4core3ops8function6FnOnce9call_once17hbe6f8b545009bafbE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h37140add365c2157E $_ZN4core3ptr13drop_in_place17h0204d3c859ff1c91E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hb45251ab3c3bdb48E $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE $_ZN4core3fmt5Write10write_char17h9446e22d80409ee0E $_ZN4core3fmt5Write9write_fmt17h6f04c3f5d7115a7dE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hcaf25e9d3ce3562aE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17hb3f289137b2fd88fE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h96c3b1b942e129b3E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hcaddaae78279c2cdE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h061cea3d0e32c42bE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h40152972685c8e83E) + (data (;0;) (i32.const 1048576) "\01\00\00\00\04\00\00\00\04\00\00\00\02\00\00\00\02\00\00\00\03\00\00\00Hello, world!\0a\00\00\18\00\10\00\0e\00\00\00(\00\10\004\00\10\00\11\00\00\00\04\00\00\00\04\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\11\00\00\00\04\00\00\00\04\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00\11\00\00\00\04\00\00\00\04\00\00\00\18\00\00\00\19\00\00\00\1a\00\00\00\11\00\00\00\04\00\00\00\04\00\00\00\1b\00\00\00/rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/macros/mod.rs\00\00\00\90\00\10\00I\00\00\00\0a\00\00\00\09\00\00\00already borrowed/rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/cell.rs\00\fc\00\10\00C\00\00\00m\03\00\00\09\00\00\00already mutably borrowed\fc\00\10\00C\00\00\00\1d\03\00\00\09\00\00\00assertion failed: `(left == right)`\0a left: ``,\0a right: ``\00\00x\01\10\00-\00\00\00\a5\01\10\00\0c\00\00\00\b1\01\10\00\01\00\00\00\11\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00`: \00x\01\10\00-\00\00\00\a5\01\10\00\0c\00\00\00\dc\01\10\00\03\00\00\00called `Option::unwrap()` on a `None` value\00\11\00\00\00\00\00\00\00\01\00\00\00\1d\00\00\00\11\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00\1f\00\00\00\10\00\00\00\04\00\00\00 \00\00\00called `Result::unwrap()` on an `Err` value\00\11\00\00\00\08\00\00\00\04\00\00\00!\00\00\00\22\00\00\00\08\00\00\00\04\00\00\00#\00\00\00Tried to shrink to a larger capacity\11\00\00\00\04\00\00\00\04\00\00\00\07\00\00\00src/libstd/thread/mod.rs\d4\02\10\00\18\00\00\00\8a\03\00\00\11\00\00\00inconsistent park state\00\d4\02\10\00\18\00\00\00\98\03\00\00\13\00\00\00\02\00\00\00park state changed unexpectedly\00(\03\10\00\1f\00\00\00\d4\02\10\00\18\00\00\00\95\03\00\00\0d\00\00\00failed to generate unique thread ID: bitspace exhausted\00\d4\02\10\00\18\00\00\00.\04\00\00\11\00\00\00\d4\02\10\00\18\00\00\004\04\00\00\16\00\00\00thread name may not contain interior null bytes\00\d4\02\10\00\18\00\00\00w\04\00\00\1a\00\00\00inconsistent state in unpark\d4\02\10\00\18\00\00\00\af\04\00\00\12\00\00\00\d4\02\10\00\18\00\00\00\bd\04\00\00\0e\00\00\00\22RUST_BACKTRACE0src/libstd/env.rsfailed to get environment variable `\00\00\00U\04\10\00$\00\00\00\dc\01\10\00\03\00\00\00D\04\10\00\11\00\00\00\fb\00\00\00\1d\00\00\00$\00\00\00\0c\00\00\00\04\00\00\00%\00\00\00&\00\00\00'\00\00\00(\00\00\00%\00\00\00)\00\00\00*\00\00\00data provided contains a nul bytesrc/libstd/ffi/c_str.rs\e5\04\10\00\17\00\00\00\aa\04\00\00\0a\00\00\00src/libstd/io/buffered.rs\00\00\00\0c\05\10\00\19\00\00\00\10\02\00\00\15\00\00\00\0c\05\10\00\19\00\00\00\10\02\00\009\00\00\00failed to write the buffered data\00\00\00\0c\05\10\00\19\00\00\00J\02\00\00\09\00\00\00\0c\05\10\00\19\00\00\00\05\04\00\00#\00\00\00unexpected end of fileother os erroroperation interruptedwrite zerotimed outinvalid datainvalid input parameteroperation would blockentity already existsbroken pipeaddress not availableaddress in usenot connectedconnection abortedconnection resetconnection refusedpermission deniedentity not found\00\00\00\cc\01\10\00\00\00\00\00 (os error )\cc\01\10\00\00\00\00\00\c0\06\10\00\0b\00\00\00\cb\06\10\00\01\00\00\00failed to write whole buffersrc/libstd/io/stdio.rscannot access stdout during shutdown\00\00\00\07\10\00\16\00\00\00\0f\02\00\00\19\00\00\00failed printing to : \00\00\00L\07\10\00\13\00\00\00_\07\10\00\02\00\00\00\00\07\10\00\16\00\00\00n\03\00\00\09\00\00\00stdoutsrc/libstd/io/mod.rs\00\00\8a\07\10\00\14\00\00\00\84\04\00\00\19\00\00\00\8a\07\10\00\14\00\00\00}\05\00\00!\00\00\00+\00\00\00\0c\00\00\00\04\00\00\00,\00\00\00-\00\00\00.\00\00\00formatter error\00+\00\00\00\0c\00\00\00\04\00\00\00/\00\00\000\00\00\001\00\00\00attempted to use a condition variable with two mutexessrc/libstd/sync/condvar.rs6\08\10\00\1a\00\00\00?\02\00\00\12\00\00\00\11\00\00\00\04\00\00\00\04\00\00\002\00\00\003\00\00\00src/libstd/sync/once.rs\00t\08\10\00\17\00\00\00\08\01\00\00)\00\00\00assertion failed: state_and_queue & STATE_MASK == RUNNING\00\00\00t\08\10\00\17\00\00\00\a7\01\00\00\15\00\00\00Once instance has previously been poisoned\00\00t\08\10\00\17\00\00\00\8b\01\00\00\15\00\00\00t\08\10\00\17\00\00\00\e8\01\00\00\09\00\00\00t\08\10\00\17\00\00\00\f4\01\00\00\1e\00\00\00assertion failed: queue != DONEsrc/libstd/sys_common/at_exit_imp.rs\00c\09\10\00$\00\00\001\00\00\00\0d\00\00\00stack backtrace:\0a\00\00\00\98\09\10\00\11\00\00\004\00\00\00\10\00\00\00\04\00\00\005\00\00\006\00\00\00note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.\0a\c8\09\10\00X\00\00\00full\5cx\005\0a\10\00\02\00\00\00\00\00\00\00 \00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00PoisonError { inner: .. }src/libstd/sys_common/thread_info.rsassertion failed: c.borrow().is_none()\00y\0a\10\00$\00\00\00(\00\00\00\1a\00\00\00fatal runtime error: \0a\00\00\d4\0a\10\00\15\00\00\00\e9\0a\10\00\01\00\00\00\11\00\00\00\04\00\00\00\04\00\00\007\00\00\00memory allocation of bytes failed\00\00\0c\0b\10\00\15\00\00\00!\0b\10\00\0d\00\00\00src/libstd/panicking.rs\00@\0b\10\00\17\00\00\00\b4\00\00\00\14\00\00\00Box\00\00\00\11\00\00\00\00\00\00\00\01\00\00\008\00\00\009\00\00\00:\00\00\00;\00\00\00<\00\00\00=\00\00\00>\00\00\00\00\00\00\00?\00\00\00\08\00\00\00\04\00\00\00@\00\00\00A\00\00\00B\00\00\00C\00\00\00D\00\00\00E\00\00\00F\00\00\00\00\00\00\00thread '' panicked at '', \00\00\d4\0b\10\00\08\00\00\00\dc\0b\10\00\0f\00\00\00\eb\0b\10\00\03\00\00\00\e9\0a\10\00\01\00\00\00note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\0a\00\00\10\0c\10\00N\00\00\00@\0b\10\00\17\00\00\00\82\01\00\00\0f\00\00\00@\0b\10\00\17\00\00\00\83\01\00\00\0f\00\00\00G\00\00\00\10\00\00\00\04\00\00\00H\00\00\00I\00\00\00$\00\00\00\0c\00\00\00\04\00\00\00J\00\00\00\11\00\00\00\08\00\00\00\04\00\00\00K\00\00\00L\00\00\00\11\00\00\00\08\00\00\00\04\00\00\00M\00\00\00thread panicked while processing panic. aborting.\0a\00\00\d0\0c\10\002\00\00\00thread panicked while panicking. aborting.\0a\00\0c\0d\10\00+\00\00\00failed to initiate panic, error @\0d\10\00 \00\00\00NulError\11\00\00\00\04\00\00\00\04\00\00\00N\00\00\00can't block with web assemblysrc/libstd/sys/wasi/../wasm/condvar.rs\00\9d\0d\10\00&\00\00\00\15\00\00\00\09\00\00\00advancing IoSlice beyond its lengthsrc/libstd/sys/wasi/io.rs\f7\0d\10\00\19\00\00\00\14\00\00\00\0d\00\00\00cannot recursively acquire mutexsrc/libstd/sys/wasi/../wasm/mutex.rs@\0e\10\00$\00\00\00\15\00\00\00\09\00\00\00strerror_r failuresrc/libstd/sys/wasi/os.rs\00\86\0e\10\00\19\00\00\00#\00\00\00\0d\00\00\00\86\0e\10\00\19\00\00\00%\00\00\00\09\00\00\00rwlock locked for writing\00\00\00\c0\0e\10\00\19\00\00\00operation not supported on wasm yet\00\00\00\00\00\00\00\00\00\00\19\12D;\02?,G\14=30\0a\1b\06FKE7\0fI\0e\17\03@\1d<+6\1fJ-\1c\01 %)!\08\0c\15\16\22.\108>\0b41\18/A\099\11#C2B:\05\04&('\0d*\1e5\07\1aH\13$L\ff\00\00Success\00Illegal byte sequence\00Domain error\00Result not representable\00Not a tty\00Permission denied\00Operation not permitted\00No such file or directory\00No such process\00File exists\00Value too large for data type\00No space left on device\00Out of memory\00Resource busy\00Interrupted system call\00Resource temporarily unavailable\00Invalid seek\00Cross-device link\00Read-only file system\00Directory not empty\00Connection reset by peer\00Operation timed out\00Connection refused\00Host is unreachable\00Address in use\00Broken pipe\00I/O error\00No such device or address\00No such device\00Not a directory\00Is a directory\00Text file busy\00Exec format error\00Invalid argument\00Argument list too long\00Symbolic link loop\00Filename too long\00Too many open files in system\00No file descriptors available\00Bad file descriptor\00No child process\00Bad address\00File too large\00Too many links\00No locks available\00Resource deadlock would occur\00State not recoverable\00Previous owner died\00Operation canceled\00Function not implemented\00No message of desired type\00Identifier removed\00Link has been severed\00Protocol error\00Bad message\00Not a socket\00Destination address required\00Message too large\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Not supported\00Address family not supported by protocol\00Address not available\00Network is down\00Network unreachable\00Connection reset by network\00Connection aborted\00No buffer space available\00Socket is connected\00Socket not connected\00Operation already in progress\00Operation in progress\00Stale file handle\00Quota exceeded\00Multihop attempted\00Capabilities insufficient\00No error information\00\00src/liballoc/raw_vec.rscapacity overflow\00\00\86\15\10\00\17\00\00\00D\02\00\00\05\00\00\00)src/liballoc/vec.rs) should be <= len (is end drain index (is \00\eb\15\10\00\14\00\00\00\d4\15\10\00\17\00\00\00\c0\15\10\00\01\00\00\00\c1\15\10\00\13\00\00\003\05\00\00\0d\00\00\00`\00..*\16\10\00\02\00\00\00BorrowErrorBorrowMutErrorcalled `Option::unwrap()` on a `None` value(\16\10\00\00\00\00\00: \00\00(\16\10\00\00\00\00\00\80\16\10\00\02\00\00\00T\00\00\00\00\00\00\00\01\00\00\00U\00\00\00:\00\00\00(\16\10\00\00\00\00\00\a4\16\10\00\01\00\00\00\a4\16\10\00\01\00\00\00index out of bounds: the len is but the index is \00\00\c0\16\10\00 \00\00\00\e0\16\10\00\12\00\00\00T\00\00\00\0c\00\00\00\04\00\00\00V\00\00\00W\00\00\00X\00\00\00 {\0a,\0a, { } }(\0a(,)\0a[T\00\00\00\04\00\00\00\04\00\00\00Y\00\00\00]src/libcore/fmt/num.rs\00E\17\10\00\16\00\00\00T\00\00\00\14\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00\00T\00\00\00\04\00\00\00\04\00\00\00Z\00\00\00[\00\00\00\5c\00\00\00src/libcore/fmt/mod.rs\00\00P\18\10\00\16\00\00\00S\04\00\00\11\00\00\00P\18\10\00\16\00\00\00]\04\00\00$\00\00\00src/libcore/slice/memchr.rs\00\88\18\10\00\1b\00\00\00R\00\00\00\05\00\00\00\88\18\10\00\1b\00\00\00i\00\00\00\1a\00\00\00\88\18\10\00\1b\00\00\00\83\00\00\00\05\00\00\00index out of range for slice of length \d4\18\10\00\06\00\00\00\da\18\10\00\22\00\00\00slice index starts at but ends at \00\0c\19\10\00\16\00\00\00\22\19\10\00\0d\00\00\00attempted to index slice up to maximum usizesrc/libcore/str/pattern.rs\00\00l\19\10\00\1a\00\00\00\8b\01\00\00&\00\00\00src/libcore/str/lossy.rs\98\19\10\00\18\00\00\00\80\00\00\00\19\00\00\00\98\19\10\00\18\00\00\00w\00\00\00\1d\00\00\00\98\19\10\00\18\00\00\00{\00\00\00\1d\00\00\00\98\19\10\00\18\00\00\00r\00\00\00!\00\00\00\98\19\10\00\18\00\00\00h\00\00\00\1d\00\00\00\98\19\10\00\18\00\00\00c\00\00\00!\00\00\00\98\19\10\00\18\00\00\00X\00\00\00\1d\00\00\00assertion failed: broken.is_empty()\00\98\19\10\00\18\00\00\00\9d\00\00\00\11\00\00\00src/libcore/str/mod.rs\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00\00\00T\1a\10\00\16\00\00\00\80\07\00\00/\00\00\00T\1a\10\00\16\00\00\00\c3\07\00\00/\00\00\00T\1a\10\00\16\00\00\00\04\08\00\00/\00\00\00[...]byte index is out of bounds of `\00\00\a1\1b\10\00\0b\00\00\00\ac\1b\10\00\16\00\00\00(\16\10\00\01\00\00\00begin <= end ( <= ) when slicing `\00\00\dc\1b\10\00\0e\00\00\00\ea\1b\10\00\04\00\00\00\ee\1b\10\00\10\00\00\00(\16\10\00\01\00\00\00 is not a char boundary; it is inside (bytes ) of `\a1\1b\10\00\0b\00\00\00 \1c\10\00&\00\00\00F\1c\10\00\08\00\00\00N\1c\10\00\06\00\00\00(\16\10\00\01\00\00\00src/libcore/unicode/printable.rs|\1c\10\00 \00\00\00\0a\00\00\00\1c\00\00\00|\1c\10\00 \00\00\00\1a\00\00\00(\00\00\00\00\01\03\05\05\06\06\03\07\06\08\08\09\11\0a\1c\0b\19\0c\14\0d\10\0e\0d\0f\04\10\03\12\12\13\09\16\01\17\05\18\02\19\03\1a\07\1c\02\1d\01\1f\16 \03+\03,\02-\0b.\010\031\022\01\a7\02\a9\02\aa\04\ab\08\fa\02\fb\05\fd\04\fe\03\ff\09\adxy\8b\8d\a20WX\8b\8c\90\1c\1d\dd\0e\0fKL\fb\fc./?\5c]_\b5\e2\84\8d\8e\91\92\a9\b1\ba\bb\c5\c6\c9\ca\de\e4\e5\ff\00\04\11\12)147:;=IJ]\84\8e\92\a9\b1\b4\ba\bb\c6\ca\ce\cf\e4\e5\00\04\0d\0e\11\12)14:;EFIJ^de\84\91\9b\9d\c9\ce\cf\0d\11)EIWde\8d\91\a9\b4\ba\bb\c5\c9\df\e4\e5\f0\0d\11EIde\80\84\b2\bc\be\bf\d5\d7\f0\f1\83\85\8b\a4\a6\be\bf\c5\c7\ce\cf\da\dbH\98\bd\cd\c6\ce\cfINOWY^_\89\8e\8f\b1\b6\b7\bf\c1\c6\c7\d7\11\16\17[\5c\f6\f7\fe\ff\80\0dmq\de\df\0e\0f\1fno\1c\1d_}~\ae\af\bb\bc\fa\16\17\1e\1fFGNOXZ\5c^~\7f\b5\c5\d4\d5\dc\f0\f1\f5rs\8ftu\96/_&./\a7\af\b7\bf\c7\cf\d7\df\9a@\97\980\8f\1f\c0\c1\ce\ffNOZ[\07\08\0f\10'/\ee\efno7=?BE\90\91\fe\ffSgu\c8\c9\d0\d1\d8\d9\e7\fe\ff\00 _\22\82\df\04\82D\08\1b\04\06\11\81\ac\0e\80\ab5(\0b\80\e0\03\19\08\01\04/\044\04\07\03\01\07\06\07\11\0aP\0f\12\07U\07\03\04\1c\0a\09\03\08\03\07\03\02\03\03\03\0c\04\05\03\0b\06\01\0e\15\05:\03\11\07\06\05\10\07W\07\02\07\15\0dP\04C\03-\03\01\04\11\06\0f\0c:\04\1d%_ m\04j%\80\c8\05\82\b0\03\1a\06\82\fd\03Y\07\15\0b\17\09\14\0c\14\0cj\06\0a\06\1a\06Y\07+\05F\0a,\04\0c\04\01\031\0b,\04\1a\06\0b\03\80\ac\06\0a\06!?L\04-\03t\08<\03\0f\03<\078\08+\05\82\ff\11\18\08/\11-\03 \10!\0f\80\8c\04\82\97\19\0b\15\88\94\05/\05;\07\02\0e\18\09\80\b3-t\0c\80\d6\1a\0c\05\80\ff\05\80\df\0c\ee\0d\03\84\8d\037\09\81\5c\14\80\b8\08\80\cb*8\03\0a\068\08F\08\0c\06t\0b\1e\03Z\04Y\09\80\83\18\1c\0a\16\09L\04\80\8a\06\ab\a4\0c\17\041\a1\04\81\da&\07\0c\05\05\80\a5\11\81m\10x(*\06L\04\80\8d\04\80\be\03\1b\03\0f\0d\00\06\01\01\03\01\04\02\08\08\09\02\0a\05\0b\02\0e\04\10\01\11\02\12\05\13\11\14\01\15\02\17\02\19\0d\1c\05\1d\08$\01j\03k\02\bc\02\d1\02\d4\0c\d5\09\d6\02\d7\02\da\01\e0\05\e1\02\e8\02\ee \f0\04\f8\02\f9\02\fa\02\fb\01\0c';>NO\8f\9e\9e\9f\06\07\096=>V\f3\d0\d1\04\14\1867VW\7f\aa\ae\af\bd5\e0\12\87\89\8e\9e\04\0d\0e\11\12)14:EFIJNOde\5c\b6\b7\1b\1c\07\08\0a\0b\14\1769:\a8\a9\d8\d9\097\90\91\a8\07\0a;>fi\8f\92o_\ee\efZb\9a\9b'(U\9d\a0\a1\a3\a4\a7\a8\ad\ba\bc\c4\06\0b\0c\15\1d:?EQ\a6\a7\cc\cd\a0\07\19\1a\22%>?\c5\c6\04 #%&(38:HJLPSUVXZ\5c^`cefksx}\7f\8a\a4\aa\af\b0\c0\d0\ae\afy\ccno\93^\22{\05\03\04-\03f\03\01/.\80\82\1d\031\0f\1c\04$\09\1e\05+\05D\04\0e*\80\aa\06$\04$\04(\084\0b\01\80\90\817\09\16\0a\08\80\989\03c\08\090\16\05!\03\1b\05\01@8\04K\05/\04\0a\07\09\07@ '\04\0c\096\03:\05\1a\07\04\0c\07PI73\0d3\07.\08\0a\81&RN(\08*V\1c\14\17\09N\04\1e\0fC\0e\19\07\0a\06H\08'\09u\0b?A*\06;\05\0a\06Q\06\01\05\10\03\05\80\8bb\1eH\08\0a\80\a6^\22E\0b\0a\06\0d\139\07\0a6,\04\10\80\c0\00\00\00T\00\00\00\04\00\00\00\04\00\00\00]\00\00\00SomeNoneUtf8Errorvalid_up_toerror_len\00\00\00T\00\00\00\04\00\00\00\04\00\00\00^\00\00\00\00\03\00\00\83\04 \00\91\05`\00]\13\a0\00\12\17\a0\1e\0c \e0\1e\ef, +*0\a0+o\a6`,\02\a8\e0,\1e\fb\e0-\00\fe\a05\9e\ff\e05\fd\01a6\01\0a\a16$\0da7\ab\0e\e18/\18!90\1caF\f3\1e\a1J\f0jaNOo\a1N\9d\bc!Oe\d1\e1O\00\da!P\00\e0\e1Q0\e1aS\ec\e2\a1T\d0\e8\e1T \00.U\f0\01\bfU\00p\00\07\00-\01\01\01\02\01\02\01\01H\0b0\15\10\01e\07\02\06\02\02\01\04#\01\1e\1b[\0b:\09\09\01\18\04\01\09\01\03\01\05+\03w\0f\01 7\01\01\01\04\08\04\01\03\07\0a\02\1d\01:\01\01\01\02\04\08\01\09\01\0a\02\1a\01\02\029\01\04\02\04\02\02\03\03\01\1e\02\03\01\0b\029\01\04\05\01\02\04\01\14\02\16\06\01\01:\01\01\02\01\04\08\01\07\03\0a\02\1e\01;\01\01\01\0c\01\09\01(\01\03\019\03\05\03\01\04\07\02\0b\02\1d\01:\01\02\01\02\01\03\01\05\02\07\02\0b\02\1c\029\02\01\01\02\04\08\01\09\01\0a\02\1d\01H\01\04\01\02\03\01\01\08\01Q\01\02\07\0c\08b\01\02\09\0b\06J\02\1b\01\01\01\01\017\0e\01\05\01\02\05\0b\01$\09\01f\04\01\06\01\02\02\02\19\02\04\03\10\04\0d\01\02\02\06\01\0f\01\00\03\00\03\1d\03\1d\02\1e\02@\02\01\07\08\01\02\0b\09\01-\03w\02\22\01v\03\04\02\09\01\06\03\db\02\02\01:\01\01\07\01\01\01\01\02\08\06\0a\02\010\11?\040\07\01\01\05\01(\09\0c\02 \04\02\02\01\038\01\01\02\03\01\01\03:\08\02\02\98\03\01\0d\01\07\04\01\06\01\03\02\c6:\01\05\00\01\c3!\00\03\8d\01` \00\06i\02\00\04\01\0a \02P\02\00\01\03\01\04\01\19\02\05\01\97\02\1a\12\0d\01&\08\19\0b.\030\01\02\04\02\02'\01C\06\02\02\02\02\0c\01\08\01/\013\01\01\03\02\02\05\02\01\01*\02\08\01\ee\01\02\01\04\01\00\01\00\10\10\10\00\02\00\01\e2\01\95\05\00\03\01\02\05\04(\03\04\01\a5\02\00\04\00\02\99\0b\b0\016\0f8\031\04\02\02E\03$\05\01\08>\01\0c\024\09\0a\04\02\01_\03\02\01\01\02\06\01\a0\01\03\08\15\029\02\01\01\01\01\16\01\0e\07\03\05\c3\08\02\03\01\01\17\01Q\01\02\06\01\01\02\01\01\02\01\02\eb\01\02\04\06\02\01\02\1b\02U\08\02\01\01\02j\01\01\01\02\06\01\01e\03\02\04\01\05\00\09\01\02\f5\01\0a\02\01\01\04\01\90\04\02\02\04\01 \0a(\06\02\04\08\01\09\06\02\03.\0d\01\02\00\07\01\06\01\01R\16\02\07\01\02\01\02z\06\03\01\01\02\01\07\01\01H\02\03\01\01\01\00\02\00\05;\07\00\01?\04Q\01\00\02\00\01\01\03\04\05\08\08\02\07\1e\04\94\03\007\042\08\01\0e\01\16\05\01\0f\00\07\01\11\02\07\01\02\01\05\00\07\00\04\00\07m\07\00`\80\f0\00") + (data (;1;) (i32.const 1058256) "\01\00\00\00\00\00\00\00\01")) From 07f8e2c65dd96ad5a073b9c2ea960289c26a3eaa Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 4 Oct 2023 09:14:05 +0200 Subject: [PATCH 03/36] adding some code documentation and I changed how the names section parser reads the type, while the original implementation seems correct under the current number of subsection types, run!(32) is confusing because it should really only read one byte --- src/parser.rs | 84 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 4 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 1ac91eb..99d8e3f 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -6,12 +6,43 @@ use std::convert::TryInto; type Parsed<'a, T> = crate::Maybe<(&'a [u8], T)>; +/// print debug message if debug level >= 3 macro_rules! trace { ($($body:tt)*) => { dbgprintln!(3, $($body)*) }; } +/// This is a hack to allow for macros generating new macro definitions making use of +/// repetition arguments, which seems to be a limitation of Rust. We cannot write: +/// ```ignore +/// macro_rules! foo { +/// () => { +/// macro_rules! bar { +/// ( $($any:tt),* ) => { $($any),* }; +/// } +/// }; +/// } +/// ``` +/// If we used metavariables (on nightly) we could escape the `$`s in the inner macro +/// by replacing them with `$$`. Alternatively, we can use this macro, which takes a +/// macro matching and calls it with `$` as its argument. This allows us to write: +/// ```ignore +/// macro_rules! foo { +/// () => { +/// with_dollar_sign! { +/// ($d:tt) => { +/// macro_rules! bar { +/// ($d($d any:tt)*) => { $d($d any),* }; +/// } +/// } +/// } +/// }; +/// } +/// ``` +/// so `$d` in the inner macro will be replaced by `$` and we obtain the desired +/// behavior. IMO this is extremely ugly. +/// See https://github.com/rust-lang/rust/issues/35853#issuecomment-415993963 macro_rules! with_dollar_sign { ($($body:tt)*) => { macro_rules! __with_dollar_sign { $($body)* } @@ -19,6 +50,15 @@ macro_rules! with_dollar_sign { } } +/// Generate a parser function with the given name, parsing the given return type +/// `T` from a byte array, into a `Parsed`. +/// ```ignore +/// generate! { fname (arg1:a1, arg2:a2) -> type = body } +/// ``` +/// expands to +/// ```ignore +/// fn fname(mut inp: &[u8], arg1:a1, arg2:a2) -> Parsed {...} +/// ``` macro_rules! generate { ($id:ident -> $ty:ty = $body:expr) => { generate!{$id() -> $ty = $body} @@ -28,6 +68,9 @@ macro_rules! generate { fn $id(mut inp: &[u8], $($fnarg : $fntyp,)*) -> Parsed<$ty> { with_dollar_sign! { ($d:tt) => { + /// Calls a function returning two things `(inp1, v)` + /// with inp and the given arguments. + /// Updates inp to `inp1` and returns `v`. #[allow(unused_macros)] macro_rules! run { ($fn:ident) => { run!($fn()) }; @@ -43,6 +86,8 @@ macro_rules! generate { with_dollar_sign! { ($d:tt) => { + /// Similar to `run!`, but doesn't expect successful parsing. + /// Returns a `Result, E>` instead of `Parsed`. #[allow(unused_macros)] macro_rules! try_run { ($fn:ident) => { try_run!($fn()) }; @@ -59,6 +104,7 @@ macro_rules! generate { } } + /// Print remaining input to debug. #[allow(unused_macros)] macro_rules! dump { () => {{ @@ -79,6 +125,7 @@ macro_rules! generate { }}; } + /// Removes the given number of bytes from the input and returns them. #[allow(unused_macros)] macro_rules! inp { (..$end:expr) => {{ @@ -94,12 +141,26 @@ macro_rules! generate { }; } +/// Return an error with the given message. macro_rules! err { ($($args:expr),*) => {{ return Err(eyre!($($args,)*)); }} } +/// Calls the function as given, updates the input with the first +/// result and returns the second result. For example: +/// ```ignore +/// run_manual!(leb128_u(inp, 32)) +/// ``` +/// expands to +/// ```ignore +/// { +/// let (inp1, v) = leb128_u(inp, 32)?; +/// inp = inp1; +/// v +/// } +/// ``` macro_rules! run_manual { ($fn:ident ( $inp:ident, $($arg:expr),* ) ) => {{ let (inp1, v) = $fn( $inp, $($arg,)*)?; @@ -113,6 +174,8 @@ macro_rules! run_manual { }}; } +/// Little Endian Base 128 encoding of unsigned integers. Parses `bits` bits +/// from `inp` into a `u64`. fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { let n = inp[0] as u64; inp = &inp[1..]; @@ -129,6 +192,8 @@ fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { } } +/// Little Endian Base 128 encoding of signed integers. Parses `bits` bits +/// from `inp` into a `i64`. fn leb128_s(mut inp: &[u8], bits: usize) -> Parsed { let n = inp[0] as u64; inp = &inp[1..]; @@ -750,7 +815,18 @@ generate! { names -> Names = { functions: HashMap::new(), locals: HashMap::new(), }; - let name_type = run!(u32); // module = 0, function = 1, local = 2 + + /* + As per the 1.0 spec, the type field is only one byte, so I think run!(u32) is + technically wrong here. It should always work because the type can only be + 0, 1, or 2, and since integers are leb encoded, reading the first 32 bit int + will only read the first byte. Still, I think it's confusing, we should only + read one byte. + */ + + // let name_type = run!(u32); // module = 0, function = 1, local = 2 + let name_type = run!(byte) as u32; + if name_type != 1 { // We don't support non-function names just yet. Might add it // in the future. @@ -758,9 +834,9 @@ generate! { names -> Names = { } let subsection_size = run!(u32); if subsection_size > 0 { - let mut inp = inp![..subsection_size as usize]; - names.functions = run_manual!(vec(inp, function_name)).into_iter().collect(); - if inp.len() != 0 { + let mut inp_ = inp![..subsection_size as usize]; + names.functions = run_manual!(vec(inp_, function_name)).into_iter().collect(); + if inp_.len() != 0 { err!("Unused bytes in custom name section") } } From b21048b68799afa97f4c74a535489a7554ab2104 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 4 Oct 2023 10:32:39 +0200 Subject: [PATCH 04/36] rewriting section parsing --- src/parser.rs | 58 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 99d8e3f..8bcc3a1 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -857,7 +857,41 @@ generate! { module -> Module = { let mut custom = vec![]; - // The sections + // declare sections + let ( + mut types, mut imports, mut functions, mut tables, + mut mems, mut globals, mut exports, mut start, + mut elem, mut code, mut data + ) = ( + vec![], vec![], vec![], vec![], + vec![], vec![], vec![], None, + vec![], vec![], vec![] + ); + + // parse sections + loop { + if peek_inp!(@@@length@@@) == 0 { + break; + } + match peek_inp!(..1) { + &[0u8] => custom.append(&mut run!(customsecs)), + &[1u8] => types = run!(typesec), + &[2u8] => imports = run!(importsec), + &[3u8] => functions = run!(funcsec), + &[4u8] => tables = run!(tablesec), + &[5u8] => mems = run!(memsec), + &[6u8] => globals = run!(globalsec), + &[7u8] => exports = run!(exportsec), + &[8u8] => start = run!(startsec), + &[9u8] => elem = run!(elemsec), + &[10u8] => code = run!(codesec), + &[11u8] => data = run!(datasec), + &[b] => err!("Unknown section {:#x}", b), + _ => unreachable!(), + } + } + + /* custom.append(&mut run!(customsecs)); let types = run!(typesec); trace!("types {}", types.len()); @@ -892,6 +926,7 @@ generate! { module -> Module = { let data = run!(datasec); trace!("data {}", data.len()); custom.append(&mut run!(customsecs)); + */ let custom: HashMap = custom.into_iter().collect(); @@ -899,11 +934,14 @@ generate! { module -> Module = { if let Some(data) = custom.get("name") { let mut data: &[u8] = data; let names = run_manual!(names(data)); - if data.len() == 0 { - names - } else { - err!("Unused bytes in the custom name section") - } + names + + // below check seems broken, see https://github.com/secure-foundations/rWasm/issues/2 + // if data.len() == 0 { + // names + // } else { + // err!("Unused bytes in the custom name section") + // } } else { Names { module: None, @@ -921,9 +959,9 @@ generate! { module -> Module = { // per the spec. So why are they kept separated? Anyways, we // simply zip them together and wrap them into the `Func` that we // need it to be. - if funcsec.len() != codesec.len() { + if functions.len() != code.len() { err!("funcsec and codesec are not the same length -- {} vs {}", - funcsec.len(), codesec.len()) + functions.len(), code.len()) } let imported_funcs = imports.iter().filter_map(|i| { @@ -941,8 +979,8 @@ generate! { module -> Module = { } }).collect::>(); - let internal_funcs = funcsec.into_iter() - .zip(codesec.into_iter()) + let internal_funcs = functions.into_iter() + .zip(code.into_iter()) .map(|(typ, (locals, body))| Func { typ, internals: FuncInternals::LocalFunc { locals, body } From 0a03ab50166ee8e8ea13b72e9913a67da23ab3ae Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 4 Oct 2023 12:35:21 +0200 Subject: [PATCH 05/36] reorganizing parsers I saw no good reason why some parsers should be defined within the generate! macro, and others not. For simplicity, I moved them all outside. --- src/parser.rs | 310 ++++++++++++++++++++++---------------------------- 1 file changed, 137 insertions(+), 173 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 8bcc3a1..b9771d2 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -6,6 +6,34 @@ use std::convert::TryInto; type Parsed<'a, T> = crate::Maybe<(&'a [u8], T)>; +/* + There are two ways to write a parser: + a) + - Write a function that takes a byte array and returns a `Parsed`. + - Use the `run_parser!` macro to run other parsers. + b) + - For simple parsers, use the `generate!` macro. + - Define a function body that returns the parsed type, and the macro will + generate a parser function. + - Use the `run!` macro to run other parsers. +*/ + +/// Runs a parser function. +macro_rules! run_parser { + ($fn:ident ( $inp:ident ) ) => { + run_parser!($fn($inp,)) + }; + ($fn:ident ( $inp:ident, $($arg:expr),* ) ) => {{ + let (inp1, v) = $fn( $inp, $($arg,)*)?; + $inp = inp1; + v + }}; +} + +/* + utils +*/ + /// print debug message if debug level >= 3 macro_rules! trace { ($($body:tt)*) => { @@ -13,6 +41,73 @@ macro_rules! trace { }; } +macro_rules! err { + ($($args:expr),*) => {{ + return Err(eyre!($($args,)*)); + }} +} + +/// Little Endian Base 128 encoding of unsigned integers. Parses `bits` bits +/// from `inp` into a `u64`. +fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { + let n = inp[0] as u64; + inp = &inp[1..]; + + assert!(bits <= 64); + + if n < (1 << 7) && (bits == 64 || n < (1 << bits)) { + Ok((inp, n)) + } else if n >= (1 << 7) && bits > 7 { + let (inp, m) = leb128_u(inp, bits - 7)?; + Ok((inp, (m << 7) + n - (1 << 7))) + } else { + err!("As per WASM spec, this branch for leb128_u should be impossible") + } +} + +/// Little Endian Base 128 encoding of signed integers. Parses `bits` bits +/// from `inp` into a `i64`. +fn leb128_s(mut inp: &[u8], bits: usize) -> Parsed { + let n = inp[0] as u64; + inp = &inp[1..]; + + assert!(bits <= 64); + + if n < (1 << 6) && n < (1u64 << (bits - 1)) { + Ok((inp, n as i64)) + } else if (1 << 6) <= n && n < (1 << 7) && n + (1u64 << (bits - 1)) >= (1 << 7) { + Ok((inp, (n as i64) - (1 << 7))) + } else if n >= (1 << 7) && bits > 7 { + let (inp, m) = leb128_s(inp, bits - 7)?; + Ok((inp, (m << 7) + (n as i64 - (1 << 7)))) + } else { + err!("As per WASM spec, this branch for leb128_s should be impossible") + } +} + +#[cfg(test)] +mod test_leb128 { + #[test] + fn leb128_u_spot_tests() -> crate::Maybe<()> { + assert_eq!(super::leb128_u(&[0x00], 64)?.1, 0); + assert_eq!(super::leb128_u(&[0x01], 32)?.1, 1); + assert_eq!(super::leb128_u(&[0xc0, 0xc4, 0x07], 32)?.1, 123456); + Ok(()) + } + + #[test] + fn leb128_s_spot_tests() -> crate::Maybe<()> { + assert_eq!(super::leb128_s(&[0x00], 64)?.1, 0); + assert_eq!(super::leb128_s(&[0x0ff, 0x00], 32)?.1, 127); + assert_eq!(super::leb128_s(&[0xc0, 0xbb, 0x78], 32)?.1, -123456); + Ok(()) + } +} + +/* + parser generator +*/ + /// This is a hack to allow for macros generating new macro definitions making use of /// repetition arguments, which seems to be a limitation of Rust. We cannot write: /// ```ignore @@ -66,11 +161,10 @@ macro_rules! generate { ($id:ident($($fnarg:ident : $fntyp:ty),*) -> $ty:ty = $body: expr ) => { fn $id(mut inp: &[u8], $($fnarg : $fntyp,)*) -> Parsed<$ty> { + with_dollar_sign! { ($d:tt) => { - /// Calls a function returning two things `(inp1, v)` - /// with inp and the given arguments. - /// Updates inp to `inp1` and returns `v`. + /// Runs a parser. #[allow(unused_macros)] macro_rules! run { ($fn:ident) => { run!($fn()) }; @@ -104,138 +198,45 @@ macro_rules! generate { } } - /// Print remaining input to debug. - #[allow(unused_macros)] - macro_rules! dump { - () => {{ - trace!("Remaining: {:#x?}", inp) - }} - } - - #[allow(unused_macros)] - macro_rules! peek_inp { - (@@@length@@@) => {{ - inp.len() - }}; - (..$end:expr) => {{ - inp.get(..$end).ok_or(eyre!("Insufficient data for parsing"))? - }}; - ($pos:expr) => {{ - inp.get($pos).ok_or(eyre!("Insufficient data for parsing"))? - }}; - } - - /// Removes the given number of bytes from the input and returns them. - #[allow(unused_macros)] - macro_rules! inp { - (..$end:expr) => {{ - let e = peek_inp!(..$end); - inp = &inp[$end..]; - e - }}; - } - let v = $body; Ok((inp, v)) } }; } -/// Return an error with the given message. -macro_rules! err { - ($($args:expr),*) => {{ - return Err(eyre!($($args,)*)); - }} -} +/* + Parsers +*/ -/// Calls the function as given, updates the input with the first -/// result and returns the second result. For example: -/// ```ignore -/// run_manual!(leb128_u(inp, 32)) -/// ``` -/// expands to -/// ```ignore -/// { -/// let (inp1, v) = leb128_u(inp, 32)?; -/// inp = inp1; -/// v -/// } -/// ``` -macro_rules! run_manual { - ($fn:ident ( $inp:ident, $($arg:expr),* ) ) => {{ - let (inp1, v) = $fn( $inp, $($arg,)*)?; - $inp = inp1; - v - }}; - ($fn:ident ( $inp:ident ) ) => {{ - let (inp1, v) = $fn( $inp )?; - $inp = inp1; - v - }}; +fn peek(inp: &[u8], n: usize) -> Parsed<&[u8]> { + let v = inp.get(..n).ok_or(eyre!("Insufficient data for parsing"))?; + Ok((inp, v)) } -/// Little Endian Base 128 encoding of unsigned integers. Parses `bits` bits -/// from `inp` into a `u64`. -fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { - let n = inp[0] as u64; - inp = &inp[1..]; - - assert!(bits <= 64); - - if n < (1 << 7) && (bits == 64 || n < (1 << bits)) { - Ok((inp, n)) - } else if n >= (1 << 7) && bits > 7 { - let (inp, m) = leb128_u(inp, bits - 7)?; - Ok((inp, (m << 7) + n - (1 << 7))) - } else { - err!("As per WASM spec, this branch for leb128_u should be impossible") - } +fn peek_at(inp: &[u8], pos: usize) -> Parsed<&u8> { + let v = inp.get(pos).ok_or(eyre!("Insufficient data for parsing"))?; + Ok((inp, v)) } -/// Little Endian Base 128 encoding of signed integers. Parses `bits` bits -/// from `inp` into a `i64`. -fn leb128_s(mut inp: &[u8], bits: usize) -> Parsed { - let n = inp[0] as u64; - inp = &inp[1..]; - - assert!(bits <= 64); - - if n < (1 << 6) && n < (1u64 << (bits - 1)) { - Ok((inp, n as i64)) - } else if (1 << 6) <= n && n < (1 << 7) && n + (1u64 << (bits - 1)) >= (1 << 7) { - Ok((inp, (n as i64) - (1 << 7))) - } else if n >= (1 << 7) && bits > 7 { - let (inp, m) = leb128_s(inp, bits - 7)?; - Ok((inp, (m << 7) + (n as i64 - (1 << 7)))) - } else { - err!("As per WASM spec, this branch for leb128_s should be impossible") - } +fn length(inp: &[u8]) -> Parsed { + Ok((inp, inp.len())) } -#[cfg(test)] -mod test_leb128 { - #[test] - fn leb128_u_spot_tests() -> crate::Maybe<()> { - assert_eq!(super::leb128_u(&[0x00], 64)?.1, 0); - assert_eq!(super::leb128_u(&[0x01], 32)?.1, 1); - assert_eq!(super::leb128_u(&[0xc0, 0xc4, 0x07], 32)?.1, 123456); - Ok(()) - } +fn inp(inp: &[u8], n: usize) -> Parsed<&[u8]> { + let v = inp.get(..n).ok_or(eyre!("Insufficient data for parsing"))?; + Ok((&inp[n..], v)) +} - #[test] - fn leb128_s_spot_tests() -> crate::Maybe<()> { - assert_eq!(super::leb128_s(&[0x00], 64)?.1, 0); - assert_eq!(super::leb128_s(&[0x0ff, 0x00], 32)?.1, 127); - assert_eq!(super::leb128_s(&[0xc0, 0xbb, 0x78], 32)?.1, -123456); - Ok(()) - } +fn inp_dump(inp: &[u8]) -> Parsed<()> { + trace!("Remaining: {:#x?}", inp); + Ok((inp, ())) } generate! {u32 -> u32 = run!(leb128_u(32)) as u32} generate! {i32 -> i32 = run!(leb128_s(32)) as i32} generate! {i64 -> i64 = run!(leb128_s(64)) as i64} -generate! {f32 -> f32 = f32::from_le_bytes(inp![..4].try_into()?)} -generate! {f64 -> f64 = f64::from_le_bytes(inp![..8].try_into()?)} +generate! {f32 -> f32 = f32::from_le_bytes(run!(inp(4)).try_into()?)} +generate! {f64 -> f64 = f64::from_le_bytes(run!(inp(8)).try_into()?)} generate! {s33 -> i64 = run!(leb128_s(33))} @@ -243,15 +244,15 @@ fn vec(mut inp: &[u8], elem: F) -> Parsed> where F: Fn(&[u8]) -> Parsed, { - let len = run_manual!(u32(inp)); + let len = run_parser!(u32(inp)); let l = (0..len) - .map(|_| Ok(run_manual!(elem(inp)))) + .map(|_| Ok(run_parser!(elem(inp)))) .collect::>>()?; Ok((inp, l)) } -generate! {byte -> u8 = inp![..1][0]} +generate! {byte -> u8 = run!(inp(1))[0]} generate! {name -> String = String::from_utf8(run!(vec(byte)))?} @@ -338,7 +339,7 @@ where let mut res = vec![]; while !until.contains(&v) { - res.push(run_manual!(elem(inp))); + res.push(run_parser!(elem(inp))); v = inp[0]; } inp = &inp[1..]; @@ -641,13 +642,13 @@ generate! { memarg -> MemArg = { generate! { expr -> Expr = Expr(run!(vec_until(instr, 0x0b))) } -generate! { typeidx -> TypeIdx = TypeIdx(run!(u32)) } -generate! { funcidx -> FuncIdx = FuncIdx(run!(u32)) } -generate! { tableidx -> TableIdx = TableIdx(run!(u32)) } -generate! { memidx -> MemIdx = MemIdx(run!(u32)) } +generate! { typeidx -> TypeIdx = TypeIdx(run!(u32)) } +generate! { funcidx -> FuncIdx = FuncIdx(run!(u32)) } +generate! { tableidx -> TableIdx = TableIdx(run!(u32)) } +generate! { memidx -> MemIdx = MemIdx(run!(u32)) } generate! { globalidx -> GlobalIdx = GlobalIdx(run!(u32)) } -generate! { localidx -> LocalIdx = LocalIdx(run!(u32)) } -generate! { labelidx -> LabelIdx = LabelIdx(run!(u32)) } +generate! { localidx -> LocalIdx = LocalIdx(run!(u32)) } +generate! { labelidx -> LabelIdx = LabelIdx(run!(u32)) } macro_rules! section { ($n:literal, $name:ident -> Option<$ty:ty> = $body:expr) => { @@ -675,7 +676,7 @@ macro_rules! section { err!("Insufficient bytes for section {}", $n) } let mut inp_inner = &inp[..size]; - let v = run_manual!(aux(inp_inner)); + let v = run_parser!(aux(inp_inner)); if inp_inner.len() != 0 { err!( "Unexpected {} bytes remain for section {:#x}", @@ -691,13 +692,13 @@ macro_rules! section { generate! { customsec -> (String, &[u8]) = { run!(expect_byte(0)); let size = run!(u32) as usize; - let mut inp = inp![..size]; - let name = run_manual!(name(inp)); + let mut inp = run!(inp(size)); + let name = run_parser!(name(inp)); (name, inp) }} generate! { customsecs -> Vec<(String, &[u8])> = { let mut ret = vec![]; - while peek_inp!(@@@length@@@) != 0 && peek_inp![..1][0] == 0 { + while run!(length) != 0 && run!(peek(1))[0] == 0 { ret.push(run!(customsec)); } ret @@ -754,7 +755,7 @@ generate! { exportdesc -> ExportDesc = { }} section! { 8, startsec -> Option = { - if peek_inp!(@@@length@@@) == 0 { + if run!(length) == 0 { None } else { Some(run!(start)) @@ -834,8 +835,8 @@ generate! { names -> Names = { } let subsection_size = run!(u32); if subsection_size > 0 { - let mut inp_ = inp![..subsection_size as usize]; - names.functions = run_manual!(vec(inp_, function_name)).into_iter().collect(); + let mut inp_ = run!(inp(subsection_size as usize)); + names.functions = run_parser!(vec(inp_, function_name)).into_iter().collect(); if inp_.len() != 0 { err!("Unused bytes in custom name section") } @@ -870,10 +871,10 @@ generate! { module -> Module = { // parse sections loop { - if peek_inp!(@@@length@@@) == 0 { + if run!(length) == 0 { break; } - match peek_inp!(..1) { + match run!(peek(1)) { &[0u8] => custom.append(&mut run!(customsecs)), &[1u8] => types = run!(typesec), &[2u8] => imports = run!(importsec), @@ -891,49 +892,12 @@ generate! { module -> Module = { } } - /* - custom.append(&mut run!(customsecs)); - let types = run!(typesec); - trace!("types {}", types.len()); - custom.append(&mut run!(customsecs)); - let imports = run!(importsec); - trace!("imports {}", imports.len()); - custom.append(&mut run!(customsecs)); - let funcsec = run!(funcsec); - trace!("funcsec {}", funcsec.len()); - custom.append(&mut run!(customsecs)); - let tables = run!(tablesec); - trace!("tables {}", tables.len()); - custom.append(&mut run!(customsecs)); - let mems = run!(memsec); - trace!("mems {}", mems.len()); - custom.append(&mut run!(customsecs)); - let globals = run!(globalsec); - trace!("globals {}", globals.len()); - custom.append(&mut run!(customsecs)); - let exports = run!(exportsec); - trace!("exports {}", exports.len()); - custom.append(&mut run!(customsecs)); - let start = run!(startsec); - trace!("start {}", start.is_some()); - custom.append(&mut run!(customsecs)); - let elem = run!(elemsec); - trace!("elem {}", elem.len()); - custom.append(&mut run!(customsecs)); - let codesec = run!(codesec); - trace!("codesec {}", codesec.len()); - custom.append(&mut run!(customsecs)); - let data = run!(datasec); - trace!("data {}", data.len()); - custom.append(&mut run!(customsecs)); - */ - let custom: HashMap = custom.into_iter().collect(); let names = { if let Some(data) = custom.get("name") { let mut data: &[u8] = data; - let names = run_manual!(names(data)); + let names = run_parser!(names(data)); names // below check seems broken, see https://github.com/secure-foundations/rWasm/issues/2 From b86dd3aeb4b8742cc8f7376e62f07798844bf9af Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 4 Oct 2023 12:50:46 +0200 Subject: [PATCH 06/36] minor parser doc changes --- src/parser.rs | 56 +++++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 40 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index b9771d2..07f635f 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -18,7 +18,6 @@ type Parsed<'a, T> = crate::Maybe<(&'a [u8], T)>; - Use the `run!` macro to run other parsers. */ -/// Runs a parser function. macro_rules! run_parser { ($fn:ident ( $inp:ident ) ) => { run_parser!($fn($inp,)) @@ -34,7 +33,6 @@ macro_rules! run_parser { utils */ -/// print debug message if debug level >= 3 macro_rules! trace { ($($body:tt)*) => { dbgprintln!(3, $($body)*) @@ -47,8 +45,7 @@ macro_rules! err { }} } -/// Little Endian Base 128 encoding of unsigned integers. Parses `bits` bits -/// from `inp` into a `u64`. +/// Little Endian Base 128 encoding of unsigned ints. Parses `bits` bits into a `u64`. fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { let n = inp[0] as u64; inp = &inp[1..]; @@ -65,8 +62,7 @@ fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { } } -/// Little Endian Base 128 encoding of signed integers. Parses `bits` bits -/// from `inp` into a `i64`. +/// Little Endian Base 128 encoding of signed ints. Parses `bits` bits into a `i64`. fn leb128_s(mut inp: &[u8], bits: usize) -> Parsed { let n = inp[0] as u64; inp = &inp[1..]; @@ -109,35 +105,9 @@ mod test_leb128 { */ /// This is a hack to allow for macros generating new macro definitions making use of -/// repetition arguments, which seems to be a limitation of Rust. We cannot write: -/// ```ignore -/// macro_rules! foo { -/// () => { -/// macro_rules! bar { -/// ( $($any:tt),* ) => { $($any),* }; -/// } -/// }; -/// } -/// ``` -/// If we used metavariables (on nightly) we could escape the `$`s in the inner macro -/// by replacing them with `$$`. Alternatively, we can use this macro, which takes a -/// macro matching and calls it with `$` as its argument. This allows us to write: -/// ```ignore -/// macro_rules! foo { -/// () => { -/// with_dollar_sign! { -/// ($d:tt) => { -/// macro_rules! bar { -/// ($d($d any:tt)*) => { $d($d any),* }; -/// } -/// } -/// } -/// }; -/// } -/// ``` -/// so `$d` in the inner macro will be replaced by `$` and we obtain the desired -/// behavior. IMO this is extremely ugly. -/// See https://github.com/rust-lang/rust/issues/35853#issuecomment-415993963 +/// repetition arguments, see +/// https://github.com/rust-lang/rust/issues/35853#issuecomment-415993963 +/// An alternative would be to use macro metavariables on nightly. macro_rules! with_dollar_sign { ($($body:tt)*) => { macro_rules! __with_dollar_sign { $($body)* } @@ -145,14 +115,20 @@ macro_rules! with_dollar_sign { } } -/// Generate a parser function with the given name, parsing the given return type -/// `T` from a byte array, into a `Parsed`. +/// Generate a parser function. Example: /// ```ignore -/// generate! { fname (arg1:a1, arg2:a2) -> type = body } +/// generate! { double_peek (n:u32) -> &[u8] = run!(peek(2*n))} /// ``` /// expands to /// ```ignore -/// fn fname(mut inp: &[u8], arg1:a1, arg2:a2) -> Parsed {...} +/// fn double_peek(mut inp: &[u8], n:u32) -> Parsed { +/// let v = { +/// let (inp1, v) = peek(inp, 2*n)?; +/// inp = inp1; +/// v +/// }; +/// Ok((inp, v)) +/// } /// ``` macro_rules! generate { ($id:ident -> $ty:ty = $body:expr) => { @@ -190,7 +166,7 @@ macro_rules! generate { Ok((inp1, v)) => { inp = inp1; Ok(v) - } + }, Err(e) => Err(e), } }}; From 8abf67ff2fca2c60f587f734175dac631dd99363 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 4 Oct 2023 12:51:04 +0200 Subject: [PATCH 07/36] parser doc fix --- src/parser.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser.rs b/src/parser.rs index 07f635f..39cb6a8 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -121,7 +121,7 @@ macro_rules! with_dollar_sign { /// ``` /// expands to /// ```ignore -/// fn double_peek(mut inp: &[u8], n:u32) -> Parsed { +/// fn double_peek(mut inp: &[u8], n:u32) -> Parsed<&[u32]> { /// let v = { /// let (inp1, v) = peek(inp, 2*n)?; /// inp = inp1; From 71da83bc108acdefe1bdcd3167fd919603ffaaea Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 17 Oct 2023 09:59:25 +0200 Subject: [PATCH 08/36] undo parser name section parsing fix not a cosmetic change, will redo on another branch --- src/parser.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 39cb6a8..8b897f9 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -874,14 +874,11 @@ generate! { module -> Module = { if let Some(data) = custom.get("name") { let mut data: &[u8] = data; let names = run_parser!(names(data)); - names - - // below check seems broken, see https://github.com/secure-foundations/rWasm/issues/2 - // if data.len() == 0 { - // names - // } else { - // err!("Unused bytes in the custom name section") - // } + if data.len() == 0 { + names + } else { + err!("Unused bytes in the custom name section") + } } else { Names { module: None, From 52ed549216db6c70724b150d4101c53927c10b02 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 17 Oct 2023 10:06:54 +0200 Subject: [PATCH 09/36] redo parser name section parsing fix --- src/parser.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 1ac91eb..f1daf54 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -823,11 +823,12 @@ generate! { module -> Module = { if let Some(data) = custom.get("name") { let mut data: &[u8] = data; let names = run_manual!(names(data)); - if data.len() == 0 { - names - } else { - err!("Unused bytes in the custom name section") - } + // below check seems broken, see https://github.com/secure-foundations/rWasm/issues/2 + // if data.len() == 0 { + // names + // } else { + // err!("Unused bytes in the custom name section") + // } } else { Names { module: None, From 7803e0fa3982b1dae199064501be0e30b5363abb Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 17 Oct 2023 10:07:58 +0200 Subject: [PATCH 10/36] copy paste hell (fix previous commit) --- src/parser.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/parser.rs b/src/parser.rs index f1daf54..3cf52d6 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -829,6 +829,7 @@ generate! { module -> Module = { // } else { // err!("Unused bytes in the custom name section") // } + names } else { Names { module: None, From 76b9e2c6705c70d4805e6e3e059a79466abddeb4 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 17 Oct 2023 17:35:00 +0200 Subject: [PATCH 11/36] fix old run_manual! usage --- src/parser.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser.rs b/src/parser.rs index 19bc451..478f359 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -873,7 +873,7 @@ generate! { module -> Module = { let names = { if let Some(data) = custom.get("name") { let mut data: &[u8] = data; - let names = run_manual!(names(data)); + let names = run_parser!(names(data)); // below check seems broken, see https://github.com/secure-foundations/rWasm/issues/2 // if data.len() == 0 { // names From cea4936cd4d4f4851b181e75cd96316820a27691 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 17 Oct 2023 22:39:05 +0200 Subject: [PATCH 12/36] add option --no-alloc Eliminates all uses of alloc::Box and alloc::Vec when --no-alloc is chosen. The main difficulty with removing Vec is the fact that wasm functions have multi-returns, so when calling indirect we don't know how many returns come back. This commit solves it by allocating as much space on the stack as needed for the highest possible number of returns when calling indirect. There are other non-stack-based solutions, especially the tinyvec crate allows static heapless vector functionality without usage of unsafe. --- src/main.rs | 11 + src/printer.rs | 200 +++++++++++++++--- templates-for-generation/imports_no_alloc.rs | 4 + .../static_func_returns.rs | 36 ++++ 4 files changed, 216 insertions(+), 35 deletions(-) create mode 100644 templates-for-generation/imports_no_alloc.rs create mode 100644 templates-for-generation/static_func_returns.rs diff --git a/src/main.rs b/src/main.rs index ef0d8b7..542ddc6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,6 +81,11 @@ pub struct CmdLineOpts { /// Generate a `no_std` library, limiting usage to `core` and `alloc` #[clap(long)] no_std_library: bool, + /// Generate statically allocated, heapless code (implies --no-std-library, + /// requires --fixed-mem-size) + /// (Warning: experimental performance impact) + #[clap(long)] + no_alloc: bool, } fn main() -> Maybe<()> { @@ -106,6 +111,12 @@ fn main() -> Maybe<()> { if opts.generate_as_wasi_library { opts.generate_wasi_executable = true; } + if opts.no_alloc { + if opts.fixed_mem_size.is_none() { + return Err(eyre!("Must use --fixed-mem-size when using --no-alloc")); + } + opts.no_std_library = true; + } let inp = std::fs::read(&opts.input_path)?; println!("Finished reading"); diff --git a/src/printer.rs b/src/printer.rs index 42b01ca..50df71f 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -541,7 +541,7 @@ fn print_instr( let dynamic_offset = pop!(i32); let dst = push!(); let ea = format!("({} + {})", dynamic_offset, mem.memarg.offset); - let self_mem = if opts.fixed_mem_size.is_some() { + let self_mem = if opts.fixed_mem_size.is_some() && !opts.no_alloc { "*self.memory" } else { "self.memory" @@ -615,7 +615,7 @@ fn print_instr( } else { "".into() }; - let self_mem = if opts.fixed_mem_size.is_some() { + let self_mem = if opts.fixed_mem_size.is_some() && !opts.no_alloc { "*self.memory" } else { "self.memory" @@ -1357,7 +1357,7 @@ fn print_function( // the whole process to exit at this point. result += "std::process::exit(arg_0)"; } else { - let self_mem = if opts.fixed_mem_size.is_some() { + let self_mem = if opts.fixed_mem_size.is_some() && !opts.no_alloc { "*self.memory" } else { "self.memory" @@ -1412,7 +1412,11 @@ fn print_global_initializer(g: &wasm::syntax::Global) -> Maybe { } } -fn print_elem(self_name: &str, e: &wasm::syntax::Elem) -> Maybe { +fn print_elem( + self_name: &str, + e: &wasm::syntax::Elem, + opts: &CmdLineOpts, +) -> Maybe { if e.table.0 != 0 { return Err(eyre!("Current version of WASM supports only 1 table"))?; } @@ -1427,13 +1431,17 @@ fn print_elem(self_name: &str, e: &wasm::syntax::Elem) -> Maybe { return Err(eyre!("Invalid floating offset"))?; } }; - let setup = format!( - "if {}.indirect_call_table.len() < {} {{ {}.indirect_call_table.resize({}, None) }}", - self_name, - offset + e.init.len(), - self_name, - offset + e.init.len(), - ); + let setup = if !opts.no_alloc { + format!( + "if {}.indirect_call_table.len() < {} {{ {}.indirect_call_table.resize({}, None) }}", + self_name, + offset + e.init.len(), + self_name, + offset + e.init.len(), + ) + } else { + "".into() + }; let insertions = e .init .iter() @@ -1603,7 +1611,7 @@ fn print_inline_indirect_call( )) } -fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { +fn print_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe { let targets = m .funcs .iter() @@ -1629,7 +1637,8 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { .map(|(i, _t)| format!("a{}", i)) .collect::>() .join(", "); - let rets = match typ.to.0.len() { + let num_rets = typ.to.0.len(); + let rets = match num_rets { 0 => "".into(), 1 => "TaggedVal::from(rets)".into(), _ => typ @@ -1646,6 +1655,11 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { } else { "let rets = " }; + let ret = if !opts.no_alloc { + format!("vec![{}]", rets) + } else { + format!("IndirectFuncRet::Ret{}([{}])", num_rets, rets) + }; Ok(format!( "{} => {{ if args.len() != {} {{ @@ -1653,7 +1667,7 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { }} {} {}self.func_{}({})?; - Some(vec![{}]) + Some({}) }}", i, typ.from.0.len(), @@ -1661,7 +1675,7 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { store_rets, i, args, - rets, + ret, )) }) .collect::>>()? @@ -1670,7 +1684,7 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { "impl WasmModule {{ #[allow(dead_code)] fn indirect_call(&mut self, idx: usize, args: &[TaggedVal]) -> - Option> {{ + Option<{}> {{ let call_target = (*self.indirect_call_table.get(idx)?)?; match call_target {{ {} @@ -1678,6 +1692,10 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { }} }} }}", + { + if !opts.no_alloc { "Vec" } + else { "IndirectFuncRet" } + }, targets )) } @@ -1898,11 +1916,14 @@ edition = "2018" [profile.release] debug = true +{panic} "#, name = package_name, version = crate::PROGRAM_VERSION, generator = crate::PROGRAM_NAME, dependencies = dependencies, + panic = if opts.no_alloc { "panic = \"abort\"" } + else { "" }, ), )?) } @@ -1922,7 +1943,7 @@ fn get_memory_backing_size( if size < m { return Err(eyre!("Module requires at least {} blocks of memory", m)); } - } else { + } else if size != 0 { return Err(eyre!("Module does not use any memory")); } if let Some(m) = max_allowed_blocks { @@ -1963,21 +1984,98 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> } else { "" }; + let panic_handler = if !opts.no_alloc { + "".into() + } else { + format!(" + #[panic_handler] + fn panic(_info: &PanicInfo) -> ! {{ + loop {{}} + }}") + }; + // If we need to avoid alloc dependency, we need to generate + // arrays for the return values of functions (can't use `Vec`). + let static_function_return_def = if opts.no_alloc { + // Find the maximum number of return values of all functions + let max_rets = m + .funcs + .iter() + .map(|f| { + let ftyp = m.types.get(f.typ.0 as usize).ok_or( + eyre!("Invalid type index {} for function", f.typ.0), + )?; + Ok(ftyp.to.0.len()) + }) + .collect::>>()? + .into_iter() + .max().unwrap_or(0); + let template = include_str!("../templates-for-generation/static_func_returns.rs"); + template.replace( + "<>", + &(0..=max_rets) + .map(|i| format!("Ret{}([TaggedVal; {}])", i, i)) + .collect::>() + .join(",\n") + ) + .replace( + "<>", + &(0..=max_rets) + .map(|i| format!("Ret{}(_) => {}", i, i)) + .collect::>() + .join(",\n") + ) + .replace( + "<>", + &(0..=max_rets) + .map(|i| format!("Ret{}(v) => &v[i]", i)) + .collect::>() + .join(",\n") + ) + .replace( + "<>", + &(0..=max_rets) + .map(|i| format!("Ret{}(v) => &mut v[i]", i)) + .collect::>() + .join(",\n") + ) + } else { + // Otherwise, we can use `Vec` for the return values of functions + "".into() + }; let wasm_module = format!( "#[allow(dead_code)] pub struct WasmModule {{ {memory}, - globals: Vec, - indirect_call_table: Vec>, + {globals}, + {indirect_call_table}, {wasi_context} }}", - memory = if opts.fixed_mem_size.is_some() { + memory = { + if opts.fixed_mem_size.is_some() { + if !opts.no_alloc { + format!("memory: Box<[u8; {}]>, memory_size_to_vm: usize", get_memory_backing_size(m, opts)?.0) + } else { + format!("memory: [u8; {}]", get_memory_backing_size(m, opts)?.0) + } + } else { + "memory: Vec".to_string() + } + }, + globals = if opts.no_alloc { format!( - "memory: Box<[u8; {}]>, memory_size_to_vm: usize", - get_memory_backing_size(m, opts)?.0 + "globals: [TaggedVal; {}]", + m.globals.len() ) } else { - "memory: Vec".to_string() + "globals: Vec".to_string() + }, + indirect_call_table = if !opts.no_alloc { + "indirect_call_table: Vec>".into() + } else { + format!( + "indirect_call_table: [Option; {}]", + m.funcs.len() + ) }, wasi_context = if opts.generate_wasi_executable { "context: wasi_common::WasiCtx," @@ -2024,18 +2122,24 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Ok(format!( "{module_prefix}{no_std}\n\n\ {imports}\n\n\ + {panic_handler}\n\n {tagged_value_definitions}\n\n\ + {static_function_return_def} {wasm_module}\n\n\ {memory_accessors}\n", module_prefix = module_prefix, no_std = no_std, - imports = if opts.no_std_library { + panic_handler = panic_handler, + imports = if opts.no_alloc { + include_str!("../templates-for-generation/imports_no_alloc.rs") + } else if opts.no_std_library { include_str!("../templates-for-generation/imports_no_std.rs") } else { include_str!("../templates-for-generation/imports.rs") }, tagged_value_definitions = include_str!("../templates-for-generation/tagged_value_definitions.rs"), + static_function_return_def = static_function_return_def, wasm_module = wasm_module, memory_accessors = memory_accessors, )) @@ -2061,15 +2165,31 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { let (mem_size, mem_size_to_vm) = get_memory_backing_size(m, opts)?; let memory_init = if opts.fixed_mem_size.is_some() { - format!( - "memory: Box::new([0u8; {}]), memory_size_to_vm: {}", - mem_size, - mem_size_to_vm.unwrap() - ) + if !opts.no_alloc { + format!( + "memory: Box::new([0u8; {}]), memory_size_to_vm: {}", + mem_size, + mem_size_to_vm.unwrap() + ) + } else { + format!("memory: [0u8; {}]", mem_size) + } } else { format!("memory: vec![0u8; {}]", mem_size) }; + let globals_init = if !opts.no_alloc { + "globals: vec![]".into() + } else { + format!("globals: [TaggedVal::Undefined; {}]", globals.len()) + }; + + let indirect_call_table_init = if !opts.no_alloc { + "indirect_call_table: vec![]".into() + } else { + format!("indirect_call_table: [None; {}]", m.funcs.len()) + }; + // Print the module initializer generated += "\n"; generated += &format!( @@ -2078,11 +2198,11 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { pub fn new() -> Self {{ let mut m = WasmModule {{ {memory_init}, - globals: vec![], - indirect_call_table: vec![], + {globals_init}, + {indirect_call_table_init}, {context} \ }}; - m.globals.resize_with({globals_size}, Default::default); + {globals_resize} {printed_globals} {printed_elems} {printed_data} @@ -2096,7 +2216,17 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { "" }, memory_init = memory_init, - globals_size = globals.len(), + globals_init = globals_init, + globals_resize = { + if !opts.no_alloc { + format!( + "m.globals.resize_with({globals_size}, Default::default);", + globals_size = globals.len() + ) + } else { + "".into() + } + }, printed_globals = globals .iter() .enumerate() @@ -2109,7 +2239,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { .join("\n"), printed_elems = elem .iter() - .map(|e| print_elem("m", e)) + .map(|e| print_elem("m", e, opts)) .collect::>>()? .join("\n"), printed_data = data @@ -2134,7 +2264,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { if opts.type_based_indirect_calls { generated += &print_type_based_indirect_call_dispatch(m)?; } else { - generated += &print_indirect_call_dispatch(m)?; + generated += &print_indirect_call_dispatch(m, opts)?; } generated += "\n"; dbgprintln!(0, "Generated CallIndirect redirector"); diff --git a/templates-for-generation/imports_no_alloc.rs b/templates-for-generation/imports_no_alloc.rs new file mode 100644 index 0000000..d9fadbe --- /dev/null +++ b/templates-for-generation/imports_no_alloc.rs @@ -0,0 +1,4 @@ +use core::convert::TryInto; +use core::ops::Index; +use core::ops::IndexMut; +use core::panic::PanicInfo; diff --git a/templates-for-generation/static_func_returns.rs b/templates-for-generation/static_func_returns.rs new file mode 100644 index 0000000..8d2469a --- /dev/null +++ b/templates-for-generation/static_func_returns.rs @@ -0,0 +1,36 @@ +/// A common heapless return type for indirect calls. +/// Notice wasm functions have multi-returns. In order to +/// avoid heap allocation, call_indirect() returns this type +/// instead of Vec. +#[derive(Copy, Clone, Debug)] +enum IndirectFuncRet { + <> +} + +impl IndirectFuncRet { + fn len(&self) -> usize { + use IndirectFuncRet::*; + match self { + <> + } + } +} + +impl Index for IndirectFuncRet { + type Output = TaggedVal; + fn index<'a>(&'a self, i: usize) -> &'a TaggedVal { + use IndirectFuncRet::*; + match self { + <> + } + } +} + +impl IndexMut for IndirectFuncRet { + fn index_mut<'a>(&'a mut self, i: usize) -> &'a mut TaggedVal { + use IndirectFuncRet::*; + match self { + <> + } + } +} From 3f3355cc3f936c9f4712b543a4fdd7c73c251c5d Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 19 Oct 2023 20:08:25 +0200 Subject: [PATCH 13/36] do not overwrite Cargo.toml --- .gitignore | 3 ++- src/printer.rs | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 33e1423..c0b9857 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *~ /generated /target -.vscode \ No newline at end of file +.vscode +tmp \ No newline at end of file diff --git a/src/printer.rs b/src/printer.rs index 50df71f..f244533 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1888,6 +1888,14 @@ fn print_export( fn print_cargo_toml(opts: &CmdLineOpts) -> Maybe<()> { let cargo_toml_path = opts.output_directory.join("Cargo.toml"); + if cargo_toml_path.exists() { + println!( + "WARNING: Cargo.toml already exists at {}. \ + Not overwriting it.", + cargo_toml_path.display() + ); + return Ok(()); + } let package_name = opts .input_path .file_stem() From 2da921dad1d0d12a6e5479b143d4701e167f1ca3 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sat, 21 Oct 2023 12:18:07 +0200 Subject: [PATCH 14/36] prevent IndirectFuncRet dead_code warning --- templates-for-generation/static_func_returns.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/templates-for-generation/static_func_returns.rs b/templates-for-generation/static_func_returns.rs index 8d2469a..ac629c3 100644 --- a/templates-for-generation/static_func_returns.rs +++ b/templates-for-generation/static_func_returns.rs @@ -8,6 +8,7 @@ enum IndirectFuncRet { } impl IndirectFuncRet { + #[allow(dead_code)] fn len(&self) -> usize { use IndirectFuncRet::*; match self { From 1f05eed5674bd243571ae2735082428587690d5c Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sat, 21 Oct 2023 12:19:22 +0200 Subject: [PATCH 15/36] add option --crate-name makes it a lot nicer to consume the rWasm output from another program --- src/main.rs | 3 +++ src/printer.rs | 15 +++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 542ddc6..2cecd84 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,6 +34,9 @@ pub struct CmdLineOpts { /// Path to output directory #[clap(default_value = "./generated")] output_directory: std::path::PathBuf, + /// Customize the name of the generated Rust crate + #[clap(long)] + crate_name: Option, /// Prevent reformatting, for debug purposes #[clap(short, long)] prevent_reformat: bool, diff --git a/src/printer.rs b/src/printer.rs index f244533..fab39df 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1896,11 +1896,14 @@ fn print_cargo_toml(opts: &CmdLineOpts) -> Maybe<()> { ); return Ok(()); } - let package_name = opts - .input_path - .file_stem() - .and_then(|n| n.to_str()) - .unwrap_or("wasmmodule".into()); + let package_name = match &opts.crate_name { + Some(n) => n.clone(), + None => "sandboxed-".to_owned() + opts + .input_path + .file_stem() + .and_then(|n| n.to_str()) + .unwrap_or("wasmmodule".into()) + }; let dependencies = if opts.generate_wasi_executable { "\ wasi-common = \"0.20.0\"\n\ @@ -1914,7 +1917,7 @@ fn print_cargo_toml(opts: &CmdLineOpts) -> Maybe<()> { format!( r#" [package] -name = "sandboxed-{name}" +name = "{name}" version = "{version}" authors = ["generated-by-{generator}-{version}"] edition = "2018" From 818cd0dbefd558c466bbbe60ee7c23edf95909dd Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sun, 22 Oct 2023 16:16:17 +0200 Subject: [PATCH 16/36] remove panic handler Turns out we only need a panic handler in no_std crates if they are dynamic libraries, which shouldn't be necessary for the crate generated by rWasm. --- src/printer.rs | 14 -------------- templates-for-generation/imports_no_alloc.rs | 3 +-- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/printer.rs b/src/printer.rs index fab39df..eedb1e8 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1927,14 +1927,11 @@ edition = "2018" [profile.release] debug = true -{panic} "#, name = package_name, version = crate::PROGRAM_VERSION, generator = crate::PROGRAM_NAME, dependencies = dependencies, - panic = if opts.no_alloc { "panic = \"abort\"" } - else { "" }, ), )?) } @@ -1995,15 +1992,6 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> } else { "" }; - let panic_handler = if !opts.no_alloc { - "".into() - } else { - format!(" - #[panic_handler] - fn panic(_info: &PanicInfo) -> ! {{ - loop {{}} - }}") - }; // If we need to avoid alloc dependency, we need to generate // arrays for the return values of functions (can't use `Vec`). let static_function_return_def = if opts.no_alloc { @@ -2133,14 +2121,12 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Ok(format!( "{module_prefix}{no_std}\n\n\ {imports}\n\n\ - {panic_handler}\n\n {tagged_value_definitions}\n\n\ {static_function_return_def} {wasm_module}\n\n\ {memory_accessors}\n", module_prefix = module_prefix, no_std = no_std, - panic_handler = panic_handler, imports = if opts.no_alloc { include_str!("../templates-for-generation/imports_no_alloc.rs") } else if opts.no_std_library { diff --git a/templates-for-generation/imports_no_alloc.rs b/templates-for-generation/imports_no_alloc.rs index d9fadbe..00f0b37 100644 --- a/templates-for-generation/imports_no_alloc.rs +++ b/templates-for-generation/imports_no_alloc.rs @@ -1,4 +1,3 @@ use core::convert::TryInto; use core::ops::Index; -use core::ops::IndexMut; -use core::panic::PanicInfo; +use core::ops::IndexMut; \ No newline at end of file From 12578a5346762cd2d33723417dd807c96b240a7e Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sun, 22 Oct 2023 16:35:04 +0200 Subject: [PATCH 17/36] improve --crate-name help text --- src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 2cecd84..0558983 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,7 +34,8 @@ pub struct CmdLineOpts { /// Path to output directory #[clap(default_value = "./generated")] output_directory: std::path::PathBuf, - /// Customize the name of the generated Rust crate + /// Customize the name of the generated Rust crate. + /// Default: sandboxed- #[clap(long)] crate_name: Option, /// Prevent reformatting, for debug purposes From 265ae3e238f67680c5935a57618b10aeb5c67f87 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sat, 28 Oct 2023 14:32:11 +0200 Subject: [PATCH 18/36] allow static initialization This makes WasmModule::new() const, which allows for static initialization, which is important in heap-less environments. It also makes access functions to global constant exports const, so global export constants can also be statically accessed, which is often useful as well. --- src/printer.rs | 22 +++++++++++-------- src/wasm.rs | 16 ++++++++++++++ .../tagged_value_definitions.rs | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/printer.rs b/src/printer.rs index eedb1e8..74aa178 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1404,7 +1404,7 @@ fn print_global_initializer(g: &wasm::syntax::Global) -> Maybe { ))?; } if let wasm::syntax::Instr::Const(c) = &g.init.0[0] { - Ok(c.to_string()) + Ok(c.to_variant_string()) } else { Err(eyre!( "Currently unsupported expression for global initialization" @@ -1484,12 +1484,16 @@ fn print_data(self_name: &str, d: &wasm::syntax::Data) -> Maybe { .map(|b| format!("{}", b)) .collect::>() .join(", "); + // we're not using `.copy_from_slice` because it is not const + // this allows for static initialization Ok(format!( - "{}.memory[{}..{}].copy_from_slice(&[{}]);", - self_name, - offset, - offset + len, - bytes + "// initialize data region [{offset}..{offset}+{len}] + let bytes = [{bytes}]; + let mut i = {offset}; + while i < {offset} + {len} {{ + {self_name}.memory[i] = bytes[i - {offset}]; + i += 1; + }}" )) } else { Err(eyre!("Currently unsupported expression for data offset"))? @@ -1864,7 +1868,7 @@ fn print_export( .typ; let getter = format!( "impl WasmModule {{ - {}pub fn get_{}(&self) -> Option<{}> {{ + {}pub const fn get_{}(&self) -> Option<{}> {{ self.globals[{}].try_as_{}() }} }}", @@ -2192,7 +2196,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { generated += &format!( "impl WasmModule {{ #[allow(unused_mut)] - pub fn new() -> Self {{ + pub const fn new() -> Self {{ let mut m = WasmModule {{ {memory_init}, {globals_init}, @@ -2228,7 +2232,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { .iter() .enumerate() .map(|(i, g)| Ok(format!( - "m.globals[{}] = TaggedVal::from({});", + "m.globals[{}] = {};", i, print_global_initializer(g)? ))) diff --git a/src/wasm.rs b/src/wasm.rs index b03c314..c8ac257 100644 --- a/src/wasm.rs +++ b/src/wasm.rs @@ -186,6 +186,22 @@ pub mod syntax { } } + impl Const { + /// Convert to a string and include the variant name. + /// Example: `Const::I32(42).to_variant_str()` returns `"I32(42i32)"` + /// whereas `Const::I32(42).to_string()` returns `"42i32"`. + pub fn to_variant_string(&self) -> String { + use Const::*; + let variant_str: String = match self { + I32(_) => "I32".into(), + I64(_) => "I64".into(), + F32(_) => "F32".into(), + F64(_) => "F64".into(), + }; + format!("{}({})", variant_str, self.to_string()) + } + } + #[derive(Debug)] pub enum BitSize { B32, diff --git a/templates-for-generation/tagged_value_definitions.rs b/templates-for-generation/tagged_value_definitions.rs index 104d55f..0d1d36e 100644 --- a/templates-for-generation/tagged_value_definitions.rs +++ b/templates-for-generation/tagged_value_definitions.rs @@ -39,7 +39,7 @@ macro_rules! tagged_value_conversion { impl TaggedVal { #[inline] #[allow(dead_code)] - fn $try_as(&self) -> Option<$ty> { + const fn $try_as(&self) -> Option<$ty> { if let $e(v) = self { Some(*v) } else { From 4b601b1004a42d69a2501cd8decf99069c220988 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 6 Nov 2023 19:12:56 +0100 Subject: [PATCH 19/36] print memory size --- src/printer.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/printer.rs b/src/printer.rs index 74aa178..0da6f8f 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1849,6 +1849,9 @@ fn print_export( pub fn get_memory(&mut self) -> *mut u8 { self.memory.as_mut_ptr() } + pub fn get_memory_size(&self) -> usize { + self.memory.len() + } }" .to_string()) } From 932b2526d7eb4c0f3f631decb8529a73c21c9be8 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sun, 12 Nov 2023 14:58:21 +0100 Subject: [PATCH 20/36] make WasmModule::new() non-const will need this for incoming changes --- src/printer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/printer.rs b/src/printer.rs index 0da6f8f..ddfcbb4 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -2199,7 +2199,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { generated += &format!( "impl WasmModule {{ #[allow(unused_mut)] - pub const fn new() -> Self {{ + pub fn new() -> Self {{ let mut m = WasmModule {{ {memory_init}, {globals_init}, From 3e32aa1b6f621f8c6dc007aafd30417ec16bebcd Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sun, 12 Nov 2023 16:05:30 +0100 Subject: [PATCH 21/36] remove const-friendly memory initialization --- src/printer.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/printer.rs b/src/printer.rs index ddfcbb4..0765c6a 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1484,16 +1484,12 @@ fn print_data(self_name: &str, d: &wasm::syntax::Data) -> Maybe { .map(|b| format!("{}", b)) .collect::>() .join(", "); - // we're not using `.copy_from_slice` because it is not const - // this allows for static initialization Ok(format!( - "// initialize data region [{offset}..{offset}+{len}] - let bytes = [{bytes}]; - let mut i = {offset}; - while i < {offset} + {len} {{ - {self_name}.memory[i] = bytes[i - {offset}]; - i += 1; - }}" + "{}.memory[{}..{}].copy_from_slice(&[{}]);", + self_name, + offset, + offset + len, + bytes )) } else { Err(eyre!("Currently unsupported expression for data offset"))? From 74b8bbaddedfb52c7913e75b26b892b8c3aadf15 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sun, 12 Nov 2023 16:07:38 +0100 Subject: [PATCH 22/36] add option --extern-memory This option allows passing a bytes array slice to the wasm module which will be used for the wasm memory. Since this must have a fixed size, this is currently only possible in combination with --fixed-mem-size. Such a reference to an external chunk of memory requires lifetime annotation, which is a bit messy in the printer, I might try to come up with a macro which relaxes syntax boilerplate for code generation. --- src/main.rs | 10 +++++ src/printer.rs | 105 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 80 insertions(+), 35 deletions(-) diff --git a/src/main.rs b/src/main.rs index 0558983..26ae157 100644 --- a/src/main.rs +++ b/src/main.rs @@ -90,6 +90,11 @@ pub struct CmdLineOpts { /// (Warning: experimental performance impact) #[clap(long)] no_alloc: bool, + /// Generate a module which can be passed a custom memory buffer for the + /// WebAssembly memory. This currently only works with --fixed-mem-size. + /// (Warning: experimental performance impact) + #[clap(long)] + extern_memory: bool, } fn main() -> Maybe<()> { @@ -121,6 +126,11 @@ fn main() -> Maybe<()> { } opts.no_std_library = true; } + if opts.extern_memory { + if opts.fixed_mem_size.is_none() { + return Err(eyre!("Must use --fixed-mem-size when using --extern-memory")); + } + } let inp = std::fs::read(&opts.input_path)?; println!("Finished reading"); diff --git a/src/printer.rs b/src/printer.rs index 0765c6a..aa88111 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -547,13 +547,13 @@ fn print_instr( "self.memory" }; let mem_reader = match &mem.extend { - None => format!("read_mem_{}(&{}, {} as usize)", mem.typ, self_mem, ea), + None => format!("read_mem_{}({}.as_ref(), {} as usize)", mem.typ, self_mem, ea), Some((n, sx)) => { if mem.typ == wasm::syntax::ValType::I32 || mem.typ == wasm::syntax::ValType::I64 { format!( - "read_mem_{}{}(&{}, {} as usize).and_then(|x| Some(x as {}))", + "read_mem_{}{}({}.as_ref(), {} as usize).and_then(|x| Some(x as {}))", sx, n, self_mem, ea, mem.typ ) } else { @@ -622,7 +622,7 @@ fn print_instr( }; match &mem.bitwidth { None => Ok(format!( - "{}write_mem_{}(&mut {}, {} as usize, {})?;", + "{}write_mem_{}({}.as_mut(), {} as usize, {})?;", mem_trace, mem.typ, self_mem, ea, src )), Some(n) => { @@ -630,7 +630,7 @@ fn print_instr( || mem.typ == wasm::syntax::ValType::I64 { Ok(format!( - "{}write_mem_u{}(&mut {}, {} as usize, {} as u{})?;", + "{}write_mem_u{}({}.as_mut(), {} as usize, {} as u{})?;", mem_trace, n, self_mem, ea, src, n )) } else { @@ -1681,7 +1681,7 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> .collect::>>()? .join("\n"); Ok(format!( - "impl WasmModule {{ + "impl WasmModule{lifetime} {{ #[allow(dead_code)] fn indirect_call(&mut self, idx: usize, args: &[TaggedVal]) -> Option<{}> {{ @@ -1691,16 +1691,17 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> _ => None, }} }} - }}", + }}", { if !opts.no_alloc { "Vec" } else { "IndirectFuncRet" } }, - targets + targets, + lifetime = if !opts.extern_memory { "" } else { "<'_>" }, )) } -fn print_type_based_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { +fn print_type_based_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe { let dispatchers = m .types .iter() @@ -1755,7 +1756,9 @@ fn print_type_based_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe>() .join("\n"); - Ok(format!("impl WasmModule {{ {} }}", dispatchers)) + let lifetime = if !opts.extern_memory { "" } else { "<'_>" }; + + Ok(format!("impl WasmModule{lifetime} {{ {} }}", dispatchers)) } fn is_snake_case(s: &str) -> bool { @@ -1802,7 +1805,7 @@ fn print_export( format!("{}", e.name) }; Ok(format!( - "impl WasmModule {{ + "impl WasmModule{lifetime} {{ {}pub fn {}{} {{ self.func_{}({}) }} @@ -1824,6 +1827,7 @@ fn print_export( .map(|i| format!("arg_{}", i)) .collect::>() .join(", "), + lifetime = if !opts.extern_memory { "" } else { "<'_>" }, )) } wasm::syntax::ExportDesc::Table(_tbl_idx) => { @@ -1831,25 +1835,24 @@ fn print_export( } wasm::syntax::ExportDesc::Mem(mem_idx) => { assert_eq!(mem_idx.0, 0); + let lifetime = if !opts.extern_memory { "" } else { "<'_>" }; if opts.generate_as_wasi_library { - Ok("impl WasmModule { + Ok(format!("impl WasmModule{lifetime} {{ #[allow(dead_code)] - pub fn get_memory(&mut self) -> &mut [u8] { + pub fn get_memory(&mut self) -> &mut [u8] {{ &mut self.memory - } - }" - .to_string()) + }} + }}")) } else { - Ok("impl WasmModule { + Ok(format!("impl WasmModule{lifetime} {{ #[allow(dead_code)] - pub fn get_memory(&mut self) -> *mut u8 { + pub fn get_memory(&mut self) -> *mut u8 {{ self.memory.as_mut_ptr() - } - pub fn get_memory_size(&self) -> usize { + }} + pub fn get_memory_size(&self) -> usize {{ self.memory.len() - } - }" - .to_string()) + }} + }}")) } } wasm::syntax::ExportDesc::Global(glb_idx) => { @@ -1865,8 +1868,9 @@ fn print_export( .get(glb_idx.0 as usize) .ok_or(eyre!("Invalid global for export"))? .typ; + let lifetime = if !opts.extern_memory { "" } else { "<'_>" }; let getter = format!( - "impl WasmModule {{ + "impl WasmModule{lifetime} {{ {}pub const fn get_{}(&self) -> Option<{}> {{ self.globals[{}].try_as_{}() }} @@ -1874,7 +1878,7 @@ fn print_export( non_snake_case_suppression, e.name, typ, glb_idx.0, typ ); let setter = format!( - "impl WasmModule {{ + "impl WasmModule{lifetime} {{ {}pub fn set_{}(&mut self, v: {}) {{ self.globals[{}] = TaggedVal::from(v); }} @@ -2046,18 +2050,33 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> }; let wasm_module = format!( "#[allow(dead_code)] - pub struct WasmModule {{ + pub struct WasmModule{lifetime} {{ {memory}, {globals}, {indirect_call_table}, {wasi_context} - }}", + }}", + lifetime = { + if !opts.extern_memory { + "" + } else { + "<'a>" + } + }, memory = { if opts.fixed_mem_size.is_some() { + let mem_val = if !opts.extern_memory { + format!( + "[u8; {}]", + get_memory_backing_size(m, opts)?.0 + ) + } else { + "&'a mut [u8]".into() + }; if !opts.no_alloc { - format!("memory: Box<[u8; {}]>, memory_size_to_vm: usize", get_memory_backing_size(m, opts)?.0) + format!("memory: Box<{mem_val}>, memory_size_to_vm: usize") } else { - format!("memory: [u8; {}]", get_memory_backing_size(m, opts)?.0) + format!("memory: {mem_val}") } } else { "memory: Vec".to_string() @@ -2164,15 +2183,28 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { let (mem_size, mem_size_to_vm) = get_memory_backing_size(m, opts)?; + let extern_mem_arg = if opts.extern_memory { + "mem_buf: &'a mut [u8]" + } else { + "" + }; let memory_init = if opts.fixed_mem_size.is_some() { + let mem_val = if !opts.extern_memory { + format!( + "[0u8; {}]", + mem_size + ) + } else { + "mem_buf".into() + }; if !opts.no_alloc { format!( - "memory: Box::new([0u8; {}]), memory_size_to_vm: {}", - mem_size, + "memory: Box::new({}), memory_size_to_vm: {}", + mem_val, mem_size_to_vm.unwrap() ) } else { - format!("memory: [0u8; {}]", mem_size) + format!("memory: {}", mem_val) } } else { format!("memory: vec![0u8; {}]", mem_size) @@ -2190,12 +2222,15 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { format!("indirect_call_table: [None; {}]", m.funcs.len()) }; + let lifetime = if !opts.extern_memory { "" } else { "<'a>" }; + let lifetime_elided = if !opts.extern_memory { "" } else { "<'_>" }; + // Print the module initializer generated += "\n"; generated += &format!( - "impl WasmModule {{ + "impl{lifetime} WasmModule{lifetime} {{ #[allow(unused_mut)] - pub fn new() -> Self {{ + pub fn new({extern_mem_arg}) -> Self {{ let mut m = WasmModule {{ {memory_init}, {globals_init}, @@ -2252,7 +2287,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { // Print the functions generated += "\n"; - generated += "impl WasmModule {\n"; + generated += &format!("impl WasmModule{lifetime_elided} {{\n"); for (i, _f) in funcs.iter().enumerate() { generated += &print_function(&m, wasm::syntax::FuncIdx(i as u32), opts)?; } @@ -2262,7 +2297,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { // Print the CallIndirect dispatch generated += "\n"; if opts.type_based_indirect_calls { - generated += &print_type_based_indirect_call_dispatch(m)?; + generated += &print_type_based_indirect_call_dispatch(m, opts)?; } else { generated += &print_indirect_call_dispatch(m, opts)?; } From 96fcaef783b46bd727f88de86a4044afd3697c77 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 21 Nov 2023 11:35:33 +0100 Subject: [PATCH 23/36] silence some warnings --- src/parser.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/parser.rs b/src/parser.rs index 478f359..43d26f5 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1,3 +1,6 @@ +// parser macros yield unused assignments in the last parser +#![allow(dead_code, unused_assignments)] + use crate::wasm::syntax::*; use crate::Maybe; use color_eyre::eyre::eyre; @@ -189,6 +192,7 @@ fn peek(inp: &[u8], n: usize) -> Parsed<&[u8]> { Ok((inp, v)) } +#[allow(unused)] // could be useful in the future fn peek_at(inp: &[u8], pos: usize) -> Parsed<&u8> { let v = inp.get(pos).ok_or(eyre!("Insufficient data for parsing"))?; Ok((inp, v)) @@ -203,6 +207,7 @@ fn inp(inp: &[u8], n: usize) -> Parsed<&[u8]> { Ok((&inp[n..], v)) } +#[allow(unused)] // could be useful in the future fn inp_dump(inp: &[u8]) -> Parsed<()> { trace!("Remaining: {:#x?}", inp); Ok((inp, ())) From 7cdd656f8c108fa4234b02da545764b495f1d641 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 11 Dec 2023 20:43:05 +0100 Subject: [PATCH 24/36] support memory import --- src/main.rs | 14 +++++---- src/printer.rs | 79 +++++++++++++++++++++++--------------------------- src/wasm.rs | 9 ++++++ 3 files changed, 54 insertions(+), 48 deletions(-) diff --git a/src/main.rs b/src/main.rs index 26ae157..ad787ac 100644 --- a/src/main.rs +++ b/src/main.rs @@ -91,7 +91,8 @@ pub struct CmdLineOpts { #[clap(long)] no_alloc: bool, /// Generate a module which can be passed a custom memory buffer for the - /// WebAssembly memory. This currently only works with --fixed-mem-size. + /// WebAssembly memory. + /// This option is automatically activated if the module imports its memory. /// (Warning: experimental performance impact) #[clap(long)] extern_memory: bool, @@ -126,16 +127,17 @@ fn main() -> Maybe<()> { } opts.no_std_library = true; } - if opts.extern_memory { - if opts.fixed_mem_size.is_none() { - return Err(eyre!("Must use --fixed-mem-size when using --extern-memory")); - } - } + // if opts.extern_memory { + // if opts.fixed_mem_size.is_none() { + // return Err(eyre!("Must use --fixed-mem-size when using --extern-memory")); + // } + // } let inp = std::fs::read(&opts.input_path)?; println!("Finished reading"); let module = parser::parse(&inp)?; println!("Finished parsing"); + opts.extern_memory = opts.extern_memory || module.imports_memory(); printer::print_module(&module, &opts)?; println!("Finished"); diff --git a/src/printer.rs b/src/printer.rs index aa88111..db3930c 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -3,6 +3,32 @@ use crate::CmdLineOpts; use crate::Maybe; use color_eyre::eyre::eyre; +fn mem_type( + m: &wasm::syntax::Module, + opts: &CmdLineOpts +) -> String { + let ext_mem = opts.extern_memory; + let fixed_size = opts.fixed_mem_size.is_some(); + + match (ext_mem, fixed_size) { + (true, true) => format!("&'a mut [u8]"), + (true, false) => format!("&'a mut Vec"), + (false, true) => format!("[u8; {}]", get_memory_backing_size(m, opts).unwrap().0), + (false, false) => format!("Vec"), + } +} + +// fn mem_imported( +// m: &wasm::syntax::Module, +// ) -> bool { +// m.imports.iter().any(|i| { +// match &i.desc { +// wasm::syntax::ImportDesc::Memory(_) => true, +// _ => false, +// } +// }) +// } + fn print_iunop( bs: &wasm::syntax::BitSize, o: &wasm::syntax::instructions::intop::UnOp, @@ -2063,25 +2089,7 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> "<'a>" } }, - memory = { - if opts.fixed_mem_size.is_some() { - let mem_val = if !opts.extern_memory { - format!( - "[u8; {}]", - get_memory_backing_size(m, opts)?.0 - ) - } else { - "&'a mut [u8]".into() - }; - if !opts.no_alloc { - format!("memory: Box<{mem_val}>, memory_size_to_vm: usize") - } else { - format!("memory: {mem_val}") - } - } else { - "memory: Vec".to_string() - } - }, + memory = format!("memory: {}", mem_type(m, opts)), globals = if opts.no_alloc { format!( "globals: [TaggedVal; {}]", @@ -2181,33 +2189,20 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { let mut generated: String = print_generated_code_prefix(m, opts)?; - let (mem_size, mem_size_to_vm) = get_memory_backing_size(m, opts)?; - let extern_mem_arg = if opts.extern_memory { - "mem_buf: &'a mut [u8]" - } else { - "" + format!("mem_buf: {}", mem_type(m, opts)) + } else { + "".into() }; - let memory_init = if opts.fixed_mem_size.is_some() { - let mem_val = if !opts.extern_memory { - format!( - "[0u8; {}]", - mem_size - ) - } else { - "mem_buf".into() - }; - if !opts.no_alloc { - format!( - "memory: Box::new({}), memory_size_to_vm: {}", - mem_val, - mem_size_to_vm.unwrap() - ) + let memory_init = if opts.extern_memory { + "memory: mem_buf".into() + } else { + let (mem_size, _) = get_memory_backing_size(m, opts)?; + if opts.fixed_mem_size.is_some() { + format!("memory: [0u8; {}]", mem_size) } else { - format!("memory: {}", mem_val) + format!("memory: vec![0u8; {}]", mem_size) } - } else { - format!("memory: vec![0u8; {}]", mem_size) }; let globals_init = if !opts.no_alloc { diff --git a/src/wasm.rs b/src/wasm.rs index c8ac257..de87754 100644 --- a/src/wasm.rs +++ b/src/wasm.rs @@ -328,6 +328,15 @@ pub mod syntax { pub names: Names, // non-standard custom section that appears in WASI } + impl Module { + pub fn imports_memory(&self) -> bool { + self.imports.iter().any(|i| match &i.desc { + ImportDesc::Mem(_) => true, + _ => false, + }) + } + } + pub struct Names { pub module: Option, pub functions: std::collections::HashMap, From f89337d4eb4c6f7161466138ce1f3763bbbd44f5 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 11 Dec 2023 20:46:50 +0100 Subject: [PATCH 25/36] remove --extern-memory the option is implicit if the WASM module imports its memory --- src/main.rs | 12 ------------ src/printer.rs | 46 +++++++++++++++++++++++----------------------- src/wasm.rs | 9 --------- 3 files changed, 23 insertions(+), 44 deletions(-) diff --git a/src/main.rs b/src/main.rs index ad787ac..0558983 100644 --- a/src/main.rs +++ b/src/main.rs @@ -90,12 +90,6 @@ pub struct CmdLineOpts { /// (Warning: experimental performance impact) #[clap(long)] no_alloc: bool, - /// Generate a module which can be passed a custom memory buffer for the - /// WebAssembly memory. - /// This option is automatically activated if the module imports its memory. - /// (Warning: experimental performance impact) - #[clap(long)] - extern_memory: bool, } fn main() -> Maybe<()> { @@ -127,17 +121,11 @@ fn main() -> Maybe<()> { } opts.no_std_library = true; } - // if opts.extern_memory { - // if opts.fixed_mem_size.is_none() { - // return Err(eyre!("Must use --fixed-mem-size when using --extern-memory")); - // } - // } let inp = std::fs::read(&opts.input_path)?; println!("Finished reading"); let module = parser::parse(&inp)?; println!("Finished parsing"); - opts.extern_memory = opts.extern_memory || module.imports_memory(); printer::print_module(&module, &opts)?; println!("Finished"); diff --git a/src/printer.rs b/src/printer.rs index db3930c..d5b0f04 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -7,7 +7,7 @@ fn mem_type( m: &wasm::syntax::Module, opts: &CmdLineOpts ) -> String { - let ext_mem = opts.extern_memory; + let ext_mem = mem_imported(m); let fixed_size = opts.fixed_mem_size.is_some(); match (ext_mem, fixed_size) { @@ -18,16 +18,16 @@ fn mem_type( } } -// fn mem_imported( -// m: &wasm::syntax::Module, -// ) -> bool { -// m.imports.iter().any(|i| { -// match &i.desc { -// wasm::syntax::ImportDesc::Memory(_) => true, -// _ => false, -// } -// }) -// } +fn mem_imported( + m: &wasm::syntax::Module, +) -> bool { + m.imports.iter().any(|i| { + match &i.desc { + wasm::syntax::ImportDesc::Mem(_) => true, + _ => false, + } + }) +} fn print_iunop( bs: &wasm::syntax::BitSize, @@ -1723,11 +1723,11 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> else { "IndirectFuncRet" } }, targets, - lifetime = if !opts.extern_memory { "" } else { "<'_>" }, + lifetime = if !mem_imported(m) { "" } else { "<'_>" }, )) } -fn print_type_based_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe { +fn print_type_based_indirect_call_dispatch(m: &wasm::syntax::Module) -> Maybe { let dispatchers = m .types .iter() @@ -1782,7 +1782,7 @@ fn print_type_based_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdL .collect::>() .join("\n"); - let lifetime = if !opts.extern_memory { "" } else { "<'_>" }; + let lifetime = if !mem_imported(m) { "" } else { "<'_>" }; Ok(format!("impl WasmModule{lifetime} {{ {} }}", dispatchers)) } @@ -1853,7 +1853,7 @@ fn print_export( .map(|i| format!("arg_{}", i)) .collect::>() .join(", "), - lifetime = if !opts.extern_memory { "" } else { "<'_>" }, + lifetime = if !mem_imported(m) { "" } else { "<'_>" }, )) } wasm::syntax::ExportDesc::Table(_tbl_idx) => { @@ -1861,7 +1861,7 @@ fn print_export( } wasm::syntax::ExportDesc::Mem(mem_idx) => { assert_eq!(mem_idx.0, 0); - let lifetime = if !opts.extern_memory { "" } else { "<'_>" }; + let lifetime = if !mem_imported(m) { "" } else { "<'_>" }; if opts.generate_as_wasi_library { Ok(format!("impl WasmModule{lifetime} {{ #[allow(dead_code)] @@ -1894,7 +1894,7 @@ fn print_export( .get(glb_idx.0 as usize) .ok_or(eyre!("Invalid global for export"))? .typ; - let lifetime = if !opts.extern_memory { "" } else { "<'_>" }; + let lifetime = if !mem_imported(m) { "" } else { "<'_>" }; let getter = format!( "impl WasmModule{lifetime} {{ {}pub const fn get_{}(&self) -> Option<{}> {{ @@ -2083,7 +2083,7 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> {wasi_context} }}", lifetime = { - if !opts.extern_memory { + if !mem_imported(m) { "" } else { "<'a>" @@ -2189,12 +2189,12 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { let mut generated: String = print_generated_code_prefix(m, opts)?; - let extern_mem_arg = if opts.extern_memory { + let extern_mem_arg = if mem_imported(m) { format!("mem_buf: {}", mem_type(m, opts)) } else { "".into() }; - let memory_init = if opts.extern_memory { + let memory_init = if mem_imported(m) { "memory: mem_buf".into() } else { let (mem_size, _) = get_memory_backing_size(m, opts)?; @@ -2217,8 +2217,8 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { format!("indirect_call_table: [None; {}]", m.funcs.len()) }; - let lifetime = if !opts.extern_memory { "" } else { "<'a>" }; - let lifetime_elided = if !opts.extern_memory { "" } else { "<'_>" }; + let lifetime = if !mem_imported(m) { "" } else { "<'a>" }; + let lifetime_elided = if !mem_imported(m) { "" } else { "<'_>" }; // Print the module initializer generated += "\n"; @@ -2292,7 +2292,7 @@ pub fn print_module(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> Maybe<()> { // Print the CallIndirect dispatch generated += "\n"; if opts.type_based_indirect_calls { - generated += &print_type_based_indirect_call_dispatch(m, opts)?; + generated += &print_type_based_indirect_call_dispatch(m)?; } else { generated += &print_indirect_call_dispatch(m, opts)?; } diff --git a/src/wasm.rs b/src/wasm.rs index de87754..c8ac257 100644 --- a/src/wasm.rs +++ b/src/wasm.rs @@ -328,15 +328,6 @@ pub mod syntax { pub names: Names, // non-standard custom section that appears in WASI } - impl Module { - pub fn imports_memory(&self) -> bool { - self.imports.iter().any(|i| match &i.desc { - ImportDesc::Mem(_) => true, - _ => false, - }) - } - } - pub struct Names { pub module: Option, pub functions: std::collections::HashMap, From efd9d9ffc8b9d5c2a39ad1e0dba64daf97ba3f46 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 15 Dec 2023 21:02:21 +0100 Subject: [PATCH 26/36] make memory public --- src/printer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/printer.rs b/src/printer.rs index d5b0f04..7a36c8d 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -2089,7 +2089,7 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> "<'a>" } }, - memory = format!("memory: {}", mem_type(m, opts)), + memory = format!("pub memory: {}", mem_type(m, opts)), globals = if opts.no_alloc { format!( "globals: [TaggedVal; {}]", From fcd54b6fa70ca7b2591c04964e3c37369e1377bf Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Wed, 27 Dec 2023 19:50:38 +0100 Subject: [PATCH 27/36] update .gitignore --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c0b9857..33e1423 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ *~ /generated /target -.vscode -tmp \ No newline at end of file +.vscode \ No newline at end of file From 5c95c7e3d7869c6265acdb37148a88a0e0c123e6 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Mon, 8 Jan 2024 19:14:35 +0100 Subject: [PATCH 28/36] add some basic testing --- .gitignore | 2 +- Cargo.lock | 1628 +- Cargo.toml | 3 + src/main.rs | 8 +- src/printer.rs | 2 +- tests/fib/Cargo.lock | 7 + tests/fib/Cargo.toml | 17 + tests/fib/src/lib.rs | 16 + tests/generated-wrapper/Cargo.lock | 14 + tests/generated-wrapper/Cargo.toml | 7 + tests/generated-wrapper/src/main.rs | 6 + tests/hello-wasi/Cargo.lock | 7 + tests/hello-wasi/Cargo.toml | 17 + tests/hello-wasi/src/lib.rs | 5 + tests/test.rs | 93 + tests/wasm/fib.wasm | Bin 0 -> 313 bytes tests/wasm/fib.wat | 47 + tests/wasm/hello_wasi.wasm | Bin 0 -> 66679 bytes tests/wasm/hello_wasi.wat | 21359 ++++++++++++++++++++++++++ 19 files changed, 23068 insertions(+), 170 deletions(-) create mode 100644 tests/fib/Cargo.lock create mode 100644 tests/fib/Cargo.toml create mode 100644 tests/fib/src/lib.rs create mode 100644 tests/generated-wrapper/Cargo.lock create mode 100644 tests/generated-wrapper/Cargo.toml create mode 100644 tests/generated-wrapper/src/main.rs create mode 100644 tests/hello-wasi/Cargo.lock create mode 100644 tests/hello-wasi/Cargo.toml create mode 100644 tests/hello-wasi/src/lib.rs create mode 100644 tests/test.rs create mode 100755 tests/wasm/fib.wasm create mode 100644 tests/wasm/fib.wat create mode 100755 tests/wasm/hello_wasi.wasm create mode 100644 tests/wasm/hello_wasi.wat diff --git a/.gitignore b/.gitignore index 33e1423..578641b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ *~ /generated -/target +target .vscode \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index d71e4b9..faf775f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.2", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli 0.28.1", ] [[package]] @@ -17,6 +26,41 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "anyhow" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" + +[[package]] +name = "async-trait" +version = "0.1.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "atty" version = "0.2.14" @@ -40,26 +84,71 @@ version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ - "addr2line", + "addr2line 0.17.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.29.0", "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.21.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + [[package]] name = "cc" version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +dependencies = [ + "jobserver", +] [[package]] name = "cfg-if" @@ -74,10 +163,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_derive", "clap_lex", - "indexmap", + "indexmap 1.9.1", "once_cell", "strsim", "termcolor", @@ -94,7 +183,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -134,311 +223,1520 @@ dependencies = [ ] [[package]] -name = "eyre" -version = "0.6.8" +name = "cpp_demangle" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" dependencies = [ - "indenter", - "once_cell", + "cfg-if", ] [[package]] -name = "gimli" -version = "0.26.2" +name = "cpufeatures" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "cranelift-bforest" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "7c22542c0b95bd3302f7ed6839869c561f2324bac2fd5e7e99f5cfa65fdc8b92" +dependencies = [ + "cranelift-entity", +] [[package]] -name = "heck" -version = "0.4.0" +name = "cranelift-codegen" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "6b3db903ef2e9c8a4de2ea6db5db052c7857282952f9df604aa55d169e6000d8" +dependencies = [ + "bumpalo", + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-control", + "cranelift-entity", + "cranelift-isle", + "gimli 0.28.1", + "hashbrown 0.14.3", + "log", + "regalloc2", + "smallvec", + "target-lexicon", +] [[package]] -name = "hermit-abi" -version = "0.1.19" +name = "cranelift-codegen-meta" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "6590feb5a1d6438f974bf6a5ac4dddf69fca14e1f07f3265d880f69e61a94463" dependencies = [ - "libc", + "cranelift-codegen-shared", ] [[package]] -name = "indenter" -version = "0.3.3" +name = "cranelift-codegen-shared" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +checksum = "7239038c56fafe77fddc8788fc8533dd6c474dc5bdc5637216404f41ba807330" [[package]] -name = "indexmap" -version = "1.9.1" +name = "cranelift-control" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "f7dc9c595341404d381d27a3d950160856b35b402275f0c3990cd1ad683c8053" dependencies = [ - "autocfg", - "hashbrown", + "arbitrary", ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "cranelift-entity" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "44e3ee532fc4776c69bcedf7e62f9632cbb3f35776fa9a525cdade3195baa3f7" +dependencies = [ + "serde", + "serde_derive", +] [[package]] -name = "libc" -version = "0.2.133" +name = "cranelift-frontend" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" +checksum = "a612c94d09e653662ec37681dc2d6fd2b9856e6df7147be0afc9aabb0abf19df" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", +] [[package]] -name = "memchr" -version = "2.5.0" +name = "cranelift-isle" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "85db9830abeb1170b7d29b536ffd55af1d4d26ac8a77570b5d1aca003bf225cc" [[package]] -name = "miniz_oxide" -version = "0.5.4" +name = "cranelift-native" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "301ef0edafeaeda5771a5d2db64ac53e1818ae3111220a185677025fe91db4a1" dependencies = [ - "adler", + "cranelift-codegen", + "libc", + "target-lexicon", ] [[package]] -name = "object" -version = "0.29.0" +name = "cranelift-wasm" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "380f0abe8264e4570ac615fc31cef32a3b90a77f7eb97b08331f9dd357b1f500" dependencies = [ - "memchr", + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "itertools", + "log", + "smallvec", + "wasmparser", + "wasmtime-types", ] [[package]] -name = "once_cell" -version = "1.14.0" +name = "crc32fast" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] [[package]] -name = "os_str_bytes" -version = "6.3.0" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] [[package]] -name = "owo-colors" -version = "3.5.0" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] [[package]] -name = "pin-project-lite" -version = "0.2.9" +name = "crossbeam-utils" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", + "generic-array", + "typenum", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "debugid" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ - "proc-macro2", - "quote", - "version_check", + "uuid", ] [[package]] -name = "proc-macro2" -version = "1.0.43" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "unicode-ident", + "block-buffer", + "crypto-common", ] [[package]] -name = "quote" -version = "1.0.21" +name = "directories-next" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" dependencies = [ - "proc-macro2", + "cfg-if", + "dirs-sys-next", ] [[package]] -name = "rustc-demangle" -version = "0.1.21" +name = "dirs-sys-next" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" - -[[package]] -name = "rwasm" -version = "1.0.1" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ - "clap", - "color-eyre", + "libc", + "redox_users", + "winapi", ] [[package]] -name = "sharded-slab" -version = "0.1.4" +name = "either" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] -name = "strsim" -version = "0.10.0" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] -name = "syn" -version = "1.0.100" +name = "errno" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "termcolor" -version = "1.1.3" +name = "eyre" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" dependencies = [ - "winapi-util", + "indenter", + "once_cell", ] [[package]] -name = "textwrap" -version = "0.15.1" +name = "fallible-iterator" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] -name = "thread_local" -version = "1.1.4" +name = "fxhash" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" dependencies = [ - "once_cell", + "byteorder", ] [[package]] -name = "tracing" -version = "0.1.36" +name = "fxprof-processed-profile" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" dependencies = [ - "cfg-if", - "pin-project-lite", - "tracing-core", + "bitflags 2.4.1", + "debugid", + "fxhash", + "serde", + "serde_json", ] [[package]] -name = "tracing-core" -version = "0.1.29" +name = "generic-array" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "once_cell", - "valuable", + "typenum", + "version_check", ] [[package]] -name = "tracing-error" -version = "0.2.0" +name = "getrandom" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ - "tracing", - "tracing-subscriber", + "cfg-if", + "libc", + "wasi", ] [[package]] -name = "tracing-subscriber" -version = "0.3.15" +name = "gimli" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" -dependencies = [ - "sharded-slab", - "thread_local", - "tracing-core", -] +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] -name = "unicode-ident" -version = "1.0.4" +name = "gimli" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +dependencies = [ + "fallible-iterator", + "indexmap 2.1.0", + "stable_deref_trait", +] [[package]] -name = "valuable" -version = "0.1.0" +name = "hashbrown" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] -name = "version_check" -version = "0.9.4" +name = "hashbrown" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] [[package]] -name = "winapi" -version = "0.3.9" +name = "hashbrown" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "ahash", ] [[package]] -name = "winapi-i686-pc-windows-gnu" +name = "heck" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] -name = "winapi-util" -version = "0.1.5" +name = "hermit-abi" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ - "winapi", + "libc", ] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "id-arena" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", + "serde", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "ittapi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" +dependencies = [ + "anyhow", + "ittapi-sys", + "log", +] + +[[package]] +name = "ittapi-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" +dependencies = [ + "cc", +] + +[[package]] +name = "jobserver" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +dependencies = [ + "libc", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "libc" +version = "0.2.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memfd" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +dependencies = [ + "rustix", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +dependencies = [ + "adler", +] + +[[package]] +name = "object" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +dependencies = [ + "memchr", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "crc32fast", + "hashbrown 0.14.3", + "indexmap 2.1.0", + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "os_str_bytes" +version = "6.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" + +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pkg-config" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.100", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rayon" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regalloc2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash", + "slice-group-by", + "smallvec", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustix" +version = "0.38.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rwasm" +version = "1.0.1" +dependencies = [ + "clap", + "color-eyre", + "wasmtime", +] + +[[package]] +name = "ryu" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" + +[[package]] +name = "semver" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" + +[[package]] +name = "serde" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_json" +version = "1.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "slice-group-by" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" + +[[package]] +name = "smallvec" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" + +[[package]] +name = "sptr" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.12.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" + +[[package]] +name = "thiserror" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "tracing" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-error" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +dependencies = [ + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" +dependencies = [ + "sharded-slab", + "thread_local", + "tracing-core", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "uuid" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-encoder" +version = "0.38.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasmparser" +version = "0.118.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ee9723b928e735d53000dec9eae7b07a60e490c85ab54abb66659fc61bfcd9" +dependencies = [ + "indexmap 2.1.0", + "semver", +] + +[[package]] +name = "wasmtime" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e539fded2495422ea3c4dfa7beeddba45904eece182cf315294009e1a323bf" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bumpalo", + "cfg-if", + "fxprof-processed-profile", + "indexmap 2.1.0", + "libc", + "log", + "object 0.32.2", + "once_cell", + "paste", + "rayon", + "serde", + "serde_derive", + "serde_json", + "target-lexicon", + "wasm-encoder", + "wasmparser", + "wasmtime-cache", + "wasmtime-component-macro", + "wasmtime-cranelift", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit", + "wasmtime-runtime", + "wat", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "660ba9143e15a2acd921820df221b73aee256bd3ca2d208d73d8adc9587ccbb9" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-cache" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ce373743892002f9391c6741ef0cb0335b55ec899d874f311222b7e36f4594" +dependencies = [ + "anyhow", + "base64", + "bincode", + "directories-next", + "log", + "rustix", + "serde", + "serde_derive", + "sha2", + "toml", + "windows-sys 0.48.0", + "zstd", +] + +[[package]] +name = "wasmtime-component-macro" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ef32643324e564e1c359e9044daa06cbf90d7e2d6c99a738d17a12959f01a5" +dependencies = [ + "anyhow", + "proc-macro2", + "quote", + "syn 2.0.48", + "wasmtime-component-util", + "wasmtime-wit-bindgen", + "wit-parser", +] + +[[package]] +name = "wasmtime-component-util" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c87d06c18d21a4818f354c00a85f4ebc62b2270961cd022968452b0e4dbed9d" + +[[package]] +name = "wasmtime-cranelift" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d648c8b4064a7911093b02237cd5569f71ca171d3a0a486bf80600b19e1cba2" +dependencies = [ + "anyhow", + "cfg-if", + "cranelift-codegen", + "cranelift-control", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", + "cranelift-wasm", + "gimli 0.28.1", + "log", + "object 0.32.2", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", + "wasmtime-versioned-export-macros", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290a89027688782da8ff60b12bb95695494b1874e0d0ba2ba387d23dace6d70c" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-control", + "cranelift-native", + "gimli 0.28.1", + "object 0.32.2", + "target-lexicon", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-environ" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61eb64fb3e0da883e2df4a13a81d6282e072336e6cb6295021d0f7ab2e352754" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli 0.28.1", + "indexmap 2.1.0", + "log", + "object 0.32.2", + "serde", + "serde_derive", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-fiber" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecf1d3a838b0956b71ad3f8cb80069a228339775bf02dd35d86a5a68bbe443" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "rustix", + "wasmtime-asm-macros", + "wasmtime-versioned-export-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-jit" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f485336add49267d8859e8f8084d2d4b9a4b1564496b6f30ba5b168d50c10ceb" +dependencies = [ + "addr2line 0.21.0", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli 0.28.1", + "ittapi", + "log", + "object 0.32.2", + "rustc-demangle", + "rustix", + "serde", + "serde_derive", + "target-lexicon", + "wasmtime-environ", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", + "wasmtime-runtime", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65e119affec40edb2fab9044f188759a00c2df9c3017278d047012a2de1efb4f" +dependencies = [ + "object 0.32.2", + "once_cell", + "rustix", + "wasmtime-versioned-export-macros", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b6d197fcc34ad32ed440e1f9552fd57d1f377d9699d31dee1b5b457322c1f8a" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794b2bb19b99ef8322ff0dd9fe1ba7e19c41036dfb260b3f99ecce128c42ff92" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap 2.1.0", + "libc", + "log", + "mach", + "memfd", + "memoffset", + "paste", + "psm", + "rustix", + "sptr", + "wasm-encoder", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit-debug", + "wasmtime-versioned-export-macros", + "wasmtime-wmemcheck", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-types" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d995db8bb56f2cd8d2dc0ed5ffab94ffb435283b0fe6747f80f7aab40b2d06a1" +dependencies = [ + "cranelift-entity", + "serde", + "serde_derive", + "thiserror", + "wasmparser", +] + +[[package]] +name = "wasmtime-versioned-export-macros" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55c5565959287c21dd0f4277ae3518dd2ae62679f655ee2dbc4396e19d210db" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "wasmtime-wit-bindgen" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f328b2d4a690270324756e886ed5be3a4da4c00be0eea48253f4595ad068062b" +dependencies = [ + "anyhow", + "heck", + "indexmap 2.1.0", + "wit-parser", +] + +[[package]] +name = "wasmtime-wmemcheck" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67761d8f8c0b3c13a5d34356274b10a40baba67fe9cfabbfc379a8b414e45de2" + +[[package]] +name = "wast" +version = "69.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ee37317321afde358e4d7593745942c48d6d17e0e6e943704de9bbee121e7a" +dependencies = [ + "leb128", + "memchr", + "unicode-width", + "wasm-encoder", +] + +[[package]] +name = "wat" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb338ee8dee4d4cd05e6426683f21c5087dc7cfc8903e839ccf48d43332da3c" +dependencies = [ + "wast", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "wit-parser" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15df6b7b28ce94b8be39d8df5cb21a08a4f3b9f33b631aedb4aa5776f785ead3" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.1.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index 4db28f0..2007bbe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,3 +13,6 @@ color-eyre = "0.6.2" # Speed up `backtrace` even on a debug build. Suggested by `color-eyre`. [profile.dev.package.backtrace] opt-level = 3 + +[dev-dependencies] +wasmtime = "16.0.0" \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 0558983..b1dcb79 100644 --- a/src/main.rs +++ b/src/main.rs @@ -92,11 +92,9 @@ pub struct CmdLineOpts { no_alloc: bool, } -fn main() -> Maybe<()> { +pub fn run_app(mut opts: CmdLineOpts) -> Maybe<()> { color_eyre::install()?; - let mut opts = CmdLineOpts::parse(); - DEBUG_PRINT_LEVEL.store(opts.debug, std::sync::atomic::Ordering::Relaxed); if opts.prevent_extra_mem_for_wrapping && !opts.memory_wrapping { @@ -132,3 +130,7 @@ fn main() -> Maybe<()> { Ok(()) } + +fn main() -> Maybe<()> { + run_app(CmdLineOpts::parse()) +} diff --git a/src/printer.rs b/src/printer.rs index 7a36c8d..7b87dc7 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1897,7 +1897,7 @@ fn print_export( let lifetime = if !mem_imported(m) { "" } else { "<'_>" }; let getter = format!( "impl WasmModule{lifetime} {{ - {}pub const fn get_{}(&self) -> Option<{}> {{ + {}pub fn get_{}(&self) -> Option<{}> {{ self.globals[{}].try_as_{}() }} }}", diff --git a/tests/fib/Cargo.lock b/tests/fib/Cargo.lock new file mode 100644 index 0000000..754ef6c --- /dev/null +++ b/tests/fib/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "fib" +version = "0.1.0" diff --git a/tests/fib/Cargo.toml b/tests/fib/Cargo.toml new file mode 100644 index 0000000..a3bf28e --- /dev/null +++ b/tests/fib/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "fib" +version = "0.1.0" +edition = "2021" + +[lib] +crate-type = ["cdylib"] +path = "src/lib.rs" + +[dependencies] + +[profile.release] +strip = "debuginfo" +panic = "abort" + +# compile with +# cargo build --release --target wasm32-unknown-unknown \ No newline at end of file diff --git a/tests/fib/src/lib.rs b/tests/fib/src/lib.rs new file mode 100644 index 0000000..29b2e5b --- /dev/null +++ b/tests/fib/src/lib.rs @@ -0,0 +1,16 @@ +#![no_std] + +use core::panic::PanicInfo; +#[cfg_attr(not(test), panic_handler)] +fn panic(_info: &PanicInfo) -> ! { + loop {} +} + +#[no_mangle] +pub fn run(n: i32) -> i32 { + if n <= 1 { + n + } else { + run(n - 1) + run(n - 2) + } +} \ No newline at end of file diff --git a/tests/generated-wrapper/Cargo.lock b/tests/generated-wrapper/Cargo.lock new file mode 100644 index 0000000..937599d --- /dev/null +++ b/tests/generated-wrapper/Cargo.lock @@ -0,0 +1,14 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "generated-wrapper" +version = "0.1.0" +dependencies = [ + "sandbox-generated", +] + +[[package]] +name = "sandbox-generated" +version = "1.0.1" diff --git a/tests/generated-wrapper/Cargo.toml b/tests/generated-wrapper/Cargo.toml new file mode 100644 index 0000000..02c3e78 --- /dev/null +++ b/tests/generated-wrapper/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "generated-wrapper" +version = "0.1.0" +edition = "2021" + +[dependencies] +sandbox-generated = { path = "../../generated" } \ No newline at end of file diff --git a/tests/generated-wrapper/src/main.rs b/tests/generated-wrapper/src/main.rs new file mode 100644 index 0000000..5a12e4d --- /dev/null +++ b/tests/generated-wrapper/src/main.rs @@ -0,0 +1,6 @@ +use sandbox_generated::WasmModule; + +fn main() { + let mut module = WasmModule::new(); + println!("{}", module.run(12).unwrap_or(-1)); +} diff --git a/tests/hello-wasi/Cargo.lock b/tests/hello-wasi/Cargo.lock new file mode 100644 index 0000000..3bdc4c4 --- /dev/null +++ b/tests/hello-wasi/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "hello-wasi" +version = "0.1.0" diff --git a/tests/hello-wasi/Cargo.toml b/tests/hello-wasi/Cargo.toml new file mode 100644 index 0000000..629ab44 --- /dev/null +++ b/tests/hello-wasi/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "hello-wasi" +version = "0.1.0" +edition = "2021" + +[lib] +crate-type = ["cdylib"] +path = "src/lib.rs" + +[dependencies] + +[profile.release] +strip = "debuginfo" +panic = "abort" + +# compile with +# cargo build --release --target wasm32-wasi \ No newline at end of file diff --git a/tests/hello-wasi/src/lib.rs b/tests/hello-wasi/src/lib.rs new file mode 100644 index 0000000..605eed5 --- /dev/null +++ b/tests/hello-wasi/src/lib.rs @@ -0,0 +1,5 @@ +#[no_mangle] +pub fn run(n: i32) -> i32 { + println!("Hello, wasi!"); + n +} \ No newline at end of file diff --git a/tests/test.rs b/tests/test.rs new file mode 100644 index 0000000..a981953 --- /dev/null +++ b/tests/test.rs @@ -0,0 +1,93 @@ +use std::path::Path; +use std::process::Command; +use wasmtime::{ + Engine, + Module, + Store, + Instance, +}; + +fn print_output(output: &std::process::Output) { + let stderr = String::from_utf8(output.stderr.clone()).unwrap(); + let stdout = String::from_utf8(output.stdout.clone()).unwrap(); + println!("\nSTDERR:\n\n{}", stderr); + println!("\nSTDOUT:\n\n{}", stdout); +} + +/// Compiles a wasm module with rWasm using the given arguments, then runs it +/// using a small wrapper crate, and compares the result with the result of +/// running the original wasm module with wasmtime. +/// The module must export a `run` function of type `i32 -> i32`. +fn run_test(path: &Path, args: &[String]) { + + // remove ./generated + let _ = Command::new("rm") + .arg("-r") + .arg("./generated") + .output() + .expect("Failed to remove ./generated"); + + // transpile with rWasm + let output = Command::new("cargo") + .arg("run") + .arg("--") + .arg(path) + .arg("./generated") // TODO why does it not work without this? + .arg("--crate-name") + .arg("sandbox-generated") + .args(args) + .output() + .expect("Failed to transpile"); + print_output(&output); + assert!(output.status.success()); + + // run the wasm module + let output = Command::new("cargo") + .arg("run") + .current_dir(Path::new("tests/generated-wrapper")) + .output() + .expect("Failed to build generated Rust crate"); + print_output(&output); + assert!(output.status.success()); + + // extract the result + let res1 = String::from_utf8(output.stdout.clone()) + .unwrap() + .trim() + .parse::() + .unwrap(); + + // run the original wasm module with wasmtime + let engine = Engine::default(); + let mut store = Store::new(&engine, ()); + let module = Module::from_file(store.engine(), path).unwrap(); + let instance = Instance::new(&mut store, &module, &[]).unwrap(); + let run = instance.get_typed_func::(&mut store, "run").unwrap(); + let res2 = run.call(&mut store, 12).unwrap(); + + assert_eq!(res1, res2); +} + +#[test] +fn fibonacci() { + let p = Path::new("tests/wasm/fib.wasm"); + run_test(&p, &[]); + run_test(&p, &[ + "--fixed-mem-size".to_string(), + "16".to_string(), + ]); + run_test(&p, &[ + "--fixed-mem-size".to_string(), + "32".to_string(), + "--no-alloc".to_string(), + ]); +} + +// #[test] +// fn hello_wasi() { +// let p = Path::new("tests/wasm/hello_wasi.wasm"); +// run_test(&p, &[ +// "--wasi-executable".to_string(), +// "--wasi-library".to_string(), +// ]); +// } \ No newline at end of file diff --git a/tests/wasm/fib.wasm b/tests/wasm/fib.wasm new file mode 100755 index 0000000000000000000000000000000000000000..61a5ec55ad356dc64e85897ecf15b3d5cff32eac GIT binary patch literal 313 zcmY+8K~IA~5QS%UTdKu|#+wHd@T5T+icRRnL=xl0#J{jEFk-Plv%4hrBK$OenyWY8 z<(v23VID}`AON6)uQ=eq8N!q!ES(EJU^b55;12MgvvA@x)O6~|fUCX*m5y%K|K*_S_5t5ZcJ%LmawYYe>QU=|Od6Uy#yxX3v7OrZUQpI90ti#pQaH zZdPmmS|-~#P4i^yCvkEYt&=F;+`z48q^ih>H@Sy^;BzqH5pea<9V^y{p=Y GKFtr2#!TJ- literal 0 HcmV?d00001 diff --git a/tests/wasm/fib.wat b/tests/wasm/fib.wat new file mode 100644 index 0000000..a764e09 --- /dev/null +++ b/tests/wasm/fib.wat @@ -0,0 +1,47 @@ +(module + (type (;0;) (func (param i32) (result i32))) + (func $run (type 0) (param i32) (result i32) + (local i32 i32 i32) + block ;; label = @1 + local.get 0 + i32.const 2 + i32.ge_s + br_if 0 (;@1;) + local.get 0 + i32.const 0 + i32.add + return + end + i32.const 0 + local.set 1 + loop ;; label = @1 + local.get 0 + i32.const -1 + i32.add + call $run + local.get 1 + i32.add + local.set 1 + local.get 0 + i32.const 3 + i32.gt_u + local.set 2 + local.get 0 + i32.const -2 + i32.add + local.tee 3 + local.set 0 + local.get 2 + br_if 0 (;@1;) + end + local.get 3 + local.get 1 + i32.add) + (memory (;0;) 16) + (global $__stack_pointer (mut i32) (i32.const 1048576)) + (global (;1;) i32 (i32.const 1048576)) + (global (;2;) i32 (i32.const 1048576)) + (export "memory" (memory 0)) + (export "run" (func $run)) + (export "__data_end" (global 1)) + (export "__heap_base" (global 2))) diff --git a/tests/wasm/hello_wasi.wasm b/tests/wasm/hello_wasi.wasm new file mode 100755 index 0000000000000000000000000000000000000000..6bc7a1feac7f91106c019647b2a1e47346795695 GIT binary patch literal 66679 zcmd443!G$US?7N)RbAa(J(CKIFl0t@su*P=nVG&{29PR~Lh@Yjp8%a8VJX`G0@U z`<_#$x_c6?|NVDTQ|I!&&-=X3{dwN^oC=z2C&M5J!jrXI!wbQ!(FONUc;VLgf{yhs zCndi09p)#&tpVpjaBGilsi{BUYT2&j2f?isyI}Bc7o6yAVd+_Cn`?_RYb(uDYsXjD zXHKmsTI)e{nMPM;jn)>wr?vK!P5Vx@ zSLbG0=N8w4ApZ66KZQL}Tn_n*_$x(mRM9~Y^g<{8!l1V=jKWe-iQ>K>j-#+r;r|}~ z>5F@UN+m9pdi%IbQvk(*K=rGIK=xF6dV(N|03P)9>7S^lr?0QXAA|Jpf2jx1VP6== zVJsMNT#CV?8b%B@u!G~Ur>7^{DctBYz;~q*T_GIlTnRb9h7~UEFdiaCkkB9FJe${lFh^9vE`_HQU-RzaH!g=Ra%byBJ0H`KLsq_u9obMIGAJmK%|u zew0F{f#`_)55imwk1;8}YsYqk`o36tC~RbA(H8gdrdS*JQEUnWs8B9_8?0H5ipS`edGr(Ax548H{9--m& zQWcDI{Xq$mG9>;p&ARr(lC_}v+nA$_$X|P5i@Ss^etKbxze>UuSD_*t=xv0iYB~y* zllYa=AP5%MepvKOxZ7KYtbC)DOHMxH+UIriD%WyJ#;PNzX;A$OjC)2yjGY%$6H-KJ zseyJ$QzZZm?B05#gn;pR*`7v}3RbTjU06%6KI0`Mqo170F-$#X5i-N18H8!UFrgHgT4I<=X~@|o!-OQe zK4zFo+Zm=x)+Dn-`KZ|i2c%$_P(K+aSh6H4i#a73sJDu=&@?&_AVO*B2G7qr#^;*2 z_bK!mE=aHAFHx_tUq!tx;WLF+$2_K`msWqH9F__UDLD(7aRPKD#*%o+L6}~U~NfQqdH8vMGcZ=^n#fhTX_yw{6;qk&1C&x&x8kN<_mb z`l2w3tLgoBU&5H*=N0ygnTEt0?CKSxkDH4))`(ydoNDBps=yS-Df-wnqa|jxl~Zs} zv!#)m^}+xrX_>TMQB8mSPVh{hmp-cR+K)JVp8@mI$KJpdRP0_|tJ z?7H+{`@-BfT@3S((^!VTy;8!RqSE)jA3$j+X$)(>D?vCMj5xE1sTq;1hiS|a^6UOf zg4)juw}v7PrieKmrOkdUMC}3H;AA&OVt=$>rhb2PEfR4hH!cQ@X>m#tUK8)`1ekYP z59H#SxDbWjdB@F?23!O>3esSzCbPJnvn z9Y=##(NxB*E>GYB?(_xe-GY=ch5IG$Tfh?3@gC@Xoft7p@HsEyD;|#~GupUs(e**m zwSf((J)oI`Uv_Z^0g(Dy3+Xa9Af`zP;L{5?$!4g<5&efqm{1ab1!-SBP9L;+M&eB1 z^cgGUFanhu=?X`#=POJ{5WH`JuEo1FAsIkjw-XL&{9aw}^wZIPcd-E;uPrt*&d6nmi~>WJlOS(%Nw6d8knXJ} zl27tiIc+F?)JGoadyO%FD1ri@PizaTwI6o`X5?)f2Gh{fwPsfPqat`D*mY+do0xeO zQ0ncP|0W8Ez&7myF+e1rcpbvzZ8XL4Xg&cA#>kj`0n!^0 zA`^1?g1V&_EP7FY#iK&MLF*Qc#fIbqCleatJ!5Afv%Ox{)b#0bExS@&RWL1|Wfe$Rde;AJkCR&7BVe7!|7^kvms@(RnBTRy>ogNB5nVM0ti z86@zx_MpgaH{>M6aTkx#loM>6g4s>kl&jE?fpy9}9y*z$4Y8brN|u3ugt=td1X4qI zz`mH1#qny1ZRsuMEo94&Qr^sx7UaQ~w>+^4-7`y5YJj+M<&X?FBts^mfz-;CF*k+&}M@JOoxLlcD%vdmtMsX)sc8Wyr z?Q`X*lPkZhWA$?4MH%s;%McH|vh+bTjzl@A^>1=mvOO*^auhgI%(-%;YFs%1n+#NlC7wZSDJ<@p00bwI|lh+bjJj z+Ni_`Yb1yAViM5?f@Vevi^3F*C)pj1XEzJ2U2F)S2_MXy1l2-m6|wQ9)jtipls(Q2 zmrFU3SBUNikh+8;a%qXD1r9)In~-}#MKp(3199 zIUUTZd_^Y(e=_r1?F(w3br$!B;!fohn-;ohc36;JEY*Gd86DvSFKj-eVXVNim7qgn zk$#C0E|zM4C%`+Hi2hSF^5CyAf1LA&0_b7zY}PJD%ek1{z`=xKs|x<)?YtdAo`*-00fR-|eSGJvRRI!;4C3h$S5gOrz^88W}Yf=*`h z?vJ}lgoaO)J{c(^RT)o|$}EAMNBC<*41`swdn*>)UB;}}enJzJcoF7f2i?)VaqV+9 zgHY*<^+Hs8DWuq7p(hK<3CxoCW=R-y&ve?z>O=w&M5)YfI;;#HDXM8HWvcARlt;r^ zB}O5{<8MYrCKy4U4;&npQZqCv>dlEQSvPAg4bxP~tQ7Cj z%o)Rma#cKrGFTlc3hab^oR!2>S*o&$T&7Vtu0pZR4399rKVEX0Q++7vDzxQx!)Ej! z91n!Gqd$6KI9aIcOM@~5jnMO@ths3z5#M^1yLe(1x2NDqkMV?(TqY@qa*%T(*FNay zgw|&RHYBsRdI6QEOmpPI0FkSjMtKM;2!zDq%ui}yrA z(1M+%fJIW2#(XpbNzE*T2x{*)A&IE5Fsq}HBp{;3!io7~n(6{h`dYp|qa~Q}Xg`N< zP(O43)_y!11iBpmc$C=D07tvUH9*(iBgWN%q!J5G74;_`=y+7gEtrOCl8!DN4ILg( zO2gizN|qb;jc(YQ(J5NTQGf2oxaowISOn_bdtZKGcaDj}ZZ|kFY8OuC#a*EtGlMH_^2|r-ObY5mHwmiu#bIA&e7XZJ#MLaXA}BnY{FusL3|TLs z$z^dXJ_5SL`pb0)tVsR^kRK=AgJ15dg%>9_AQbjpgQsi zIMztOLl0cs$W~Eo0WR+D`SI?Mq~zGpaZh!IV08nr7ymeUsv>;Zs9Wlofp-*)CUWOz z#sZ7U6^J5sz(v3?HIgk1x5TRC#EO;8!U}FKRwcx$!NP<}{kyd$ic?G~VrE1Yp3(9W&MRG3)NDdj(e%X2F(EnWQ^T{!3nWlt^|h^ujF}yF?*rK|vg& zthE%x^S1imv>(Cf2t$z(i=5&#KJ5e=wzL1jZgA7P@V%_FaN~PV*GcBgsP-W56%ATR z&&fgXeae3yx9`#te^gm22nd~f6IRt&&?3yKns&>=^rZ1RDIz!Ol?)!o>O^gy9Rd{1 z8ble^qeF1+W^)xeKwcS8L(DHWN=&B#7|3R4pNo)tg`VHW>wU2399&cGQmIn{iIZMuqlj47vB+9})38R4q)%o{cF!pSp_wy;mwv$XK&!U- z<|x_f^dq{FRm9*PG`2k=JxQO2!6%3feai}zDo)<|APLwoBKZeAM{W!hW)s=}q>PKB zM}pPFa)2EscA(LRcm&QCn*B02I?%_wo{CzLsKpQ+I)UU<()? z))_O@z$66eLn>BVNO&OFt1`4!)Yui15V#^V770jyc0rC@TVkh5akkK-`N5nRQLO#E z&;cJA9CWt<2uf3Cki;P1YYw3s*ej1+0)*D`hyZ{^022W6?3uNvhc zma||aUITS0V5|U-8iTD?`=t#<{g_b#4!H{>&88fedB~zW@0aDcqApDgxP>V?8GP0Yf`+c3Nbi1rZDg`ejvud-nUNM5UhFu6b%d9K>|XuqqiS z=+ruS>NXq%uGm)(lF$Y)w%SS+uFtkhWqi?nA~E9&d8qB=Fus&?zQ}!c_`+GKLC~lT zFziCY$8N(H6S{1OB6J1c;`LVqUBQDS~f@g;-nZD=~ER3R)9 zj&8Ig6)lc%W&cw8aognM&Hq0a62?wiC0R9j&0M?q)typd5jLe%^0aPStR+)r7`N5a zn=`e|u?jOR!73}kk_!`n%?Z|JH^!oUJ`-}Di@Z~@R@Zh^#y65_5mKoYhN&x6`U2bI z3)W^!90$ezKZ)eDV=;^5P%I7mwTR@Xwa8m#kz6&YqH8Xcun=e2HU-B=(!fGfMe7xX z{sU>OIHZbD6N*-pf3T?Q+QbB92F2$eeLnx_OI`laYxxIpEV4*v>=h_<@{bA$kE^1x zDNs2Bck6u_Py%7~{@XN_JQR^oI^bnI_^J3GM|?V-&u-FQOI7h zkG`I>bborkc6DVN8f|O1RtH&dQY3|9r}y8XhC6HTa+B8tg|GHYX$+%|E1J1m1K2Va zETSmHYemo^9lU|v2@YbEzDwf~UjL)OO|yes^i;H`x=OZP3SW+i&_2dAu1CU(Kv%Jp z%|VFeBnY*b`-=h=RDYN;3ob8ol*nih9m#_m0@BEBRk?j>XH*JpPa|QmrDmEDQ8j~@ ze`TVC_*u=5x>{cJbL%~d|FnsMFP1BgUL--W)eTqnSB%9~sSB|=n`Lc?Vvt9+V3A$= zg7gt(4LL7ZqV3HJbr2-0c;wOFXS8r4@Li!HA^If)<71#-E>uhhJEdhN^n~OAXBXCc zK#knME)c0up56ynh;c-+%Vh{`NsrQfaxmEP5=%~Q(Z>ohL{r(KkBZcHiaiP$(UZf$ zAq7M9WUGlC9pY$T5+o|?utZwE(gHrlR_Pe3T?PT&64w8sX&@eAfS*A+xa3$*=vfl& zcLUmo&y1;LRT%p4Ss3oqPWgd6&;2mZGhz|)Ck6-}BL~s68CZB(ipX}q%SmCZDRpQ|fGRaQ z+Qvz3yCs0~Kvpi1)5wR|D)7IKc_SRm&>I_a;CHuo5E9lIT>UEMVn5)ZiU3c~zLCk!Zl@*dD)}#5D)nY61i~ zwZGIrs?(IJkCZ!wB?(_AdSL@A$##tQfvqoE%5rI)kt{QL+rQ(g5%>KFbdXfWS+i?F zLh2$xvm+KD2Hg=2_j4pL_MlzLEmae>(T6W>df6ZCYm~e(muwAWi$AIektvD1q($~f zr*fBu7Gr$I!fD4qTEK1w($;t`V;~_lxDF6-u&F@RRZst5XB>nsZrX4AYSN(gpG7<2 zbggtm@!Wnob+$!gbR_+Hn8afQ=mJKZ`5G1Ln?|C{`W1GZX|-7Nfglm)@#)5-^;cm` zN!WqlLozsZIY^wMow#QVV(raPECOO?W8(B~898HS=0D)DRd)CS`635*Wz?#5QA_Ia z6;n&J%9Xo%aa&(u`qcG^QQ(ZaR%xW6SOJP#3G-3F?py&3to^?DO^}cUT5r{)^FS-R z`atpO+ak7_huKzhBBv|>kVKdXWzKAlv#Cp`F)5ZW`>0Wd38SN{?&+(Nv(4-~*Y+Ir z#AF_|!JH_D*w^TphAu!sO zE)soqzEDR1HG?EHF~Pdp^;DYZV)HaK8g5w8Wmm&C&pXp%6J|HP^tlU7cr7%u(4+e8 z7~ldi#4AF2iK%#(vdrLD?j21EfwqK5L4ZLF(hqf$!Zyopx%hV8b&(|=D!2AHA0_?s z(QBhZMl7XyW)J+@P~mQ+|Q z?ZGhAepGj~Y2-^rgZ|hb1VDx#Y_H|((%TtW_NOPkOMs=p42mqs*XXFmkuB{X4vyrv zZd6x_$8PU&50=V@KGbv$1V`+VONB6ZArk%ghzT)@Hm`$a$I;x)oCtqxNy)qVmq}4lUTozuTaMz*`3Gd11Iy zchjAI>&50lvl>;^w(RuDu?p*|9`&OmcAkxAW|gD#`%N^WJzgYhAJ%zLReV9@|KHtN zDd18CIESd<{oCzkBDX>hr59GupdUs*&ZaTIG{`_~MT*Gbg<+KPSRAfY$C^rxvgIaJK6 zlAb!9e*B&P_dCmL4J5<5NoRq+@aq5@Ns`wfY18C6Y3ftfk>azeHDxzvjgD?2+kjM=i0T% z*=JlcfA&Py>G47%7FS%`JATE3{JgvCLHfQI-Cf@{Q80BeqCU^QOC!oT_r086aXOou zVyP=m?`g0eMa_U%t3#{h^u{F~Bq<^OY1n3b(U*s21!_F{m=J&@grFbthj?n^DDkI_ zr**7!l8)4F5w{@yjNTCt9TAids1N?4#^q-&!A!oZ$Mz6+#Ah1(Ut&#+QkQjP_|r+; zPQx{J=CarmX9QHF>u4)qNt)K%s4!iy>Pc@;%4b>Yv~k?RDjTdRn+f3oB@ryB(cdi} z0hS5csiq7hH|5g64!oG~y=3_IlA1FU1q=?eBwoiJfD^I}l-<&yg*=)P$VhkX6Xx5Y&uC0k+$)C%57F&L-UkO^rz<(6bb{H$8XS z(@Fd6_D3Jp3|!$1@`PGzJ+t2EqtGXMC4CUU#!o8sJ`qgeMV$r2KFJ=h)-b!3qd07!%lz#&K(wV<8G{h(28fTPkA?c?h@PR z#Br~9v_CSPK6VxJLn7D?s2L3m3|I$7bhTJB?1l)>hajRg79_R3x=fN#YV>ur>$AIB z8#KICg@P)G*nU3i9-=6 zd|xa*h47vqddZH~%Cx1gtPPk3$sL#3tcyp`a=L%B4MK$6reA+1EuCJ17UEg?hCMXt z*~6G5D~zJmf~sf?z1s$^4+ZMY6)5RPg|rjgDbyxeu`-rQ%CMjy2%veajz;QQO`CM- zZAfXMn43x91Oyq_qg8aUF*LMK5sNHoFo}hXnl2pNt-V${7(lc7v_p>LO@hNHPH^Dz zz(BtywMigy!EvJD1cz*lsz{fBIl%!7FF35TNO1Z9nd3%Mz?OWt)UC-}#SEmpuTHL| zXb3nZ>M{$VefVZSq}L*CX6>;0#6`KaLj)uSY|V#HUW+-*bQ?-Z+YxAom)U)^u%c%p z^r!&9IHRuUOc7n7khug7F(1}JEjB9kP9CNUDAoD3B$+i98(L# zq+icNy5em&0A=kKji4Jl%1%>lvsY@7hTa$8#1}V~xaSs)FGS2Q(^Hx72P(C8-I-f) zX6%B%z`lG371xBci+xKyesuJig6se;08v>^pj!@+?JXIK!keKHu%#PhKha-J)4eXE zl72*4k3B$Yn>=!^Qvz1vF|A&8j~#RegjxgB@;B+!v+V9(rN@luqQPFe zqlYp?pv6B-U`1bny#hgd8_EqZsPL?fADHL5oH zpevrpO9uwo0I0LMHxpKm9P^YW+jWsZ29}t^!c})G3wjHoEr3iXJ8>@{?vPf*N0|Hn ze}%nFdiaGpI9F*$tF zUVBCrie~~jC3EQ`K+h7C;D)P&h{6bj#?a8%7H5;8^mQ^6tpO3CUM1mDQ~@wW6|Tay zTif+AK=4-ahz*JFA%X=Zb)moOqLvCUNMne=)Rq7vKQrrR5mc;L$i*UgQwwo{G|)yFCjqWB4G4>EvrNoRq)7c~E!~y$GXgW&v*i0o>X=DC zwP_8a@ol@0O-`?(WpcamKYFd6yTKGSaT@r01o6u0*d5_E@2O&e@T9kE&ufRNI?8jU zlINfz-Yi|B@E;w?`NT|R=9Mhry8{VoA~)fZr5NE?P=x?kaGIq@KG_r#H6HvymWb(r z4X`Y#FQr*jAG@eN&Z2ryw~T9VQqe-37F%Dg2p=+258@*Ul7rYQFJnUhDK2q+9a1ZZrxl9rg8T+? zaiGmCN)$DC*KnGCWHHEO zG00_6i7&D!o36yinGo!;w+>KZK=c$p*vNLZ8CS;i8D@Yi;yAa-Fj>MOY0%nH>|~Kw z!)6J5w=DKaRoIQ|WKqf~VkSMgEZXpT->%1ruK_I)(GFQeEs@2NlSL>fS?q(beYq@> z!z+J57LgapqB4%YOcpT?fgY|iwRhAt(YN6=ca1912QuNbM03FDj8bhG7$?1%$|{Ao z3`Nv*U4*cstTxtK7n_ryOUsF@ylWDC3-0njP8kxmLm84cKv1V3pWvE#`^-PaZhV)q zK%+b-u{TvknN2qF>bA*9feK8SS2mlB>9w+011p=GnY?q+kWr9vzgN=|CZ zXlNz~>mdkDUEU$D&2Uc^ncIHQ-4=^Nr7ILTpsSW4`qU5hNl6qcc%O~rVnI~N!pI;n z3X(E1aLw6zaLIhG+;C>Gx6u;$VhUxMmMG(O7MuJp*Ahg*c}+JVo=X<~1ALjJ5C=Ie zVN9_@N5rmKklKZj<06Dvi za)+=q7I$n_>#LUisnzY6hZM>{=Dp_~fI9azI zY6_Xi{cNMYk4dYUFal?DfY1>}ifqV&s_>aG7DTaXqR0aoRD~squCYZ1eM!}cBCx$E zTH#KjNHavyzp2rQspK*fMZ4|8H4{a+TNFhmvsD!FV;1CkQRLJME><-c#iuH?I+4uF ztYpX*J2+$LBymfj)nv~_3rx$blg-Xbe6T93up*omvTD+@PwcC~qwS+CaFNNl{bm0{ zC)J8 z+DQ=rh9D}0p!aSqHfwkRVmFIIVH=Xhgu=GDfo+@e+0q?Dlu#J+M&(9r6$)o(DH~#F zgbMLK3d(X8HD@<1YNpI$g)UglXbfv3{WLz5DCu%?gIxv3&JfoBNbRxI0VlhdAYnj!Gq;0@Dam+%&m{IKo? z_exsCPi-ua#78drK=GJ`%Xp9lAAWP>B;6juv!bsSK>!fu%P>(IAtO*U7URrQ85_0r zXG>m2RgGa>j+O&22n{dzkO1UGMje_oT_K*?2zHu};ALM!JLKI6`9!>;=2K!K5^yiB zz{~_xq59cKs3vwD4<&-Jsa>@|f%PBWZP7&Zua*7OZmB20`k)Ozf1dirXyj@2L&UPVmBpT$l zMxhtY3L!MHOdcFW?p;vWfZjTqj=hi%w4K5BXphe5j#=VyjH_*tV7mx9a@ic(NfS-7X#_q>-3p_u#<8N%-*X zjrbkl2AH-A_aszwB^N!)vl6`fc@Mt3 z>Sc?98;DIh*3Ilqm>v=EPJErRUz@e*(63F0TAKzFL3f1|WyWrwGT^jWEt_vEcf7oW zqf%SmlA~qK-PST7^vnHI5%wYzJ^G6?QzHhqw$O%^9PP@0BbeTH8o_q6{HmJq7JW{M z4751w<7NqG?J@KG;0!ntnWA;h3T1koNfJ?&-VEHND}pV#6?dp0u9^8pMr_=|03G9; z*<&{Vvo=<0=598azst?WL1o!cxS6Qgn>~DLkQX;f%){27i11W5T`p4 z62QEdz-owC4HiYkBQ1+-ygo;CzLtG)t=9)ITK8rMEsr;NtSqnP^;!VK-2owMeknI9 zIQD8+Esv*G@eejBsVK3VsVKd7*X;+Vgw#NTv{U}U4Jl~ZqBNbHa5vL%Gz9IEEX$-19-g+sT2y zN4I{LK6*ju>j(m?Zbd;z^n}H>lBRtJPH$K(lNw>&Gv(o4m-2X{U_X=~fTr>(1%9JD zYQBdk@Z4#WSFtyL?gATCvydAW$Z=HvaDZnm5(voiiO#r53S$>%tC+074UTKUk2X$g z&=u-J5(LvPWCIFh2`^U_xLA>SQ)DebDlrpRM~+Y1$JI2;;uGsZ9w_-U$Z=8r@Hdh_ z7Ef~dvo&j@gKdhC{AFjzpO2&CP8^-xba6D0#Q)84v?qjYVdQ1Kc0}SA1`76ZH zq(6oD#1h9WjwZy;;}a(7OUgDmm6Tl^%?&Fl6Vplln7AKyw{i{%3v6?7G+q<>TRjc#D38LB^N=KIqr5R#-QRRkT{n#w37OQ&WxxJ8Jz;lT;%a$#Snq+)#&~Sg=SR9e~>ko*79Rp#eFw zP#Vx0(wEu7^cy)-nQfbe5$l|n*@_Dzgwn#!{E`LIER2}jw|b>8M2x`D8Zf#A(kQM& ziLU`DBTu(wT|^?XC61>0Kse>%Xe_%{MhbB>%<^$GUPMNvIG*ONVHwZD=ul@oVeD~n zVYGF~s8p>!tap%`6tYT(0jTLW?h^f)hee;3x}-@xj*lSNfx`!lA-L4Gfb@uVgNUWf zFRLRf&V}%T*A?qFLOu2818cSgtDTHM?#vi8aY3)kn0O(hS2FoWu~|QC2El{n(~5Ru z9dem?_==b9QI(hYFy=*ajE*zY1YnMWThnoxvH;`Xk&2fxkL|-@HPP!iq^6l4$HIz^ zOgfL5vDBLyam6`%n{sB?RaudFv-rBkz71g_wq~F-9u`uug?J&>nuDM9UTT%${2*VE9!J}zIR zwZY~wcnwwiTV1nY0T=`J{MJKSyg~()BGDGb#*JvMwCHsYqPnUQ&tuj8r~1<^BwPBl zj;rbK2DSgCBZ3)S{eN_XnR1^VbUk3Lc-%uDqdh z#c1K4=Vuo@gU+#QT?F~4J)!8s1h9{4|EgZBI7&@7iLrlSD^oQ&XV|FrFKUj33F?yj z520nYsY@Z+D*_R5NAMDmUH5t*{6r)@{$#h)+LUVOhAiENWT(Q-SBL8m22}w#we{LYK<;F;`_w4J0K!m=#OlN zbWdN*;;fkvculTk3*bDe2HR!G6nx@Jt5hv_2DQHzI_}@Zf|S=5sU@nmwI%Q2ko9|=YZ<$i&}C~&UM7L|VxbJC zqmf8eR)8mJMo;vEp9TDCqA^)PwJ9mL*R1V?s+?{4u^L5$ndL=K)JSU*87RUNmRe1= zBVO-8>Dt8;?9XJdBoe`Bt!zK8M^Jp*K7zyV3Tb77quuVU6udZ!)08jZq_=8Rt!2ot zbIv=8iU|0(g1XJwu0_e}A%MV0$`|PgYQ^d%F|J9JH8~UnFN7R~<8DyCSOASMh%x}c z@ccC2A-Z_lBw%5Ol9Zis9E5BbbVC|E291{Xhm5a!Q<+zhUK2tvcJHOnKv22DSD5ak zDplrT8CtT3X(!8dkj;US6sc!uKU5hRGHH3~ngB4G%#{udUtzk#!0b>9rg+q%Dj-zu-AIsGaX32Lhuz4uJG9JkmL|rxc$8FA_>)t zF@URHdM?+$BZo4c%skhaxqi%3&vjT6zHCK=h$(C0SsjVhg2Ifzb{OP0J>y{>BS?cz_1lo2#`(*>6W#wRJdQ5kx60p#lzBz%Rb- z>%N4x#A*EIDCl|&q}eL1f{A88*c|bI!4gQheO95S1xhwMY!>#1rB(j%mc*v5v{;jq zMIwzJkUa`9j$)#|dgw^#O$)+G13~g&uX3?$8|j4%`9te5bmiP0fwlV<+vzBB23K1V z83@6^12`upd~JtSr})VrD2soi3ZYu&6Aa*P3cX9DWjW% zkgm`xqar-REZX#s^-ip z^T9wWrF)@rR~PF{PNQfTFqGF+!r_P#oKi22YWCs|9qqCgap;IACAB4oqrJ97Aupo< zm@f^Cv%#f0itFKHQ(z1i^oGkk2_v!P%c0^YEkv;>F$6IUu|T3gZ(LN4eMTo)8`D{E zIS`mW+L7s+9r0MC&Fw(IgYEEB?f9i)*sCLcQdn<>#}aaC1`&Gsmj=p$-4)v_2~5!I zl2Bw66Q$VGqCc@f*DO{cfk9Zwa@=WZZ-2C#7O2RU$HX4)HmP*pP)}(%C@j0dwG4p0 z#yUv3w`{TsRl!nkLVx`m?&v+?o(_b=?1SUwk|baaX_hNTg{k#s#$u^`$)%k0x1)4D zZ}=PyZ!LDauU+n|=Dr5#b}H|7B0oBwAI)c=B&(;>-EFrGK+ZjhA9lZbc)Pq4>TFD> zZl)Jf*q5zN>o*MTO!|rtNv#l~FumFdQBeJ4MEEH=GFdVzxMajF+(fX*f>E@_*LAIp zVp0WZTy#Ipu;iomjvt79I*Lrm9LV8XS2A@0MPD^Vy}-=|wnu&YYR!vDcA^M^?9M$K-(4ARpKs5aNm6lZqhVQZ{s}5o@BBn91NG zO{5w$imQJgbzUt5V0mAOH)=u>;+zzA&91qt7PCMjVqHgMsjfI-fx35vQC*>{z4Q;| z*4QW~mn?i&^x!&lsQlC&@T;yvhuBZuLBs|jz7$l5P#Bsu#B3AAArHbQkKq_(ecbBF zb{#xr6NPOefe7iz-~x*Tq5;zdL=D1_(8y8`X)7`%f%78OD;SYv_X(w1?98qnG%jTF zDvpK4} zkwT)tJ@s#t5fkkwj4X#Lo@i$|ON}a8y9P!^!_l0fKwDg8a9tFl!a8+!?kp>3|GO|S z0$Mo$Ch)7?I=5@oRo#Wg|VtwOMWSj*n7Q9p$mPr zn%a3kP^T~ah9k1S)Oi#V61I6IQ&MRaku7();O@|*yU*r3I9F092OK&%DzPRUzepk_U7ndu!XHVsZyw07c=-1$fQXyZ6QrjzXg6e;cJ1=~LesO2MUWyP5qEI;oVl%|6 zz;{Zk{?$hWeWbd;^*^F$MO$BVknp7%GpfDMriE+`u=~`?{_gh?ol3bMd$Au(Gyyj; zWv_j`!nHKC7d(?qO6ib)WSMJrD*{@SviM^$9yW=5$u6hI@gfN|ORLQJxRege;hO&eNj?DGqIjxQ;VE_t+ z5ao;68^tne(zjImej|*~SKJP0+tBLJ2Qs?_WX);m9FLnac$JAJlhB^Of&3U^B*s!} z1ourc8JeD=bg=NhKdOk(6IZlm<|0K#W2(f~)N%an@?qXq@H&%RcQBk46ZvHlAh0~Q zq{vtaF)Ij4?tmyWb&iG#K1=#_WlACe1IohbOHR~QN5W-$HYtWYPB+2f9?4z$0uaA~ zAK12&$4nIc?|TUn6uBzCpvUf@JpbR+WhcE|1Cj8Bp?)mU^Hz-I;>RCm0Of&E`gsAC z1+^FR{E?`}i(JAEG+qYeXAZ?_DH#VEyq4l;KhO|ELr$_+07-C>YEsVh(tB(GJuG27 z(d&Su5c*LDEx{|j^{&90S7WoS%eA+n|rMYNZrh|wsb8)M4zoTn8e$={s{uyJ2*;M zLVne}&JQ1@SKC8}9Lz|Tdeffuq`z&C!7#M#$LrTMxCfga@4;?y_%0_EZ7&8ti=&7A=I0BX8?2Mm6TY`S+ zksGDfXunWJ3AI&EmVg66;>EzGGW<9ScLQExh5F#8uDrwKU15uiPuUoPr4rt>ti9{? zs6%F7EG~2p`)OCTd?1i18$nKem||K(j?%SOGx=IJzgN;#kS4ZEc9xRnTT6V+06QBlqWPmpz%~DmwBpJlJ4c%=~Yr!a1y| zBkg7BE`tp|eNc#ZfOI(GC@RI_F2W~o2A*;)9;0nW;}(fABESre+4ob9UcIGboq9BS4q!q%21JgD*yo*=M{ZH;v&CCBxGyZkFseR-Isp99QJ4AF8Z!?ANj8_OE1^IR)mI^Qd|z< z=YHqjKy;iKLy>Nd_Z3865A)Ct1SpiN(!q(>DFw3lM;nhXc0s7R+2f6|!ZZzFISlFW zI_j!gxDa|t2Or+)Wa+Vq5@mTbEJMwDc2Fa9>PAheJ=TQ17kY|@v79#Ocb*Ptg%_$a zqL~U2lvf<9QN153%U)M9d1nq>-x-HNgwC*vSfXf40>vEj>CBgnKn4B3*-UPyaS;5q!Hhl4j*)CZlM@jlK zQ`&l703&0Byohl?HaCF>&O{Rg(nv1?F)E7tSfv~cu#mPcnkpUz2^G|!0Mv-{H|Qo| z^7Pn`fTVpb8#UU_RCM$kFOfOx)L8@xJXnU$i3PCs1{BNE{>m3 z%I_e^Vm~gf-_g%r$0Sho0fU+Yq@_UC2M9n2qWXNTY7FRWH?QSU zB|5IXTgFV%gmWnC)dL;hFZqWrYzXfmuKF?|@EftNk}CIzsn*66>JJBk1Wp-JdQ)%m zl(>PwvgR0Cz$nd?Dr@3{_OgUcj@7_!nGfx8l{S>5nHTz+Y$4SAhLVLWnlE@YLW=+b z97~VwptoPw<=K-nbv;k!A^=_&l$Aey1YmTnVM3tUE`^xlQ;w>%O`E{CL$x2`7nz}` zRLr1##tbKZW|GLu<@DL(bqp`=k=O>j4elFN8v&2r{^Y;h_xeBmy-)th=K?K51V?}N zZytWbyFUB2zkJ7qi8!d%16kKy=|5RowUh3ff~pal4UN}|fiEw@)(BOqc8RizU1Dfd-!4&Bu}ee{F=Z9OqO4+<$nWE{$1Yh(1@Hu__FLgXi=7t)ELL*W z`l(;jWsTYD^$J+mc)gQdLSj>tpEu{ zM{XN>+>uikDq6aLKEfTvK_r)!^P}g)0*Vh^kk>hP$*r|4R5q)hE5~fTyj`XE1X=+Q z8k`qmkpE?Ry`ASCOmlMr2mGo-j7osWKP*7p#eY(OU4s;>qGjX>gTY=s*oDFyn1D3-e z2q=*NjCzWIMW~8EydnefIDxco48jUIxc>Bqz`^;%H1f0xj81HXDo#`c)LTfzyM*5r zLk@B>@cwkisYjtK^U2wUboy=%HlucR%bH%IpX&vWkyY$x{O}z~-yOWb-$|}SSjO5G zAV9;8!WdmGm>Qe!)aMOoO5h$(0YMwOh}Xl07p=GAAfS7pyWv9YbvV$o zKch?O-Rh%Mf``2L*?|e_Ts*dx?!nq?t(|M^{oAK+WSYt$Ws?Pf1+(G-+jB5{ByrPhgqMDy%ei36x#9f>oJYZknVEQhb4YhiHy{AJkz4Z@P zXu|}SMLQ_U>80%Fagw0QzSVq@rNCqGLMk*jChIpHXnqI?dkLTyxVfKaE$g?1K=fBc zYa@)Re@rZWLi|x|T~0sXZjJ&$?N#j4kzU#_>S)WNBf)N_mU+t)9n6Z!oI}j&kuq6( zy=zAPUF!BgR^W`YVU?Q1yjnd=+%*^}AH#R5jk^M9FA>&1rP^D?gX)6?;($V@vU+Wy z+G)SkQ7nHdM|8iYgN#eH_&qy^ll+D!g$lDq9Ay&{fc?5)bVzU~uH-^{dZ^A|b?{xV z(EkQwU7!Y+_CZ&aDqA&1=oIJZ<=>>H{(Hc_c|m{mT``Xk`0z%&_VYo;W7I>T5svsH zLN!%jV>syTB0PWNt7X!6&g+ON)GN%BUk&mVULm%>yB=(0Q0>{1LHk4$7}-x#apahv zljd68b_5Y9aZRzJMsz>lpt>LkYmP4ACEaVLv`xTXKYPmk0wiWOgYD z?P$LrBm0R6=L=woteQ!NSro+LV!#wx#yR?1|M*Xjee^Bw`NQ;100WRqpZ>&$@4V-c zJ3sNdJMXxeK!HeY3t}n&TV81iVUDk*faKUwK|AB>pTr#}QQC>0?d=cN6*5vsMkW1BcBP`7<2J}%2(4|yOs2x- zf`XpwJ(n=CqxhBdo1f_+L~QSKh`~gZRhi=&Q_^8;i6{n z@h@ryH|H~ObI~HlQ_N+zsgk!k1#eY-HrG(aOaaLr?C095A1d+qy5vzSWfDu`PN{%J zoVMVQ5;E{1BELHJ_P-K8MP z$jRX>l;mcan@Y(W1D1pYNmaF|9WDupj-bE2O5h?QpB|M8HgzwN`4_sY8IhG>)OXO@ zHfi)HY{BCv;}j7SQ2hJ1KKKaRm|T`X8Gyt=#UWaB-Qj0NyYdGa)JBl(u>1kUz%)Zl zc?nlEjsj#AArdf^YM95QpG{8Kag8ULRX8QaVoe7)_A{~&Deo-8C%yF@d=#hCf#>as zuduGX%8Khz9g$K>5)s@2qs*|*Mm%7i+p0r(HjF-MfulaaSiB0;%4jyQJu@y|ka!#7 zH>iqLPO2*X?x2oVN(Pt}m8J}q%1jo>5H8wJ9yuX$w#{vHktHRNGkoGS!-o=92L^Lj z%7j?<-(Xc{@S{PN?pOaY+8i#%nRhZ-g$`v+fZuhqbsY(^UP`6Pl@AxGE_TAj_lYPh z;-pckwHzYdErB8!5O)hnALw=VUu!f6?fpJ1+OEHbr>S{dE|Tw-wH@0cJQhbzHw3v-%t$VyTbw1 z49ojn75h>lf_nyX>%vl&9h|B7LXWLjLhg`zPOD)z6$L_muJN2X$+(WS{X91yAsuLT zL!)BF15Vuql!_hUZmCPlhlqNw855Ec>T!9kuMhPooD>RweISwDsfPsIl>HC`1ec+h z8Si0WV4&H$Qkdj0X)LIy5Msa@yU$o+r-rt_Ko8n{FAwEseaJcp*tPSDC;qPuLR)vU zi|C%e82O8;6GUgQr<9!7LB^zdY3a93ToSV`@svNrf=Xx>?`<(+VPQEj0&1|wE4*Dh zFatn2O_YJ#vQ8|DuBDYT%(v%E+jfDnzYCLe`FqaZZQJj1o%-zeJk6xMbOrWURFfm$#|#mi<|DF>-VW^)w@ zU?qwAo$1Tf`#=D2nQO#3On>{`7|OKlQWhiAhwVz1#O&0-H1s*m1Cf7@*rVvI14)XM zgD*@26yPJdw_+E#+vZ|+HLwa}q%F(!@aR4z4<(dnrrvL?)mJ?x+~7x1t(0QV3@aqj zx|ZS*zZ1G_K%j9}^5S=V$j-HI8mWa9jG5voTP6x*)a zJr6|ajn$m+2mpQwkSRkhqkP&xive?Z;hF7u7}k!K{K~nuR%r1a%Tp0q6^ekQqvjLh zWxnKDBqB8z$cPVBd6W?qKEXe&(Dm}{fCyMwL-C3+6EDEYZt%t%qqo#IFS*JJ5S?H) z^vH+9T-8ljCzG!`<{Bz`ZL1zh+k|>A(T%+h902KO4E47tlMdu#sR|-91tPPn?aNpl z9}3VX#MxHZ{pvVmGvyCVun6+=)p7Pwb+3-w4tm(8Imrvk`tv{^<^=Ro7M&Y0|889# z2Pik;Y0$kqewm>s7~yL-^49fnA>F+g4g#Am{gwO0@|@_MvP$}V_jDd>Cinb7@SX79 z?NHQpXd0(|6lSEaJe0ycHM-a+>+AN{y+gXolhf&^gB3)N&F5cG%(dhnFXY#l&}xk2 zr-KvAuHoh;IB>~saP-OF`r|{dk*}^JDP9)K?_k(Z>8BDr8o=Whs}fyD>hqC%Ez2y1C&yT zQBbBlc&UxesGM9<3-l;bd!y;+pcnP&6>i^~;aZJLoeMzwIn-lhc^ zB3NddCX>LPyO6yLYri6-t3R?WWtlT1ghG%}@b9wMEyyr$!T^hq(IsKONP$@FdVI6> zlCAi>=v(_KjhNo&VTpq2gF10H1WNS7V@F4HxC3hNA_PZ2Tlo*6v0bsW2--m8j9d=U zU-l^sSQiT2Zf)0Q@*Ypi%?-N96z1!nAMjJyGVy9J$kj@$@!I@I1+Tc11B9G)DUn3x@&Yz_|3P7O~@j?IoVM;4l`xrM3W$)S;t**?q4z}0Yt=7tVyScKSEUqlB2f;nyvlD!- zj6lK)isUR+skwO5)al2*ID+CH2Bsnuo@8!PQrbMAO^_Czb0Tb=*1 z5r!nIbB6Jm*4&|!tMlOdIqH`iNCe)051 zD{;+|W7i)}W*67jPBrIRN$cG4Cai1C1NRTYnjSk3-p%*d^ZjEWD*RvdZLhv%=4g7| z%Wip9dfjv;6|ZWoZJb!&EEOxst<&wcmx>N5XWNV5v3|Uj%x)|!7)R!t>&+nej;I#Y z8N@)@B*bs7t+m>c&%}*(I61jEpSaQ;Vmh974Z&LQFpo2N&1Y*H)QC(=a}}x^ZGYnMF*O4O%k4 z*k&@T?emLkXl;I$9~dE8Cr_=P7r+CnD<{q;3&_ygdF0|`vf578=-s@nm7HwNFK(PH z+&i(ldP)rzR~$5v@WkTD#r0%=>)>q%leP0FVc2q_cGs+}H&MQ9Qi75kZ?4RrXf3W_ zLtxtC%BhX@s)JYV?769*XE&(Xgb$k zU0XXa-#W8MW1AfFZ?{&2Gr&$ZSI*nzwG4fYqq~f z!W1@6oidr(SZSR*1^bwNYXu4{7;7Me4o|jD!q!#Ps_pFE#>yP}e%oq$@q5%kCNS6& zB>Pv_+(~lHZnHc=@MyUf$X@<0zEO){8=b?tEUuzqL8+$(lpy%)CKP-_j$D4j1|Iv zNDlFkBSBEA)Pm>IPIgMLH=DMz$5)YOXQoDJyVtkPaQf~Z=NlGQ+b5grNVn(C3EIjx z?B}x?hf~d!#W@&o7j0zw|DKQh#lpsk6LZZKX*Zg^(Oz3T(?VyPbEh{@_2lHndh6VK z>66fQGt7Km2M-=9h}j{D_SzxqDwYR-M*ng8i{J9KTj8wCW&V0!ubb~9zJ2kWY%UON z4BrN_zj~(CUO2IOR%Wl`=55$*M`*V?Co?$*|$^hgl z^NMe~DVaUL-U@;b(D$3@qxncSKg~G?3B+dkhiGH2by%^)=eaJw3~^hBlUJ_-e7*(j z6WC5@yNYc?7q3m)8!O4##r5OKt=-=7#bVB__?0%cmdVbpt|1oL5C{8r_0@uJ2fkBX zj5x$`b{l;*T-UrK>krmxt61Rs`PO{9ZgZa9e~|l<$;}ir;BfOJ+?V{!qUhW4(&TIz zJ)`a8w3Y0BfzLiZM_13iX#V_4lCGTp<`-?Oh}!et%=N4IWU+~CgZe0DkdBB)37{k!=V4StMo@$X&4 zD1zzubXjf;-HO>fvxv7a(|e}bUNp0g$(mnWJ9VOo+H}~10DKVmuK;dFhgUP0=98V@ z!nx*HjM*etk{#hm$P~O_)A_ZWEB-jhM-h(NkUR&2e2VmuuJm`NzaT4Nr-u(WPn>O@ zUz@Q&V*fSQCUzi>Y23`F-(9T*g5hbILppn0zV=jm6$6S}y3GMS*ahSf`VM#c&Jh&C zf|b>k14R9D@7s3^1_oSgwSbd8A+3<7cDC)X7i9Sd1@emuMGdKIy*FaK>*+tncgD{m z9fi+kna=Ik>YCZ9`{*xzT*pWDYHhu3Zf~Y-qi?j){g2W{b~9_6ax8u6#foo(b^ELt zEd2usq{#|8Ab@cD0_`f+e3RzofR(Z{aC;x~6+-FPO4@l2Pfa zuBnak48heHI#xR!3;yH8%|VPk&?MNv?xqB&)X}gR=Jo|0FzQlfm_?Cvgnk*}9a)_|tBkBIF|+ zlQ{@pp|CqyUq2t*yg3&LUYSSM;wvZ41<)s1+n76U@t9)ZJf6<)c#R8gkovhWJ$Q|> zWf%P^>@@LGfSatJKP5a8mzEK?;w+VqD9#LCS&a7rrqPL2gJa5YUED~#Z6Ui-v`#C6 zcw$K`A2GtlN}gTN(S_X#mxJpzhqd%CCIcRHaDA3c7!@sR2(BxpOC(3I06MkW1=8j5 zdv{~Yt%4hsOp%-va`YhWN{@o0o%AO-cIcI!pBW2$G%la(y5%hJ^mF{}aOhZ9CKTM# zI!7ufE-CsCrV0PW7y>mvP)4dOh7ZzhgZbdq=TFYA5@{xR)?>`K7$uANgIlsRf!Lp{ zm0>Llbi5PhhRJ+uZLYm|ip&dKvy3n}+QcFW(avr4n8U))XBOTXWrVmvjcsU&TW4$` zxTdZ$bHx#I;mQ)8#3hugb3~fKt4YPk;audYV9wO%<~Cxwy0Mm!sN%EcNudk8Csd`n z!=)QYPb@`M|HYH1PPF8dxd9p{QDLQ+L_tgqAtT0@MjRs}Ute5U1T3*2BhCjmDWg2z zR4xGh)>>e})tlR^>#K9CzVKr-@Gt={?Ou~TUk|QttzpZZvCgvYHr7Hz1~2zmbO@G% zJxdHhssm1@vmRQ0TT|+=sq1o{%NZh_vrNPnnkS{2f{@=d74kF6b)kEVSNM_xilYKS zkewH`XgkgH33yQveSJcFa2brZLY)b{+K4A5%?lWTzb33Y7dzH6t50BkPqkNX!`iMD zgrayAp+ZPatX)AM_|~pWJ$N~Vrp4ow8k9LvsDM+~HBU8X7f;}qO?%d;DlN_}A}jc< zAlQgr5&YNiFG{~!+8zF2`ER0UmHsYxdmP4-%W^ia#5FI{2OV zb)}C6?~Kov_eCq=$+%Jah0^uGKZn1FKfE>gA7Q2R*3x&EUJ!hHI2HbI@Z04d53h@E z2>*e+G>d0Cb;Ne_>X zl?uh#mv5|7GQ>mqf)>RxuD0f_rtp3AQA~7>Z~d`UlOI3CHI18n=K-%}4z8{GsLc!c zy!gfS7h}`sj<*U`!&}YOChf)Bj<1uqS@E<#p**m#emLoO*TLj}GnO!jpIx)K>MFh! zYjt;258su0S)UitR()^seX_oqU^cIF+=I2ji}+-D)r&d)Wl!#Ng!M)X?D2(9kfo`q81Wq4A-Kp~<1C;lbgd;o;$t;nCr-;ql>#;mP5tk-?Fn zk>Qb%kGV7 z$VlY;=fhd+xYN`|s~|b&-de zzxbD(znNp{0Lu<|Au0oHtv<}R&Lyfk$}PD&N(T(4F1h+sGVmNHqtE4A`J8L1a-D;4 zGuOrc?0)!v_zzUR!oR{pKHD6|oBm4rD~zahBUM(4vYT@M+twE*%@SB#Ily72?u6if`duYOUg1OE^_yXE)693iVpJ8q zp%H{+CR-bsA0F1lnYESXskP&)>ocSUXBJy$hb9;1XRO#fG;w?waUC3)9UNJhoLHEc z9Geag%*+tLScP_G`~EY&?!ZXv(a0Cye2voWnmWZVc=}E_*0~uni}g}W>Rld~nbA7j zj5(K{o&JnKPF1E#c21RF=e<`IThBN`JOA76n}%8=<1_nix@F%j`!g-2P0Y|B_o^GVn;6FO;KA!#vm3W*Y9pL7 zt>(!1_{bpkXJKk`VRUd}ddD#V8hv^|uEJCRH8?jiGCn^xI6E~t*BqW*nBMtigBqQi zn3~7z&NnB<2gjxsrmq+lR$`Fw9{V?1aT^*m5uRb;v&~EfM;E4MhbOSR&56m;(bjZr zjXsluHWRAz2M<#1K4?7;9&|m8BI$gSpsVeq0m5vR2y12?HQOoImjFY94v$XGkF}bu z*4X&$@WRyel~0f8XmbKLGdGE?ADkbX9G-s0cYx@a$?b#>n1-fa)ja!})||uYx_zlh zBVlH%eWo=$G`~9Ik7rn9nsI^+I`a$7sgcpi+3~sN$kbGGcKVr5kIv-${M-bRxG>n9 z!1+v0@46Lq#)rD;=GIFNzS>qfZX#eVlBt`z1tKvgE=EmVEEj$LRRN$lT!U$nfAOesg4Q`q@v{W1`iZoE#f%&QidJ z0+Z9bpRUKkTx)oIYH*>|8Xp>&8y}y3&It1uVfIrlI-`s>G(6v0XcAe@9A8~s*5v0I zgiQl%4rq(hjqa^%Qfae?RM&{?ohlggzTCc1a-umnGB&B0WpsXadhbh$a~z(! z%oKAx=En%jCPrqb7Wf-!O-_IPHv_=w#HfPoq4Bictql&QumFLf*}2hXYiMe)IX5{v zJU&1DTyu$LFd*{i@D>D2-3}f^jUnej1l!2!s4_X)9GsjToST}&qKytVr?0-bIGxe) z%Ry7BbI_~p#-wQM={(*XpC1{Woy646jtw=Zrjyko#EFS55RHYoSRFh#+qz96qV)r> z@9l#JZ?HO!!~N#w`4g+nc|YLXL~9B!H8wagM`#IS>!-U0+{zIrOPCde_uxU79(9Bf zPF?53$`#-b9=yf&WfbN(GSnIwS{NOln^pX}(3)<@06U`%4CMF0;Naxk!szrjj%8RC z%+!e6S~BBuLTONI1nV}`972b&bCc80pP}2>q`86Zm1Rrl)a@uY`RCzL^0A>gv|yeH z2rsZ-D*8pZy`k~U*O8yhoZ48E#TmokklT$ln?!(Pt+DBA{_R(YZkJzQm>-!MVv`rC z;NSuY-SjtoY4&J}WOA}KF}^TI>e-qaoqmBF@utZREx`P><1@EW5nxKA6BC0&ASnrlrg%(kYc4;%!v#A$eO)kRZX{&%4@ zIWjS{Fh4juwlFz0JUe}G)VCj@lIt=JJSQmv@=NfJqR4_y{#ds*K~X~>0rCs&x7Z4r@-{lC4O*Owf{6~@&V z1;89Ep6mzC(UT8YM?+V225f_%FtP!Y!3KNW-PI)tjds?%JHR?(1GaI_IcMXXv;Q{# zZdLcpY!EC$=w+vOX1cn%!oA=9zOTn5@9aCvNSA}ttKz`J$Td|SpE-{$Jpz4LLQCZ) zEb=kmp|45os257jyfL^oGwFjbyFrx(%<2bdI+1e5G4!C4ylYa1mC?^+yZ4K2J_H;{ zq`cpwJ`m~40DVoICN^_1n5@cltV}LpXqYv>gf!EuLunS$u-tB0#9fngneK9czca-X zi`&hFS6?qeaU#dQKl9%DVf1eiC_-1I795SXMe!a^%TQ;2V7P9Ft1~4uWtHu^Ql+MR zT436+MK1V-hbf_Js34uMFkQ>G&*HjrS=j<%t7l%_E(nwh3uCDl1+h7GWu|nRkybNv zgCx{fZ5;Zr!^&h5Y(?xyRoynqDVwL}##eXp{XXNm1yw5(pQ)s4iTB#vR4(1KUskFN zBPCmCX|zgM!^&y0d|jkOSMz46d1bUbYOMqTj9G(J0s;ek;pAxtfdTPcUg!K%Wg3@O z6FVD~WUk4~TbAmuc{L#0am%jU)0PZXRjqQW>a@!f>j;3>ymbKkk_CLLiSoubxG4!g zcv;7%9hhWw1FykYToZIO;YQQ8Nh!2r8&f#ld~|8Fd^0&r6N!N@ca}P|RIYNRjVaR1 zE$7NSVF^@?iXljqt>e1EPHm3wbt+tu>Y{|o(k^e3RGC}Pb)_&Gs!p}eU~nztPOvt& zT?D?MjBU$E6m=aJjY?x}jp4YjbSbkHSbt9EGhtMV$(vyGBt4w_40PRdZ&31;TbNBZWLpgKrmN9m`*<+GxJtm02QnXa=xIkxhK^@Tm@Jw`mpEJ-+n zAiV3wzU2Tybvp1A>^tFEMWh-y3!-pA7U;-A8V)WucVEG6*hxT9@4Pbn(^Iea^#AtE z>%I5xyn`*A$V+w|`*Kw~9<@j-h_bvg_Z{}cZy1K)*t-9DNsY)m3zq79YULfM&Nng| z-6Li8QbApA)MvVJGkr?t%vO}SV3Ud&1E-h=p1r7jN!YA(193^E%xu|K9Vogp4?ZW| zsH(k>i1-~&x3CApou1Ed@azk@k2vZCom2HcFP|RjkGn7U7(R0Ae!wG=r{@kk~|_+Y~J%GZbyJth-amrwCVILTSKQ!n}bgfX!8_+ zX5M>cK&QRW^CP>cXPH@BTbU+M^0Mt)Me3~4kUO2$Q0ujn#Jh=Z z%i>z6@+PYRhCC#e6}mFb0Vz}Q8y&KfaAYran8mvTb|SCtfF#Fhd-7l(PfuNGNmdxG z(K%)-XHFj;3hptwFHe@7TzULT{{ngB&pfk#Y!J;RZy0;=4n2_Q&NCMPxWO%a&C*8; z3_5(g!WenkZ%O2vzJA+#b0u%}b^RxEx$gb@Jt|l`K%i=$wCk6yH*04$zfV_bM{y~xubs}2#%53r>rgVK{ zwO!r(@Bw*qb@L5(n#?7jBdTZXY%1gVJvv8=x6T%V5{3PqVG3Fytwmrex z>b9_uVr^3}VcL8)x^3R;goZQUZqYZZs3Vlze*20b=t_dbSc*$d#@SMIjcwrEY*JImd?E7aXwJM#!r8uxrJxKe86_1Zp$;l2 z*{z+fVsRXeZuPH1T8Hm>V+bOu|N063%0~;4qu&O^$J9y*tKkmPIx$~7-wkDRs8i@P zvUAsDO>Mpu%>}weUJpm(P}1pIk%e$hwu%xLbpB;O8-5@%-~Y^;R&?(FA%Nh7fx*NH zGbRdnGMoYJc*xgvnhV!O0a0ka5*;6AV@oq>XhyL8jz+ZADz!R`RhHBRiqBUgsYk=4 z(A_F%H;iMlTKlpZB@#V2E6Tbmt#amTkjmyo?*|{2QM`X?5d-Y`*2A-7bTvG^6QB>63Ww zm`qi~dDF>Eq%8$!ZoVCzm*WC^3|2BiZb?Df6qWgoABsHjcsq=$h(4pyR^#7t*jgU@ zZ9a?y`IG^!JDh5r>Xi9zB#Mu}LoX(2ZcMbl-bhF>5{!i0VlA7b&Re2r1BP|xdp-j9 zqceoER6?1md>E6*2;lyN9VeI41o{~vnBAjuTyRZdz8^^eADSTemY86%B5$mR^Jkcu zI4kaA@fj3&hcqsN&io*{X?_-K5WXAhcDJ^!l=q#`fmyqeVR-f&bVm(SAQqNc-Xc+E z=7&CI`iqL@gAl2b@Lc{vr?RE3m`N2=7Lz+u^P{Dcf)Wmm=N~IwoD_3sc^TKPXo%N^ zH9wBd+nZwJMErXh#g{E}otU3QEjL|+Z4jooFC)Qm-itjN-Ps?VYc=dpY?QJcK@136 zI?3_or;9o5V?Z1h#OW0`t?rSvae|{_HORosPNgAL&_$70@OUKF{A`a+^wx5kuoe6s z){QJC$;EAHejeR2Oz?~Kq8#p=Hb5Aq18m@G1mUEm`NdLD_P3yRy%QDVttZ*a16p!7 zDP&LGLeb~QMnz(N895pD<^9(W`(j-BN?rzL&m&K6tuz8?)u7xJ-1Dy@DJT7^T*P5j zZ4pq3IAnOb37?}Kxfq`(l0uQ07efA9K$%@EXKa<7&Mej|vQMJQS|QT7+Wa~aawrQ0 z{!%Cz9@hvawk=+^(D2U16{8EsWzyQ1RmN`rO>~l`^C0#vH9hQK8Am%9rFO6c{wkg& zm(;OEMesbY1G4E#k}{A|Y1iK{E@EnH0B{ zKk`mBQ8eW`vb>NEQXNCY|1r9Kej+_xV1sSxOa~DH8>c%hT$CV-!nF>`A8sG-)}JC@ zmC6)Krxy)v={PWv%eD~sNTBGd=Fia`a{aKEn&~t^g}p4LB4?8TLx8z>+29%fvb^5O z9DCk(Dlco?L$!r;#Ea<6Ul$oLpsrjB#8Yc34X>m^s$UPoThIwvs3~k2=b$(9w@3{G zy5-!0Q>B7r>~sR9jkO(1^1qhn>*Y8{ z>2jT@HgjURvT)b`KJS(iOQ#5$F~mAc)BGnAGe=L0g>b}5ntOoeR_b%Dt!>x}u?y^| z>zFWv0irSg^#hwPN7BBc3>6vqdf~p_<3+IcgG!KYJKSz%*_i)DS7Sk-oI1}2O z;;24&b+qp)VJ=V}#;a4$VRU4cA|P5&$@Bq>I;2CQpPv$7uX\00\00\00\1a\00\00\00\0c\00\00\00\04\00\00\00\1b\00\00\00\1c\00\00\00\1d\00\00\00\1e\00\00\00\1f\00\00\00 \00\00\00!\00\00\00\22\00\00\00\00\00\00\00\01\00\00\00#\00\00\00$\00\00\00%\00\00\00&\00\00\00'\00\00\00(\00\00\00)\00\00\00thread '' panicked at :\0a\84\0a\10\00\08\00\00\00\8c\0a\10\00\0e\00\00\00\9a\0a\10\00\02\00\00\00\b0\01\10\00\01\00\00\00note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\0a\00\00\bc\0a\10\00N\00\00\00\f0\09\10\00\1c\00\00\00S\02\00\00\1f\00\00\00\f0\09\10\00\1c\00\00\00T\02\00\00\1e\00\00\00\13\00\00\00\0c\00\00\00\04\00\00\00*\00\00\00\0a\00\00\00\08\00\00\00\04\00\00\00+\00\00\00\0a\00\00\00\08\00\00\00\04\00\00\00,\00\00\00-\00\00\00.\00\00\00\10\00\00\00\04\00\00\00/\00\00\000\00\00\00\22\00\00\00\00\00\00\00\01\00\00\001\00\00\00\0apanicked after panic::always_abort(), aborting.\0a\00\00\00\18\00\10\00\00\00\00\00\8c\0b\10\001\00\00\00thread panicked while processing panic. aborting.\0a\00\00\d0\0b\10\002\00\00\00thread caused non-unwinding panic. aborting.\0a\00\00\00\0c\0c\10\00-\00\00\00fatal runtime error: failed to initiate panic, error \00\00\00D\0c\10\005\00\00\00\b0\01\10\00\01\00\00\00\0a\00\00\00\08\00\00\00\04\00\00\002\00\00\00library/std/src/sys/wasi/os.rs\00\00\9c\0c\10\00\1e\00\00\00C\00\00\006\00\00\00strerror_r failure\00\00\cc\0c\10\00\12\00\00\00\9c\0c\10\00\1e\00\00\00A\00\00\00\0d\00\00\00\08\00fatal runtime error: rwlock locked for writing\0a\00\00\00\fa\0c\10\00/\00\00\00one-time initialization may not be performed recursively4\0d\10\008\00\00\00\10\00\00\00\11\00\00\00\12\00\00\00\10\00\00\00\10\00\00\00\13\00\00\00\12\00\00\00\0d\00\00\00\0e\00\00\00\15\00\00\00\0c\00\00\00\0b\00\00\00\15\00\00\00\15\00\00\00\0f\00\00\00\0e\00\00\00\13\00\00\00&\00\00\008\00\00\00\19\00\00\00\17\00\00\00\0c\00\00\00\09\00\00\00\0a\00\00\00\10\00\00\00\17\00\00\00\19\00\00\00\0e\00\00\00\0d\00\00\00\14\00\00\00\08\00\00\00\1b\00\00\00\0e\00\00\00\10\00\00\00\16\00\00\00\15\00\00\00\0b\00\00\00\16\00\00\00\0d\00\00\00\0b\00\00\00\13\00\00\00\f0\02\10\00\00\03\10\00\11\03\10\00#\03\10\003\03\10\00C\03\10\00V\03\10\00h\03\10\00u\03\10\00\83\03\10\00\98\03\10\00\a4\03\10\00\af\03\10\00\c4\03\10\00\d9\03\10\00\e8\03\10\00\f6\03\10\00\09\04\10\00/\04\10\00g\04\10\00\80\04\10\00\97\04\10\00\a3\04\10\00\ac\04\10\00\b6\04\10\00\c6\04\10\00\dd\04\10\00\f6\04\10\00\04\05\10\00\11\05\10\00%\05\10\00-\05\10\00H\05\10\00V\05\10\00f\05\10\00|\05\10\00\91\05\10\00\9c\05\10\00\b2\05\10\00\bf\05\10\00\ca\05\10\00/\00Success\00Illegal byte sequence\00Domain error\00Result not representable\00Not a tty\00Permission denied\00Operation not permitted\00No such file or directory\00No such process\00File exists\00Value too large for data type\00No space left on device\00Out of memory\00Resource busy\00Interrupted system call\00Resource temporarily unavailable\00Invalid seek\00Cross-device link\00Read-only file system\00Directory not empty\00Connection reset by peer\00Operation timed out\00Connection refused\00Host is unreachable\00Address in use\00Broken pipe\00I/O error\00No such device or address\00No such device\00Not a directory\00Is a directory\00Text file busy\00Exec format error\00Invalid argument\00Argument list too long\00Symbolic link loop\00Filename too long\00Too many open files in system\00No file descriptors available\00Bad file descriptor\00No child process\00Bad address\00File too large\00Too many links\00No locks available\00Resource deadlock would occur\00State not recoverable\00Previous owner died\00Operation canceled\00Function not implemented\00No message of desired type\00Identifier removed\00Link has been severed\00Protocol error\00Bad message\00Not a socket\00Destination address required\00Message too large\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Not supported\00Address family not supported by protocol\00Address not available\00Network is down\00Network unreachable\00Connection reset by network\00Connection aborted\00No buffer space available\00Socket is connected\00Socket not connected\00Operation already in progress\00Operation in progress\00Stale file handle\00Quota exceeded\00Multihop attempted\00Capabilities insufficient\00\00\00\00\00u\02N\00\d6\01\e2\04\b9\04\18\01\8e\05\ed\02\16\04\f2\00\97\03\01\038\05\af\01\82\01O\03/\04\1e\00\d4\05\a2\00\12\03\1e\03\c2\01\de\03\08\00\ac\05\00\01d\02\f1\01e\054\02\8c\02\cf\02-\03L\04\e3\05\9f\02\f8\04\1c\05\08\05\b1\02K\05\15\02x\00R\02<\03\f1\03\e4\00\c3\03}\04\cc\00\aa\03y\05$\02n\01m\03\22\04\ab\04D\00\fb\01\ae\00\83\03`\00\e5\01\07\04\94\04^\04+\00X\019\01\92\00\c2\05\9b\01C\02F\01\f6\05\00\00library/alloc/src/raw_vec.rscapacity overflow\00\00\00\88\15\10\00\11\00\00\00l\15\10\00\1c\00\00\00\16\02\00\00\05\00\00\00called `Option::unwrap()` on a `None` valuelibrary/alloc/src/ffi/c_str.rs\00\00\00\df\15\10\00\1e\00\00\00\1b\01\00\007\00\00\00called `Result::unwrap()` on an `Err` value\003\00\00\00\00\00\00\00\01\00\00\004\00\00\00library/alloc/src/sync.rs\00\00\00L\16\10\00\19\00\00\00n\01\00\002\00\00\00)BorrowMutErroralready borrowed: \00\00\00\87\16\10\00\12\00\00\00x\16\10\00\00\00\00\00:\00\00\00x\16\10\00\00\00\00\00\ac\16\10\00\01\00\00\00\ac\16\10\00\01\00\00\00panicked at :\0a\00\00:\00\00\00\00\00\00\00\01\00\00\00;\00\00\00==!=matchesassertion `left right` failed\0a left: \0a right: \00\f3\16\10\00\10\00\00\00\03\17\10\00\17\00\00\00\1a\17\10\00\09\00\00\00 right` failed: \0a left: \00\00\00\f3\16\10\00\10\00\00\00<\17\10\00\10\00\00\00L\17\10\00\09\00\00\00\1a\17\10\00\09\00\00\00: \00\00x\16\10\00\00\00\00\00x\17\10\00\02\00\00\00<\00\00\00\0c\00\00\00\04\00\00\00=\00\00\00>\00\00\00?\00\00\00 { , {\0a,\0a} }((\0a,\00\00\00<\00\00\00\04\00\00\00\04\00\00\00@\00\00\00library/core/src/fmt/num.rs\00\cc\17\10\00\1b\00\00\00i\00\00\00\17\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899falsetruelibrary/core/src/slice/memchr.rs\00\cb\18\10\00 \00\00\00\ad\00\00\00\09\00\00\00\cb\18\10\00 \00\00\00\91\00\00\00\1e\00\00\00range start index out of range for slice of length \0c\19\10\00\12\00\00\00\1e\19\10\00\22\00\00\00range end index P\19\10\00\10\00\00\00\1e\19\10\00\22\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00NoneSome<\00\00\00\04\00\00\00\04\00\00\00A\00\00\00Utf8Errorvalid_up_toerror_len\00\00\00<\00\00\00\04\00\00\00\04\00\00\00B\00\00\00LayoutError") + (data $.data (i32.const 1055428) "\01\00\00\00\ff\ff\ff\ff\bc\0e\10\00")) From 438b2d0ee8a668b7c838d66d7a67eb07b943e1b4 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Mon, 8 Jan 2024 19:51:13 +0100 Subject: [PATCH 29/36] remove lock files --- Cargo.lock | 1742 ---------------------------- tests/fib/Cargo.lock | 7 - tests/generated-wrapper/Cargo.lock | 14 - 3 files changed, 1763 deletions(-) delete mode 100644 Cargo.lock delete mode 100644 tests/fib/Cargo.lock delete mode 100644 tests/generated-wrapper/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index faf775f..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,1742 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" -dependencies = [ - "gimli 0.26.2", -] - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli 0.28.1", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "anyhow" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" - -[[package]] -name = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" - -[[package]] -name = "async-trait" -version = "0.1.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" -dependencies = [ - "addr2line 0.17.0", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object 0.29.0", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.21.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" -dependencies = [ - "jobserver", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clap" -version = "3.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive", - "clap_lex", - "indexmap 1.9.1", - "once_cell", - "strsim", - "termcolor", - "textwrap", -] - -[[package]] -name = "clap_derive" -version = "3.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.100", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "color-eyre" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] - -[[package]] -name = "color-spantrace" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", -] - -[[package]] -name = "cpp_demangle" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "cranelift-bforest" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c22542c0b95bd3302f7ed6839869c561f2324bac2fd5e7e99f5cfa65fdc8b92" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3db903ef2e9c8a4de2ea6db5db052c7857282952f9df604aa55d169e6000d8" -dependencies = [ - "bumpalo", - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-control", - "cranelift-entity", - "cranelift-isle", - "gimli 0.28.1", - "hashbrown 0.14.3", - "log", - "regalloc2", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6590feb5a1d6438f974bf6a5ac4dddf69fca14e1f07f3265d880f69e61a94463" -dependencies = [ - "cranelift-codegen-shared", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7239038c56fafe77fddc8788fc8533dd6c474dc5bdc5637216404f41ba807330" - -[[package]] -name = "cranelift-control" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7dc9c595341404d381d27a3d950160856b35b402275f0c3990cd1ad683c8053" -dependencies = [ - "arbitrary", -] - -[[package]] -name = "cranelift-entity" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e3ee532fc4776c69bcedf7e62f9632cbb3f35776fa9a525cdade3195baa3f7" -dependencies = [ - "serde", - "serde_derive", -] - -[[package]] -name = "cranelift-frontend" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a612c94d09e653662ec37681dc2d6fd2b9856e6df7147be0afc9aabb0abf19df" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-isle" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85db9830abeb1170b7d29b536ffd55af1d4d26ac8a77570b5d1aca003bf225cc" - -[[package]] -name = "cranelift-native" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301ef0edafeaeda5771a5d2db64ac53e1818ae3111220a185677025fe91db4a1" -dependencies = [ - "cranelift-codegen", - "libc", - "target-lexicon", -] - -[[package]] -name = "cranelift-wasm" -version = "0.103.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380f0abe8264e4570ac615fc31cef32a3b90a77f7eb97b08331f9dd357b1f500" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools", - "log", - "smallvec", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "debugid" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" -dependencies = [ - "uuid", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "directories-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "eyre" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fallible-iterator" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "fxprof-processed-profile" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" -dependencies = [ - "bitflags 2.4.1", - "debugid", - "fxhash", - "serde", - "serde_json", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -dependencies = [ - "fallible-iterator", - "indexmap 2.1.0", - "stable_deref_trait", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" -dependencies = [ - "ahash", -] - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "id-arena" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[package]] -name = "indexmap" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", - "serde", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "ittapi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" -dependencies = [ - "anyhow", - "ittapi-sys", - "log", -] - -[[package]] -name = "ittapi-sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" -dependencies = [ - "cc", -] - -[[package]] -name = "jobserver" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" -dependencies = [ - "libc", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "leb128" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" - -[[package]] -name = "libc" -version = "0.2.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" - -[[package]] -name = "libredox" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" -dependencies = [ - "bitflags 2.4.1", - "libc", - "redox_syscall", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memfd" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" -dependencies = [ - "rustix", -] - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - -[[package]] -name = "object" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" -dependencies = [ - "memchr", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "crc32fast", - "hashbrown 0.14.3", - "indexmap 2.1.0", - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "os_str_bytes" -version = "6.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pkg-config" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.100", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "psm" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" -dependencies = [ - "cc", -] - -[[package]] -name = "quote" -version = "1.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rayon" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_users" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "regalloc2" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" -dependencies = [ - "hashbrown 0.13.2", - "log", - "rustc-hash", - "slice-group-by", - "smallvec", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustix" -version = "0.38.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" -dependencies = [ - "bitflags 2.4.1", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rwasm" -version = "1.0.1" -dependencies = [ - "clap", - "color-eyre", - "wasmtime", -] - -[[package]] -name = "ryu" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" - -[[package]] -name = "semver" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" - -[[package]] -name = "serde" -version = "1.0.195" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.195" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "serde_json" -version = "1.0.111" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "slice-group-by" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" - -[[package]] -name = "smallvec" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" - -[[package]] -name = "sptr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "1.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "target-lexicon" -version = "0.12.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "textwrap" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" - -[[package]] -name = "thiserror" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "thread_local" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" -dependencies = [ - "once_cell", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "tracing" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" -dependencies = [ - "cfg-if", - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" -dependencies = [ - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" -dependencies = [ - "sharded-slab", - "thread_local", - "tracing-core", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-ident" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" - -[[package]] -name = "unicode-width" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "uuid" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-encoder" -version = "0.38.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f" -dependencies = [ - "leb128", -] - -[[package]] -name = "wasmparser" -version = "0.118.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ee9723b928e735d53000dec9eae7b07a60e490c85ab54abb66659fc61bfcd9" -dependencies = [ - "indexmap 2.1.0", - "semver", -] - -[[package]] -name = "wasmtime" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e539fded2495422ea3c4dfa7beeddba45904eece182cf315294009e1a323bf" -dependencies = [ - "anyhow", - "async-trait", - "bincode", - "bumpalo", - "cfg-if", - "fxprof-processed-profile", - "indexmap 2.1.0", - "libc", - "log", - "object 0.32.2", - "once_cell", - "paste", - "rayon", - "serde", - "serde_derive", - "serde_json", - "target-lexicon", - "wasm-encoder", - "wasmparser", - "wasmtime-cache", - "wasmtime-component-macro", - "wasmtime-cranelift", - "wasmtime-environ", - "wasmtime-fiber", - "wasmtime-jit", - "wasmtime-runtime", - "wat", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-asm-macros" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "660ba9143e15a2acd921820df221b73aee256bd3ca2d208d73d8adc9587ccbb9" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "wasmtime-cache" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ce373743892002f9391c6741ef0cb0335b55ec899d874f311222b7e36f4594" -dependencies = [ - "anyhow", - "base64", - "bincode", - "directories-next", - "log", - "rustix", - "serde", - "serde_derive", - "sha2", - "toml", - "windows-sys 0.48.0", - "zstd", -] - -[[package]] -name = "wasmtime-component-macro" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ef32643324e564e1c359e9044daa06cbf90d7e2d6c99a738d17a12959f01a5" -dependencies = [ - "anyhow", - "proc-macro2", - "quote", - "syn 2.0.48", - "wasmtime-component-util", - "wasmtime-wit-bindgen", - "wit-parser", -] - -[[package]] -name = "wasmtime-component-util" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c87d06c18d21a4818f354c00a85f4ebc62b2270961cd022968452b0e4dbed9d" - -[[package]] -name = "wasmtime-cranelift" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d648c8b4064a7911093b02237cd5569f71ca171d3a0a486bf80600b19e1cba2" -dependencies = [ - "anyhow", - "cfg-if", - "cranelift-codegen", - "cranelift-control", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "cranelift-wasm", - "gimli 0.28.1", - "log", - "object 0.32.2", - "target-lexicon", - "thiserror", - "wasmparser", - "wasmtime-cranelift-shared", - "wasmtime-environ", - "wasmtime-versioned-export-macros", -] - -[[package]] -name = "wasmtime-cranelift-shared" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290a89027688782da8ff60b12bb95695494b1874e0d0ba2ba387d23dace6d70c" -dependencies = [ - "anyhow", - "cranelift-codegen", - "cranelift-control", - "cranelift-native", - "gimli 0.28.1", - "object 0.32.2", - "target-lexicon", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-environ" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61eb64fb3e0da883e2df4a13a81d6282e072336e6cb6295021d0f7ab2e352754" -dependencies = [ - "anyhow", - "cranelift-entity", - "gimli 0.28.1", - "indexmap 2.1.0", - "log", - "object 0.32.2", - "serde", - "serde_derive", - "target-lexicon", - "thiserror", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "wasmtime-fiber" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecf1d3a838b0956b71ad3f8cb80069a228339775bf02dd35d86a5a68bbe443" -dependencies = [ - "anyhow", - "cc", - "cfg-if", - "rustix", - "wasmtime-asm-macros", - "wasmtime-versioned-export-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-jit" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f485336add49267d8859e8f8084d2d4b9a4b1564496b6f30ba5b168d50c10ceb" -dependencies = [ - "addr2line 0.21.0", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle", - "gimli 0.28.1", - "ittapi", - "log", - "object 0.32.2", - "rustc-demangle", - "rustix", - "serde", - "serde_derive", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-jit-debug" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e119affec40edb2fab9044f188759a00c2df9c3017278d047012a2de1efb4f" -dependencies = [ - "object 0.32.2", - "once_cell", - "rustix", - "wasmtime-versioned-export-macros", -] - -[[package]] -name = "wasmtime-jit-icache-coherence" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b6d197fcc34ad32ed440e1f9552fd57d1f377d9699d31dee1b5b457322c1f8a" -dependencies = [ - "cfg-if", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-runtime" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794b2bb19b99ef8322ff0dd9fe1ba7e19c41036dfb260b3f99ecce128c42ff92" -dependencies = [ - "anyhow", - "cc", - "cfg-if", - "indexmap 2.1.0", - "libc", - "log", - "mach", - "memfd", - "memoffset", - "paste", - "psm", - "rustix", - "sptr", - "wasm-encoder", - "wasmtime-asm-macros", - "wasmtime-environ", - "wasmtime-fiber", - "wasmtime-jit-debug", - "wasmtime-versioned-export-macros", - "wasmtime-wmemcheck", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-types" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d995db8bb56f2cd8d2dc0ed5ffab94ffb435283b0fe6747f80f7aab40b2d06a1" -dependencies = [ - "cranelift-entity", - "serde", - "serde_derive", - "thiserror", - "wasmparser", -] - -[[package]] -name = "wasmtime-versioned-export-macros" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55c5565959287c21dd0f4277ae3518dd2ae62679f655ee2dbc4396e19d210db" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "wasmtime-wit-bindgen" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f328b2d4a690270324756e886ed5be3a4da4c00be0eea48253f4595ad068062b" -dependencies = [ - "anyhow", - "heck", - "indexmap 2.1.0", - "wit-parser", -] - -[[package]] -name = "wasmtime-wmemcheck" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67761d8f8c0b3c13a5d34356274b10a40baba67fe9cfabbfc379a8b414e45de2" - -[[package]] -name = "wast" -version = "69.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ee37317321afde358e4d7593745942c48d6d17e0e6e943704de9bbee121e7a" -dependencies = [ - "leb128", - "memchr", - "unicode-width", - "wasm-encoder", -] - -[[package]] -name = "wat" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb338ee8dee4d4cd05e6426683f21c5087dc7cfc8903e839ccf48d43332da3c" -dependencies = [ - "wast", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.0", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" -dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" - -[[package]] -name = "wit-parser" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15df6b7b28ce94b8be39d8df5cb21a08a4f3b9f33b631aedb4aa5776f785ead3" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.1.0", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", -] - -[[package]] -name = "zerocopy" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/tests/fib/Cargo.lock b/tests/fib/Cargo.lock deleted file mode 100644 index 754ef6c..0000000 --- a/tests/fib/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "fib" -version = "0.1.0" diff --git a/tests/generated-wrapper/Cargo.lock b/tests/generated-wrapper/Cargo.lock deleted file mode 100644 index 937599d..0000000 --- a/tests/generated-wrapper/Cargo.lock +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "generated-wrapper" -version = "0.1.0" -dependencies = [ - "sandbox-generated", -] - -[[package]] -name = "sandbox-generated" -version = "1.0.1" From 4683a10eae5ae0c9834c1c65203d67459a5e46e6 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Mon, 8 Jan 2024 19:51:36 +0100 Subject: [PATCH 30/36] update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 578641b..8eebcff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *~ /generated target -.vscode \ No newline at end of file +.vscode +Cargo.lock \ No newline at end of file From b97d75fa963c6ce760a2143b226aee2bfdc87774 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Mon, 8 Jan 2024 19:55:50 +0100 Subject: [PATCH 31/36] re-structure integration test --- {tests/wasm => examples}/fib.wasm | Bin {tests/wasm => examples}/fib.wat | 0 tests/fib/Cargo.toml | 17 - tests/fib/src/lib.rs | 16 - tests/hello-wasi/Cargo.lock | 7 - tests/hello-wasi/Cargo.toml | 17 - tests/hello-wasi/src/lib.rs | 5 - tests/test.rs | 13 +- tests/wasm/hello_wasi.wasm | Bin 66679 -> 0 bytes tests/wasm/hello_wasi.wat | 21359 ---------------------------- 10 files changed, 2 insertions(+), 21432 deletions(-) rename {tests/wasm => examples}/fib.wasm (100%) rename {tests/wasm => examples}/fib.wat (100%) delete mode 100644 tests/fib/Cargo.toml delete mode 100644 tests/fib/src/lib.rs delete mode 100644 tests/hello-wasi/Cargo.lock delete mode 100644 tests/hello-wasi/Cargo.toml delete mode 100644 tests/hello-wasi/src/lib.rs delete mode 100755 tests/wasm/hello_wasi.wasm delete mode 100644 tests/wasm/hello_wasi.wat diff --git a/tests/wasm/fib.wasm b/examples/fib.wasm similarity index 100% rename from tests/wasm/fib.wasm rename to examples/fib.wasm diff --git a/tests/wasm/fib.wat b/examples/fib.wat similarity index 100% rename from tests/wasm/fib.wat rename to examples/fib.wat diff --git a/tests/fib/Cargo.toml b/tests/fib/Cargo.toml deleted file mode 100644 index a3bf28e..0000000 --- a/tests/fib/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "fib" -version = "0.1.0" -edition = "2021" - -[lib] -crate-type = ["cdylib"] -path = "src/lib.rs" - -[dependencies] - -[profile.release] -strip = "debuginfo" -panic = "abort" - -# compile with -# cargo build --release --target wasm32-unknown-unknown \ No newline at end of file diff --git a/tests/fib/src/lib.rs b/tests/fib/src/lib.rs deleted file mode 100644 index 29b2e5b..0000000 --- a/tests/fib/src/lib.rs +++ /dev/null @@ -1,16 +0,0 @@ -#![no_std] - -use core::panic::PanicInfo; -#[cfg_attr(not(test), panic_handler)] -fn panic(_info: &PanicInfo) -> ! { - loop {} -} - -#[no_mangle] -pub fn run(n: i32) -> i32 { - if n <= 1 { - n - } else { - run(n - 1) + run(n - 2) - } -} \ No newline at end of file diff --git a/tests/hello-wasi/Cargo.lock b/tests/hello-wasi/Cargo.lock deleted file mode 100644 index 3bdc4c4..0000000 --- a/tests/hello-wasi/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "hello-wasi" -version = "0.1.0" diff --git a/tests/hello-wasi/Cargo.toml b/tests/hello-wasi/Cargo.toml deleted file mode 100644 index 629ab44..0000000 --- a/tests/hello-wasi/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "hello-wasi" -version = "0.1.0" -edition = "2021" - -[lib] -crate-type = ["cdylib"] -path = "src/lib.rs" - -[dependencies] - -[profile.release] -strip = "debuginfo" -panic = "abort" - -# compile with -# cargo build --release --target wasm32-wasi \ No newline at end of file diff --git a/tests/hello-wasi/src/lib.rs b/tests/hello-wasi/src/lib.rs deleted file mode 100644 index 605eed5..0000000 --- a/tests/hello-wasi/src/lib.rs +++ /dev/null @@ -1,5 +0,0 @@ -#[no_mangle] -pub fn run(n: i32) -> i32 { - println!("Hello, wasi!"); - n -} \ No newline at end of file diff --git a/tests/test.rs b/tests/test.rs index a981953..16f9674 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -70,7 +70,7 @@ fn run_test(path: &Path, args: &[String]) { #[test] fn fibonacci() { - let p = Path::new("tests/wasm/fib.wasm"); + let p = Path::new("examples/fib.wasm"); run_test(&p, &[]); run_test(&p, &[ "--fixed-mem-size".to_string(), @@ -81,13 +81,4 @@ fn fibonacci() { "32".to_string(), "--no-alloc".to_string(), ]); -} - -// #[test] -// fn hello_wasi() { -// let p = Path::new("tests/wasm/hello_wasi.wasm"); -// run_test(&p, &[ -// "--wasi-executable".to_string(), -// "--wasi-library".to_string(), -// ]); -// } \ No newline at end of file +} \ No newline at end of file diff --git a/tests/wasm/hello_wasi.wasm b/tests/wasm/hello_wasi.wasm deleted file mode 100755 index 6bc7a1feac7f91106c019647b2a1e47346795695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66679 zcmd443!G$US?7N)RbAa(J(CKIFl0t@su*P=nVG&{29PR~Lh@Yjp8%a8VJX`G0@U z`<_#$x_c6?|NVDTQ|I!&&-=X3{dwN^oC=z2C&M5J!jrXI!wbQ!(FONUc;VLgf{yhs zCndi09p)#&tpVpjaBGilsi{BUYT2&j2f?isyI}Bc7o6yAVd+_Cn`?_RYb(uDYsXjD zXHKmsTI)e{nMPM;jn)>wr?vK!P5Vx@ zSLbG0=N8w4ApZ66KZQL}Tn_n*_$x(mRM9~Y^g<{8!l1V=jKWe-iQ>K>j-#+r;r|}~ z>5F@UN+m9pdi%IbQvk(*K=rGIK=xF6dV(N|03P)9>7S^lr?0QXAA|Jpf2jx1VP6== zVJsMNT#CV?8b%B@u!G~Ur>7^{DctBYz;~q*T_GIlTnRb9h7~UEFdiaCkkB9FJe${lFh^9vE`_HQU-RzaH!g=Ra%byBJ0H`KLsq_u9obMIGAJmK%|u zew0F{f#`_)55imwk1;8}YsYqk`o36tC~RbA(H8gdrdS*JQEUnWs8B9_8?0H5ipS`edGr(Ax548H{9--m& zQWcDI{Xq$mG9>;p&ARr(lC_}v+nA$_$X|P5i@Ss^etKbxze>UuSD_*t=xv0iYB~y* zllYa=AP5%MepvKOxZ7KYtbC)DOHMxH+UIriD%WyJ#;PNzX;A$OjC)2yjGY%$6H-KJ zseyJ$QzZZm?B05#gn;pR*`7v}3RbTjU06%6KI0`Mqo170F-$#X5i-N18H8!UFrgHgT4I<=X~@|o!-OQe zK4zFo+Zm=x)+Dn-`KZ|i2c%$_P(K+aSh6H4i#a73sJDu=&@?&_AVO*B2G7qr#^;*2 z_bK!mE=aHAFHx_tUq!tx;WLF+$2_K`msWqH9F__UDLD(7aRPKD#*%o+L6}~U~NfQqdH8vMGcZ=^n#fhTX_yw{6;qk&1C&x&x8kN<_mb z`l2w3tLgoBU&5H*=N0ygnTEt0?CKSxkDH4))`(ydoNDBps=yS-Df-wnqa|jxl~Zs} zv!#)m^}+xrX_>TMQB8mSPVh{hmp-cR+K)JVp8@mI$KJpdRP0_|tJ z?7H+{`@-BfT@3S((^!VTy;8!RqSE)jA3$j+X$)(>D?vCMj5xE1sTq;1hiS|a^6UOf zg4)juw}v7PrieKmrOkdUMC}3H;AA&OVt=$>rhb2PEfR4hH!cQ@X>m#tUK8)`1ekYP z59H#SxDbWjdB@F?23!O>3esSzCbPJnvn z9Y=##(NxB*E>GYB?(_xe-GY=ch5IG$Tfh?3@gC@Xoft7p@HsEyD;|#~GupUs(e**m zwSf((J)oI`Uv_Z^0g(Dy3+Xa9Af`zP;L{5?$!4g<5&efqm{1ab1!-SBP9L;+M&eB1 z^cgGUFanhu=?X`#=POJ{5WH`JuEo1FAsIkjw-XL&{9aw}^wZIPcd-E;uPrt*&d6nmi~>WJlOS(%Nw6d8knXJ} zl27tiIc+F?)JGoadyO%FD1ri@PizaTwI6o`X5?)f2Gh{fwPsfPqat`D*mY+do0xeO zQ0ncP|0W8Ez&7myF+e1rcpbvzZ8XL4Xg&cA#>kj`0n!^0 zA`^1?g1V&_EP7FY#iK&MLF*Qc#fIbqCleatJ!5Afv%Ox{)b#0bExS@&RWL1|Wfe$Rde;AJkCR&7BVe7!|7^kvms@(RnBTRy>ogNB5nVM0ti z86@zx_MpgaH{>M6aTkx#loM>6g4s>kl&jE?fpy9}9y*z$4Y8brN|u3ugt=td1X4qI zz`mH1#qny1ZRsuMEo94&Qr^sx7UaQ~w>+^4-7`y5YJj+M<&X?FBts^mfz-;CF*k+&}M@JOoxLlcD%vdmtMsX)sc8Wyr z?Q`X*lPkZhWA$?4MH%s;%McH|vh+bTjzl@A^>1=mvOO*^auhgI%(-%;YFs%1n+#NlC7wZSDJ<@p00bwI|lh+bjJj z+Ni_`Yb1yAViM5?f@Vevi^3F*C)pj1XEzJ2U2F)S2_MXy1l2-m6|wQ9)jtipls(Q2 zmrFU3SBUNikh+8;a%qXD1r9)In~-}#MKp(3199 zIUUTZd_^Y(e=_r1?F(w3br$!B;!fohn-;ohc36;JEY*Gd86DvSFKj-eVXVNim7qgn zk$#C0E|zM4C%`+Hi2hSF^5CyAf1LA&0_b7zY}PJD%ek1{z`=xKs|x<)?YtdAo`*-00fR-|eSGJvRRI!;4C3h$S5gOrz^88W}Yf=*`h z?vJ}lgoaO)J{c(^RT)o|$}EAMNBC<*41`swdn*>)UB;}}enJzJcoF7f2i?)VaqV+9 zgHY*<^+Hs8DWuq7p(hK<3CxoCW=R-y&ve?z>O=w&M5)YfI;;#HDXM8HWvcARlt;r^ zB}O5{<8MYrCKy4U4;&npQZqCv>dlEQSvPAg4bxP~tQ7Cj z%o)Rma#cKrGFTlc3hab^oR!2>S*o&$T&7Vtu0pZR4399rKVEX0Q++7vDzxQx!)Ej! z91n!Gqd$6KI9aIcOM@~5jnMO@ths3z5#M^1yLe(1x2NDqkMV?(TqY@qa*%T(*FNay zgw|&RHYBsRdI6QEOmpPI0FkSjMtKM;2!zDq%ui}yrA z(1M+%fJIW2#(XpbNzE*T2x{*)A&IE5Fsq}HBp{;3!io7~n(6{h`dYp|qa~Q}Xg`N< zP(O43)_y!11iBpmc$C=D07tvUH9*(iBgWN%q!J5G74;_`=y+7gEtrOCl8!DN4ILg( zO2gizN|qb;jc(YQ(J5NTQGf2oxaowISOn_bdtZKGcaDj}ZZ|kFY8OuC#a*EtGlMH_^2|r-ObY5mHwmiu#bIA&e7XZJ#MLaXA}BnY{FusL3|TLs z$z^dXJ_5SL`pb0)tVsR^kRK=AgJ15dg%>9_AQbjpgQsi zIMztOLl0cs$W~Eo0WR+D`SI?Mq~zGpaZh!IV08nr7ymeUsv>;Zs9Wlofp-*)CUWOz z#sZ7U6^J5sz(v3?HIgk1x5TRC#EO;8!U}FKRwcx$!NP<}{kyd$ic?G~VrE1Yp3(9W&MRG3)NDdj(e%X2F(EnWQ^T{!3nWlt^|h^ujF}yF?*rK|vg& zthE%x^S1imv>(Cf2t$z(i=5&#KJ5e=wzL1jZgA7P@V%_FaN~PV*GcBgsP-W56%ATR z&&fgXeae3yx9`#te^gm22nd~f6IRt&&?3yKns&>=^rZ1RDIz!Ol?)!o>O^gy9Rd{1 z8ble^qeF1+W^)xeKwcS8L(DHWN=&B#7|3R4pNo)tg`VHW>wU2399&cGQmIn{iIZMuqlj47vB+9})38R4q)%o{cF!pSp_wy;mwv$XK&!U- z<|x_f^dq{FRm9*PG`2k=JxQO2!6%3feai}zDo)<|APLwoBKZeAM{W!hW)s=}q>PKB zM}pPFa)2EscA(LRcm&QCn*B02I?%_wo{CzLsKpQ+I)UU<()? z))_O@z$66eLn>BVNO&OFt1`4!)Yui15V#^V770jyc0rC@TVkh5akkK-`N5nRQLO#E z&;cJA9CWt<2uf3Cki;P1YYw3s*ej1+0)*D`hyZ{^022W6?3uNvhc zma||aUITS0V5|U-8iTD?`=t#<{g_b#4!H{>&88fedB~zW@0aDcqApDgxP>V?8GP0Yf`+c3Nbi1rZDg`ejvud-nUNM5UhFu6b%d9K>|XuqqiS z=+ruS>NXq%uGm)(lF$Y)w%SS+uFtkhWqi?nA~E9&d8qB=Fus&?zQ}!c_`+GKLC~lT zFziCY$8N(H6S{1OB6J1c;`LVqUBQDS~f@g;-nZD=~ER3R)9 zj&8Ig6)lc%W&cw8aognM&Hq0a62?wiC0R9j&0M?q)typd5jLe%^0aPStR+)r7`N5a zn=`e|u?jOR!73}kk_!`n%?Z|JH^!oUJ`-}Di@Z~@R@Zh^#y65_5mKoYhN&x6`U2bI z3)W^!90$ezKZ)eDV=;^5P%I7mwTR@Xwa8m#kz6&YqH8Xcun=e2HU-B=(!fGfMe7xX z{sU>OIHZbD6N*-pf3T?Q+QbB92F2$eeLnx_OI`laYxxIpEV4*v>=h_<@{bA$kE^1x zDNs2Bck6u_Py%7~{@XN_JQR^oI^bnI_^J3GM|?V-&u-FQOI7h zkG`I>bborkc6DVN8f|O1RtH&dQY3|9r}y8XhC6HTa+B8tg|GHYX$+%|E1J1m1K2Va zETSmHYemo^9lU|v2@YbEzDwf~UjL)OO|yes^i;H`x=OZP3SW+i&_2dAu1CU(Kv%Jp z%|VFeBnY*b`-=h=RDYN;3ob8ol*nih9m#_m0@BEBRk?j>XH*JpPa|QmrDmEDQ8j~@ ze`TVC_*u=5x>{cJbL%~d|FnsMFP1BgUL--W)eTqnSB%9~sSB|=n`Lc?Vvt9+V3A$= zg7gt(4LL7ZqV3HJbr2-0c;wOFXS8r4@Li!HA^If)<71#-E>uhhJEdhN^n~OAXBXCc zK#knME)c0up56ynh;c-+%Vh{`NsrQfaxmEP5=%~Q(Z>ohL{r(KkBZcHiaiP$(UZf$ zAq7M9WUGlC9pY$T5+o|?utZwE(gHrlR_Pe3T?PT&64w8sX&@eAfS*A+xa3$*=vfl& zcLUmo&y1;LRT%p4Ss3oqPWgd6&;2mZGhz|)Ck6-}BL~s68CZB(ipX}q%SmCZDRpQ|fGRaQ z+Qvz3yCs0~Kvpi1)5wR|D)7IKc_SRm&>I_a;CHuo5E9lIT>UEMVn5)ZiU3c~zLCk!Zl@*dD)}#5D)nY61i~ zwZGIrs?(IJkCZ!wB?(_AdSL@A$##tQfvqoE%5rI)kt{QL+rQ(g5%>KFbdXfWS+i?F zLh2$xvm+KD2Hg=2_j4pL_MlzLEmae>(T6W>df6ZCYm~e(muwAWi$AIektvD1q($~f zr*fBu7Gr$I!fD4qTEK1w($;t`V;~_lxDF6-u&F@RRZst5XB>nsZrX4AYSN(gpG7<2 zbggtm@!Wnob+$!gbR_+Hn8afQ=mJKZ`5G1Ln?|C{`W1GZX|-7Nfglm)@#)5-^;cm` zN!WqlLozsZIY^wMow#QVV(raPECOO?W8(B~898HS=0D)DRd)CS`635*Wz?#5QA_Ia z6;n&J%9Xo%aa&(u`qcG^QQ(ZaR%xW6SOJP#3G-3F?py&3to^?DO^}cUT5r{)^FS-R z`atpO+ak7_huKzhBBv|>kVKdXWzKAlv#Cp`F)5ZW`>0Wd38SN{?&+(Nv(4-~*Y+Ir z#AF_|!JH_D*w^TphAu!sO zE)soqzEDR1HG?EHF~Pdp^;DYZV)HaK8g5w8Wmm&C&pXp%6J|HP^tlU7cr7%u(4+e8 z7~ldi#4AF2iK%#(vdrLD?j21EfwqK5L4ZLF(hqf$!Zyopx%hV8b&(|=D!2AHA0_?s z(QBhZMl7XyW)J+@P~mQ+|Q z?ZGhAepGj~Y2-^rgZ|hb1VDx#Y_H|((%TtW_NOPkOMs=p42mqs*XXFmkuB{X4vyrv zZd6x_$8PU&50=V@KGbv$1V`+VONB6ZArk%ghzT)@Hm`$a$I;x)oCtqxNy)qVmq}4lUTozuTaMz*`3Gd11Iy zchjAI>&50lvl>;^w(RuDu?p*|9`&OmcAkxAW|gD#`%N^WJzgYhAJ%zLReV9@|KHtN zDd18CIESd<{oCzkBDX>hr59GupdUs*&ZaTIG{`_~MT*Gbg<+KPSRAfY$C^rxvgIaJK6 zlAb!9e*B&P_dCmL4J5<5NoRq+@aq5@Ns`wfY18C6Y3ftfk>azeHDxzvjgD?2+kjM=i0T% z*=JlcfA&Py>G47%7FS%`JATE3{JgvCLHfQI-Cf@{Q80BeqCU^QOC!oT_r086aXOou zVyP=m?`g0eMa_U%t3#{h^u{F~Bq<^OY1n3b(U*s21!_F{m=J&@grFbthj?n^DDkI_ zr**7!l8)4F5w{@yjNTCt9TAids1N?4#^q-&!A!oZ$Mz6+#Ah1(Ut&#+QkQjP_|r+; zPQx{J=CarmX9QHF>u4)qNt)K%s4!iy>Pc@;%4b>Yv~k?RDjTdRn+f3oB@ryB(cdi} z0hS5csiq7hH|5g64!oG~y=3_IlA1FU1q=?eBwoiJfD^I}l-<&yg*=)P$VhkX6Xx5Y&uC0k+$)C%57F&L-UkO^rz<(6bb{H$8XS z(@Fd6_D3Jp3|!$1@`PGzJ+t2EqtGXMC4CUU#!o8sJ`qgeMV$r2KFJ=h)-b!3qd07!%lz#&K(wV<8G{h(28fTPkA?c?h@PR z#Br~9v_CSPK6VxJLn7D?s2L3m3|I$7bhTJB?1l)>hajRg79_R3x=fN#YV>ur>$AIB z8#KICg@P)G*nU3i9-=6 zd|xa*h47vqddZH~%Cx1gtPPk3$sL#3tcyp`a=L%B4MK$6reA+1EuCJ17UEg?hCMXt z*~6G5D~zJmf~sf?z1s$^4+ZMY6)5RPg|rjgDbyxeu`-rQ%CMjy2%veajz;QQO`CM- zZAfXMn43x91Oyq_qg8aUF*LMK5sNHoFo}hXnl2pNt-V${7(lc7v_p>LO@hNHPH^Dz zz(BtywMigy!EvJD1cz*lsz{fBIl%!7FF35TNO1Z9nd3%Mz?OWt)UC-}#SEmpuTHL| zXb3nZ>M{$VefVZSq}L*CX6>;0#6`KaLj)uSY|V#HUW+-*bQ?-Z+YxAom)U)^u%c%p z^r!&9IHRuUOc7n7khug7F(1}JEjB9kP9CNUDAoD3B$+i98(L# zq+icNy5em&0A=kKji4Jl%1%>lvsY@7hTa$8#1}V~xaSs)FGS2Q(^Hx72P(C8-I-f) zX6%B%z`lG371xBci+xKyesuJig6se;08v>^pj!@+?JXIK!keKHu%#PhKha-J)4eXE zl72*4k3B$Yn>=!^Qvz1vF|A&8j~#RegjxgB@;B+!v+V9(rN@luqQPFe zqlYp?pv6B-U`1bny#hgd8_EqZsPL?fADHL5oH zpevrpO9uwo0I0LMHxpKm9P^YW+jWsZ29}t^!c})G3wjHoEr3iXJ8>@{?vPf*N0|Hn ze}%nFdiaGpI9F*$tF zUVBCrie~~jC3EQ`K+h7C;D)P&h{6bj#?a8%7H5;8^mQ^6tpO3CUM1mDQ~@wW6|Tay zTif+AK=4-ahz*JFA%X=Zb)moOqLvCUNMne=)Rq7vKQrrR5mc;L$i*UgQwwo{G|)yFCjqWB4G4>EvrNoRq)7c~E!~y$GXgW&v*i0o>X=DC zwP_8a@ol@0O-`?(WpcamKYFd6yTKGSaT@r01o6u0*d5_E@2O&e@T9kE&ufRNI?8jU zlINfz-Yi|B@E;w?`NT|R=9Mhry8{VoA~)fZr5NE?P=x?kaGIq@KG_r#H6HvymWb(r z4X`Y#FQr*jAG@eN&Z2ryw~T9VQqe-37F%Dg2p=+258@*Ul7rYQFJnUhDK2q+9a1ZZrxl9rg8T+? zaiGmCN)$DC*KnGCWHHEO zG00_6i7&D!o36yinGo!;w+>KZK=c$p*vNLZ8CS;i8D@Yi;yAa-Fj>MOY0%nH>|~Kw z!)6J5w=DKaRoIQ|WKqf~VkSMgEZXpT->%1ruK_I)(GFQeEs@2NlSL>fS?q(beYq@> z!z+J57LgapqB4%YOcpT?fgY|iwRhAt(YN6=ca1912QuNbM03FDj8bhG7$?1%$|{Ao z3`Nv*U4*cstTxtK7n_ryOUsF@ylWDC3-0njP8kxmLm84cKv1V3pWvE#`^-PaZhV)q zK%+b-u{TvknN2qF>bA*9feK8SS2mlB>9w+011p=GnY?q+kWr9vzgN=|CZ zXlNz~>mdkDUEU$D&2Uc^ncIHQ-4=^Nr7ILTpsSW4`qU5hNl6qcc%O~rVnI~N!pI;n z3X(E1aLw6zaLIhG+;C>Gx6u;$VhUxMmMG(O7MuJp*Ahg*c}+JVo=X<~1ALjJ5C=Ie zVN9_@N5rmKklKZj<06Dvi za)+=q7I$n_>#LUisnzY6hZM>{=Dp_~fI9azI zY6_Xi{cNMYk4dYUFal?DfY1>}ifqV&s_>aG7DTaXqR0aoRD~squCYZ1eM!}cBCx$E zTH#KjNHavyzp2rQspK*fMZ4|8H4{a+TNFhmvsD!FV;1CkQRLJME><-c#iuH?I+4uF ztYpX*J2+$LBymfj)nv~_3rx$blg-Xbe6T93up*omvTD+@PwcC~qwS+CaFNNl{bm0{ zC)J8 z+DQ=rh9D}0p!aSqHfwkRVmFIIVH=Xhgu=GDfo+@e+0q?Dlu#J+M&(9r6$)o(DH~#F zgbMLK3d(X8HD@<1YNpI$g)UglXbfv3{WLz5DCu%?gIxv3&JfoBNbRxI0VlhdAYnj!Gq;0@Dam+%&m{IKo? z_exsCPi-ua#78drK=GJ`%Xp9lAAWP>B;6juv!bsSK>!fu%P>(IAtO*U7URrQ85_0r zXG>m2RgGa>j+O&22n{dzkO1UGMje_oT_K*?2zHu};ALM!JLKI6`9!>;=2K!K5^yiB zz{~_xq59cKs3vwD4<&-Jsa>@|f%PBWZP7&Zua*7OZmB20`k)Ozf1dirXyj@2L&UPVmBpT$l zMxhtY3L!MHOdcFW?p;vWfZjTqj=hi%w4K5BXphe5j#=VyjH_*tV7mx9a@ic(NfS-7X#_q>-3p_u#<8N%-*X zjrbkl2AH-A_aszwB^N!)vl6`fc@Mt3 z>Sc?98;DIh*3Ilqm>v=EPJErRUz@e*(63F0TAKzFL3f1|WyWrwGT^jWEt_vEcf7oW zqf%SmlA~qK-PST7^vnHI5%wYzJ^G6?QzHhqw$O%^9PP@0BbeTH8o_q6{HmJq7JW{M z4751w<7NqG?J@KG;0!ntnWA;h3T1koNfJ?&-VEHND}pV#6?dp0u9^8pMr_=|03G9; z*<&{Vvo=<0=598azst?WL1o!cxS6Qgn>~DLkQX;f%){27i11W5T`p4 z62QEdz-owC4HiYkBQ1+-ygo;CzLtG)t=9)ITK8rMEsr;NtSqnP^;!VK-2owMeknI9 zIQD8+Esv*G@eejBsVK3VsVKd7*X;+Vgw#NTv{U}U4Jl~ZqBNbHa5vL%Gz9IEEX$-19-g+sT2y zN4I{LK6*ju>j(m?Zbd;z^n}H>lBRtJPH$K(lNw>&Gv(o4m-2X{U_X=~fTr>(1%9JD zYQBdk@Z4#WSFtyL?gATCvydAW$Z=HvaDZnm5(voiiO#r53S$>%tC+074UTKUk2X$g z&=u-J5(LvPWCIFh2`^U_xLA>SQ)DebDlrpRM~+Y1$JI2;;uGsZ9w_-U$Z=8r@Hdh_ z7Ef~dvo&j@gKdhC{AFjzpO2&CP8^-xba6D0#Q)84v?qjYVdQ1Kc0}SA1`76ZH zq(6oD#1h9WjwZy;;}a(7OUgDmm6Tl^%?&Fl6Vplln7AKyw{i{%3v6?7G+q<>TRjc#D38LB^N=KIqr5R#-QRRkT{n#w37OQ&WxxJ8Jz;lT;%a$#Snq+)#&~Sg=SR9e~>ko*79Rp#eFw zP#Vx0(wEu7^cy)-nQfbe5$l|n*@_Dzgwn#!{E`LIER2}jw|b>8M2x`D8Zf#A(kQM& ziLU`DBTu(wT|^?XC61>0Kse>%Xe_%{MhbB>%<^$GUPMNvIG*ONVHwZD=ul@oVeD~n zVYGF~s8p>!tap%`6tYT(0jTLW?h^f)hee;3x}-@xj*lSNfx`!lA-L4Gfb@uVgNUWf zFRLRf&V}%T*A?qFLOu2818cSgtDTHM?#vi8aY3)kn0O(hS2FoWu~|QC2El{n(~5Ru z9dem?_==b9QI(hYFy=*ajE*zY1YnMWThnoxvH;`Xk&2fxkL|-@HPP!iq^6l4$HIz^ zOgfL5vDBLyam6`%n{sB?RaudFv-rBkz71g_wq~F-9u`uug?J&>nuDM9UTT%${2*VE9!J}zIR zwZY~wcnwwiTV1nY0T=`J{MJKSyg~()BGDGb#*JvMwCHsYqPnUQ&tuj8r~1<^BwPBl zj;rbK2DSgCBZ3)S{eN_XnR1^VbUk3Lc-%uDqdh z#c1K4=Vuo@gU+#QT?F~4J)!8s1h9{4|EgZBI7&@7iLrlSD^oQ&XV|FrFKUj33F?yj z520nYsY@Z+D*_R5NAMDmUH5t*{6r)@{$#h)+LUVOhAiENWT(Q-SBL8m22}w#we{LYK<;F;`_w4J0K!m=#OlN zbWdN*;;fkvculTk3*bDe2HR!G6nx@Jt5hv_2DQHzI_}@Zf|S=5sU@nmwI%Q2ko9|=YZ<$i&}C~&UM7L|VxbJC zqmf8eR)8mJMo;vEp9TDCqA^)PwJ9mL*R1V?s+?{4u^L5$ndL=K)JSU*87RUNmRe1= zBVO-8>Dt8;?9XJdBoe`Bt!zK8M^Jp*K7zyV3Tb77quuVU6udZ!)08jZq_=8Rt!2ot zbIv=8iU|0(g1XJwu0_e}A%MV0$`|PgYQ^d%F|J9JH8~UnFN7R~<8DyCSOASMh%x}c z@ccC2A-Z_lBw%5Ol9Zis9E5BbbVC|E291{Xhm5a!Q<+zhUK2tvcJHOnKv22DSD5ak zDplrT8CtT3X(!8dkj;US6sc!uKU5hRGHH3~ngB4G%#{udUtzk#!0b>9rg+q%Dj-zu-AIsGaX32Lhuz4uJG9JkmL|rxc$8FA_>)t zF@URHdM?+$BZo4c%skhaxqi%3&vjT6zHCK=h$(C0SsjVhg2Ifzb{OP0J>y{>BS?cz_1lo2#`(*>6W#wRJdQ5kx60p#lzBz%Rb- z>%N4x#A*EIDCl|&q}eL1f{A88*c|bI!4gQheO95S1xhwMY!>#1rB(j%mc*v5v{;jq zMIwzJkUa`9j$)#|dgw^#O$)+G13~g&uX3?$8|j4%`9te5bmiP0fwlV<+vzBB23K1V z83@6^12`upd~JtSr})VrD2soi3ZYu&6Aa*P3cX9DWjW% zkgm`xqar-REZX#s^-ip z^T9wWrF)@rR~PF{PNQfTFqGF+!r_P#oKi22YWCs|9qqCgap;IACAB4oqrJ97Aupo< zm@f^Cv%#f0itFKHQ(z1i^oGkk2_v!P%c0^YEkv;>F$6IUu|T3gZ(LN4eMTo)8`D{E zIS`mW+L7s+9r0MC&Fw(IgYEEB?f9i)*sCLcQdn<>#}aaC1`&Gsmj=p$-4)v_2~5!I zl2Bw66Q$VGqCc@f*DO{cfk9Zwa@=WZZ-2C#7O2RU$HX4)HmP*pP)}(%C@j0dwG4p0 z#yUv3w`{TsRl!nkLVx`m?&v+?o(_b=?1SUwk|baaX_hNTg{k#s#$u^`$)%k0x1)4D zZ}=PyZ!LDauU+n|=Dr5#b}H|7B0oBwAI)c=B&(;>-EFrGK+ZjhA9lZbc)Pq4>TFD> zZl)Jf*q5zN>o*MTO!|rtNv#l~FumFdQBeJ4MEEH=GFdVzxMajF+(fX*f>E@_*LAIp zVp0WZTy#Ipu;iomjvt79I*Lrm9LV8XS2A@0MPD^Vy}-=|wnu&YYR!vDcA^M^?9M$K-(4ARpKs5aNm6lZqhVQZ{s}5o@BBn91NG zO{5w$imQJgbzUt5V0mAOH)=u>;+zzA&91qt7PCMjVqHgMsjfI-fx35vQC*>{z4Q;| z*4QW~mn?i&^x!&lsQlC&@T;yvhuBZuLBs|jz7$l5P#Bsu#B3AAArHbQkKq_(ecbBF zb{#xr6NPOefe7iz-~x*Tq5;zdL=D1_(8y8`X)7`%f%78OD;SYv_X(w1?98qnG%jTF zDvpK4} zkwT)tJ@s#t5fkkwj4X#Lo@i$|ON}a8y9P!^!_l0fKwDg8a9tFl!a8+!?kp>3|GO|S z0$Mo$Ch)7?I=5@oRo#Wg|VtwOMWSj*n7Q9p$mPr zn%a3kP^T~ah9k1S)Oi#V61I6IQ&MRaku7();O@|*yU*r3I9F092OK&%DzPRUzepk_U7ndu!XHVsZyw07c=-1$fQXyZ6QrjzXg6e;cJ1=~LesO2MUWyP5qEI;oVl%|6 zz;{Zk{?$hWeWbd;^*^F$MO$BVknp7%GpfDMriE+`u=~`?{_gh?ol3bMd$Au(Gyyj; zWv_j`!nHKC7d(?qO6ib)WSMJrD*{@SviM^$9yW=5$u6hI@gfN|ORLQJxRege;hO&eNj?DGqIjxQ;VE_t+ z5ao;68^tne(zjImej|*~SKJP0+tBLJ2Qs?_WX);m9FLnac$JAJlhB^Of&3U^B*s!} z1ourc8JeD=bg=NhKdOk(6IZlm<|0K#W2(f~)N%an@?qXq@H&%RcQBk46ZvHlAh0~Q zq{vtaF)Ij4?tmyWb&iG#K1=#_WlACe1IohbOHR~QN5W-$HYtWYPB+2f9?4z$0uaA~ zAK12&$4nIc?|TUn6uBzCpvUf@JpbR+WhcE|1Cj8Bp?)mU^Hz-I;>RCm0Of&E`gsAC z1+^FR{E?`}i(JAEG+qYeXAZ?_DH#VEyq4l;KhO|ELr$_+07-C>YEsVh(tB(GJuG27 z(d&Su5c*LDEx{|j^{&90S7WoS%eA+n|rMYNZrh|wsb8)M4zoTn8e$={s{uyJ2*;M zLVne}&JQ1@SKC8}9Lz|Tdeffuq`z&C!7#M#$LrTMxCfga@4;?y_%0_EZ7&8ti=&7A=I0BX8?2Mm6TY`S+ zksGDfXunWJ3AI&EmVg66;>EzGGW<9ScLQExh5F#8uDrwKU15uiPuUoPr4rt>ti9{? zs6%F7EG~2p`)OCTd?1i18$nKem||K(j?%SOGx=IJzgN;#kS4ZEc9xRnTT6V+06QBlqWPmpz%~DmwBpJlJ4c%=~Yr!a1y| zBkg7BE`tp|eNc#ZfOI(GC@RI_F2W~o2A*;)9;0nW;}(fABESre+4ob9UcIGboq9BS4q!q%21JgD*yo*=M{ZH;v&CCBxGyZkFseR-Isp99QJ4AF8Z!?ANj8_OE1^IR)mI^Qd|z< z=YHqjKy;iKLy>Nd_Z3865A)Ct1SpiN(!q(>DFw3lM;nhXc0s7R+2f6|!ZZzFISlFW zI_j!gxDa|t2Or+)Wa+Vq5@mTbEJMwDc2Fa9>PAheJ=TQ17kY|@v79#Ocb*Ptg%_$a zqL~U2lvf<9QN153%U)M9d1nq>-x-HNgwC*vSfXf40>vEj>CBgnKn4B3*-UPyaS;5q!Hhl4j*)CZlM@jlK zQ`&l703&0Byohl?HaCF>&O{Rg(nv1?F)E7tSfv~cu#mPcnkpUz2^G|!0Mv-{H|Qo| z^7Pn`fTVpb8#UU_RCM$kFOfOx)L8@xJXnU$i3PCs1{BNE{>m3 z%I_e^Vm~gf-_g%r$0Sho0fU+Yq@_UC2M9n2qWXNTY7FRWH?QSU zB|5IXTgFV%gmWnC)dL;hFZqWrYzXfmuKF?|@EftNk}CIzsn*66>JJBk1Wp-JdQ)%m zl(>PwvgR0Cz$nd?Dr@3{_OgUcj@7_!nGfx8l{S>5nHTz+Y$4SAhLVLWnlE@YLW=+b z97~VwptoPw<=K-nbv;k!A^=_&l$Aey1YmTnVM3tUE`^xlQ;w>%O`E{CL$x2`7nz}` zRLr1##tbKZW|GLu<@DL(bqp`=k=O>j4elFN8v&2r{^Y;h_xeBmy-)th=K?K51V?}N zZytWbyFUB2zkJ7qi8!d%16kKy=|5RowUh3ff~pal4UN}|fiEw@)(BOqc8RizU1Dfd-!4&Bu}ee{F=Z9OqO4+<$nWE{$1Yh(1@Hu__FLgXi=7t)ELL*W z`l(;jWsTYD^$J+mc)gQdLSj>tpEu{ zM{XN>+>uikDq6aLKEfTvK_r)!^P}g)0*Vh^kk>hP$*r|4R5q)hE5~fTyj`XE1X=+Q z8k`qmkpE?Ry`ASCOmlMr2mGo-j7osWKP*7p#eY(OU4s;>qGjX>gTY=s*oDFyn1D3-e z2q=*NjCzWIMW~8EydnefIDxco48jUIxc>Bqz`^;%H1f0xj81HXDo#`c)LTfzyM*5r zLk@B>@cwkisYjtK^U2wUboy=%HlucR%bH%IpX&vWkyY$x{O}z~-yOWb-$|}SSjO5G zAV9;8!WdmGm>Qe!)aMOoO5h$(0YMwOh}Xl07p=GAAfS7pyWv9YbvV$o zKch?O-Rh%Mf``2L*?|e_Ts*dx?!nq?t(|M^{oAK+WSYt$Ws?Pf1+(G-+jB5{ByrPhgqMDy%ei36x#9f>oJYZknVEQhb4YhiHy{AJkz4Z@P zXu|}SMLQ_U>80%Fagw0QzSVq@rNCqGLMk*jChIpHXnqI?dkLTyxVfKaE$g?1K=fBc zYa@)Re@rZWLi|x|T~0sXZjJ&$?N#j4kzU#_>S)WNBf)N_mU+t)9n6Z!oI}j&kuq6( zy=zAPUF!BgR^W`YVU?Q1yjnd=+%*^}AH#R5jk^M9FA>&1rP^D?gX)6?;($V@vU+Wy z+G)SkQ7nHdM|8iYgN#eH_&qy^ll+D!g$lDq9Ay&{fc?5)bVzU~uH-^{dZ^A|b?{xV z(EkQwU7!Y+_CZ&aDqA&1=oIJZ<=>>H{(Hc_c|m{mT``Xk`0z%&_VYo;W7I>T5svsH zLN!%jV>syTB0PWNt7X!6&g+ON)GN%BUk&mVULm%>yB=(0Q0>{1LHk4$7}-x#apahv zljd68b_5Y9aZRzJMsz>lpt>LkYmP4ACEaVLv`xTXKYPmk0wiWOgYD z?P$LrBm0R6=L=woteQ!NSro+LV!#wx#yR?1|M*Xjee^Bw`NQ;100WRqpZ>&$@4V-c zJ3sNdJMXxeK!HeY3t}n&TV81iVUDk*faKUwK|AB>pTr#}QQC>0?d=cN6*5vsMkW1BcBP`7<2J}%2(4|yOs2x- zf`XpwJ(n=CqxhBdo1f_+L~QSKh`~gZRhi=&Q_^8;i6{n z@h@ryH|H~ObI~HlQ_N+zsgk!k1#eY-HrG(aOaaLr?C095A1d+qy5vzSWfDu`PN{%J zoVMVQ5;E{1BELHJ_P-K8MP z$jRX>l;mcan@Y(W1D1pYNmaF|9WDupj-bE2O5h?QpB|M8HgzwN`4_sY8IhG>)OXO@ zHfi)HY{BCv;}j7SQ2hJ1KKKaRm|T`X8Gyt=#UWaB-Qj0NyYdGa)JBl(u>1kUz%)Zl zc?nlEjsj#AArdf^YM95QpG{8Kag8ULRX8QaVoe7)_A{~&Deo-8C%yF@d=#hCf#>as zuduGX%8Khz9g$K>5)s@2qs*|*Mm%7i+p0r(HjF-MfulaaSiB0;%4jyQJu@y|ka!#7 zH>iqLPO2*X?x2oVN(Pt}m8J}q%1jo>5H8wJ9yuX$w#{vHktHRNGkoGS!-o=92L^Lj z%7j?<-(Xc{@S{PN?pOaY+8i#%nRhZ-g$`v+fZuhqbsY(^UP`6Pl@AxGE_TAj_lYPh z;-pckwHzYdErB8!5O)hnALw=VUu!f6?fpJ1+OEHbr>S{dE|Tw-wH@0cJQhbzHw3v-%t$VyTbw1 z49ojn75h>lf_nyX>%vl&9h|B7LXWLjLhg`zPOD)z6$L_muJN2X$+(WS{X91yAsuLT zL!)BF15Vuql!_hUZmCPlhlqNw855Ec>T!9kuMhPooD>RweISwDsfPsIl>HC`1ec+h z8Si0WV4&H$Qkdj0X)LIy5Msa@yU$o+r-rt_Ko8n{FAwEseaJcp*tPSDC;qPuLR)vU zi|C%e82O8;6GUgQr<9!7LB^zdY3a93ToSV`@svNrf=Xx>?`<(+VPQEj0&1|wE4*Dh zFatn2O_YJ#vQ8|DuBDYT%(v%E+jfDnzYCLe`FqaZZQJj1o%-zeJk6xMbOrWURFfm$#|#mi<|DF>-VW^)w@ zU?qwAo$1Tf`#=D2nQO#3On>{`7|OKlQWhiAhwVz1#O&0-H1s*m1Cf7@*rVvI14)XM zgD*@26yPJdw_+E#+vZ|+HLwa}q%F(!@aR4z4<(dnrrvL?)mJ?x+~7x1t(0QV3@aqj zx|ZS*zZ1G_K%j9}^5S=V$j-HI8mWa9jG5voTP6x*)a zJr6|ajn$m+2mpQwkSRkhqkP&xive?Z;hF7u7}k!K{K~nuR%r1a%Tp0q6^ekQqvjLh zWxnKDBqB8z$cPVBd6W?qKEXe&(Dm}{fCyMwL-C3+6EDEYZt%t%qqo#IFS*JJ5S?H) z^vH+9T-8ljCzG!`<{Bz`ZL1zh+k|>A(T%+h902KO4E47tlMdu#sR|-91tPPn?aNpl z9}3VX#MxHZ{pvVmGvyCVun6+=)p7Pwb+3-w4tm(8Imrvk`tv{^<^=Ro7M&Y0|889# z2Pik;Y0$kqewm>s7~yL-^49fnA>F+g4g#Am{gwO0@|@_MvP$}V_jDd>Cinb7@SX79 z?NHQpXd0(|6lSEaJe0ycHM-a+>+AN{y+gXolhf&^gB3)N&F5cG%(dhnFXY#l&}xk2 zr-KvAuHoh;IB>~saP-OF`r|{dk*}^JDP9)K?_k(Z>8BDr8o=Whs}fyD>hqC%Ez2y1C&yT zQBbBlc&UxesGM9<3-l;bd!y;+pcnP&6>i^~;aZJLoeMzwIn-lhc^ zB3NddCX>LPyO6yLYri6-t3R?WWtlT1ghG%}@b9wMEyyr$!T^hq(IsKONP$@FdVI6> zlCAi>=v(_KjhNo&VTpq2gF10H1WNS7V@F4HxC3hNA_PZ2Tlo*6v0bsW2--m8j9d=U zU-l^sSQiT2Zf)0Q@*Ypi%?-N96z1!nAMjJyGVy9J$kj@$@!I@I1+Tc11B9G)DUn3x@&Yz_|3P7O~@j?IoVM;4l`xrM3W$)S;t**?q4z}0Yt=7tVyScKSEUqlB2f;nyvlD!- zj6lK)isUR+skwO5)al2*ID+CH2Bsnuo@8!PQrbMAO^_Czb0Tb=*1 z5r!nIbB6Jm*4&|!tMlOdIqH`iNCe)051 zD{;+|W7i)}W*67jPBrIRN$cG4Cai1C1NRTYnjSk3-p%*d^ZjEWD*RvdZLhv%=4g7| z%Wip9dfjv;6|ZWoZJb!&EEOxst<&wcmx>N5XWNV5v3|Uj%x)|!7)R!t>&+nej;I#Y z8N@)@B*bs7t+m>c&%}*(I61jEpSaQ;Vmh974Z&LQFpo2N&1Y*H)QC(=a}}x^ZGYnMF*O4O%k4 z*k&@T?emLkXl;I$9~dE8Cr_=P7r+CnD<{q;3&_ygdF0|`vf578=-s@nm7HwNFK(PH z+&i(ldP)rzR~$5v@WkTD#r0%=>)>q%leP0FVc2q_cGs+}H&MQ9Qi75kZ?4RrXf3W_ zLtxtC%BhX@s)JYV?769*XE&(Xgb$k zU0XXa-#W8MW1AfFZ?{&2Gr&$ZSI*nzwG4fYqq~f z!W1@6oidr(SZSR*1^bwNYXu4{7;7Me4o|jD!q!#Ps_pFE#>yP}e%oq$@q5%kCNS6& zB>Pv_+(~lHZnHc=@MyUf$X@<0zEO){8=b?tEUuzqL8+$(lpy%)CKP-_j$D4j1|Iv zNDlFkBSBEA)Pm>IPIgMLH=DMz$5)YOXQoDJyVtkPaQf~Z=NlGQ+b5grNVn(C3EIjx z?B}x?hf~d!#W@&o7j0zw|DKQh#lpsk6LZZKX*Zg^(Oz3T(?VyPbEh{@_2lHndh6VK z>66fQGt7Km2M-=9h}j{D_SzxqDwYR-M*ng8i{J9KTj8wCW&V0!ubb~9zJ2kWY%UON z4BrN_zj~(CUO2IOR%Wl`=55$*M`*V?Co?$*|$^hgl z^NMe~DVaUL-U@;b(D$3@qxncSKg~G?3B+dkhiGH2by%^)=eaJw3~^hBlUJ_-e7*(j z6WC5@yNYc?7q3m)8!O4##r5OKt=-=7#bVB__?0%cmdVbpt|1oL5C{8r_0@uJ2fkBX zj5x$`b{l;*T-UrK>krmxt61Rs`PO{9ZgZa9e~|l<$;}ir;BfOJ+?V{!qUhW4(&TIz zJ)`a8w3Y0BfzLiZM_13iX#V_4lCGTp<`-?Oh}!et%=N4IWU+~CgZe0DkdBB)37{k!=V4StMo@$X&4 zD1zzubXjf;-HO>fvxv7a(|e}bUNp0g$(mnWJ9VOo+H}~10DKVmuK;dFhgUP0=98V@ z!nx*HjM*etk{#hm$P~O_)A_ZWEB-jhM-h(NkUR&2e2VmuuJm`NzaT4Nr-u(WPn>O@ zUz@Q&V*fSQCUzi>Y23`F-(9T*g5hbILppn0zV=jm6$6S}y3GMS*ahSf`VM#c&Jh&C zf|b>k14R9D@7s3^1_oSgwSbd8A+3<7cDC)X7i9Sd1@emuMGdKIy*FaK>*+tncgD{m z9fi+kna=Ik>YCZ9`{*xzT*pWDYHhu3Zf~Y-qi?j){g2W{b~9_6ax8u6#foo(b^ELt zEd2usq{#|8Ab@cD0_`f+e3RzofR(Z{aC;x~6+-FPO4@l2Pfa zuBnak48heHI#xR!3;yH8%|VPk&?MNv?xqB&)X}gR=Jo|0FzQlfm_?Cvgnk*}9a)_|tBkBIF|+ zlQ{@pp|CqyUq2t*yg3&LUYSSM;wvZ41<)s1+n76U@t9)ZJf6<)c#R8gkovhWJ$Q|> zWf%P^>@@LGfSatJKP5a8mzEK?;w+VqD9#LCS&a7rrqPL2gJa5YUED~#Z6Ui-v`#C6 zcw$K`A2GtlN}gTN(S_X#mxJpzhqd%CCIcRHaDA3c7!@sR2(BxpOC(3I06MkW1=8j5 zdv{~Yt%4hsOp%-va`YhWN{@o0o%AO-cIcI!pBW2$G%la(y5%hJ^mF{}aOhZ9CKTM# zI!7ufE-CsCrV0PW7y>mvP)4dOh7ZzhgZbdq=TFYA5@{xR)?>`K7$uANgIlsRf!Lp{ zm0>Llbi5PhhRJ+uZLYm|ip&dKvy3n}+QcFW(avr4n8U))XBOTXWrVmvjcsU&TW4$` zxTdZ$bHx#I;mQ)8#3hugb3~fKt4YPk;audYV9wO%<~Cxwy0Mm!sN%EcNudk8Csd`n z!=)QYPb@`M|HYH1PPF8dxd9p{QDLQ+L_tgqAtT0@MjRs}Ute5U1T3*2BhCjmDWg2z zR4xGh)>>e})tlR^>#K9CzVKr-@Gt={?Ou~TUk|QttzpZZvCgvYHr7Hz1~2zmbO@G% zJxdHhssm1@vmRQ0TT|+=sq1o{%NZh_vrNPnnkS{2f{@=d74kF6b)kEVSNM_xilYKS zkewH`XgkgH33yQveSJcFa2brZLY)b{+K4A5%?lWTzb33Y7dzH6t50BkPqkNX!`iMD zgrayAp+ZPatX)AM_|~pWJ$N~Vrp4ow8k9LvsDM+~HBU8X7f;}qO?%d;DlN_}A}jc< zAlQgr5&YNiFG{~!+8zF2`ER0UmHsYxdmP4-%W^ia#5FI{2OV zb)}C6?~Kov_eCq=$+%Jah0^uGKZn1FKfE>gA7Q2R*3x&EUJ!hHI2HbI@Z04d53h@E z2>*e+G>d0Cb;Ne_>X zl?uh#mv5|7GQ>mqf)>RxuD0f_rtp3AQA~7>Z~d`UlOI3CHI18n=K-%}4z8{GsLc!c zy!gfS7h}`sj<*U`!&}YOChf)Bj<1uqS@E<#p**m#emLoO*TLj}GnO!jpIx)K>MFh! zYjt;258su0S)UitR()^seX_oqU^cIF+=I2ji}+-D)r&d)Wl!#Ng!M)X?D2(9kfo`q81Wq4A-Kp~<1C;lbgd;o;$t;nCr-;ql>#;mP5tk-?Fn zk>Qb%kGV7 z$VlY;=fhd+xYN`|s~|b&-de zzxbD(znNp{0Lu<|Au0oHtv<}R&Lyfk$}PD&N(T(4F1h+sGVmNHqtE4A`J8L1a-D;4 zGuOrc?0)!v_zzUR!oR{pKHD6|oBm4rD~zahBUM(4vYT@M+twE*%@SB#Ily72?u6if`duYOUg1OE^_yXE)693iVpJ8q zp%H{+CR-bsA0F1lnYESXskP&)>ocSUXBJy$hb9;1XRO#fG;w?waUC3)9UNJhoLHEc z9Geag%*+tLScP_G`~EY&?!ZXv(a0Cye2voWnmWZVc=}E_*0~uni}g}W>Rld~nbA7j zj5(K{o&JnKPF1E#c21RF=e<`IThBN`JOA76n}%8=<1_nix@F%j`!g-2P0Y|B_o^GVn;6FO;KA!#vm3W*Y9pL7 zt>(!1_{bpkXJKk`VRUd}ddD#V8hv^|uEJCRH8?jiGCn^xI6E~t*BqW*nBMtigBqQi zn3~7z&NnB<2gjxsrmq+lR$`Fw9{V?1aT^*m5uRb;v&~EfM;E4MhbOSR&56m;(bjZr zjXsluHWRAz2M<#1K4?7;9&|m8BI$gSpsVeq0m5vR2y12?HQOoImjFY94v$XGkF}bu z*4X&$@WRyel~0f8XmbKLGdGE?ADkbX9G-s0cYx@a$?b#>n1-fa)ja!})||uYx_zlh zBVlH%eWo=$G`~9Ik7rn9nsI^+I`a$7sgcpi+3~sN$kbGGcKVr5kIv-${M-bRxG>n9 z!1+v0@46Lq#)rD;=GIFNzS>qfZX#eVlBt`z1tKvgE=EmVEEj$LRRN$lT!U$nfAOesg4Q`q@v{W1`iZoE#f%&QidJ z0+Z9bpRUKkTx)oIYH*>|8Xp>&8y}y3&It1uVfIrlI-`s>G(6v0XcAe@9A8~s*5v0I zgiQl%4rq(hjqa^%Qfae?RM&{?ohlggzTCc1a-umnGB&B0WpsXadhbh$a~z(! z%oKAx=En%jCPrqb7Wf-!O-_IPHv_=w#HfPoq4Bictql&QumFLf*}2hXYiMe)IX5{v zJU&1DTyu$LFd*{i@D>D2-3}f^jUnej1l!2!s4_X)9GsjToST}&qKytVr?0-bIGxe) z%Ry7BbI_~p#-wQM={(*XpC1{Woy646jtw=Zrjyko#EFS55RHYoSRFh#+qz96qV)r> z@9l#JZ?HO!!~N#w`4g+nc|YLXL~9B!H8wagM`#IS>!-U0+{zIrOPCde_uxU79(9Bf zPF?53$`#-b9=yf&WfbN(GSnIwS{NOln^pX}(3)<@06U`%4CMF0;Naxk!szrjj%8RC z%+!e6S~BBuLTONI1nV}`972b&bCc80pP}2>q`86Zm1Rrl)a@uY`RCzL^0A>gv|yeH z2rsZ-D*8pZy`k~U*O8yhoZ48E#TmokklT$ln?!(Pt+DBA{_R(YZkJzQm>-!MVv`rC z;NSuY-SjtoY4&J}WOA}KF}^TI>e-qaoqmBF@utZREx`P><1@EW5nxKA6BC0&ASnrlrg%(kYc4;%!v#A$eO)kRZX{&%4@ zIWjS{Fh4juwlFz0JUe}G)VCj@lIt=JJSQmv@=NfJqR4_y{#ds*K~X~>0rCs&x7Z4r@-{lC4O*Owf{6~@&V z1;89Ep6mzC(UT8YM?+V225f_%FtP!Y!3KNW-PI)tjds?%JHR?(1GaI_IcMXXv;Q{# zZdLcpY!EC$=w+vOX1cn%!oA=9zOTn5@9aCvNSA}ttKz`J$Td|SpE-{$Jpz4LLQCZ) zEb=kmp|45os257jyfL^oGwFjbyFrx(%<2bdI+1e5G4!C4ylYa1mC?^+yZ4K2J_H;{ zq`cpwJ`m~40DVoICN^_1n5@cltV}LpXqYv>gf!EuLunS$u-tB0#9fngneK9czca-X zi`&hFS6?qeaU#dQKl9%DVf1eiC_-1I795SXMe!a^%TQ;2V7P9Ft1~4uWtHu^Ql+MR zT436+MK1V-hbf_Js34uMFkQ>G&*HjrS=j<%t7l%_E(nwh3uCDl1+h7GWu|nRkybNv zgCx{fZ5;Zr!^&h5Y(?xyRoynqDVwL}##eXp{XXNm1yw5(pQ)s4iTB#vR4(1KUskFN zBPCmCX|zgM!^&y0d|jkOSMz46d1bUbYOMqTj9G(J0s;ek;pAxtfdTPcUg!K%Wg3@O z6FVD~WUk4~TbAmuc{L#0am%jU)0PZXRjqQW>a@!f>j;3>ymbKkk_CLLiSoubxG4!g zcv;7%9hhWw1FykYToZIO;YQQ8Nh!2r8&f#ld~|8Fd^0&r6N!N@ca}P|RIYNRjVaR1 zE$7NSVF^@?iXljqt>e1EPHm3wbt+tu>Y{|o(k^e3RGC}Pb)_&Gs!p}eU~nztPOvt& zT?D?MjBU$E6m=aJjY?x}jp4YjbSbkHSbt9EGhtMV$(vyGBt4w_40PRdZ&31;TbNBZWLpgKrmN9m`*<+GxJtm02QnXa=xIkxhK^@Tm@Jw`mpEJ-+n zAiV3wzU2Tybvp1A>^tFEMWh-y3!-pA7U;-A8V)WucVEG6*hxT9@4Pbn(^Iea^#AtE z>%I5xyn`*A$V+w|`*Kw~9<@j-h_bvg_Z{}cZy1K)*t-9DNsY)m3zq79YULfM&Nng| z-6Li8QbApA)MvVJGkr?t%vO}SV3Ud&1E-h=p1r7jN!YA(193^E%xu|K9Vogp4?ZW| zsH(k>i1-~&x3CApou1Ed@azk@k2vZCom2HcFP|RjkGn7U7(R0Ae!wG=r{@kk~|_+Y~J%GZbyJth-amrwCVILTSKQ!n}bgfX!8_+ zX5M>cK&QRW^CP>cXPH@BTbU+M^0Mt)Me3~4kUO2$Q0ujn#Jh=Z z%i>z6@+PYRhCC#e6}mFb0Vz}Q8y&KfaAYran8mvTb|SCtfF#Fhd-7l(PfuNGNmdxG z(K%)-XHFj;3hptwFHe@7TzULT{{ngB&pfk#Y!J;RZy0;=4n2_Q&NCMPxWO%a&C*8; z3_5(g!WenkZ%O2vzJA+#b0u%}b^RxEx$gb@Jt|l`K%i=$wCk6yH*04$zfV_bM{y~xubs}2#%53r>rgVK{ zwO!r(@Bw*qb@L5(n#?7jBdTZXY%1gVJvv8=x6T%V5{3PqVG3Fytwmrex z>b9_uVr^3}VcL8)x^3R;goZQUZqYZZs3Vlze*20b=t_dbSc*$d#@SMIjcwrEY*JImd?E7aXwJM#!r8uxrJxKe86_1Zp$;l2 z*{z+fVsRXeZuPH1T8Hm>V+bOu|N063%0~;4qu&O^$J9y*tKkmPIx$~7-wkDRs8i@P zvUAsDO>Mpu%>}weUJpm(P}1pIk%e$hwu%xLbpB;O8-5@%-~Y^;R&?(FA%Nh7fx*NH zGbRdnGMoYJc*xgvnhV!O0a0ka5*;6AV@oq>XhyL8jz+ZADz!R`RhHBRiqBUgsYk=4 z(A_F%H;iMlTKlpZB@#V2E6Tbmt#amTkjmyo?*|{2QM`X?5d-Y`*2A-7bTvG^6QB>63Ww zm`qi~dDF>Eq%8$!ZoVCzm*WC^3|2BiZb?Df6qWgoABsHjcsq=$h(4pyR^#7t*jgU@ zZ9a?y`IG^!JDh5r>Xi9zB#Mu}LoX(2ZcMbl-bhF>5{!i0VlA7b&Re2r1BP|xdp-j9 zqceoER6?1md>E6*2;lyN9VeI41o{~vnBAjuTyRZdz8^^eADSTemY86%B5$mR^Jkcu zI4kaA@fj3&hcqsN&io*{X?_-K5WXAhcDJ^!l=q#`fmyqeVR-f&bVm(SAQqNc-Xc+E z=7&CI`iqL@gAl2b@Lc{vr?RE3m`N2=7Lz+u^P{Dcf)Wmm=N~IwoD_3sc^TKPXo%N^ zH9wBd+nZwJMErXh#g{E}otU3QEjL|+Z4jooFC)Qm-itjN-Ps?VYc=dpY?QJcK@136 zI?3_or;9o5V?Z1h#OW0`t?rSvae|{_HORosPNgAL&_$70@OUKF{A`a+^wx5kuoe6s z){QJC$;EAHejeR2Oz?~Kq8#p=Hb5Aq18m@G1mUEm`NdLD_P3yRy%QDVttZ*a16p!7 zDP&LGLeb~QMnz(N895pD<^9(W`(j-BN?rzL&m&K6tuz8?)u7xJ-1Dy@DJT7^T*P5j zZ4pq3IAnOb37?}Kxfq`(l0uQ07efA9K$%@EXKa<7&Mej|vQMJQS|QT7+Wa~aawrQ0 z{!%Cz9@hvawk=+^(D2U16{8EsWzyQ1RmN`rO>~l`^C0#vH9hQK8Am%9rFO6c{wkg& zm(;OEMesbY1G4E#k}{A|Y1iK{E@EnH0B{ zKk`mBQ8eW`vb>NEQXNCY|1r9Kej+_xV1sSxOa~DH8>c%hT$CV-!nF>`A8sG-)}JC@ zmC6)Krxy)v={PWv%eD~sNTBGd=Fia`a{aKEn&~t^g}p4LB4?8TLx8z>+29%fvb^5O z9DCk(Dlco?L$!r;#Ea<6Ul$oLpsrjB#8Yc34X>m^s$UPoThIwvs3~k2=b$(9w@3{G zy5-!0Q>B7r>~sR9jkO(1^1qhn>*Y8{ z>2jT@HgjURvT)b`KJS(iOQ#5$F~mAc)BGnAGe=L0g>b}5ntOoeR_b%Dt!>x}u?y^| z>zFWv0irSg^#hwPN7BBc3>6vqdf~p_<3+IcgG!KYJKSz%*_i)DS7Sk-oI1}2O z;;24&b+qp)VJ=V}#;a4$VRU4cA|P5&$@Bq>I;2CQpPv$7uX\00\00\00\1a\00\00\00\0c\00\00\00\04\00\00\00\1b\00\00\00\1c\00\00\00\1d\00\00\00\1e\00\00\00\1f\00\00\00 \00\00\00!\00\00\00\22\00\00\00\00\00\00\00\01\00\00\00#\00\00\00$\00\00\00%\00\00\00&\00\00\00'\00\00\00(\00\00\00)\00\00\00thread '' panicked at :\0a\84\0a\10\00\08\00\00\00\8c\0a\10\00\0e\00\00\00\9a\0a\10\00\02\00\00\00\b0\01\10\00\01\00\00\00note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\0a\00\00\bc\0a\10\00N\00\00\00\f0\09\10\00\1c\00\00\00S\02\00\00\1f\00\00\00\f0\09\10\00\1c\00\00\00T\02\00\00\1e\00\00\00\13\00\00\00\0c\00\00\00\04\00\00\00*\00\00\00\0a\00\00\00\08\00\00\00\04\00\00\00+\00\00\00\0a\00\00\00\08\00\00\00\04\00\00\00,\00\00\00-\00\00\00.\00\00\00\10\00\00\00\04\00\00\00/\00\00\000\00\00\00\22\00\00\00\00\00\00\00\01\00\00\001\00\00\00\0apanicked after panic::always_abort(), aborting.\0a\00\00\00\18\00\10\00\00\00\00\00\8c\0b\10\001\00\00\00thread panicked while processing panic. aborting.\0a\00\00\d0\0b\10\002\00\00\00thread caused non-unwinding panic. aborting.\0a\00\00\00\0c\0c\10\00-\00\00\00fatal runtime error: failed to initiate panic, error \00\00\00D\0c\10\005\00\00\00\b0\01\10\00\01\00\00\00\0a\00\00\00\08\00\00\00\04\00\00\002\00\00\00library/std/src/sys/wasi/os.rs\00\00\9c\0c\10\00\1e\00\00\00C\00\00\006\00\00\00strerror_r failure\00\00\cc\0c\10\00\12\00\00\00\9c\0c\10\00\1e\00\00\00A\00\00\00\0d\00\00\00\08\00fatal runtime error: rwlock locked for writing\0a\00\00\00\fa\0c\10\00/\00\00\00one-time initialization may not be performed recursively4\0d\10\008\00\00\00\10\00\00\00\11\00\00\00\12\00\00\00\10\00\00\00\10\00\00\00\13\00\00\00\12\00\00\00\0d\00\00\00\0e\00\00\00\15\00\00\00\0c\00\00\00\0b\00\00\00\15\00\00\00\15\00\00\00\0f\00\00\00\0e\00\00\00\13\00\00\00&\00\00\008\00\00\00\19\00\00\00\17\00\00\00\0c\00\00\00\09\00\00\00\0a\00\00\00\10\00\00\00\17\00\00\00\19\00\00\00\0e\00\00\00\0d\00\00\00\14\00\00\00\08\00\00\00\1b\00\00\00\0e\00\00\00\10\00\00\00\16\00\00\00\15\00\00\00\0b\00\00\00\16\00\00\00\0d\00\00\00\0b\00\00\00\13\00\00\00\f0\02\10\00\00\03\10\00\11\03\10\00#\03\10\003\03\10\00C\03\10\00V\03\10\00h\03\10\00u\03\10\00\83\03\10\00\98\03\10\00\a4\03\10\00\af\03\10\00\c4\03\10\00\d9\03\10\00\e8\03\10\00\f6\03\10\00\09\04\10\00/\04\10\00g\04\10\00\80\04\10\00\97\04\10\00\a3\04\10\00\ac\04\10\00\b6\04\10\00\c6\04\10\00\dd\04\10\00\f6\04\10\00\04\05\10\00\11\05\10\00%\05\10\00-\05\10\00H\05\10\00V\05\10\00f\05\10\00|\05\10\00\91\05\10\00\9c\05\10\00\b2\05\10\00\bf\05\10\00\ca\05\10\00/\00Success\00Illegal byte sequence\00Domain error\00Result not representable\00Not a tty\00Permission denied\00Operation not permitted\00No such file or directory\00No such process\00File exists\00Value too large for data type\00No space left on device\00Out of memory\00Resource busy\00Interrupted system call\00Resource temporarily unavailable\00Invalid seek\00Cross-device link\00Read-only file system\00Directory not empty\00Connection reset by peer\00Operation timed out\00Connection refused\00Host is unreachable\00Address in use\00Broken pipe\00I/O error\00No such device or address\00No such device\00Not a directory\00Is a directory\00Text file busy\00Exec format error\00Invalid argument\00Argument list too long\00Symbolic link loop\00Filename too long\00Too many open files in system\00No file descriptors available\00Bad file descriptor\00No child process\00Bad address\00File too large\00Too many links\00No locks available\00Resource deadlock would occur\00State not recoverable\00Previous owner died\00Operation canceled\00Function not implemented\00No message of desired type\00Identifier removed\00Link has been severed\00Protocol error\00Bad message\00Not a socket\00Destination address required\00Message too large\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Not supported\00Address family not supported by protocol\00Address not available\00Network is down\00Network unreachable\00Connection reset by network\00Connection aborted\00No buffer space available\00Socket is connected\00Socket not connected\00Operation already in progress\00Operation in progress\00Stale file handle\00Quota exceeded\00Multihop attempted\00Capabilities insufficient\00\00\00\00\00u\02N\00\d6\01\e2\04\b9\04\18\01\8e\05\ed\02\16\04\f2\00\97\03\01\038\05\af\01\82\01O\03/\04\1e\00\d4\05\a2\00\12\03\1e\03\c2\01\de\03\08\00\ac\05\00\01d\02\f1\01e\054\02\8c\02\cf\02-\03L\04\e3\05\9f\02\f8\04\1c\05\08\05\b1\02K\05\15\02x\00R\02<\03\f1\03\e4\00\c3\03}\04\cc\00\aa\03y\05$\02n\01m\03\22\04\ab\04D\00\fb\01\ae\00\83\03`\00\e5\01\07\04\94\04^\04+\00X\019\01\92\00\c2\05\9b\01C\02F\01\f6\05\00\00library/alloc/src/raw_vec.rscapacity overflow\00\00\00\88\15\10\00\11\00\00\00l\15\10\00\1c\00\00\00\16\02\00\00\05\00\00\00called `Option::unwrap()` on a `None` valuelibrary/alloc/src/ffi/c_str.rs\00\00\00\df\15\10\00\1e\00\00\00\1b\01\00\007\00\00\00called `Result::unwrap()` on an `Err` value\003\00\00\00\00\00\00\00\01\00\00\004\00\00\00library/alloc/src/sync.rs\00\00\00L\16\10\00\19\00\00\00n\01\00\002\00\00\00)BorrowMutErroralready borrowed: \00\00\00\87\16\10\00\12\00\00\00x\16\10\00\00\00\00\00:\00\00\00x\16\10\00\00\00\00\00\ac\16\10\00\01\00\00\00\ac\16\10\00\01\00\00\00panicked at :\0a\00\00:\00\00\00\00\00\00\00\01\00\00\00;\00\00\00==!=matchesassertion `left right` failed\0a left: \0a right: \00\f3\16\10\00\10\00\00\00\03\17\10\00\17\00\00\00\1a\17\10\00\09\00\00\00 right` failed: \0a left: \00\00\00\f3\16\10\00\10\00\00\00<\17\10\00\10\00\00\00L\17\10\00\09\00\00\00\1a\17\10\00\09\00\00\00: \00\00x\16\10\00\00\00\00\00x\17\10\00\02\00\00\00<\00\00\00\0c\00\00\00\04\00\00\00=\00\00\00>\00\00\00?\00\00\00 { , {\0a,\0a} }((\0a,\00\00\00<\00\00\00\04\00\00\00\04\00\00\00@\00\00\00library/core/src/fmt/num.rs\00\cc\17\10\00\1b\00\00\00i\00\00\00\17\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899falsetruelibrary/core/src/slice/memchr.rs\00\cb\18\10\00 \00\00\00\ad\00\00\00\09\00\00\00\cb\18\10\00 \00\00\00\91\00\00\00\1e\00\00\00range start index out of range for slice of length \0c\19\10\00\12\00\00\00\1e\19\10\00\22\00\00\00range end index P\19\10\00\10\00\00\00\1e\19\10\00\22\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00NoneSome<\00\00\00\04\00\00\00\04\00\00\00A\00\00\00Utf8Errorvalid_up_toerror_len\00\00\00<\00\00\00\04\00\00\00\04\00\00\00B\00\00\00LayoutError") - (data $.data (i32.const 1055428) "\01\00\00\00\ff\ff\ff\ff\bc\0e\10\00")) From a5ddcb87465c75f4a68a027a19d2defc75fa894b Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 11 Jan 2024 22:34:02 +0100 Subject: [PATCH 32/36] warning message for #2 --- Cargo.toml | 1 + src/parser.rs | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2007bbe..790d16a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ edition = "2018" [dependencies] clap = { version = "3.2.22", features = ["derive"] } color-eyre = "0.6.2" +colored = "2.1.0" # Speed up `backtrace` even on a debug build. Suggested by `color-eyre`. [profile.dev.package.backtrace] diff --git a/src/parser.rs b/src/parser.rs index 43d26f5..0d907ed 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -4,6 +4,7 @@ use crate::wasm::syntax::*; use crate::Maybe; use color_eyre::eyre::eyre; +use colored::Colorize; use std::collections::HashMap; use std::convert::TryInto; @@ -48,6 +49,12 @@ macro_rules! err { }} } +macro_rules! warn { + ($($args:tt)*) => {{ + eprintln!("{}", format_args!("WARNING -- {}", $($args)*).to_string().green()); + }} +} + /// Little Endian Base 128 encoding of unsigned ints. Parses `bits` bits into a `u64`. fn leb128_u(mut inp: &[u8], bits: usize) -> Parsed { let n = inp[0] as u64; @@ -880,11 +887,9 @@ generate! { module -> Module = { let mut data: &[u8] = data; let names = run_parser!(names(data)); // below check seems broken, see https://github.com/secure-foundations/rWasm/issues/2 - // if data.len() == 0 { - // names - // } else { - // err!("Unused bytes in the custom name section") - // } + if data.len() != 0 { + warn!("Unused bytes in the custom name section; ingoring") + } names } else { Names { From 117fc87e086e90cf606b7754fcd6474b15d9836c Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 11 Jan 2024 22:34:12 +0100 Subject: [PATCH 33/36] bring back Cargo.lock --- .gitignore | 3 +- Cargo.lock | 1730 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1731 insertions(+), 2 deletions(-) create mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index 8eebcff..578641b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ *~ /generated target -.vscode -Cargo.lock \ No newline at end of file +.vscode \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..94434f8 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1730 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "anyhow" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" + +[[package]] +name = "async-trait" +version = "0.1.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "jobserver", + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_derive", + "clap_lex", + "indexmap 1.9.3", + "once_cell", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_derive" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "color-eyre" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" +dependencies = [ + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", +] + +[[package]] +name = "color-spantrace" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +dependencies = [ + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", +] + +[[package]] +name = "colored" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +dependencies = [ + "lazy_static", + "windows-sys 0.48.0", +] + +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "cranelift-bforest" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c22542c0b95bd3302f7ed6839869c561f2324bac2fd5e7e99f5cfa65fdc8b92" +dependencies = [ + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3db903ef2e9c8a4de2ea6db5db052c7857282952f9df604aa55d169e6000d8" +dependencies = [ + "bumpalo", + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-control", + "cranelift-entity", + "cranelift-isle", + "gimli", + "hashbrown 0.14.3", + "log", + "regalloc2", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6590feb5a1d6438f974bf6a5ac4dddf69fca14e1f07f3265d880f69e61a94463" +dependencies = [ + "cranelift-codegen-shared", +] + +[[package]] +name = "cranelift-codegen-shared" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7239038c56fafe77fddc8788fc8533dd6c474dc5bdc5637216404f41ba807330" + +[[package]] +name = "cranelift-control" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7dc9c595341404d381d27a3d950160856b35b402275f0c3990cd1ad683c8053" +dependencies = [ + "arbitrary", +] + +[[package]] +name = "cranelift-entity" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44e3ee532fc4776c69bcedf7e62f9632cbb3f35776fa9a525cdade3195baa3f7" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "cranelift-frontend" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a612c94d09e653662ec37681dc2d6fd2b9856e6df7147be0afc9aabb0abf19df" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-isle" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85db9830abeb1170b7d29b536ffd55af1d4d26ac8a77570b5d1aca003bf225cc" + +[[package]] +name = "cranelift-native" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301ef0edafeaeda5771a5d2db64ac53e1818ae3111220a185677025fe91db4a1" +dependencies = [ + "cranelift-codegen", + "libc", + "target-lexicon", +] + +[[package]] +name = "cranelift-wasm" +version = "0.103.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380f0abe8264e4570ac615fc31cef32a3b90a77f7eb97b08331f9dd357b1f500" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "itertools", + "log", + "smallvec", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "uuid", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "eyre" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "fxprof-processed-profile" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" +dependencies = [ + "bitflags 2.4.1", + "debugid", + "fxhash", + "serde", + "serde_json", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +dependencies = [ + "fallible-iterator", + "indexmap 2.1.0", + "stable_deref_trait", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", + "serde", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "ittapi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" +dependencies = [ + "anyhow", + "ittapi-sys", + "log", +] + +[[package]] +name = "ittapi-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" +dependencies = [ + "cc", +] + +[[package]] +name = "jobserver" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +dependencies = [ + "libc", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "libc" +version = "0.2.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memfd" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +dependencies = [ + "rustix", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "crc32fast", + "hashbrown 0.14.3", + "indexmap 2.1.0", + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pkg-config" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rayon" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regalloc2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash", + "slice-group-by", + "smallvec", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustix" +version = "0.38.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rwasm" +version = "1.0.1" +dependencies = [ + "clap", + "color-eyre", + "colored", + "wasmtime", +] + +[[package]] +name = "ryu" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" + +[[package]] +name = "semver" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" + +[[package]] +name = "serde" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_json" +version = "1.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "slice-group-by" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" + +[[package]] +name = "smallvec" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" + +[[package]] +name = "sptr" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.12.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" + +[[package]] +name = "termcolor" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-error" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +dependencies = [ + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "sharded-slab", + "thread_local", + "tracing-core", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "uuid" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-encoder" +version = "0.38.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasmparser" +version = "0.118.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ee9723b928e735d53000dec9eae7b07a60e490c85ab54abb66659fc61bfcd9" +dependencies = [ + "indexmap 2.1.0", + "semver", +] + +[[package]] +name = "wasmtime" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e539fded2495422ea3c4dfa7beeddba45904eece182cf315294009e1a323bf" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bumpalo", + "cfg-if", + "fxprof-processed-profile", + "indexmap 2.1.0", + "libc", + "log", + "object", + "once_cell", + "paste", + "rayon", + "serde", + "serde_derive", + "serde_json", + "target-lexicon", + "wasm-encoder", + "wasmparser", + "wasmtime-cache", + "wasmtime-component-macro", + "wasmtime-cranelift", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit", + "wasmtime-runtime", + "wat", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "660ba9143e15a2acd921820df221b73aee256bd3ca2d208d73d8adc9587ccbb9" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-cache" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ce373743892002f9391c6741ef0cb0335b55ec899d874f311222b7e36f4594" +dependencies = [ + "anyhow", + "base64", + "bincode", + "directories-next", + "log", + "rustix", + "serde", + "serde_derive", + "sha2", + "toml", + "windows-sys 0.48.0", + "zstd", +] + +[[package]] +name = "wasmtime-component-macro" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ef32643324e564e1c359e9044daa06cbf90d7e2d6c99a738d17a12959f01a5" +dependencies = [ + "anyhow", + "proc-macro2", + "quote", + "syn 2.0.48", + "wasmtime-component-util", + "wasmtime-wit-bindgen", + "wit-parser", +] + +[[package]] +name = "wasmtime-component-util" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c87d06c18d21a4818f354c00a85f4ebc62b2270961cd022968452b0e4dbed9d" + +[[package]] +name = "wasmtime-cranelift" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d648c8b4064a7911093b02237cd5569f71ca171d3a0a486bf80600b19e1cba2" +dependencies = [ + "anyhow", + "cfg-if", + "cranelift-codegen", + "cranelift-control", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", + "cranelift-wasm", + "gimli", + "log", + "object", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", + "wasmtime-versioned-export-macros", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290a89027688782da8ff60b12bb95695494b1874e0d0ba2ba387d23dace6d70c" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-control", + "cranelift-native", + "gimli", + "object", + "target-lexicon", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-environ" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61eb64fb3e0da883e2df4a13a81d6282e072336e6cb6295021d0f7ab2e352754" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli", + "indexmap 2.1.0", + "log", + "object", + "serde", + "serde_derive", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-fiber" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecf1d3a838b0956b71ad3f8cb80069a228339775bf02dd35d86a5a68bbe443" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "rustix", + "wasmtime-asm-macros", + "wasmtime-versioned-export-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-jit" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f485336add49267d8859e8f8084d2d4b9a4b1564496b6f30ba5b168d50c10ceb" +dependencies = [ + "addr2line", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli", + "ittapi", + "log", + "object", + "rustc-demangle", + "rustix", + "serde", + "serde_derive", + "target-lexicon", + "wasmtime-environ", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", + "wasmtime-runtime", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65e119affec40edb2fab9044f188759a00c2df9c3017278d047012a2de1efb4f" +dependencies = [ + "object", + "once_cell", + "rustix", + "wasmtime-versioned-export-macros", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b6d197fcc34ad32ed440e1f9552fd57d1f377d9699d31dee1b5b457322c1f8a" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794b2bb19b99ef8322ff0dd9fe1ba7e19c41036dfb260b3f99ecce128c42ff92" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap 2.1.0", + "libc", + "log", + "mach", + "memfd", + "memoffset", + "paste", + "psm", + "rustix", + "sptr", + "wasm-encoder", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit-debug", + "wasmtime-versioned-export-macros", + "wasmtime-wmemcheck", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-types" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d995db8bb56f2cd8d2dc0ed5ffab94ffb435283b0fe6747f80f7aab40b2d06a1" +dependencies = [ + "cranelift-entity", + "serde", + "serde_derive", + "thiserror", + "wasmparser", +] + +[[package]] +name = "wasmtime-versioned-export-macros" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55c5565959287c21dd0f4277ae3518dd2ae62679f655ee2dbc4396e19d210db" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "wasmtime-wit-bindgen" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f328b2d4a690270324756e886ed5be3a4da4c00be0eea48253f4595ad068062b" +dependencies = [ + "anyhow", + "heck", + "indexmap 2.1.0", + "wit-parser", +] + +[[package]] +name = "wasmtime-wmemcheck" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67761d8f8c0b3c13a5d34356274b10a40baba67fe9cfabbfc379a8b414e45de2" + +[[package]] +name = "wast" +version = "69.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ee37317321afde358e4d7593745942c48d6d17e0e6e943704de9bbee121e7a" +dependencies = [ + "leb128", + "memchr", + "unicode-width", + "wasm-encoder", +] + +[[package]] +name = "wat" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb338ee8dee4d4cd05e6426683f21c5087dc7cfc8903e839ccf48d43332da3c" +dependencies = [ + "wast", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "wit-parser" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15df6b7b28ce94b8be39d8df5cb21a08a4f3b9f33b631aedb4aa5776f785ead3" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.1.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] From 17e8f57efecb34c92dcb66fd9ee4a9b06c33d4d7 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 11 Jan 2024 22:42:14 +0100 Subject: [PATCH 34/36] add option --static-func-rets --- src/main.rs | 11 +++++++++-- src/printer.rs | 11 +++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index b1dcb79..7fd1894 100644 --- a/src/main.rs +++ b/src/main.rs @@ -85,8 +85,14 @@ pub struct CmdLineOpts { /// Generate a `no_std` library, limiting usage to `core` and `alloc` #[clap(long)] no_std_library: bool, - /// Generate statically allocated, heapless code (implies --no-std-library, - /// requires --fixed-mem-size) + /// Instead of returning a vector of return values from indirect function calls, + /// return a fixed-length array of return values, whose length is determined by the + /// maximum number of return values of any function in the module. (Warning: experimental + /// performance impact) + #[clap(long)] + static_func_rets: bool, + /// Generate statically allocated, heapless code (implies --no-std-library + /// and --static-func-rets, requires --fixed-mem-size) /// (Warning: experimental performance impact) #[clap(long)] no_alloc: bool, @@ -118,6 +124,7 @@ pub fn run_app(mut opts: CmdLineOpts) -> Maybe<()> { return Err(eyre!("Must use --fixed-mem-size when using --no-alloc")); } opts.no_std_library = true; + opts.static_func_rets = true; } let inp = std::fs::read(&opts.input_path)?; diff --git a/src/printer.rs b/src/printer.rs index 7b87dc7..3bb775d 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1681,7 +1681,7 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> } else { "let rets = " }; - let ret = if !opts.no_alloc { + let ret = if !opts.static_func_rets { format!("vec![{}]", rets) } else { format!("IndirectFuncRet::Ret{}([{}])", num_rets, rets) @@ -1719,8 +1719,11 @@ fn print_indirect_call_dispatch(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> }} }}", { - if !opts.no_alloc { "Vec" } - else { "IndirectFuncRet" } + if !opts.static_func_rets { + "Vec" + } else { + "IndirectFuncRet" + } }, targets, lifetime = if !mem_imported(m) { "" } else { "<'_>" }, @@ -2027,7 +2030,7 @@ fn print_generated_code_prefix(m: &wasm::syntax::Module, opts: &CmdLineOpts) -> }; // If we need to avoid alloc dependency, we need to generate // arrays for the return values of functions (can't use `Vec`). - let static_function_return_def = if opts.no_alloc { + let static_function_return_def = if opts.static_func_rets { // Find the maximum number of return values of all functions let max_rets = m .funcs From 95ed2d822f81fc3213d14a74d02f958496965ab9 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 11 Jan 2024 22:43:18 +0100 Subject: [PATCH 35/36] remove .wat files --- .gitignore | 3 +- examples/0000-if.wat | 44 - examples/0001-loop.wat | 119 - examples/0002-call_and_tables.wat | 143 - examples/0003-locals_and_globals.wat | 4 - examples/basic.wat | 5 - examples/fib.wat | 47 - examples/hello-wasi.wat | 26847 ------------------------- 8 files changed, 2 insertions(+), 27210 deletions(-) delete mode 100644 examples/0000-if.wat delete mode 100644 examples/0001-loop.wat delete mode 100644 examples/0002-call_and_tables.wat delete mode 100644 examples/0003-locals_and_globals.wat delete mode 100644 examples/basic.wat delete mode 100644 examples/fib.wat delete mode 100644 examples/hello-wasi.wat diff --git a/.gitignore b/.gitignore index 578641b..61446f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *~ /generated target -.vscode \ No newline at end of file +.vscode +*.wat \ No newline at end of file diff --git a/examples/0000-if.wat b/examples/0000-if.wat deleted file mode 100644 index 49e8837..0000000 --- a/examples/0000-if.wat +++ /dev/null @@ -1,44 +0,0 @@ -(module - (type (;0;) (func)) - (type (;1;) (func (result i32))) - (func (;0;) (type 0) - i32.const 0 - if ;; label = @1 - i32.const 0 - drop - else - i32.const 1 - drop - end) - (func (;1;) (type 1) (result i32) - i32.const 0 - if (result i32) ;; label = @1 - i32.const 0 - else - i32.const 1 - end) - (func (;2;) (type 1) (result i32) - i32.const 0 - if (result i32) ;; label = @1 - i32.const 0 - return - else - i32.const 1 - end) - (func (;3;) (type 1) (result i32) - i32.const 0 - if (result i32) ;; label = @1 - i32.const 0 - else - i32.const 1 - return - end) - (func (;4;) (type 1) (result i32) - i32.const 0 - if (result i32) ;; label = @1 - i32.const 0 - return - else - i32.const 1 - return - end)) diff --git a/examples/0001-loop.wat b/examples/0001-loop.wat deleted file mode 100644 index 990b33a..0000000 --- a/examples/0001-loop.wat +++ /dev/null @@ -1,119 +0,0 @@ -(module - (type (;0;) (func)) - (type (;1;) (func (result i32))) - (func (;0;) (type 0) - i32.const 0 - loop ;; label = @1 - end - i32.const 1 - drop - drop) - (func (;1;) (type 0) - loop ;; label = @1 - br 0 (;@1;) - end) - (func (;2;) (type 0) - block ;; label = @1 - loop ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - br 1 (;@1;) - end - i32.const 1234 - drop - end - i32.const 5678 - drop) - (func (;3;) (type 1) (result i32) - block ;; label = @1 - loop ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - i32.const 1 - br_if 1 (;@1;) - i32.const 2 - br_if 0 (;@2;) - i32.const 3 - br_if 1 (;@1;) - i32.const 4 - return - end - end - i32.const 1234) - (func (;4;) (type 1) (result i32) - loop (result i32) ;; label = @1 - loop (result i32) ;; label = @2 - loop (result i32) ;; label = @3 - loop (result i32) ;; label = @4 - loop (result i32) ;; label = @5 - loop (result i32) ;; label = @6 - loop (result i32) ;; label = @7 - loop (result i32) ;; label = @8 - loop (result i32) ;; label = @9 - loop (result i32) ;; label = @10 - loop (result i32) ;; label = @11 - loop (result i32) ;; label = @12 - loop (result i32) ;; label = @13 - loop (result i32) ;; label = @14 - loop (result i32) ;; label = @15 - loop (result i32) ;; label = @16 - loop (result i32) ;; label = @17 - loop (result i32) ;; label = @18 - loop (result i32) ;; label = @19 - loop (result i32) ;; label = @20 - loop (result i32) ;; label = @21 - i32.const 0 - i32.const 1 - br_if 20 (;@1;) - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end - end) - (func (;5;) (type 0) - block ;; label = @1 - loop ;; label = @2 - i32.const 0 - drop - block ;; label = @3 - loop ;; label = @4 - i32.const 1 - drop - block ;; label = @5 - loop ;; label = @6 - i32.const 2 - drop - br 5 (;@1;) - br 4 (;@2;) - br 3 (;@3;) - br 2 (;@4;) - br 1 (;@5;) - br 0 (;@6;) - end - end - i32.const 8002 - drop - end - end - i32.const 8001 - drop - end - end - i32.const 8000 - drop)) diff --git a/examples/0002-call_and_tables.wat b/examples/0002-call_and_tables.wat deleted file mode 100644 index 8cc6311..0000000 --- a/examples/0002-call_and_tables.wat +++ /dev/null @@ -1,143 +0,0 @@ -(module - (type (;0;) (func (param i32 i32) (result i32))) - (type (;1;) (func (result i32))) - (type (;2;) (func)) - (func (;0;) (type 1) (result i32) - block (result i32) ;; label = @1 - block (result i32) ;; label = @2 - block (result i32) ;; label = @3 - block (result i32) ;; label = @4 - block (result i32) ;; label = @5 - block (result i32) ;; label = @6 - block (result i32) ;; label = @7 - block (result i32) ;; label = @8 - block (result i32) ;; label = @9 - block (result i32) ;; label = @10 - block (result i32) ;; label = @11 - block (result i32) ;; label = @12 - block (result i32) ;; label = @13 - block (result i32) ;; label = @14 - block (result i32) ;; label = @15 - block (result i32) ;; label = @16 - block (result i32) ;; label = @17 - block (result i32) ;; label = @18 - block (result i32) ;; label = @19 - block (result i32) ;; label = @20 - block (result i32) ;; label = @21 - i32.const 10 - i32.const 8 - br_table 20 (;@1;) 19 (;@2;) 18 (;@3;) 17 (;@4;) 16 (;@5;) 15 (;@6;) 14 (;@7;) 13 (;@8;) 12 (;@9;) 11 (;@10;) 10 (;@11;) 9 (;@12;) 8 (;@13;) 7 (;@14;) 6 (;@15;) 5 (;@16;) 4 (;@17;) 3 (;@18;) 2 (;@19;) 1 (;@20;) 0 (;@21;) - end - i32.const 20 - drop - end - i32.const 19 - drop - end - i32.const 18 - drop - end - i32.const 17 - drop - end - i32.const 16 - drop - end - i32.const 15 - drop - end - i32.const 14 - drop - end - i32.const 13 - drop - end - i32.const 12 - drop - end - i32.const 11 - drop - end - i32.const 10 - drop - end - i32.const 9 - drop - end - i32.const 8 - drop - end - i32.const 7 - drop - end - i32.const 6 - drop - end - i32.const 5 - drop - end - i32.const 4 - drop - end - i32.const 3 - drop - end - i32.const 2 - drop - end - i32.const 1 - drop - end - i32.const 0 - drop) - (func (;1;) (type 0) (param i32 i32) (result i32) - i32.const 0 - i32.const 1 - i32.add) - (func (;2;) (type 2) - i32.const 10 - i32.const 20 - call 1 - drop) - (func (;3;) (type 2) - (local i32 i32) - i32.const 10 - i32.const 20 - call 1 - drop) - (func (;4;) (type 2) - i32.const 10 - i32.const 20 - i32.const 3 - call_indirect (type 0) - drop) - (func (;5;) (type 2) - (local i32 i32) - i32.const 10 - i32.const 20 - i32.const 3 - call_indirect (type 0) - drop) - (func (;6;) (type 0) (param i32 i32) (result i32) - i32.const 0 - i32.const 1 - i32.add) - (func (;7;) (type 0) (param i32 i32) (result i32) - i32.const 0 - i32.const 1 - i32.add) - (func (;8;) (type 0) (param i32 i32) (result i32) - i32.const 0 - i32.const 1 - i32.add) - (func (;9;) (type 0) (param i32 i32) (result i32) - i32.const 0 - i32.const 1 - i32.add) - (func (;10;) (type 0) (param i32 i32) (result i32) - i32.const 0 - i32.const 1 - i32.add) - (table (;0;) 5 5 funcref) - (export "dummy0" (func 6)) - (elem (;0;) (i32.const 0) func 6 7 8 9 10)) diff --git a/examples/0003-locals_and_globals.wat b/examples/0003-locals_and_globals.wat deleted file mode 100644 index 8144cf5..0000000 --- a/examples/0003-locals_and_globals.wat +++ /dev/null @@ -1,4 +0,0 @@ -(module - (global (;0;) (mut i32) (i32.const 1)) - (global (;1;) (mut i32) (i32.const 2)) - (export "myglobal" (global 0))) diff --git a/examples/basic.wat b/examples/basic.wat deleted file mode 100644 index 751172c..0000000 --- a/examples/basic.wat +++ /dev/null @@ -1,5 +0,0 @@ -(module - (type (;0;) (func (result i32))) - (func (;0;) (type 0) (result i32) - i32.const 42 - return)) diff --git a/examples/fib.wat b/examples/fib.wat deleted file mode 100644 index a764e09..0000000 --- a/examples/fib.wat +++ /dev/null @@ -1,47 +0,0 @@ -(module - (type (;0;) (func (param i32) (result i32))) - (func $run (type 0) (param i32) (result i32) - (local i32 i32 i32) - block ;; label = @1 - local.get 0 - i32.const 2 - i32.ge_s - br_if 0 (;@1;) - local.get 0 - i32.const 0 - i32.add - return - end - i32.const 0 - local.set 1 - loop ;; label = @1 - local.get 0 - i32.const -1 - i32.add - call $run - local.get 1 - i32.add - local.set 1 - local.get 0 - i32.const 3 - i32.gt_u - local.set 2 - local.get 0 - i32.const -2 - i32.add - local.tee 3 - local.set 0 - local.get 2 - br_if 0 (;@1;) - end - local.get 3 - local.get 1 - i32.add) - (memory (;0;) 16) - (global $__stack_pointer (mut i32) (i32.const 1048576)) - (global (;1;) i32 (i32.const 1048576)) - (global (;2;) i32 (i32.const 1048576)) - (export "memory" (memory 0)) - (export "run" (func $run)) - (export "__data_end" (global 1)) - (export "__heap_base" (global 2))) diff --git a/examples/hello-wasi.wat b/examples/hello-wasi.wat deleted file mode 100644 index a531783..0000000 --- a/examples/hello-wasi.wat +++ /dev/null @@ -1,26847 +0,0 @@ -(module - (type (;0;) (func)) - (type (;1;) (func (param i32))) - (type (;2;) (func (param i32) (result i64))) - (type (;3;) (func (param i32 i32) (result i32))) - (type (;4;) (func (param i32 i32 i32 i32))) - (type (;5;) (func (param i32) (result i32))) - (type (;6;) (func (param i32 i32))) - (type (;7;) (func (param i32 i32 i32))) - (type (;8;) (func (param i32 i32 i32) (result i32))) - (type (;9;) (func (param i32 i32 i32 i32) (result i32))) - (type (;10;) (func (param i32 i32 i32 i32 i32))) - (type (;11;) (func (result i32))) - (type (;12;) (func (param i32 i32 i32 i32 i32) (result i32))) - (type (;13;) (func (param i32 i32 i32 i32 i32 i32) (result i32))) - (type (;14;) (func (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (type (;15;) (func (param i64 i32 i32) (result i32))) - (import "wasi_snapshot_preview1" "proc_exit" (func $__wasi_proc_exit (type 1))) - (import "wasi_snapshot_preview1" "fd_write" (func $_ZN4wasi13lib_generated22wasi_snapshot_preview18fd_write17hfbffe82bfc68da68E (type 9))) - (import "wasi_snapshot_preview1" "fd_prestat_get" (func $__wasi_fd_prestat_get (type 3))) - (import "wasi_snapshot_preview1" "fd_prestat_dir_name" (func $__wasi_fd_prestat_dir_name (type 8))) - (import "wasi_snapshot_preview1" "environ_sizes_get" (func $__wasi_environ_sizes_get (type 3))) - (import "wasi_snapshot_preview1" "environ_get" (func $__wasi_environ_get (type 3))) - (func $__wasm_call_ctors (type 0) - call $__wasilibc_initialize_environ_eagerly - call $__wasilibc_populate_libpreopen) - (func $_start (type 0) - (local i32) - call $__wasm_call_ctors - call $__original_main - local.set 0 - call $__prepare_for_exit - block ;; label = @1 - local.get 0 - i32.eqz - br_if 0 (;@1;) - local.get 0 - call $__wasi_proc_exit - unreachable - end) - (func $_ZN4core3fmt9Arguments6new_v117h329be3facaa49031E (type 10) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32) - global.get 0 - local.set 5 - i32.const 16 - local.set 6 - local.get 5 - local.get 6 - i32.sub - local.set 7 - i32.const 0 - local.set 8 - local.get 7 - local.get 8 - i32.store offset=8 - local.get 0 - local.get 1 - i32.store - local.get 0 - local.get 2 - i32.store offset=4 - local.get 7 - i32.load offset=8 - local.set 9 - local.get 7 - i32.load offset=12 - local.set 10 - local.get 0 - local.get 9 - i32.store offset=8 - local.get 0 - local.get 10 - i32.store offset=12 - local.get 0 - local.get 3 - i32.store offset=16 - local.get 0 - local.get 4 - i32.store offset=20 - return) - (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h19a2a61da5d6a26cE (type 5) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32) - global.get 0 - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - local.get 3 - global.set 0 - local.get 0 - i32.load - local.set 4 - local.get 4 - call $_ZN4core3ops8function6FnOnce9call_once17hb7bb02843ab0037dE - local.set 5 - i32.const 16 - local.set 6 - local.get 3 - local.get 6 - i32.add - local.set 7 - local.get 7 - global.set 0 - local.get 5 - return) - (func $_ZN4core3ops8function6FnOnce9call_once17hb7bb02843ab0037dE (type 5) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - local.get 3 - global.set 0 - i32.const 4 - local.set 4 - local.get 3 - local.get 4 - i32.add - local.set 5 - local.get 5 - local.set 6 - local.get 3 - local.get 0 - i32.store offset=4 - local.get 6 - call $_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h0e98a8fdad6ece05E - local.set 7 - i32.const 16 - local.set 8 - local.get 3 - local.get 8 - i32.add - local.set 9 - local.get 9 - global.set 0 - local.get 7 - return) - (func $_ZN4core3ptr13drop_in_place17hbdefc172b9ada5feE (type 1) (param i32) - (local i32 i32) - global.get 0 - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - drop - return) - (func $_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h5c1886bfbfe252adE (type 11) (result i32) - (local i32 i32 i32 i32) - i32.const 0 - local.set 0 - i32.const 1 - local.set 1 - local.get 0 - local.get 1 - i32.and - local.set 2 - local.get 2 - call $_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17ha5e320ac3a1f670bE - local.set 3 - local.get 3 - return) - (func $_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17ha5e320ac3a1f670bE (type 5) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - local.get 3 - global.set 0 - i32.const 15 - local.set 4 - local.get 3 - local.get 4 - i32.add - local.set 5 - local.get 5 - local.set 6 - local.get 0 - local.set 7 - local.get 3 - local.get 7 - i32.store8 offset=15 - local.get 6 - call $_ZN3std3sys4wasi7process8ExitCode6as_i3217ha6343d4419ced070E - local.set 8 - i32.const 16 - local.set 9 - local.get 3 - local.get 9 - i32.add - local.set 10 - local.get 10 - global.set 0 - local.get 8 - return) - (func $_ZN3std2rt10lang_start17hadf3fca7e8322d80E (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set 0 - i32.const 1048576 - local.set 6 - local.get 6 - local.set 7 - i32.const 12 - local.set 8 - local.get 5 - local.get 8 - i32.add - local.set 9 - local.get 9 - local.set 10 - local.get 5 - local.get 0 - i32.store offset=12 - local.get 10 - local.get 7 - local.get 1 - local.get 2 - call $_ZN3std2rt19lang_start_internal17h671cbf6e632f7250E - local.set 11 - i32.const 16 - local.set 12 - local.get 5 - local.get 12 - i32.add - local.set 13 - local.get 13 - global.set 0 - local.get 11 - return) - (func $_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h0e98a8fdad6ece05E (type 5) (param i32) (result i32) - (local i32 i32) - local.get 0 - i32.load - local.set 1 - local.get 1 - call_indirect (type 0) - call $_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h5c1886bfbfe252adE - local.set 2 - local.get 2 - return) - (func $_ZN5hello4main17hd078db076938ab99E (type 0) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - local.set 0 - i32.const 32 - local.set 1 - local.get 0 - local.get 1 - i32.sub - local.set 2 - local.get 2 - global.set 0 - i32.const 8 - local.set 3 - local.get 2 - local.get 3 - i32.add - local.set 4 - local.get 4 - local.set 5 - i32.const 1 - local.set 6 - i32.const 0 - local.set 7 - i32.const 0 - local.set 8 - local.get 8 - i32.load offset=1048624 - local.set 9 - i32.const 0 - local.set 10 - local.get 10 - i32.load offset=1048628 - local.set 11 - local.get 5 - local.get 9 - local.get 6 - local.get 11 - local.get 7 - call $_ZN4core3fmt9Arguments6new_v117h329be3facaa49031E - i32.const 8 - local.set 12 - local.get 2 - local.get 12 - i32.add - local.set 13 - local.get 13 - local.set 14 - local.get 14 - call $_ZN3std2io5stdio6_print17h53f0a7747fc3663eE - i32.const 32 - local.set 15 - local.get 2 - local.get 15 - i32.add - local.set 16 - local.get 16 - global.set 0 - return) - (func $__original_main (type 11) (result i32) - (local i32 i32 i32) - i32.const 4 - local.set 0 - i32.const 0 - local.set 1 - local.get 0 - local.get 1 - local.get 1 - call $_ZN3std2rt10lang_start17hadf3fca7e8322d80E - local.set 2 - local.get 2 - return) - (func $main (type 3) (param i32 i32) (result i32) - (local i32) - call $__original_main - local.set 2 - local.get 2 - return) - (func $__rust_alloc (type 3) (param i32 i32) (result i32) - (local i32) - local.get 0 - local.get 1 - call $__rdl_alloc - local.set 2 - local.get 2 - return) - (func $__rust_dealloc (type 7) (param i32 i32 i32) - local.get 0 - local.get 1 - local.get 2 - call $__rdl_dealloc - return) - (func $__rust_realloc (type 9) (param i32 i32 i32 i32) (result i32) - (local i32) - local.get 0 - local.get 1 - local.get 2 - local.get 3 - call $__rdl_realloc - local.set 4 - local.get 4 - return) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h0392c58b36b5e65cE (type 2) (param i32) (result i64) - i64.const -3452326882552253247) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h8ccad713f7bee105E (type 2) (param i32) (result i64) - i64.const 9147559743429524724) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hf6b487e2f110a1d5E (type 2) (param i32) (result i64) - i64.const 943913013690912652) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4473b65edfd7c202E (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load - local.tee 0 - i32.load offset=8 - local.set 3 - local.get 0 - i32.load - local.set 0 - local.get 2 - local.get 1 - call $_ZN4core3fmt9Formatter10debug_list17haf359c45ea555102E - block ;; label = @1 - local.get 3 - i32.eqz - br_if 0 (;@1;) - loop ;; label = @2 - local.get 2 - local.get 0 - i32.store offset=12 - local.get 2 - local.get 2 - i32.const 12 - i32.add - i32.const 1048704 - call $_ZN4core3fmt8builders8DebugSet5entry17hcec6345aa501ef45E - drop - local.get 0 - i32.const 1 - i32.add - local.set 0 - local.get 3 - i32.const -1 - i32.add - local.tee 3 - br_if 0 (;@2;) - end - end - local.get 2 - call $_ZN4core3fmt8builders9DebugList6finish17hbd08192effc20d79E - local.set 0 - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 0) - (func $_ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17h51daa603ac20d4e8E (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64) - global.get 0 - i32.const 80 - i32.sub - local.tee 3 - global.set 0 - i32.const 1 - local.set 4 - block ;; label = @1 - local.get 2 - i32.const 1049652 - i32.const 1 - call $_ZN4core3fmt9Formatter9write_str17h545f61f492283d6dE - br_if 0 (;@1;) - local.get 3 - i32.const 8 - i32.add - local.get 0 - local.get 1 - call $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE - local.get 3 - local.get 3 - i32.load offset=8 - local.get 3 - i32.load offset=12 - call $_ZN4core3str5lossy9Utf8Lossy6chunks17h8921da9536869963E - local.get 3 - local.get 3 - i64.load - i64.store offset=16 - local.get 3 - i32.const 40 - i32.add - local.get 3 - i32.const 16 - i32.add - call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E - block ;; label = @2 - local.get 3 - i32.load offset=40 - local.tee 4 - i32.eqz - br_if 0 (;@2;) - local.get 3 - i32.const 48 - i32.add - local.set 5 - local.get 3 - i32.const 64 - i32.add - local.set 6 - loop ;; label = @3 - local.get 3 - i32.load offset=52 - local.set 7 - local.get 3 - i32.load offset=48 - local.set 8 - local.get 3 - i32.load offset=44 - local.set 0 - local.get 3 - i32.const 4 - i32.store offset=64 - local.get 3 - i32.const 4 - i32.store offset=48 - local.get 3 - local.get 4 - i32.store offset=40 - local.get 3 - local.get 4 - local.get 0 - i32.add - i32.store offset=44 - i32.const 4 - local.set 4 - block ;; label = @4 - loop ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - block ;; label = @14 - block ;; label = @15 - block ;; label = @16 - block ;; label = @17 - block ;; label = @18 - local.get 4 - i32.const 4 - i32.eq - br_if 0 (;@18;) - local.get 5 - call $_ZN82_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1b10a0b08a976a19E - local.tee 4 - i32.const 1114112 - i32.ne - br_if 1 (;@17;) - local.get 3 - i32.const 4 - i32.store offset=48 - end - block ;; label = @18 - local.get 3 - i32.load offset=44 - local.tee 0 - local.get 3 - i32.load offset=40 - local.tee 4 - i32.eq - br_if 0 (;@18;) - local.get 3 - local.get 4 - i32.const 1 - i32.add - local.tee 9 - i32.store offset=40 - block ;; label = @19 - block ;; label = @20 - local.get 4 - i32.load8_s - local.tee 1 - i32.const -1 - i32.le_s - br_if 0 (;@20;) - local.get 1 - i32.const 255 - i32.and - local.set 0 - br 1 (;@19;) - end - block ;; label = @20 - block ;; label = @21 - local.get 9 - local.get 0 - i32.ne - br_if 0 (;@21;) - i32.const 0 - local.set 4 - local.get 0 - local.set 9 - br 1 (;@20;) - end - local.get 3 - local.get 4 - i32.const 2 - i32.add - local.tee 9 - i32.store offset=40 - local.get 4 - i32.load8_u offset=1 - i32.const 63 - i32.and - local.set 4 - end - local.get 1 - i32.const 31 - i32.and - local.set 10 - block ;; label = @20 - local.get 1 - i32.const 255 - i32.and - local.tee 1 - i32.const 223 - i32.gt_u - br_if 0 (;@20;) - local.get 4 - local.get 10 - i32.const 6 - i32.shl - i32.or - local.set 0 - br 1 (;@19;) - end - block ;; label = @20 - block ;; label = @21 - local.get 9 - local.get 0 - i32.ne - br_if 0 (;@21;) - i32.const 0 - local.set 9 - local.get 0 - local.set 11 - br 1 (;@20;) - end - local.get 3 - local.get 9 - i32.const 1 - i32.add - local.tee 11 - i32.store offset=40 - local.get 9 - i32.load8_u - i32.const 63 - i32.and - local.set 9 - end - local.get 9 - local.get 4 - i32.const 6 - i32.shl - i32.or - local.set 4 - block ;; label = @20 - local.get 1 - i32.const 240 - i32.ge_u - br_if 0 (;@20;) - local.get 4 - local.get 10 - i32.const 12 - i32.shl - i32.or - local.set 0 - br 1 (;@19;) - end - block ;; label = @20 - block ;; label = @21 - local.get 11 - local.get 0 - i32.ne - br_if 0 (;@21;) - i32.const 0 - local.set 0 - br 1 (;@20;) - end - local.get 3 - local.get 11 - i32.const 1 - i32.add - i32.store offset=40 - local.get 11 - i32.load8_u - i32.const 63 - i32.and - local.set 0 - end - local.get 4 - i32.const 6 - i32.shl - local.get 10 - i32.const 18 - i32.shl - i32.const 1835008 - i32.and - i32.or - local.get 0 - i32.or - local.set 0 - end - i32.const 2 - local.set 4 - local.get 0 - i32.const -9 - i32.add - local.tee 9 - i32.const 30 - i32.le_u - br_if 4 (;@14;) - local.get 0 - i32.const 92 - i32.eq - br_if 6 (;@12;) - local.get 0 - i32.const 1114112 - i32.ne - br_if 5 (;@13;) - end - local.get 3 - i32.load offset=64 - i32.const 4 - i32.eq - br_if 1 (;@16;) - local.get 6 - call $_ZN82_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1b10a0b08a976a19E - local.tee 4 - i32.const 1114112 - i32.eq - br_if 1 (;@16;) - end - local.get 2 - local.get 4 - call $_ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17h10ad0684667415e1E - br_if 1 (;@15;) - local.get 3 - i32.load offset=48 - local.set 4 - br 11 (;@5;) - end - loop ;; label = @16 - local.get 7 - i32.eqz - br_if 12 (;@4;) - local.get 3 - local.get 8 - i32.store offset=28 - local.get 3 - i32.const 1 - i32.store offset=60 - local.get 3 - i32.const 1 - i32.store offset=52 - local.get 3 - i32.const 1051200 - i32.store offset=48 - local.get 3 - i32.const 1 - i32.store offset=44 - local.get 3 - i32.const 1051192 - i32.store offset=40 - local.get 3 - i32.const 5 - i32.store offset=36 - local.get 7 - i32.const -1 - i32.add - local.set 7 - local.get 8 - i32.const 1 - i32.add - local.set 8 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=56 - local.get 3 - local.get 3 - i32.const 28 - i32.add - i32.store offset=32 - local.get 2 - local.get 3 - i32.const 40 - i32.add - call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E - i32.eqz - br_if 0 (;@16;) - end - end - i32.const 1 - local.set 4 - br 13 (;@1;) - end - i32.const 116 - local.set 1 - local.get 9 - br_table 7 (;@6;) 5 (;@8;) 0 (;@13;) 0 (;@13;) 6 (;@7;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 1 (;@12;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 0 (;@13;) 1 (;@12;) 7 (;@6;) - end - block ;; label = @13 - local.get 0 - call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E - i32.eqz - br_if 0 (;@13;) - local.get 0 - i32.const 1 - i32.or - i32.clz - i32.const 2 - i32.shr_u - i32.const 7 - i32.xor - i64.extend_i32_u - i64.const 21474836480 - i64.or - local.set 12 - br 3 (;@10;) - end - i32.const 1 - local.set 4 - local.get 0 - call $_ZN4core7unicode9printable12is_printable17h576ae3d8aaeb2915E - i32.eqz - br_if 1 (;@11;) - end - br 2 (;@9;) - end - local.get 0 - i32.const 1 - i32.or - i32.clz - i32.const 2 - i32.shr_u - i32.const 7 - i32.xor - i64.extend_i32_u - i64.const 21474836480 - i64.or - local.set 12 - end - i32.const 3 - local.set 4 - end - local.get 0 - local.set 1 - br 2 (;@6;) - end - i32.const 110 - local.set 1 - br 1 (;@6;) - end - i32.const 114 - local.set 1 - end - local.get 3 - local.get 12 - i64.store offset=56 - local.get 3 - local.get 1 - i32.store offset=52 - local.get 3 - local.get 4 - i32.store offset=48 - br 0 (;@5;) - end - end - local.get 3 - i32.const 40 - i32.add - local.get 3 - i32.const 16 - i32.add - call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E - local.get 3 - i32.load offset=40 - local.tee 4 - br_if 0 (;@3;) - end - end - local.get 2 - i32.const 1049652 - i32.const 1 - call $_ZN4core3fmt9Formatter9write_str17h545f61f492283d6dE - local.set 4 - end - local.get 3 - i32.const 80 - i32.add - global.set 0 - local.get 4) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h72010bc18c2c3871E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.set 0 - block ;; label = @1 - local.get 1 - call $_ZN4core3fmt9Formatter15debug_lower_hex17hce81659868cce5baE - br_if 0 (;@1;) - block ;; label = @2 - local.get 1 - call $_ZN4core3fmt9Formatter15debug_upper_hex17h19a78e2dfbd00c52E - br_if 0 (;@2;) - local.get 0 - local.get 1 - call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17he6ead8fc076aace0E - return - end - local.get 0 - local.get 1 - call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hf6dfd165e0a82f4aE - return - end - local.get 0 - local.get 1 - call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h84435a511eccf523E) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h935565c54b9e7992E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.set 0 - block ;; label = @1 - local.get 1 - call $_ZN4core3fmt9Formatter15debug_lower_hex17hce81659868cce5baE - br_if 0 (;@1;) - block ;; label = @2 - local.get 1 - call $_ZN4core3fmt9Formatter15debug_upper_hex17h19a78e2dfbd00c52E - br_if 0 (;@2;) - local.get 0 - local.get 1 - call $_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h9ace9957d1dfdd97E - return - end - local.get 0 - local.get 1 - call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hf0602dfa1b51374aE - return - end - local.get 0 - local.get 1 - call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i8$GT$3fmt17h520fc9cf30ca6ce8E) - (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h3f42ebff8fc1778aE (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 0 - i32.load offset=4 - local.get 1 - call $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E) - (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h52ad5ba400a1c0b2E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - call $_ZN60_$LT$core..panic..Location$u20$as$u20$core..fmt..Display$GT$3fmt17h37d828db1f545440E) - (func $_ZN45_$LT$$RF$T$u20$as$u20$core..fmt..UpperHex$GT$3fmt17hb918cce28d9d0601E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hf0602dfa1b51374aE) - (func $_ZN4core3fmt5Write10write_char17h5ee09af859d49745E (type 3) (param i32 i32) (result i32) - (local i32 i32 i64 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - i32.const 0 - i32.store offset=4 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - i32.const 128 - i32.lt_u - br_if 0 (;@4;) - local.get 1 - i32.const 2048 - i32.lt_u - br_if 1 (;@3;) - local.get 2 - i32.const 4 - i32.add - local.set 3 - local.get 1 - i32.const 65536 - i32.ge_u - br_if 2 (;@2;) - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=6 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - i32.store8 offset=4 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=5 - i32.const 3 - local.set 1 - br 3 (;@1;) - end - local.get 2 - local.get 1 - i32.store8 offset=4 - local.get 2 - i32.const 4 - i32.add - local.set 3 - i32.const 1 - local.set 1 - br 2 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=5 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - i32.store8 offset=4 - local.get 2 - i32.const 4 - i32.add - local.set 3 - i32.const 2 - local.set 1 - br 1 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=7 - local.get 2 - local.get 1 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.store8 offset=4 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=6 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=5 - i32.const 4 - local.set 1 - end - local.get 2 - i32.const 8 - i32.add - local.get 0 - i32.load - local.get 3 - local.get 1 - call $_ZN3std2io5Write9write_all17h39d0435291d0ea60E - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 2 - i32.load8_u offset=8 - i32.const 3 - i32.eq - br_if 0 (;@1;) - local.get 2 - i64.load offset=8 - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 1 - i32.load offset=4 - local.tee 3 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.load - local.get 5 - local.get 3 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i64.store offset=4 align=4 - i32.const 1 - local.set 1 - end - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN3std2io5Write9write_all17h39d0435291d0ea60E (type 4) (param i32 i32 i32 i32) - (local i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 3 - i32.eqz - br_if 0 (;@2;) - loop ;; label = @3 - local.get 4 - local.get 3 - i32.store offset=12 - local.get 4 - local.get 2 - i32.store offset=8 - local.get 4 - i32.const 16 - i32.add - i32.const 2 - local.get 4 - i32.const 8 - i32.add - i32.const 1 - call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - local.get 4 - i32.load16_u offset=16 - i32.const 1 - i32.eq - br_if 0 (;@6;) - block ;; label = @7 - local.get 4 - i32.load offset=20 - local.tee 5 - br_if 0 (;@7;) - local.get 4 - i32.const 16 - i32.add - i32.const 14 - i32.const 1050340 - i32.const 28 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 4 - i64.load offset=16 - i64.store align=4 - br 6 (;@1;) - end - local.get 3 - local.get 5 - i32.lt_u - br_if 1 (;@5;) - local.get 2 - local.get 5 - i32.add - local.set 2 - local.get 3 - local.get 5 - i32.sub - local.set 3 - br 2 (;@4;) - end - local.get 4 - local.get 4 - i32.load16_u offset=18 - i32.store16 offset=30 - local.get 4 - i32.const 30 - i32.add - call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE - i32.const 65535 - i32.and - local.tee 5 - call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE - i32.const 255 - i32.and - i32.const 15 - i32.eq - br_if 1 (;@4;) - local.get 0 - i32.const 0 - i32.store - local.get 0 - i32.const 4 - i32.add - local.get 5 - i32.store - br 4 (;@1;) - end - local.get 5 - local.get 3 - i32.const 1050544 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 3 - br_if 0 (;@3;) - end - end - local.get 0 - i32.const 3 - i32.store8 - end - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN3std2io5error5Error3new17h241fae668dc94904E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i64) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 3 - i32.const -1 - i32.le_s - br_if 0 (;@4;) - block ;; label = @5 - block ;; label = @6 - local.get 3 - br_if 0 (;@6;) - i32.const 1 - local.set 5 - i32.const 0 - local.set 6 - br 1 (;@5;) - end - local.get 3 - local.set 6 - local.get 3 - i32.const 1 - call $__rust_alloc - local.tee 5 - i32.eqz - br_if 2 (;@3;) - end - local.get 4 - i32.const 0 - i32.store offset=24 - local.get 4 - local.get 5 - i32.store offset=16 - local.get 4 - local.get 6 - i32.store offset=20 - local.get 4 - i32.const 16 - i32.add - local.get 3 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 4 - i32.load offset=16 - local.get 4 - i32.load offset=24 - local.tee 5 - i32.add - local.get 2 - local.get 3 - call $memcpy - drop - local.get 4 - i32.const 8 - i32.add - local.get 5 - local.get 3 - i32.add - local.tee 3 - i32.store - local.get 4 - local.get 3 - i32.store offset=24 - local.get 4 - local.get 4 - i64.load offset=16 - local.tee 7 - i64.store - local.get 4 - i32.const 16 - i32.add - i32.const 8 - i32.add - local.tee 5 - local.get 3 - i32.store - local.get 4 - local.get 7 - i64.store offset=16 - i32.const 12 - i32.const 4 - call $__rust_alloc - local.tee 2 - i32.eqz - br_if 2 (;@2;) - local.get 2 - local.get 4 - i64.load offset=16 - i64.store align=4 - local.get 2 - i32.const 8 - i32.add - local.get 5 - i32.load - i32.store - i32.const 12 - i32.const 4 - call $__rust_alloc - local.tee 3 - i32.eqz - br_if 3 (;@1;) - local.get 3 - local.get 1 - i32.store8 offset=8 - local.get 3 - i32.const 1049756 - i32.store offset=4 - local.get 3 - local.get 2 - i32.store - local.get 3 - local.get 4 - i32.load16_u offset=16 align=1 - i32.store16 offset=9 align=1 - local.get 3 - i32.const 11 - i32.add - local.get 4 - i32.const 16 - i32.add - i32.const 2 - i32.add - local.tee 2 - i32.load8_u - i32.store8 - local.get 0 - i32.const 2 - i32.store8 - local.get 0 - local.get 4 - i32.load16_u offset=16 align=1 - i32.store16 offset=1 align=1 - local.get 0 - i32.const 3 - i32.add - local.get 2 - i32.load8_u - i32.store8 - local.get 0 - i32.const 4 - i32.add - local.get 3 - i32.store - local.get 4 - i32.const 32 - i32.add - global.set 0 - return - end - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE - unreachable - end - local.get 3 - i32.const 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE - unreachable - end - i32.const 12 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - i32.const 12 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable) - (func $_ZN4core3fmt5Write10write_char17hb53f5ebecc3ea1e8E (type 3) (param i32 i32) (result i32) - (local i32 i32 i64 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - i32.const 0 - i32.store offset=4 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - i32.const 128 - i32.lt_u - br_if 0 (;@4;) - local.get 1 - i32.const 2048 - i32.lt_u - br_if 1 (;@3;) - local.get 2 - i32.const 4 - i32.add - local.set 3 - local.get 1 - i32.const 65536 - i32.ge_u - br_if 2 (;@2;) - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=6 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - i32.store8 offset=4 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=5 - i32.const 3 - local.set 1 - br 3 (;@1;) - end - local.get 2 - local.get 1 - i32.store8 offset=4 - local.get 2 - i32.const 4 - i32.add - local.set 3 - i32.const 1 - local.set 1 - br 2 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=5 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - i32.store8 offset=4 - local.get 2 - i32.const 4 - i32.add - local.set 3 - i32.const 2 - local.set 1 - br 1 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=7 - local.get 2 - local.get 1 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.store8 offset=4 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=6 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=5 - i32.const 4 - local.set 1 - end - local.get 2 - i32.const 8 - i32.add - local.get 0 - i32.load - local.get 3 - local.get 1 - call $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 2 - i32.load8_u offset=8 - i32.const 3 - i32.eq - br_if 0 (;@1;) - local.get 2 - i64.load offset=8 - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 1 - i32.load offset=4 - local.tee 3 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.load - local.get 5 - local.get 3 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i64.store offset=4 align=4 - i32.const 1 - local.set 1 - end - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 3 - i32.eqz - br_if 0 (;@3;) - loop ;; label = @4 - local.get 4 - i32.const 8 - i32.add - local.get 1 - local.get 2 - local.get 3 - call $_ZN61_$LT$std..io..stdio..StdoutLock$u20$as$u20$std..io..Write$GT$5write17h318ff9a8d34e94bcE - block ;; label = @5 - block ;; label = @6 - local.get 4 - i32.load offset=8 - i32.const 1 - i32.eq - br_if 0 (;@6;) - block ;; label = @7 - local.get 4 - i32.load offset=12 - local.tee 5 - br_if 0 (;@7;) - local.get 4 - i32.const 24 - i32.add - i32.const 14 - i32.const 1050340 - i32.const 28 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 4 - i64.load offset=24 - i64.store align=4 - br 6 (;@1;) - end - local.get 3 - local.get 5 - i32.lt_u - br_if 4 (;@2;) - local.get 2 - local.get 5 - i32.add - local.set 2 - local.get 3 - local.get 5 - i32.sub - local.set 3 - br 1 (;@5;) - end - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - local.get 4 - i32.load8_u offset=12 - local.tee 6 - br_table 1 (;@8;) 0 (;@9;) 2 (;@7;) 1 (;@8;) - end - local.get 4 - i32.load8_u offset=13 - local.set 5 - br 2 (;@6;) - end - local.get 4 - i32.load offset=16 - call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE - i32.const 255 - i32.and - local.set 5 - br 1 (;@6;) - end - local.get 4 - i32.load offset=16 - i32.load8_u offset=8 - local.set 5 - end - block ;; label = @6 - local.get 5 - i32.const 255 - i32.and - i32.const 15 - i32.eq - br_if 0 (;@6;) - local.get 0 - local.get 4 - i64.load offset=12 align=4 - i64.store align=4 - br 5 (;@1;) - end - local.get 6 - i32.const 2 - i32.lt_u - br_if 0 (;@5;) - local.get 4 - i32.load offset=16 - local.tee 5 - i32.load - local.get 5 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @6 - local.get 5 - i32.load offset=4 - local.tee 6 - i32.load offset=4 - local.tee 7 - i32.eqz - br_if 0 (;@6;) - local.get 5 - i32.load - local.get 7 - local.get 6 - i32.load offset=8 - call $__rust_dealloc - end - local.get 5 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 3 - br_if 0 (;@4;) - end - end - local.get 0 - i32.const 3 - i32.store8 - br 1 (;@1;) - end - local.get 5 - local.get 3 - i32.const 1050544 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN4core3fmt5Write9write_fmt17h742453284fe8e52bE (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1048632 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN4core3fmt5Write9write_fmt17h76d12290e419169eE (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1048656 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN3std9panicking12default_hook17h98793b832cd2dab6E (type 1) (param i32) - (local i32 i32 i32 i32 i32 i64 i32) - global.get 0 - i32.const 96 - i32.sub - local.tee 1 - global.set 0 - i32.const 1 - local.set 2 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - i32.load offset=1058352 - i32.const 1 - i32.eq - br_if 0 (;@3;) - i32.const 0 - i64.const 1 - i64.store offset=1058352 - br 1 (;@2;) - end - i32.const 0 - i32.load offset=1058356 - i32.const 1 - i32.gt_u - br_if 1 (;@1;) - end - block ;; label = @2 - i32.const 0 - i32.load offset=1058284 - local.tee 2 - i32.const 2 - i32.le_u - br_if 0 (;@2;) - i32.const 1 - local.set 2 - br 1 (;@1;) - end - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 2 - br_table 0 (;@4;) 1 (;@3;) 2 (;@2;) 0 (;@4;) - end - local.get 1 - i32.const 64 - i32.add - i32.const 1049653 - i32.const 14 - call $_ZN3std3env7_var_os17he9875667788e1d16E - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.load offset=64 - local.tee 3 - br_if 0 (;@5;) - i32.const 5 - local.set 2 - br 1 (;@4;) - end - local.get 1 - i32.load offset=68 - local.set 4 - block ;; label = @5 - block ;; label = @6 - local.get 1 - i32.const 72 - i32.add - i32.load - i32.const -1 - i32.add - local.tee 2 - i32.const 3 - i32.gt_u - br_if 0 (;@6;) - block ;; label = @7 - block ;; label = @8 - local.get 2 - br_table 0 (;@8;) 2 (;@6;) 2 (;@6;) 1 (;@7;) 0 (;@8;) - end - i32.const 4 - local.set 2 - i32.const 1 - local.set 5 - local.get 3 - i32.const 1049667 - i32.eq - br_if 2 (;@5;) - local.get 3 - i32.load8_u - i32.const 48 - i32.ne - br_if 1 (;@6;) - br 2 (;@5;) - end - i32.const 1 - local.set 2 - i32.const 3 - local.set 5 - local.get 3 - i32.const 1051176 - i32.eq - br_if 1 (;@5;) - local.get 3 - i32.load align=1 - i32.const 1819047270 - i32.eq - br_if 1 (;@5;) - end - i32.const 0 - local.set 2 - i32.const 2 - local.set 5 - end - local.get 4 - i32.eqz - br_if 0 (;@4;) - local.get 3 - local.get 4 - i32.const 1 - call $__rust_dealloc - end - i32.const 0 - i32.const 1 - local.get 5 - local.get 2 - i32.const 5 - i32.eq - local.tee 3 - select - i32.store offset=1058284 - i32.const 4 - local.get 2 - local.get 3 - select - local.set 2 - br 2 (;@1;) - end - i32.const 4 - local.set 2 - br 1 (;@1;) - end - i32.const 0 - local.set 2 - end - local.get 1 - local.get 2 - i32.store8 offset=35 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 0 - call $_ZN4core5panic9PanicInfo8location17hd9842140c74e4b5aE - local.tee 2 - i32.eqz - br_if 0 (;@3;) - local.get 1 - local.get 2 - i32.store offset=36 - local.get 1 - i32.const 24 - i32.add - local.get 0 - call $_ZN4core5panic8Location4file17h51ec8de78a0a7533E - local.get 1 - i32.load offset=24 - local.tee 2 - local.get 1 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 2) - local.set 6 - block ;; label = @4 - local.get 2 - i32.eqz - br_if 0 (;@4;) - local.get 6 - i64.const 9147559743429524724 - i64.eq - br_if 2 (;@2;) - end - local.get 1 - i32.const 16 - i32.add - local.get 0 - call $_ZN4core5panic8Location4file17h51ec8de78a0a7533E - local.get 1 - i32.load offset=16 - local.tee 2 - local.get 1 - i32.load offset=20 - i32.load offset=12 - call_indirect (type 2) - local.set 6 - i32.const 1051496 - local.set 5 - i32.const 8 - local.set 0 - block ;; label = @4 - local.get 2 - i32.eqz - br_if 0 (;@4;) - local.get 6 - i64.const 943913013690912652 - i64.ne - br_if 0 (;@4;) - local.get 2 - i32.load offset=8 - local.set 0 - local.get 2 - i32.load - local.set 5 - end - local.get 1 - local.get 5 - i32.store offset=40 - br 2 (;@1;) - end - i32.const 1049080 - i32.const 43 - i32.const 1051480 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 1 - local.get 2 - i32.load - i32.store offset=40 - local.get 2 - i32.load offset=4 - local.set 0 - end - local.get 1 - local.get 0 - i32.store offset=44 - i32.const 0 - local.set 0 - block ;; label = @1 - i32.const 0 - i32.load offset=1058340 - i32.const 1 - i32.eq - br_if 0 (;@1;) - i32.const 0 - i64.const 1 - i64.store offset=1058340 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058348 - end - local.get 1 - i32.const 1058344 - call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E - local.tee 2 - i32.store offset=52 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 2 - i32.load offset=16 - local.tee 5 - br_if 0 (;@3;) - br 1 (;@2;) - end - local.get 2 - i32.const 16 - i32.add - i32.const 0 - local.get 5 - select - local.tee 0 - i32.load offset=4 - local.tee 3 - i32.const -1 - i32.add - local.set 5 - local.get 3 - i32.eqz - br_if 1 (;@1;) - local.get 0 - i32.load - local.set 0 - end - local.get 1 - local.get 5 - i32.const 9 - local.get 0 - select - i32.store offset=60 - local.get 1 - local.get 0 - i32.const 1051504 - local.get 0 - select - i32.store offset=56 - local.get 1 - local.get 1 - i32.const 35 - i32.add - i32.store offset=76 - local.get 1 - local.get 1 - i32.const 36 - i32.add - i32.store offset=72 - local.get 1 - local.get 1 - i32.const 40 - i32.add - i32.store offset=68 - local.get 1 - local.get 1 - i32.const 56 - i32.add - i32.store offset=64 - i32.const 0 - local.set 3 - local.get 1 - i32.const 8 - i32.add - i32.const 0 - local.get 1 - call $_ZN3std2io5stdio9set_panic17h7aca8b71dbb6c3c1E - local.get 1 - i32.load offset=12 - local.set 5 - block ;; label = @2 - block ;; label = @3 - local.get 1 - i32.load offset=8 - local.tee 0 - i32.eqz - br_if 0 (;@3;) - local.get 1 - local.get 5 - i32.store offset=84 - local.get 1 - local.get 0 - i32.store offset=80 - local.get 1 - i32.const 64 - i32.add - local.get 1 - i32.const 80 - i32.add - i32.const 1051560 - call $_ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h46401a881447bbf1E - local.get 1 - local.get 1 - i32.load offset=80 - local.get 1 - i32.load offset=84 - call $_ZN3std2io5stdio9set_panic17h7aca8b71dbb6c3c1E - block ;; label = @4 - local.get 1 - i32.load - local.tee 3 - i32.eqz - br_if 0 (;@4;) - local.get 3 - local.get 1 - i32.load offset=4 - local.tee 4 - i32.load - call_indirect (type 1) - local.get 4 - i32.load offset=4 - local.tee 7 - i32.eqz - br_if 0 (;@4;) - local.get 3 - local.get 7 - local.get 4 - i32.load offset=8 - call $__rust_dealloc - end - i32.const 1 - local.set 3 - br 1 (;@2;) - end - local.get 1 - i32.const 64 - i32.add - local.get 1 - i32.const 88 - i32.add - i32.const 1051516 - call $_ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h46401a881447bbf1E - end - local.get 2 - local.get 2 - i32.load - local.tee 4 - i32.const -1 - i32.add - i32.store - block ;; label = @2 - local.get 4 - i32.const 1 - i32.ne - br_if 0 (;@2;) - local.get 1 - i32.const 52 - i32.add - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - block ;; label = @2 - local.get 0 - i32.const 0 - i32.ne - local.get 3 - i32.const 1 - i32.xor - i32.and - i32.eqz - br_if 0 (;@2;) - local.get 0 - local.get 5 - i32.load - call_indirect (type 1) - local.get 5 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@2;) - local.get 0 - local.get 2 - local.get 5 - i32.load offset=8 - call $__rust_dealloc - end - local.get 1 - i32.const 96 - i32.add - global.set 0 - return - end - local.get 5 - i32.const 0 - i32.const 1049852 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable) - (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0d04168c9cec80f1E (type 6) (param i32 i32) - (local i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.load - i32.store offset=12 - local.get 2 - i32.const 12 - i32.add - local.get 1 - call $_ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h1a740cc3bed420c0E - local.get 2 - i32.const 16 - i32.add - global.set 0) - (func $_ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h1a740cc3bed420c0E (type 6) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32) - local.get 0 - i32.load - local.tee 0 - i32.load8_u - local.set 2 - local.get 0 - i32.const 0 - i32.store8 - block ;; label = @1 - local.get 2 - i32.const 1 - i32.and - i32.eqz - br_if 0 (;@1;) - i32.const 1 - local.set 3 - loop ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - i32.const 0 - i32.load8_u offset=1058361 - br_if 0 (;@6;) - i32.const 0 - i32.load offset=1058280 - local.set 4 - i32.const 0 - local.get 3 - i32.const 10 - i32.eq - i32.store offset=1058280 - i32.const 0 - i32.const 0 - i32.store8 offset=1058361 - block ;; label = @7 - local.get 4 - i32.const 1 - i32.gt_u - br_if 0 (;@7;) - block ;; label = @8 - local.get 4 - br_table 5 (;@3;) 0 (;@8;) 5 (;@3;) - end - i32.const 1050948 - i32.const 31 - i32.const 1051016 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 4 - i32.load - local.tee 5 - local.get 4 - i32.load offset=8 - local.tee 2 - i32.const 3 - i32.shl - i32.add - local.set 6 - local.get 4 - i32.load offset=4 - local.set 7 - local.get 5 - local.set 0 - local.get 2 - i32.eqz - br_if 1 (;@5;) - local.get 5 - local.set 0 - loop ;; label = @7 - block ;; label = @8 - local.get 0 - i32.load - local.tee 2 - br_if 0 (;@8;) - local.get 0 - i32.const 8 - i32.add - local.set 0 - br 3 (;@5;) - end - local.get 2 - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 8 - i32.load offset=12 - call_indirect (type 1) - block ;; label = @8 - local.get 8 - i32.load offset=4 - local.tee 9 - i32.eqz - br_if 0 (;@8;) - local.get 2 - local.get 9 - local.get 8 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 8 - i32.add - local.tee 0 - local.get 6 - i32.ne - br_if 0 (;@7;) - br 3 (;@4;) - end - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 6 - local.get 0 - i32.eq - br_if 0 (;@4;) - loop ;; label = @5 - local.get 0 - i32.load - local.get 0 - i32.const 4 - i32.add - local.tee 2 - i32.load - i32.load - call_indirect (type 1) - block ;; label = @6 - local.get 2 - i32.load - local.tee 2 - i32.load offset=4 - local.tee 8 - i32.eqz - br_if 0 (;@6;) - local.get 0 - i32.load - local.get 8 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 8 - i32.add - local.tee 0 - local.get 6 - i32.ne - br_if 0 (;@5;) - end - end - block ;; label = @4 - local.get 7 - i32.eqz - br_if 0 (;@4;) - local.get 7 - i32.const 3 - i32.shl - local.tee 0 - i32.eqz - br_if 0 (;@4;) - local.get 5 - local.get 0 - i32.const 4 - call $__rust_dealloc - end - local.get 4 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 3 - i32.const 9 - i32.gt_u - local.set 0 - local.get 3 - i32.const 1 - i32.add - i32.const 10 - local.get 3 - i32.const 10 - i32.lt_u - select - local.tee 2 - local.set 3 - local.get 2 - i32.const 11 - i32.lt_u - local.get 0 - i32.const 1 - i32.xor - i32.and - br_if 0 (;@2;) - end - return - end - i32.const 1049080 - i32.const 43 - i32.const 1050764 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable) - (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2ca61fe20b181ea6E (type 8) (param i32 i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 3 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.load - i32.const 1 - i32.ne - br_if 0 (;@2;) - i32.const 1051180 - local.set 2 - i32.const 9 - local.set 4 - br 1 (;@1;) - end - local.get 3 - i32.const 16 - i32.add - local.get 2 - i32.load offset=4 - local.get 2 - i32.const 8 - i32.add - i32.load - call $_ZN4core3str9from_utf817h4147d06a7789f81eE - i32.const 1051180 - local.get 3 - i32.load offset=20 - local.get 3 - i32.load offset=16 - i32.const 1 - i32.eq - local.tee 4 - select - local.set 2 - i32.const 9 - local.get 3 - i32.const 16 - i32.add - i32.const 8 - i32.add - i32.load - local.get 4 - select - local.set 4 - end - local.get 3 - i32.const 8 - i32.add - local.get 2 - local.get 4 - call $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE - local.get 3 - i32.load offset=8 - local.get 3 - i32.load offset=12 - local.get 1 - call $_ZN66_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$3fmt17hb03f341134eb2e55E - local.set 2 - block ;; label = @1 - local.get 0 - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@1;) - local.get 1 - local.get 0 - i32.const 1 - call $__rust_dealloc - end - local.get 3 - i32.const 32 - i32.add - global.set 0 - local.get 2) - (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hc0ad29c3b7e3386dE (type 1) (param i32) - (local i32) - block ;; label = @1 - local.get 0 - i32.load - local.tee 0 - i32.load8_u offset=4 - br_if 0 (;@1;) - local.get 0 - i32.const 0 - i32.store8 offset=4 - local.get 0 - i32.load - local.set 1 - local.get 0 - i32.const 1 - i32.store - local.get 1 - i32.load - local.tee 0 - local.get 0 - i32.load - local.tee 0 - i32.const -1 - i32.add - i32.store - block ;; label = @2 - local.get 0 - i32.const 1 - i32.ne - br_if 0 (;@2;) - local.get 1 - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E - end - local.get 1 - i32.const 4 - i32.const 4 - call $__rust_dealloc - return - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable) - (func $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E (type 1) (param i32) - (local i32 i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 1 - global.set 0 - block ;; label = @1 - local.get 0 - i32.load - local.tee 2 - i32.load8_u offset=24 - i32.const 2 - i32.eq - br_if 0 (;@1;) - local.get 2 - i32.const 25 - i32.add - i32.load8_u - br_if 0 (;@1;) - local.get 1 - i32.const 8 - i32.add - local.get 2 - i32.const 12 - i32.add - call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 1 - i32.load8_u offset=8 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 1 - i32.load offset=12 - local.tee 3 - i32.load - local.get 3 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 3 - i32.load offset=4 - local.tee 4 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@2;) - local.get 3 - i32.load - local.get 5 - local.get 4 - i32.load offset=8 - call $__rust_dealloc - end - local.get 3 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - block ;; label = @1 - local.get 2 - i32.load offset=12 - local.tee 3 - i32.eqz - br_if 0 (;@1;) - local.get 2 - i32.const 16 - i32.add - i32.load - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 3 - local.get 2 - i32.const 1 - call $__rust_dealloc - end - block ;; label = @1 - local.get 0 - i32.load - local.tee 2 - i32.const -1 - i32.eq - br_if 0 (;@1;) - local.get 2 - local.get 2 - i32.load offset=4 - local.tee 0 - i32.const -1 - i32.add - i32.store offset=4 - local.get 0 - i32.const 1 - i32.ne - br_if 0 (;@1;) - local.get 2 - i32.const 32 - i32.const 4 - call $__rust_dealloc - end - local.get 1 - i32.const 16 - i32.add - global.set 0) - (func $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 1 - i32.store offset=12 - local.get 3 - local.get 0 - i32.store offset=8 - local.get 3 - i32.const 8 - i32.add - i32.const 1051820 - i32.const 0 - local.get 2 - call $_ZN4core5panic8Location6caller17hd41fba21c9b92f2bE - call $_ZN3std9panicking20rust_panic_with_hook17hb404003726e52692E - unreachable) - (func $_ZN4core3ptr13drop_in_place17h02e69d70ceca204bE (type 1) (param i32)) - (func $_ZN4core3ptr13drop_in_place17h031a203171380296E (type 1) (param i32) - (local i32 i32 i32) - block ;; label = @1 - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 3 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.load - local.get 3 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end) - (func $_ZN4core3ptr13drop_in_place17h286c4e66fba3710aE (type 1) (param i32) - (local i32) - block ;; label = @1 - local.get 0 - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@1;) - local.get 1 - local.get 0 - i32.const 1 - call $__rust_dealloc - end) - (func $_ZN4core3ptr13drop_in_place17h2bbaf394966f4871E (type 1) (param i32) - block ;; label = @1 - local.get 0 - i32.load8_u offset=4 - br_if 0 (;@1;) - block ;; label = @2 - i32.const 0 - i32.load offset=1058352 - i32.const 1 - i32.eq - br_if 0 (;@2;) - i32.const 0 - i64.const 1 - i64.store offset=1058352 - br 1 (;@1;) - end - i32.const 0 - i32.load offset=1058356 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.load - i32.const 1 - i32.store8 offset=4 - end - local.get 0 - i32.load - i32.load - i32.const 0 - i32.store8) - (func $_ZN4core3ptr13drop_in_place17ha21ac40875b3662cE (type 1) (param i32) - (local i32) - block ;; label = @1 - local.get 0 - i32.load offset=4 - local.tee 1 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@1;) - local.get 1 - local.get 0 - i32.const 1 - call $__rust_dealloc - end) - (func $_ZN4core3ptr13drop_in_place17he50565616af5671aE (type 1) (param i32) - (local i32 i32) - local.get 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @1 - local.get 0 - i32.load offset=4 - local.tee 1 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.load - local.get 2 - local.get 1 - i32.load offset=8 - call $__rust_dealloc - end) - (func $_ZN4core3ptr13drop_in_place17hea2daf7bfbdfa5f6E (type 1) (param i32) - (local i32) - block ;; label = @1 - local.get 0 - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@1;) - local.get 1 - local.get 0 - i32.const 1 - call $__rust_dealloc - end) - (func $_ZN4core3ptr13drop_in_place17hf3262b356a2935b1E (type 1) (param i32) - (local i32) - block ;; label = @1 - local.get 0 - i32.load offset=4 - local.tee 1 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@1;) - local.get 1 - local.get 0 - i32.const 1 - call $__rust_dealloc - end) - (func $_ZN4core6option15Option$LT$T$GT$6unwrap17h710816bd9632510dE (type 5) (param i32) (result i32) - block ;; label = @1 - local.get 0 - br_if 0 (;@1;) - i32.const 1049080 - i32.const 43 - i32.const 1051768 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 0) - (func $_ZN4core6option15Option$LT$T$GT$6unwrap17ha9b23444d02fba95E (type 3) (param i32 i32) (result i32) - block ;; label = @1 - local.get 0 - br_if 0 (;@1;) - i32.const 1049080 - i32.const 43 - local.get 1 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 0) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h2b6afd714e60244dE (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - call $_ZN4core3fmt5Write10write_char17hb53f5ebecc3ea1e8E) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hd4204762d830caa6E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load - local.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - i32.const 128 - i32.lt_u - br_if 0 (;@4;) - local.get 2 - i32.const 0 - i32.store offset=12 - local.get 1 - i32.const 2048 - i32.lt_u - br_if 1 (;@3;) - local.get 2 - i32.const 12 - i32.add - local.set 3 - block ;; label = @5 - local.get 1 - i32.const 65536 - i32.ge_u - br_if 0 (;@5;) - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=14 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - i32.store8 offset=12 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - i32.const 3 - local.set 1 - br 3 (;@2;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=15 - local.get 2 - local.get 1 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.store8 offset=12 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=14 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - i32.const 4 - local.set 1 - br 2 (;@2;) - end - block ;; label = @4 - local.get 0 - i32.load offset=8 - local.tee 3 - local.get 0 - i32.const 4 - i32.add - i32.load - i32.ne - br_if 0 (;@4;) - local.get 0 - i32.const 1 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 0 - i32.load offset=8 - local.set 3 - end - local.get 0 - i32.load - local.get 3 - i32.add - local.get 1 - i32.store8 - local.get 0 - local.get 0 - i32.load offset=8 - i32.const 1 - i32.add - i32.store offset=8 - br 2 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - i32.store8 offset=12 - local.get 2 - i32.const 12 - i32.add - local.set 3 - i32.const 2 - local.set 1 - end - local.get 0 - local.get 1 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 0 - i32.load - local.get 0 - i32.const 8 - i32.add - local.tee 0 - i32.load - local.tee 4 - i32.add - local.get 3 - local.get 1 - call $memcpy - drop - local.get 0 - local.get 4 - local.get 1 - i32.add - i32.store - end - local.get 2 - i32.const 16 - i32.add - global.set 0 - i32.const 0) - (func $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE (type 6) (param i32 i32) - (local i32 i32) - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 2 - local.get 0 - i32.load offset=8 - local.tee 3 - i32.sub - local.get 1 - i32.ge_u - br_if 0 (;@3;) - local.get 3 - local.get 1 - i32.add - local.tee 1 - local.get 3 - i32.lt_u - br_if 1 (;@2;) - local.get 2 - i32.const 1 - i32.shl - local.tee 3 - local.get 1 - local.get 3 - local.get 1 - i32.gt_u - select - local.tee 1 - i32.const 8 - local.get 1 - i32.const 8 - i32.gt_u - select - local.tee 3 - i32.const 0 - i32.lt_s - br_if 1 (;@2;) - block ;; label = @4 - block ;; label = @5 - local.get 0 - i32.load - i32.const 0 - local.get 2 - select - local.tee 1 - i32.eqz - br_if 0 (;@5;) - local.get 2 - local.get 3 - i32.eq - br_if 1 (;@4;) - block ;; label = @6 - local.get 2 - br_if 0 (;@6;) - local.get 3 - i32.const 1 - call $__rust_alloc - local.set 1 - br 2 (;@4;) - end - local.get 1 - local.get 2 - i32.const 1 - local.get 3 - call $__rust_realloc - local.set 1 - br 1 (;@4;) - end - local.get 3 - i32.const 1 - call $__rust_alloc - local.set 1 - end - local.get 1 - i32.eqz - br_if 2 (;@1;) - local.get 0 - local.get 1 - i32.store - local.get 0 - i32.const 4 - i32.add - local.get 3 - i32.store - end - return - end - call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E - unreachable - end - local.get 3 - i32.const 1 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hf61ed0efe1fa8f1aE (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - call $_ZN4core3fmt5Write10write_char17h5ee09af859d49745E) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h424f8a87ef227754E (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.load - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1048632 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h7883bd689e386d70E (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.load - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1048656 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hf5f9ccb98e7f13b1E (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.load - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1048680 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h1d2341287c3c1530E (type 8) (param i32 i32 i32) (result i32) - (local i32 i64 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 8 - i32.add - local.get 0 - i32.load - local.tee 0 - i32.load - local.get 1 - local.get 2 - call $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 3 - i32.load8_u offset=8 - i32.const 3 - i32.eq - br_if 0 (;@1;) - local.get 3 - i64.load offset=8 - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.load - local.get 5 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i64.store offset=4 align=4 - i32.const 1 - local.set 1 - end - local.get 3 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h244888c2b6dd19d8E (type 8) (param i32 i32 i32) (result i32) - (local i32 i64 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 8 - i32.add - local.get 0 - i32.load - local.tee 0 - i32.load - local.get 1 - local.get 2 - call $_ZN3std2io5Write9write_all17h39d0435291d0ea60E - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 3 - i32.load8_u offset=8 - i32.const 3 - i32.eq - br_if 0 (;@1;) - local.get 3 - i64.load offset=8 - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.load - local.get 5 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i64.store offset=4 align=4 - i32.const 1 - local.set 1 - end - local.get 3 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17heec17b7d6bd2890dE (type 8) (param i32 i32 i32) (result i32) - (local i32) - local.get 0 - i32.load - local.tee 0 - local.get 2 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 0 - i32.load - local.get 0 - i32.const 8 - i32.add - local.tee 0 - i32.load - local.tee 3 - i32.add - local.get 1 - local.get 2 - call $memcpy - drop - local.get 0 - local.get 3 - local.get 2 - i32.add - i32.store - i32.const 0) - (func $_ZN5alloc3vec12Vec$LT$T$GT$13reserve_exact17hfa748ba1b02fb699E (type 6) (param i32 i32) - (local i32 i32) - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 2 - local.get 0 - i32.load offset=8 - local.tee 3 - i32.sub - local.get 1 - i32.ge_u - br_if 0 (;@3;) - local.get 3 - local.get 1 - i32.add - local.tee 1 - local.get 3 - i32.lt_u - br_if 1 (;@2;) - local.get 1 - i32.const 0 - i32.lt_s - br_if 1 (;@2;) - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - local.get 0 - i32.load - i32.const 0 - local.get 2 - select - local.tee 3 - i32.eqz - br_if 0 (;@6;) - local.get 2 - local.get 1 - i32.eq - br_if 1 (;@5;) - block ;; label = @7 - local.get 2 - br_if 0 (;@7;) - block ;; label = @8 - local.get 1 - br_if 0 (;@8;) - i32.const 1 - local.set 3 - br 4 (;@4;) - end - local.get 1 - i32.const 1 - call $__rust_alloc - local.set 3 - br 2 (;@5;) - end - local.get 3 - local.get 2 - i32.const 1 - local.get 1 - call $__rust_realloc - local.set 3 - br 1 (;@5;) - end - block ;; label = @6 - local.get 1 - br_if 0 (;@6;) - i32.const 1 - local.set 3 - br 2 (;@4;) - end - local.get 1 - i32.const 1 - call $__rust_alloc - local.set 3 - end - local.get 3 - i32.eqz - br_if 3 (;@1;) - end - local.get 0 - local.get 3 - i32.store - local.get 0 - i32.const 4 - i32.add - local.get 1 - i32.store - end - return - end - call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E - unreachable - end - local.get 1 - i32.const 1 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable) - (func $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E (type 1) (param i32) - (local i32 i32) - block ;; label = @1 - local.get 0 - i32.load - local.tee 1 - i32.load offset=16 - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 2 - i32.const 0 - i32.store8 - local.get 1 - i32.load offset=20 - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 1 - i32.load offset=16 - local.get 2 - i32.const 1 - call $__rust_dealloc - end - local.get 1 - i32.load offset=28 - i32.const 1 - i32.const 1 - call $__rust_dealloc - block ;; label = @1 - local.get 0 - i32.load - local.tee 1 - i32.const -1 - i32.eq - br_if 0 (;@1;) - local.get 1 - local.get 1 - i32.load offset=4 - local.tee 0 - i32.const -1 - i32.add - i32.store offset=4 - local.get 0 - i32.const 1 - i32.ne - br_if 0 (;@1;) - local.get 1 - i32.const 48 - i32.const 8 - call $__rust_dealloc - end) - (func $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E (type 6) (param i32 i32) - (local i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.const 3 - i32.store8 - block ;; label = @1 - block ;; label = @2 - local.get 1 - i32.const 8 - i32.add - local.tee 3 - i32.load - local.tee 4 - i32.eqz - br_if 0 (;@2;) - i32.const 0 - local.set 5 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - loop ;; label = @6 - local.get 1 - i32.const 1 - i32.store8 offset=13 - local.get 1 - i32.load8_u offset=12 - local.tee 6 - i32.const 2 - i32.eq - br_if 1 (;@5;) - local.get 3 - i32.load - local.tee 7 - local.get 5 - i32.lt_u - br_if 2 (;@4;) - local.get 7 - local.get 5 - i32.sub - local.set 7 - block ;; label = @7 - block ;; label = @8 - local.get 6 - i32.const 1 - i32.eq - br_if 0 (;@8;) - local.get 1 - i32.load - local.set 6 - local.get 2 - local.get 7 - i32.store offset=12 - local.get 2 - local.get 6 - local.get 5 - i32.add - i32.store offset=8 - local.get 2 - i32.const 16 - i32.add - i32.const 1 - local.get 2 - i32.const 8 - i32.add - i32.const 1 - call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E - block ;; label = @9 - local.get 2 - i32.load16_u offset=16 - i32.const 1 - i32.ne - br_if 0 (;@9;) - local.get 2 - local.get 2 - i32.load16_u offset=18 - i32.store16 offset=30 - local.get 2 - i32.const 30 - i32.add - call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE - i32.const 65535 - i32.and - local.tee 6 - i32.const 8 - i32.eq - br_if 1 (;@8;) - local.get 1 - i32.const 0 - i32.store8 offset=13 - local.get 6 - call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE - i32.const 255 - i32.and - i32.const 15 - i32.eq - br_if 2 (;@7;) - local.get 0 - i32.const 0 - i32.store - local.get 0 - i32.const 4 - i32.add - local.get 6 - i32.store - br 6 (;@3;) - end - local.get 2 - i32.load offset=20 - local.set 7 - end - local.get 1 - i32.const 0 - i32.store8 offset=13 - block ;; label = @8 - local.get 7 - br_if 0 (;@8;) - local.get 2 - i32.const 16 - i32.add - i32.const 14 - i32.const 1049928 - i32.const 33 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 2 - i64.load offset=16 - i64.store align=4 - br 5 (;@3;) - end - local.get 7 - local.get 5 - i32.add - local.set 5 - end - local.get 5 - local.get 4 - i32.lt_u - br_if 0 (;@6;) - br 3 (;@3;) - end - end - i32.const 1049080 - i32.const 43 - i32.const 1049896 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 5 - local.get 7 - i32.const 1049912 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 5 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.const 8 - i32.add - local.tee 7 - i32.load - local.tee 6 - local.get 5 - i32.lt_u - br_if 1 (;@1;) - local.get 7 - i32.const 0 - i32.store - local.get 6 - local.get 5 - i32.sub - local.tee 7 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.load - local.tee 6 - local.get 6 - local.get 5 - i32.add - local.get 7 - call $memmove - drop - local.get 1 - i32.const 8 - i32.add - local.get 7 - i32.store - end - local.get 2 - i32.const 32 - i32.add - global.set 0 - return - end - local.get 5 - local.get 6 - call $_ZN5alloc3vec12Vec$LT$T$GT$5drain17end_assert_failed17h686d263f81d07b88E - unreachable) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE (type 0) - call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E - unreachable) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE (type 6) (param i32 i32) - local.get 0 - local.get 1 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable) - (func $_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h70c46c42c25c7b72E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 0 - i32.load offset=8 - local.get 1 - call $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E) - (func $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E (type 5) (param i32) (result i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 1 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 0 - i32.load - local.tee 2 - i32.const 1 - i32.add - i32.const 0 - i32.le_s - br_if 0 (;@4;) - local.get 0 - local.get 2 - i32.store - block ;; label = @5 - local.get 0 - i32.load offset=4 - local.tee 3 - br_if 0 (;@5;) - local.get 1 - i32.const 0 - i32.store offset=8 - local.get 1 - i32.const 8 - i32.add - call $_ZN3std6thread6Thread3new17hcdd908459063ea43E - local.set 3 - local.get 0 - i32.load - br_if 2 (;@3;) - local.get 0 - i32.const -1 - i32.store - block ;; label = @6 - local.get 0 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@6;) - local.get 2 - local.get 2 - i32.load - local.tee 4 - i32.const -1 - i32.add - i32.store - local.get 4 - i32.const 1 - i32.ne - br_if 0 (;@6;) - local.get 0 - i32.const 4 - i32.add - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - local.get 0 - local.get 3 - i32.store offset=4 - local.get 0 - local.get 0 - i32.load - i32.const 1 - i32.add - local.tee 2 - i32.store - end - local.get 2 - br_if 2 (;@2;) - local.get 0 - i32.const -1 - i32.store - local.get 3 - local.get 3 - i32.load - local.tee 2 - i32.const 1 - i32.add - i32.store - local.get 2 - i32.const -1 - i32.le_s - br_if 3 (;@1;) - local.get 0 - local.get 0 - i32.load - i32.const 1 - i32.add - i32.store - local.get 1 - i32.const 32 - i32.add - global.set 0 - local.get 3 - return - end - i32.const 1048912 - i32.const 24 - local.get 1 - i32.const 24 - i32.add - i32.const 1049124 - i32.const 1048936 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - i32.const 1048812 - i32.const 16 - local.get 1 - i32.const 24 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - i32.const 1048812 - i32.const 16 - local.get 1 - i32.const 24 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - unreachable - unreachable) - (func $_ZN3std6thread4park17h939424159e238725E (type 0) - (local i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 96 - i32.sub - local.tee 0 - global.set 0 - block ;; label = @1 - i32.const 0 - i32.load offset=1058340 - i32.const 1 - i32.eq - br_if 0 (;@1;) - i32.const 0 - i64.const 1 - i64.store offset=1058340 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058348 - end - i32.const 1058344 - call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E - local.tee 1 - i32.const 0 - local.get 1 - i32.load offset=24 - local.tee 2 - local.get 2 - i32.const 2 - i32.eq - local.tee 2 - select - i32.store offset=24 - local.get 0 - local.get 1 - i32.store offset=8 - block ;; label = @1 - local.get 2 - br_if 0 (;@1;) - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 0 - i32.load offset=8 - local.tee 1 - i32.const 28 - i32.add - local.tee 3 - i32.load - local.tee 2 - i32.load8_u - br_if 0 (;@5;) - local.get 2 - i32.const 1 - i32.store8 - i32.const 0 - local.set 4 - block ;; label = @6 - block ;; label = @7 - i32.const 0 - i32.load offset=1058352 - i32.const 1 - i32.ne - br_if 0 (;@7;) - i32.const 0 - i32.load offset=1058356 - local.set 4 - br 1 (;@6;) - end - i32.const 0 - i64.const 1 - i64.store offset=1058352 - end - i32.const 0 - local.get 4 - i32.store offset=1058356 - local.get 1 - i32.load8_u offset=32 - br_if 1 (;@4;) - local.get 1 - local.get 1 - i32.load offset=24 - local.tee 2 - i32.const 1 - local.get 2 - select - i32.store offset=24 - block ;; label = @6 - local.get 2 - br_if 0 (;@6;) - local.get 0 - i32.load offset=8 - i32.const 36 - i32.add - local.get 3 - i32.load - call $_ZN3std4sync7condvar7Condvar6verify17h7fb2a623225b9b55E - call $_ZN3std10sys_common7condvar7Condvar4wait17he75a7ac734aeedb4E - unreachable - end - local.get 2 - i32.const 2 - i32.ne - br_if 2 (;@3;) - local.get 0 - i32.load offset=8 - local.tee 5 - i32.load offset=24 - local.set 2 - local.get 5 - i32.const 0 - i32.store offset=24 - local.get 0 - local.get 2 - i32.store offset=12 - local.get 2 - i32.const 2 - i32.ne - br_if 3 (;@2;) - block ;; label = @6 - local.get 4 - br_if 0 (;@6;) - block ;; label = @7 - i32.const 0 - i32.load offset=1058352 - i32.const 1 - i32.eq - br_if 0 (;@7;) - i32.const 0 - i64.const 1 - i64.store offset=1058352 - br 1 (;@6;) - end - i32.const 0 - i32.load offset=1058356 - i32.eqz - br_if 0 (;@6;) - local.get 1 - i32.const 1 - i32.store8 offset=32 - end - local.get 3 - i32.load - i32.const 0 - i32.store8 - br 4 (;@1;) - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 0 - local.get 3 - i32.store offset=72 - local.get 0 - local.get 4 - i32.const 0 - i32.ne - i32.store8 offset=76 - i32.const 1049172 - i32.const 43 - local.get 0 - i32.const 72 - i32.add - i32.const 1049232 - i32.const 1049324 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - i32.const 1049340 - i32.const 23 - i32.const 1049364 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 0 - i32.const 40 - i32.add - i32.const 20 - i32.add - i32.const 6 - i32.store - local.get 0 - i32.const 52 - i32.add - i32.const 7 - i32.store - local.get 0 - i32.const 16 - i32.add - i32.const 20 - i32.add - i32.const 3 - i32.store - local.get 0 - local.get 0 - i32.const 12 - i32.add - i32.store offset=64 - local.get 0 - i32.const 1049380 - i32.store offset=68 - local.get 0 - i32.const 72 - i32.add - i32.const 20 - i32.add - i32.const 0 - i32.store - local.get 0 - i64.const 3 - i64.store offset=20 align=4 - local.get 0 - i32.const 1049056 - i32.store offset=16 - local.get 0 - i32.const 7 - i32.store offset=44 - local.get 0 - i32.const 1049036 - i32.store offset=88 - local.get 0 - i64.const 1 - i64.store offset=76 align=4 - local.get 0 - i32.const 1049416 - i32.store offset=72 - local.get 0 - local.get 0 - i32.const 40 - i32.add - i32.store offset=32 - local.get 0 - local.get 0 - i32.const 72 - i32.add - i32.store offset=56 - local.get 0 - local.get 0 - i32.const 68 - i32.add - i32.store offset=48 - local.get 0 - local.get 0 - i32.const 64 - i32.add - i32.store offset=40 - local.get 0 - i32.const 16 - i32.add - i32.const 1049424 - call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E - unreachable - end - local.get 0 - i32.load offset=8 - local.tee 1 - local.get 1 - i32.load - local.tee 1 - i32.const -1 - i32.add - i32.store - block ;; label = @1 - local.get 1 - i32.const 1 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.const 8 - i32.add - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - local.get 0 - i32.const 96 - i32.add - global.set 0) - (func $_ZN3std4sync7condvar7Condvar6verify17h7fb2a623225b9b55E (type 6) (param i32 i32) - (local i32) - local.get 0 - local.get 0 - i32.load offset=4 - local.tee 2 - local.get 1 - local.get 2 - select - i32.store offset=4 - block ;; label = @1 - local.get 2 - i32.eqz - br_if 0 (;@1;) - local.get 2 - local.get 1 - i32.eq - br_if 0 (;@1;) - i32.const 1050624 - i32.const 54 - i32.const 1050704 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end) - (func $_ZN3std10sys_common7condvar7Condvar4wait17he75a7ac734aeedb4E (type 0) - (local i32) - local.get 0 - local.get 0 - call $_ZN3std3sys4wasi7condvar7Condvar4wait17hd58c2e705c9c4c90E - unreachable) - (func $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E (type 6) (param i32 i32) - (local i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 1 - call $_ZN4core5panic8Location6caller17hd41fba21c9b92f2bE - i32.store offset=12 - local.get 2 - local.get 0 - i32.store offset=8 - local.get 2 - i32.const 1049036 - i32.store offset=4 - local.get 2 - i32.const 1049036 - i32.store - local.get 2 - call $rust_begin_unwind - unreachable) - (func $_ZN3std6thread6Thread3new17hcdd908459063ea43E (type 5) (param i32) (result i32) - (local i32 i32 i32 i32 i64) - global.get 0 - i32.const 48 - i32.sub - local.tee 1 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - local.get 0 - i32.load - local.tee 2 - br_if 0 (;@6;) - i32.const 0 - local.set 3 - br 1 (;@5;) - end - local.get 1 - local.get 0 - i64.load offset=4 align=4 - i64.store offset=36 align=4 - local.get 1 - local.get 2 - i32.store offset=32 - local.get 1 - i32.const 16 - i32.add - local.get 1 - i32.const 32 - i32.add - call $_ZN5alloc6string104_$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..vec..Vec$LT$u8$GT$$GT$4from17h4fac04ba81ae9773E - local.get 1 - i32.const 8 - i32.add - i32.const 0 - local.get 1 - i32.load offset=16 - local.tee 0 - local.get 1 - i32.load offset=24 - call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E - local.get 1 - i32.load offset=8 - br_if 1 (;@4;) - local.get 1 - i32.const 32 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 16 - i32.add - i32.const 8 - i32.add - i32.load - i32.store - local.get 1 - local.get 1 - i64.load offset=16 - i64.store offset=32 - local.get 1 - local.get 1 - i32.const 32 - i32.add - call $_ZN3std3ffi5c_str7CString18from_vec_unchecked17h1d6cb68d9855bba2E - local.get 1 - i32.load offset=4 - local.set 4 - local.get 1 - i32.load - local.set 3 - end - i32.const 0 - i32.load8_u offset=1058360 - br_if 1 (;@3;) - i32.const 0 - i32.const 1 - i32.store8 offset=1058360 - block ;; label = @5 - block ;; label = @6 - i32.const 0 - i64.load offset=1058256 - local.tee 5 - i64.const -1 - i64.eq - br_if 0 (;@6;) - i32.const 0 - local.get 5 - i64.const 1 - i64.add - i64.store offset=1058256 - local.get 5 - i64.const 0 - i64.ne - br_if 1 (;@5;) - i32.const 1049080 - i32.const 43 - i32.const 1049512 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - i32.const 1049440 - i32.const 55 - i32.const 1049496 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - i32.const 0 - i32.const 0 - i32.store8 offset=1058360 - i32.const 1 - i32.const 1 - call $__rust_alloc - local.tee 2 - i32.eqz - br_if 2 (;@2;) - local.get 2 - i32.const 0 - i32.store8 - i32.const 48 - i32.const 8 - call $__rust_alloc - local.tee 0 - i32.eqz - br_if 3 (;@1;) - local.get 0 - i64.const 1 - i64.store offset=36 align=4 - local.get 0 - i32.const 0 - i32.store offset=24 - local.get 0 - local.get 4 - i32.store offset=20 - local.get 0 - local.get 3 - i32.store offset=16 - local.get 0 - local.get 5 - i64.store offset=8 - local.get 0 - i64.const 4294967297 - i64.store - local.get 0 - local.get 2 - i64.extend_i32_u - i64.store offset=28 align=4 - local.get 1 - i32.const 48 - i32.add - global.set 0 - local.get 0 - return - end - local.get 1 - i32.load offset=12 - local.set 2 - local.get 1 - i32.const 40 - i32.add - local.get 1 - i64.load offset=20 align=4 - i64.store - local.get 1 - local.get 0 - i32.store offset=36 - local.get 1 - local.get 2 - i32.store offset=32 - i32.const 1049528 - i32.const 47 - local.get 1 - i32.const 32 - i32.add - i32.const 1049156 - i32.const 1049576 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - i32.const 1 - i32.const 1 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - i32.const 48 - i32.const 8 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable) - (func $_ZN3std3ffi5c_str7CString18from_vec_unchecked17h1d6cb68d9855bba2E (type 6) (param i32 i32) - (local i32 i32 i32) - local.get 1 - i32.const 1 - call $_ZN5alloc3vec12Vec$LT$T$GT$13reserve_exact17hfa748ba1b02fb699E - block ;; label = @1 - local.get 1 - i32.load offset=8 - local.tee 2 - local.get 1 - i32.const 4 - i32.add - local.tee 3 - i32.load - local.tee 4 - i32.ne - br_if 0 (;@1;) - local.get 1 - i32.const 1 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 3 - i32.load - local.set 4 - local.get 1 - i32.load offset=8 - local.set 2 - end - local.get 1 - local.get 2 - i32.const 1 - i32.add - local.tee 3 - i32.store offset=8 - local.get 1 - i32.load - local.tee 1 - local.get 2 - i32.add - i32.const 0 - i32.store8 - block ;; label = @1 - block ;; label = @2 - local.get 4 - local.get 3 - i32.ne - br_if 0 (;@2;) - local.get 1 - local.set 2 - br 1 (;@1;) - end - block ;; label = @2 - block ;; label = @3 - local.get 4 - local.get 3 - i32.lt_u - br_if 0 (;@3;) - local.get 4 - br_if 1 (;@2;) - local.get 1 - local.set 2 - br 2 (;@1;) - end - i32.const 1049248 - i32.const 36 - i32.const 1048796 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - block ;; label = @2 - local.get 3 - br_if 0 (;@2;) - i32.const 1 - local.set 2 - local.get 1 - local.get 4 - i32.const 1 - call $__rust_dealloc - br 1 (;@1;) - end - local.get 1 - local.get 4 - i32.const 1 - local.get 3 - call $__rust_realloc - local.tee 2 - br_if 0 (;@1;) - local.get 3 - i32.const 1 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - local.get 0 - local.get 3 - i32.store offset=4 - local.get 0 - local.get 2 - i32.store) - (func $_ZN3std3env7_var_os17he9875667788e1d16E (type 7) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i64) - global.get 0 - i32.const 80 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 2 - i32.store offset=28 - local.get 3 - local.get 1 - i32.store offset=24 - i32.const 1 - local.set 4 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 2 - i32.const 1 - i32.add - local.tee 5 - i32.const -1 - i32.le_s - br_if 0 (;@4;) - i32.const 0 - local.set 6 - block ;; label = @5 - local.get 5 - i32.eqz - br_if 0 (;@5;) - local.get 5 - local.set 6 - local.get 5 - i32.const 1 - call $__rust_alloc - local.tee 4 - i32.eqz - br_if 2 (;@3;) - end - local.get 3 - i32.const 0 - i32.store offset=72 - local.get 3 - local.get 4 - i32.store offset=64 - local.get 3 - local.get 6 - i32.store offset=68 - local.get 3 - i32.const 64 - i32.add - local.get 2 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 3 - i32.load offset=64 - local.tee 5 - local.get 3 - i32.load offset=72 - local.tee 4 - i32.add - local.get 1 - local.get 2 - call $memcpy - drop - local.get 3 - local.get 4 - local.get 2 - i32.add - local.tee 2 - i32.store offset=72 - local.get 3 - i32.const 16 - i32.add - i32.const 0 - local.get 5 - local.get 2 - call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - local.get 3 - i32.load offset=16 - br_if 0 (;@7;) - local.get 3 - i32.const 40 - i32.add - i32.const 8 - i32.add - local.get 3 - i32.const 64 - i32.add - i32.const 8 - i32.add - i32.load - i32.store - local.get 3 - local.get 3 - i64.load offset=64 - i64.store offset=40 - local.get 3 - i32.const 8 - i32.add - local.get 3 - i32.const 40 - i32.add - call $_ZN3std3ffi5c_str7CString18from_vec_unchecked17h1d6cb68d9855bba2E - local.get 3 - i32.load offset=12 - local.set 7 - local.get 3 - i32.load offset=8 - local.tee 8 - call $getenv - local.tee 6 - br_if 1 (;@6;) - i32.const 0 - local.set 2 - br 2 (;@5;) - end - local.get 3 - i32.load offset=68 - local.set 2 - local.get 3 - i32.const 40 - i32.add - i32.const 11 - i32.const 1049796 - i32.const 33 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - block ;; label = @7 - local.get 2 - i32.eqz - br_if 0 (;@7;) - local.get 5 - local.get 2 - i32.const 1 - call $__rust_dealloc - end - local.get 3 - local.get 3 - i64.load offset=40 - i64.store offset=32 - local.get 3 - i32.const 60 - i32.add - i32.const 2 - i32.store - local.get 3 - i32.const 76 - i32.add - i32.const 8 - i32.store - local.get 3 - i64.const 2 - i64.store offset=44 align=4 - local.get 3 - i32.const 1049724 - i32.store offset=40 - local.get 3 - i32.const 9 - i32.store offset=68 - local.get 3 - local.get 3 - i32.const 64 - i32.add - i32.store offset=56 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=72 - local.get 3 - local.get 3 - i32.const 24 - i32.add - i32.store offset=64 - local.get 3 - i32.const 40 - i32.add - i32.const 1049740 - call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E - unreachable - end - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 6 - i32.load8_u - i32.eqz - br_if 0 (;@8;) - local.get 6 - i32.const 1 - i32.add - local.set 4 - i32.const 0 - local.set 2 - loop ;; label = @9 - local.get 4 - local.get 2 - i32.add - local.set 5 - local.get 2 - i32.const 1 - i32.add - local.tee 1 - local.set 2 - local.get 5 - i32.load8_u - br_if 0 (;@9;) - end - local.get 1 - i32.const -1 - i32.eq - br_if 6 (;@2;) - local.get 1 - i32.const -1 - i32.le_s - br_if 4 (;@4;) - local.get 1 - br_if 1 (;@7;) - end - i32.const 0 - local.set 1 - i32.const 1 - local.set 2 - br 1 (;@6;) - end - local.get 1 - i32.const 1 - call $__rust_alloc - local.tee 2 - i32.eqz - br_if 5 (;@1;) - end - local.get 3 - i32.const 0 - i32.store offset=48 - local.get 3 - local.get 2 - i32.store offset=40 - local.get 3 - local.get 1 - i32.store offset=44 - local.get 3 - i32.const 40 - i32.add - local.get 1 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 3 - i32.load offset=40 - local.tee 2 - local.get 3 - i32.load offset=48 - local.tee 5 - i32.add - local.get 6 - local.get 1 - call $memcpy - drop - local.get 3 - local.get 5 - local.get 1 - i32.add - i32.store offset=48 - local.get 3 - i64.load offset=44 align=4 - local.set 9 - end - local.get 8 - i32.const 0 - i32.store8 - block ;; label = @5 - local.get 7 - i32.eqz - br_if 0 (;@5;) - local.get 8 - local.get 7 - i32.const 1 - call $__rust_dealloc - end - local.get 0 - local.get 9 - i64.store offset=4 align=4 - local.get 0 - local.get 2 - i32.store - local.get 3 - i32.const 80 - i32.add - global.set 0 - return - end - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE - unreachable - end - local.get 5 - i32.const 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE - unreachable - end - local.get 1 - i32.const 0 - i32.const 1049852 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 1 - i32.const 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE - unreachable) - (func $_ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17hb3ec362a48a590eeE (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 2 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 0 - i32.load8_u - br_table 1 (;@3;) 0 (;@4;) 2 (;@2;) 1 (;@3;) - end - i32.const 1049996 - local.set 3 - i32.const 22 - local.set 4 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - block ;; label = @14 - block ;; label = @15 - block ;; label = @16 - block ;; label = @17 - block ;; label = @18 - block ;; label = @19 - block ;; label = @20 - block ;; label = @21 - block ;; label = @22 - local.get 0 - i32.load8_u offset=1 - br_table 0 (;@22;) 1 (;@21;) 2 (;@20;) 3 (;@19;) 4 (;@18;) 5 (;@17;) 6 (;@16;) 7 (;@15;) 8 (;@14;) 9 (;@13;) 10 (;@12;) 11 (;@11;) 12 (;@10;) 13 (;@9;) 14 (;@8;) 15 (;@7;) 16 (;@6;) 18 (;@4;) 0 (;@22;) - end - i32.const 1050277 - local.set 3 - i32.const 16 - local.set 4 - br 17 (;@4;) - end - i32.const 1050260 - local.set 3 - i32.const 17 - local.set 4 - br 16 (;@4;) - end - i32.const 1050242 - local.set 3 - i32.const 18 - local.set 4 - br 15 (;@4;) - end - i32.const 1050226 - local.set 3 - i32.const 16 - local.set 4 - br 14 (;@4;) - end - i32.const 1050208 - local.set 3 - i32.const 18 - local.set 4 - br 13 (;@4;) - end - i32.const 1050195 - local.set 3 - i32.const 13 - local.set 4 - br 12 (;@4;) - end - i32.const 1050181 - local.set 3 - br 10 (;@5;) - end - i32.const 1050160 - local.set 3 - i32.const 21 - local.set 4 - br 10 (;@4;) - end - i32.const 1050149 - local.set 3 - i32.const 11 - local.set 4 - br 9 (;@4;) - end - i32.const 1050128 - local.set 3 - i32.const 21 - local.set 4 - br 8 (;@4;) - end - i32.const 1050107 - local.set 3 - i32.const 21 - local.set 4 - br 7 (;@4;) - end - i32.const 1050084 - local.set 3 - i32.const 23 - local.set 4 - br 6 (;@4;) - end - i32.const 1050072 - local.set 3 - i32.const 12 - local.set 4 - br 5 (;@4;) - end - i32.const 1050063 - local.set 3 - i32.const 9 - local.set 4 - br 4 (;@4;) - end - i32.const 1050053 - local.set 3 - i32.const 10 - local.set 4 - br 3 (;@4;) - end - i32.const 1050032 - local.set 3 - i32.const 21 - local.set 4 - br 2 (;@4;) - end - i32.const 1050018 - local.set 3 - end - i32.const 14 - local.set 4 - end - local.get 2 - i32.const 60 - i32.add - i32.const 1 - i32.store - local.get 2 - local.get 4 - i32.store offset=28 - local.get 2 - local.get 3 - i32.store offset=24 - local.get 2 - i32.const 10 - i32.store offset=12 - local.get 2 - i64.const 1 - i64.store offset=44 align=4 - local.get 2 - i32.const 1050296 - i32.store offset=40 - local.get 2 - local.get 2 - i32.const 24 - i32.add - i32.store offset=8 - local.get 2 - local.get 2 - i32.const 8 - i32.add - i32.store offset=56 - local.get 1 - local.get 2 - i32.const 40 - i32.add - call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E - local.set 0 - br 2 (;@1;) - end - local.get 2 - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 0 - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - local.get 0 - call $_ZN3std3sys4wasi2os12error_string17hc9a4b2180ec6a096E - local.get 2 - i32.const 60 - i32.add - i32.const 2 - i32.store - local.get 2 - i32.const 36 - i32.add - i32.const 11 - i32.store - local.get 2 - i64.const 3 - i64.store offset=44 align=4 - local.get 2 - i32.const 1050316 - i32.store offset=40 - local.get 2 - i32.const 12 - i32.store offset=28 - local.get 2 - local.get 2 - i32.const 24 - i32.add - i32.store offset=56 - local.get 2 - local.get 2 - i32.const 4 - i32.add - i32.store offset=32 - local.get 2 - local.get 2 - i32.const 8 - i32.add - i32.store offset=24 - local.get 1 - local.get 2 - i32.const 40 - i32.add - call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E - local.set 0 - local.get 2 - i32.load offset=8 - local.tee 1 - i32.eqz - br_if 1 (;@1;) - local.get 2 - i32.load offset=12 - local.tee 3 - i32.eqz - br_if 1 (;@1;) - local.get 1 - local.get 3 - i32.const 1 - call $__rust_dealloc - br 1 (;@1;) - end - local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 0 - i32.load - local.get 1 - local.get 0 - i32.load offset=4 - i32.load offset=32 - call_indirect (type 3) - local.set 0 - end - local.get 2 - i32.const 64 - i32.add - global.set 0 - local.get 0) - (func $_ZN55_$LT$std..path..Display$u20$as$u20$core..fmt..Debug$GT$3fmt17h23d105d427099b82E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 0 - i32.const 4 - i32.add - i32.load - local.get 1 - call $_ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17h51daa603ac20d4e8E) - (func $_ZN3std5error5Error7type_id17h2550ffb23e5e09dbE (type 2) (param i32) (result i64) - i64.const -6756504174187499666) - (func $_ZN3std5error5Error9backtrace17h900a267d2e29f61aE (type 5) (param i32) (result i32) - i32.const 0) - (func $_ZN3std5error5Error5cause17h940cb81d2ddff14fE (type 6) (param i32 i32) - local.get 0 - i32.const 0 - i32.store) - (func $_ZN243_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$std..error..Error$GT$11description17hf458bce664dc3f4bE (type 6) (param i32 i32) - local.get 0 - local.get 1 - i32.load offset=8 - i32.store offset=4 - local.get 0 - local.get 1 - i32.load - i32.store) - (func $_ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17h8f27cecacd89bd46E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 0 - i32.load offset=8 - local.get 1 - call $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E) - (func $_ZN242_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Debug$GT$3fmt17hddb087305b783b60E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 0 - i32.load offset=8 - local.get 1 - call $_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h7843956b8f6f7061E) - (func $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE (type 5) (param i32) (result i32) - (local i32) - i32.const 16 - local.set 1 - block ;; label = @1 - local.get 0 - i32.const 65535 - i32.gt_u - br_if 0 (;@1;) - local.get 0 - i32.const 65535 - i32.and - i32.const -2 - i32.add - local.tee 0 - i32.const 71 - i32.gt_u - br_if 0 (;@1;) - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - block ;; label = @14 - block ;; label = @15 - local.get 0 - br_table 2 (;@13;) 7 (;@8;) 6 (;@9;) 14 (;@1;) 13 (;@2;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 5 (;@10;) 0 (;@15;) 1 (;@14;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 12 (;@3;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 9 (;@6;) 10 (;@5;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 8 (;@7;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 4 (;@11;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 2 (;@13;) 3 (;@12;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 14 (;@1;) 11 (;@4;) 2 (;@13;) - end - i32.const 2 - return - end - i32.const 3 - return - end - i32.const 1 - return - end - i32.const 8 - return - end - i32.const 5 - return - end - i32.const 4 - return - end - i32.const 7 - return - end - i32.const 6 - return - end - i32.const 0 - return - end - i32.const 15 - return - end - i32.const 11 - return - end - i32.const 13 - return - end - i32.const 9 - return - end - i32.const 10 - local.set 1 - end - local.get 1) - (func $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i64) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - i32.const 8 - i32.add - i32.load - local.get 3 - i32.add - local.get 1 - i32.const 4 - i32.add - local.tee 5 - i32.load - i32.le_u - br_if 0 (;@4;) - local.get 4 - i32.const 16 - i32.add - local.get 1 - call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E - local.get 4 - i32.load offset=20 - local.set 6 - local.get 4 - i32.load offset=16 - local.tee 7 - i32.const 255 - i32.and - i32.const 3 - i32.ne - br_if 1 (;@3;) - block ;; label = @5 - i32.const 0 - br_if 0 (;@5;) - local.get 7 - i32.const 3 - i32.and - i32.const 2 - i32.ne - br_if 1 (;@4;) - end - local.get 6 - i32.load - local.get 6 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @5 - local.get 6 - i32.load offset=4 - local.tee 7 - i32.load offset=4 - local.tee 8 - i32.eqz - br_if 0 (;@5;) - local.get 6 - i32.load - local.get 8 - local.get 7 - i32.load offset=8 - call $__rust_dealloc - end - local.get 6 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 5 - i32.load - local.get 3 - i32.le_u - br_if 1 (;@2;) - local.get 1 - local.get 3 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 1 - i32.load - local.get 1 - i32.const 8 - i32.add - local.tee 1 - i32.load - local.tee 5 - i32.add - local.get 2 - local.get 3 - call $memcpy - drop - local.get 0 - local.get 3 - i32.store offset=4 - local.get 1 - local.get 5 - local.get 3 - i32.add - i32.store - local.get 0 - i32.const 0 - i32.store - br 2 (;@1;) - end - local.get 0 - i32.const 1 - i32.store - local.get 0 - local.get 6 - i64.extend_i32_u - i64.const 32 - i64.shl - local.get 7 - i64.extend_i32_u - i64.or - i64.store offset=4 align=4 - br 1 (;@1;) - end - local.get 1 - i32.const 1 - i32.store8 offset=13 - block ;; label = @2 - block ;; label = @3 - local.get 1 - i32.load8_u offset=12 - i32.const -1 - i32.add - local.tee 5 - i32.const 1 - i32.gt_u - br_if 0 (;@3;) - block ;; label = @4 - block ;; label = @5 - local.get 5 - br_table 1 (;@4;) 0 (;@5;) 1 (;@4;) - end - i32.const 1049080 - i32.const 43 - i32.const 1049964 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 3 - i64.extend_i32_u - local.set 9 - i32.const 0 - local.set 3 - br 1 (;@2;) - end - local.get 4 - local.get 3 - i32.store offset=12 - local.get 4 - local.get 2 - i32.store offset=8 - local.get 4 - i32.const 16 - i32.add - i32.const 1 - local.get 4 - i32.const 8 - i32.add - i32.const 1 - call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E - block ;; label = @3 - local.get 4 - i32.load16_u offset=16 - i32.const 1 - i32.eq - br_if 0 (;@3;) - local.get 4 - i64.load32_u offset=20 - local.set 9 - i32.const 0 - local.set 3 - br 1 (;@2;) - end - local.get 4 - local.get 4 - i32.load16_u offset=18 - i32.store16 offset=30 - local.get 3 - i64.extend_i32_u - local.get 4 - i32.const 30 - i32.add - call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE - local.tee 3 - i64.extend_i32_u - i64.const 65535 - i64.and - i64.const 32 - i64.shl - local.get 3 - i32.const 65535 - i32.and - local.tee 3 - i32.const 8 - i32.eq - select - local.set 9 - local.get 3 - i32.const 8 - i32.ne - local.set 3 - end - local.get 0 - local.get 9 - i64.store offset=4 align=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - i32.const 0 - i32.store8 offset=13 - end - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN3std3sys4wasi2os12error_string17hc9a4b2180ec6a096E (type 6) (param i32 i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 1056 - i32.sub - local.tee 2 - global.set 0 - i32.const 0 - local.set 3 - local.get 2 - i32.const 8 - i32.add - i32.const 0 - i32.const 1024 - call $memset - drop - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 1 - local.get 2 - i32.const 8 - i32.add - i32.const 1024 - call $strerror_r - i32.const 0 - i32.lt_s - br_if 0 (;@5;) - block ;; label = @6 - local.get 2 - i32.load8_u offset=8 - i32.eqz - br_if 0 (;@6;) - local.get 2 - i32.const 8 - i32.add - i32.const 1 - i32.add - local.set 4 - i32.const 0 - local.set 1 - loop ;; label = @7 - local.get 4 - local.get 1 - i32.add - local.set 5 - local.get 1 - i32.const 1 - i32.add - local.tee 3 - local.set 1 - local.get 5 - i32.load8_u - br_if 0 (;@7;) - end - local.get 3 - i32.const -1 - i32.eq - br_if 2 (;@4;) - end - local.get 2 - i32.const 1032 - i32.add - local.get 2 - i32.const 8 - i32.add - local.get 3 - call $_ZN4core3str9from_utf817h4147d06a7789f81eE - local.get 2 - i32.load offset=1032 - i32.const 1 - i32.eq - br_if 2 (;@3;) - local.get 2 - i32.const 1040 - i32.add - i32.load - local.tee 1 - i32.const -1 - i32.le_s - br_if 3 (;@2;) - local.get 2 - i32.load offset=1036 - local.set 5 - block ;; label = @6 - block ;; label = @7 - local.get 1 - br_if 0 (;@7;) - i32.const 1 - local.set 3 - i32.const 0 - local.set 4 - br 1 (;@6;) - end - local.get 1 - local.set 4 - local.get 1 - i32.const 1 - call $__rust_alloc - local.tee 3 - i32.eqz - br_if 5 (;@1;) - end - local.get 2 - i32.const 0 - i32.store offset=1040 - local.get 2 - local.get 3 - i32.store offset=1032 - local.get 2 - local.get 4 - i32.store offset=1036 - local.get 2 - i32.const 1032 - i32.add - local.get 1 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 2 - i32.load offset=1032 - local.get 2 - i32.load offset=1040 - local.tee 3 - i32.add - local.get 5 - local.get 1 - call $memcpy - drop - local.get 0 - i32.const 8 - i32.add - local.get 3 - local.get 1 - i32.add - i32.store - local.get 0 - local.get 2 - i64.load offset=1032 - i64.store align=4 - local.get 2 - i32.const 1056 - i32.add - global.set 0 - return - end - i32.const 1052276 - i32.const 18 - i32.const 1052320 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 3 - i32.const 0 - i32.const 1049852 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 2 - local.get 2 - i64.load offset=1036 align=4 - i64.store offset=1048 - i32.const 1049172 - i32.const 43 - local.get 2 - i32.const 1048 - i32.add - i32.const 1049216 - i32.const 1052336 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h00a2a19d2e670c1eE - unreachable - end - local.get 1 - i32.const 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE - unreachable) - (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5write17h6eb49032bb7d1e27E (type 4) (param i32 i32 i32 i32) - local.get 0 - local.get 1 - i32.load - local.get 2 - local.get 3 - local.get 1 - i32.load offset=4 - i32.load offset=12 - call_indirect (type 4)) - (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$14write_vectored17he5299a3cb28c5fc6E (type 4) (param i32 i32 i32 i32) - local.get 0 - local.get 1 - i32.load - local.get 2 - local.get 3 - local.get 1 - i32.load offset=4 - i32.load offset=16 - call_indirect (type 4)) - (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$17is_write_vectored17h3aebec87a302fb55E (type 5) (param i32) (result i32) - local.get 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load offset=20 - call_indirect (type 5)) - (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5flush17h453d4cb3a98eec9bE (type 6) (param i32 i32) - local.get 0 - local.get 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load offset=24 - call_indirect (type 6)) - (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_all17h50557d4e500ea2b9E (type 4) (param i32 i32 i32 i32) - local.get 0 - local.get 1 - i32.load - local.get 2 - local.get 3 - local.get 1 - i32.load offset=4 - i32.load offset=28 - call_indirect (type 4)) - (func $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_fmt17h99e751738b71fff0E (type 7) (param i32 i32 i32) - (local i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 3 - global.set 0 - local.get 1 - i32.load - local.set 4 - local.get 1 - i32.load offset=4 - local.set 1 - local.get 3 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 2 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 3 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 2 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 3 - local.get 2 - i64.load align=4 - i64.store offset=8 - local.get 0 - local.get 4 - local.get 3 - i32.const 8 - i32.add - local.get 1 - i32.load offset=36 - call_indirect (type 7) - local.get 3 - i32.const 32 - i32.add - global.set 0) - (func $_ZN60_$LT$std..io..stdio..StderrRaw$u20$as$u20$std..io..Write$GT$5write17h912c877745d11fe6E (type 4) (param i32 i32 i32 i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - local.get 4 - local.get 3 - i32.store offset=12 - local.get 4 - local.get 2 - i32.store offset=8 - i32.const 1 - local.set 2 - local.get 4 - i32.const 16 - i32.add - i32.const 2 - local.get 4 - i32.const 8 - i32.add - i32.const 1 - call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E - block ;; label = @1 - block ;; label = @2 - local.get 4 - i32.load16_u offset=16 - i32.const 1 - i32.ne - br_if 0 (;@2;) - local.get 4 - local.get 4 - i32.load16_u offset=18 - i32.store16 offset=30 - local.get 0 - local.get 4 - i32.const 30 - i32.add - call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE - i64.extend_i32_u - i64.const 65535 - i64.and - i64.const 32 - i64.shl - i64.store offset=4 align=4 - br 1 (;@1;) - end - local.get 0 - local.get 4 - i32.load offset=20 - i32.store offset=4 - i32.const 0 - local.set 2 - end - local.get 0 - local.get 2 - i32.store - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN3std10sys_common11at_exit_imp4push17ha33ee158d7c75638E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32) - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - i32.load8_u offset=1058361 - br_if 0 (;@3;) - i32.const 0 - i32.const 1 - i32.store8 offset=1058361 - block ;; label = @4 - block ;; label = @5 - i32.const 0 - i32.load offset=1058280 - local.tee 2 - i32.const 1 - i32.gt_u - br_if 0 (;@5;) - block ;; label = @6 - local.get 2 - br_table 0 (;@6;) 2 (;@4;) 0 (;@6;) - end - i32.const 12 - i32.const 4 - call $__rust_alloc - local.tee 2 - i32.eqz - br_if 3 (;@2;) - local.get 2 - i32.const 0 - i32.store offset=8 - local.get 2 - i64.const 4 - i64.store align=4 - i32.const 0 - local.get 2 - i32.store offset=1058280 - end - block ;; label = @5 - local.get 2 - i32.load offset=8 - local.tee 3 - local.get 2 - i32.const 4 - i32.add - i32.load - i32.eq - br_if 0 (;@5;) - local.get 2 - i32.load - local.set 4 - br 4 (;@1;) - end - block ;; label = @5 - block ;; label = @6 - local.get 3 - i32.const 1 - i32.add - local.tee 4 - local.get 3 - i32.lt_u - br_if 0 (;@6;) - local.get 3 - i32.const 1 - i32.shl - local.tee 5 - local.get 4 - local.get 5 - local.get 4 - i32.gt_u - select - local.tee 4 - i32.const 4 - local.get 4 - i32.const 4 - i32.gt_u - select - local.tee 6 - i32.const 536870911 - i32.and - local.tee 7 - local.get 6 - i32.ne - br_if 0 (;@6;) - local.get 6 - i32.const 3 - i32.shl - local.tee 5 - i32.const 0 - i32.lt_s - br_if 0 (;@6;) - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - local.get 2 - i32.load - i32.const 0 - local.get 3 - select - local.tee 4 - i32.eqz - br_if 0 (;@9;) - local.get 3 - i32.const 3 - i32.shl - local.tee 6 - local.get 5 - i32.eq - br_if 1 (;@8;) - block ;; label = @10 - local.get 6 - br_if 0 (;@10;) - block ;; label = @11 - local.get 5 - br_if 0 (;@11;) - i32.const 4 - local.set 4 - br 4 (;@7;) - end - local.get 5 - i32.const 4 - call $__rust_alloc - local.set 4 - br 2 (;@8;) - end - local.get 4 - local.get 6 - i32.const 4 - local.get 5 - call $__rust_realloc - local.set 4 - br 1 (;@8;) - end - local.get 7 - local.get 6 - i32.eq - i32.const 2 - i32.shl - local.set 4 - local.get 5 - i32.eqz - br_if 0 (;@8;) - local.get 5 - local.get 4 - call $__rust_alloc - local.set 4 - end - local.get 4 - i32.eqz - br_if 2 (;@5;) - local.get 2 - i32.load offset=8 - local.set 3 - end - local.get 2 - local.get 4 - i32.store - local.get 2 - i32.const 4 - i32.add - local.get 5 - i32.const 3 - i32.shr_u - i32.store - br 5 (;@1;) - end - call $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E - unreachable - end - local.get 5 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - i32.const 0 - i32.const 0 - i32.store8 offset=1058361 - local.get 0 - local.get 1 - i32.load - call_indirect (type 1) - block ;; label = @4 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@4;) - local.get 0 - local.get 2 - local.get 1 - i32.load offset=8 - call $__rust_dealloc - end - i32.const 0 - return - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - i32.const 12 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - local.get 4 - local.get 3 - i32.const 3 - i32.shl - i32.add - local.tee 3 - local.get 1 - i32.store offset=4 - local.get 3 - local.get 0 - i32.store - local.get 2 - local.get 2 - i32.load offset=8 - i32.const 1 - i32.add - i32.store offset=8 - i32.const 0 - i32.const 0 - i32.store8 offset=1058361 - i32.const 1) - (func $_ZN3std2io5stdio6stdout17h0bb5151ba21c8b62E (type 11) (result i32) - (local i32 i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 0 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - i32.const 0 - i32.load8_u offset=1058276 - br_if 0 (;@7;) - i32.const 0 - i32.const 1 - i32.store8 offset=1058276 - block ;; label = @8 - block ;; label = @9 - i32.const 0 - i32.load offset=1058272 - local.tee 1 - i32.const 1 - i32.gt_u - br_if 0 (;@9;) - block ;; label = @10 - block ;; label = @11 - local.get 1 - br_table 1 (;@10;) 0 (;@11;) 1 (;@10;) - end - i32.const 0 - i32.const 0 - i32.store8 offset=1058276 - br 9 (;@1;) - end - i32.const 4 - i32.const 4 - call $__rust_alloc - local.tee 1 - i32.eqz - br_if 3 (;@6;) - local.get 1 - i32.const 1058272 - i32.store - local.get 1 - i32.const 1051388 - call $_ZN3std10sys_common11at_exit_imp4push17ha33ee158d7c75638E - local.set 2 - i32.const 1024 - i32.const 1 - call $__rust_alloc - local.tee 3 - i32.eqz - br_if 4 (;@5;) - local.get 0 - i32.const 10 - i32.add - i32.const 2 - i32.add - local.tee 4 - local.get 0 - i32.const 13 - i32.add - i32.const 2 - i32.add - i32.load8_u - i32.store8 - local.get 0 - local.get 0 - i32.load16_u offset=13 align=1 - i32.store16 offset=10 - i32.const 32 - i32.const 4 - call $__rust_alloc - local.tee 1 - i32.eqz - br_if 5 (;@4;) - local.get 1 - i32.const 0 - i32.store8 offset=28 - local.get 1 - i32.const 0 - i32.store16 offset=24 - local.get 1 - i64.const 1024 - i64.store offset=16 align=4 - local.get 1 - local.get 3 - i32.store offset=12 - local.get 1 - i32.const 0 - i32.store offset=8 - local.get 1 - i64.const 4294967297 - i64.store align=4 - local.get 1 - local.get 0 - i32.load16_u offset=10 - i32.store16 offset=29 align=1 - local.get 1 - i32.const 31 - i32.add - local.get 4 - i32.load8_u - i32.store8 - local.get 2 - i32.eqz - br_if 1 (;@8;) - local.get 1 - local.get 1 - i32.load - local.tee 2 - i32.const 1 - i32.add - i32.store - local.get 2 - i32.const -1 - i32.le_s - br_if 6 (;@3;) - i32.const 4 - i32.const 4 - call $__rust_alloc - local.tee 2 - i32.eqz - br_if 7 (;@2;) - i32.const 0 - local.get 2 - i32.store offset=1058272 - local.get 2 - local.get 1 - i32.store - br 1 (;@8;) - end - local.get 1 - i32.load - local.tee 1 - local.get 1 - i32.load - local.tee 2 - i32.const 1 - i32.add - i32.store - local.get 2 - i32.const -1 - i32.le_s - br_if 5 (;@3;) - end - i32.const 0 - i32.const 0 - i32.store8 offset=1058276 - local.get 1 - i32.eqz - br_if 6 (;@1;) - local.get 0 - i32.const 16 - i32.add - global.set 0 - local.get 1 - return - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - i32.const 4 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - i32.const 1024 - i32.const 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE - unreachable - end - i32.const 32 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - unreachable - unreachable - end - i32.const 4 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - i32.const 1050390 - i32.const 36 - i32.const 1050428 - call $_ZN4core6option13expect_failed17hf689d8761c64e95fE - unreachable) - (func $_ZN61_$LT$std..io..stdio..StdoutLock$u20$as$u20$std..io..Write$GT$5write17h318ff9a8d34e94bcE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i64 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.load - local.tee 1 - i32.load - br_if 0 (;@5;) - local.get 1 - i32.const -1 - i32.store - local.get 1 - i32.const 4 - i32.add - local.set 5 - block ;; label = @6 - local.get 1 - i32.const 20 - i32.add - i32.load8_u - i32.eqz - br_if 0 (;@6;) - local.get 4 - i32.const 16 - i32.add - local.get 5 - call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - local.get 4 - i32.load8_u offset=16 - i32.const 3 - i32.ne - br_if 0 (;@9;) - local.get 1 - i32.const 16 - i32.add - i32.load8_u - i32.const 2 - i32.ne - br_if 1 (;@8;) - i32.const 1049080 - i32.const 43 - i32.const 1049964 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 4 - i64.load offset=16 - local.tee 6 - i64.const 255 - i64.and - i64.const 3 - i64.ne - br_if 1 (;@7;) - end - local.get 1 - i32.const 0 - i32.store8 offset=20 - br 1 (;@6;) - end - local.get 6 - i32.wrap_i64 - local.tee 7 - i32.const 255 - i32.and - i32.const 3 - i32.ne - br_if 2 (;@4;) - block ;; label = @7 - i32.const 0 - br_if 0 (;@7;) - local.get 7 - i32.const 3 - i32.and - i32.const 2 - i32.ne - br_if 1 (;@6;) - end - local.get 6 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee 7 - i32.load - local.get 7 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @7 - local.get 7 - i32.load offset=4 - local.tee 8 - i32.load offset=4 - local.tee 9 - i32.eqz - br_if 0 (;@7;) - local.get 7 - i32.load - local.get 9 - local.get 8 - i32.load offset=8 - call $__rust_dealloc - end - local.get 7 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 4 - i32.const 8 - i32.add - i32.const 10 - local.get 2 - local.get 3 - call $_ZN4core5slice6memchr7memrchr17h4b8437429e29ecf5E - block ;; label = @6 - local.get 4 - i32.load offset=8 - br_if 0 (;@6;) - local.get 0 - local.get 5 - local.get 2 - local.get 3 - call $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E - br 5 (;@1;) - end - block ;; label = @6 - block ;; label = @7 - local.get 4 - i32.load offset=12 - local.tee 8 - i32.const -1 - i32.eq - br_if 0 (;@7;) - local.get 8 - i32.const 1 - i32.add - local.set 7 - local.get 8 - local.get 3 - i32.lt_u - br_if 1 (;@6;) - local.get 7 - local.get 3 - i32.const 1049980 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - i32.const 1049980 - call $_ZN4core5slice25slice_index_overflow_fail17h55e360d291e497e5E - unreachable - end - local.get 4 - i32.const 16 - i32.add - local.get 5 - local.get 2 - local.get 7 - call $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E - local.get 4 - i32.const 24 - i32.add - i32.load - local.set 9 - local.get 4 - i32.load offset=20 - local.set 8 - block ;; label = @6 - block ;; label = @7 - local.get 4 - i32.load offset=16 - local.tee 10 - i32.const 1 - i32.gt_u - br_if 0 (;@7;) - local.get 10 - br_table 1 (;@6;) 4 (;@3;) 1 (;@6;) - end - local.get 8 - i32.const 255 - i32.and - i32.const 2 - i32.lt_u - br_if 0 (;@6;) - local.get 9 - i32.load - local.get 9 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @7 - local.get 9 - i32.load offset=4 - local.tee 10 - i32.load offset=4 - local.tee 11 - i32.eqz - br_if 0 (;@7;) - local.get 9 - i32.load - local.get 11 - local.get 10 - i32.load offset=8 - call $__rust_dealloc - end - local.get 9 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 1 - i32.const 1 - i32.store8 offset=20 - local.get 4 - i32.const 16 - i32.add - local.get 5 - call $_ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17h03fc67e5def2a023E - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - local.get 4 - i32.load8_u offset=16 - i32.const 3 - i32.ne - br_if 0 (;@9;) - local.get 1 - i32.const 16 - i32.add - i32.load8_u - i32.const 2 - i32.ne - br_if 1 (;@8;) - i32.const 1049080 - i32.const 43 - i32.const 1049964 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 4 - i64.load8_u offset=16 - i64.const 3 - i64.ne - br_if 1 (;@7;) - end - local.get 1 - i32.const 0 - i32.store8 offset=20 - local.get 8 - local.get 7 - i32.eq - br_if 1 (;@6;) - br 5 (;@2;) - end - local.get 4 - i32.load offset=20 - local.set 9 - local.get 8 - local.get 7 - i32.ne - local.get 4 - i32.load offset=16 - local.tee 11 - i32.const 255 - i32.and - i32.const 3 - i32.ne - i32.or - local.set 10 - block ;; label = @7 - block ;; label = @8 - i32.const 0 - br_if 0 (;@8;) - local.get 11 - i32.const 3 - i32.and - i32.const 2 - i32.ne - br_if 1 (;@7;) - end - local.get 9 - i32.load - local.get 9 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @8 - local.get 9 - i32.load offset=4 - local.tee 11 - i32.load offset=4 - local.tee 12 - i32.eqz - br_if 0 (;@8;) - local.get 9 - i32.load - local.get 12 - local.get 11 - i32.load offset=8 - call $__rust_dealloc - end - local.get 9 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 10 - br_if 4 (;@2;) - end - local.get 4 - i32.const 16 - i32.add - local.get 5 - local.get 2 - local.get 7 - i32.add - local.get 3 - local.get 7 - i32.sub - call $_ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17hf101847c4d141300E - block ;; label = @6 - local.get 4 - i32.load offset=16 - i32.const 1 - i32.eq - br_if 0 (;@6;) - local.get 0 - i32.const 0 - i32.store - local.get 0 - local.get 4 - i32.load offset=20 - local.get 8 - i32.add - i32.store offset=4 - br 5 (;@1;) - end - local.get 0 - i32.const 0 - i32.store - local.get 0 - local.get 8 - i32.store offset=4 - local.get 4 - i32.load8_u offset=20 - i32.const 2 - i32.lt_u - br_if 4 (;@1;) - local.get 4 - i32.const 24 - i32.add - i32.load - local.tee 5 - i32.load - local.get 5 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @6 - local.get 5 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 3 - i32.eqz - br_if 0 (;@6;) - local.get 5 - i32.load - local.get 3 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 5 - i32.const 12 - i32.const 4 - call $__rust_dealloc - br 4 (;@1;) - end - i32.const 1048812 - i32.const 16 - local.get 4 - i32.const 16 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - local.get 0 - i32.const 1 - i32.store - local.get 0 - local.get 6 - i64.store offset=4 align=4 - br 2 (;@1;) - end - local.get 0 - i32.const 1 - i32.store - local.get 0 - local.get 9 - i64.extend_i32_u - i64.const 32 - i64.shl - local.get 8 - i64.extend_i32_u - i64.or - i64.store offset=4 align=4 - br 1 (;@1;) - end - local.get 0 - i32.const 0 - i32.store - local.get 0 - local.get 8 - i32.store offset=4 - end - local.get 1 - local.get 1 - i32.load - i32.const 1 - i32.add - i32.store - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hc12753628cececa7E (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 1 - i32.load - i32.const 8 - i32.add - i32.store offset=4 - local.get 3 - i32.const 3 - i32.store8 offset=12 - local.get 3 - local.get 3 - i32.const 4 - i32.add - i32.store offset=8 - local.get 3 - i32.const 24 - i32.add - i32.const 16 - i32.add - local.get 2 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 3 - i32.const 24 - i32.add - i32.const 8 - i32.add - local.get 2 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 3 - local.get 2 - i64.load align=4 - i64.store offset=24 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 3 - i32.const 8 - i32.add - i32.const 1050560 - local.get 3 - i32.const 24 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - i32.eqz - br_if 0 (;@3;) - block ;; label = @4 - local.get 3 - i32.load8_u offset=12 - i32.const 3 - i32.ne - br_if 0 (;@4;) - local.get 3 - i32.const 24 - i32.add - i32.const 16 - i32.const 1050584 - i32.const 15 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 3 - i64.load offset=24 - i64.store align=4 - br 2 (;@2;) - end - local.get 0 - local.get 3 - i64.load offset=12 align=4 - i64.store align=4 - br 2 (;@1;) - end - local.get 0 - i32.const 3 - i32.store8 - end - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 3 - i32.load8_u offset=12 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 3 - i32.const 16 - i32.add - i32.load - local.tee 2 - i32.load - local.get 2 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 2 - i32.load offset=4 - local.tee 0 - i32.load offset=4 - local.tee 1 - i32.eqz - br_if 0 (;@2;) - local.get 2 - i32.load - local.get 1 - local.get 0 - i32.load offset=8 - call $__rust_dealloc - end - local.get 3 - i32.load offset=16 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 3 - i32.const 48 - i32.add - global.set 0) - (func $_ZN3std4sync4once4Once10call_inner17hca77e4a078ff76abE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 4 - global.set 0 - local.get 4 - i32.const 2 - i32.or - local.set 5 - local.get 0 - i32.load - local.set 6 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - br_if 0 (;@4;) - loop ;; label = @5 - block ;; label = @6 - local.get 6 - i32.const 3 - i32.gt_u - br_if 0 (;@6;) - block ;; label = @7 - block ;; label = @8 - local.get 6 - br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 6 (;@2;) 1 (;@7;) - end - i32.const 1050856 - i32.const 42 - i32.const 1050900 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 0 - local.get 0 - i32.load - local.tee 6 - i32.const 2 - local.get 6 - select - i32.store - local.get 6 - br_if 1 (;@5;) - i32.const 0 - local.set 1 - br 3 (;@3;) - end - local.get 6 - i32.const 3 - i32.and - i32.const 2 - i32.ne - br_if 4 (;@1;) - block ;; label = @6 - block ;; label = @7 - loop ;; label = @8 - local.get 6 - local.set 1 - block ;; label = @9 - i32.const 0 - i32.load offset=1058340 - i32.const 1 - i32.eq - br_if 0 (;@9;) - i32.const 0 - i64.const 1 - i64.store offset=1058340 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058348 - end - i32.const 1058344 - call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E - local.set 7 - local.get 0 - local.get 5 - local.get 0 - i32.load - local.tee 6 - local.get 6 - local.get 1 - i32.eq - select - i32.store - local.get 4 - i32.const 0 - i32.store8 offset=8 - local.get 4 - local.get 7 - i32.store - local.get 4 - local.get 1 - i32.const -4 - i32.and - i32.store offset=4 - block ;; label = @9 - block ;; label = @10 - local.get 6 - local.get 1 - i32.ne - br_if 0 (;@10;) - local.get 4 - i32.load8_u offset=8 - i32.eqz - br_if 1 (;@9;) - br 3 (;@7;) - end - block ;; label = @10 - local.get 4 - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@10;) - local.get 1 - local.get 1 - i32.load - local.tee 7 - i32.const -1 - i32.add - i32.store - local.get 7 - i32.const 1 - i32.ne - br_if 0 (;@10;) - local.get 4 - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - local.get 6 - i32.const 3 - i32.and - i32.const 2 - i32.eq - br_if 1 (;@8;) - br 3 (;@6;) - end - end - loop ;; label = @8 - call $_ZN3std6thread4park17h939424159e238725E - local.get 4 - i32.load8_u offset=8 - i32.eqz - br_if 0 (;@8;) - end - end - local.get 4 - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@6;) - local.get 1 - local.get 1 - i32.load - local.tee 6 - i32.const -1 - i32.add - i32.store - local.get 6 - i32.const 1 - i32.ne - br_if 0 (;@6;) - local.get 4 - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - local.get 0 - i32.load - local.set 6 - br 1 (;@5;) - end - local.get 0 - i32.load - local.set 6 - br 0 (;@5;) - end - end - loop ;; label = @4 - block ;; label = @5 - local.get 6 - local.tee 1 - i32.const 3 - i32.gt_u - br_if 0 (;@5;) - block ;; label = @6 - local.get 1 - br_table 0 (;@6;) 0 (;@6;) 1 (;@5;) 4 (;@2;) 0 (;@6;) - end - local.get 0 - i32.const 2 - local.get 0 - i32.load - local.tee 6 - local.get 6 - local.get 1 - i32.eq - local.tee 7 - select - i32.store - local.get 7 - i32.eqz - br_if 1 (;@4;) - br 2 (;@3;) - end - local.get 1 - i32.const 3 - i32.and - i32.const 2 - i32.ne - br_if 3 (;@1;) - block ;; label = @5 - loop ;; label = @6 - local.get 1 - local.set 6 - block ;; label = @7 - i32.const 0 - i32.load offset=1058340 - i32.const 1 - i32.eq - br_if 0 (;@7;) - i32.const 0 - i64.const 1 - i64.store offset=1058340 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058348 - end - i32.const 1058344 - call $_ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hf9f457c8fb351805E - local.set 7 - local.get 0 - local.get 5 - local.get 0 - i32.load - local.tee 1 - local.get 1 - local.get 6 - i32.eq - local.tee 8 - select - i32.store - local.get 4 - i32.const 0 - i32.store8 offset=8 - local.get 4 - local.get 7 - i32.store - local.get 4 - local.get 6 - i32.const -4 - i32.and - i32.store offset=4 - block ;; label = @7 - local.get 8 - br_if 0 (;@7;) - block ;; label = @8 - local.get 4 - i32.load - local.tee 6 - i32.eqz - br_if 0 (;@8;) - local.get 6 - local.get 6 - i32.load - local.tee 7 - i32.const -1 - i32.add - i32.store - local.get 7 - i32.const 1 - i32.ne - br_if 0 (;@8;) - local.get 4 - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - local.get 1 - i32.const 3 - i32.and - i32.const 2 - i32.eq - br_if 1 (;@6;) - br 2 (;@5;) - end - end - block ;; label = @6 - local.get 4 - i32.load8_u offset=8 - br_if 0 (;@6;) - loop ;; label = @7 - call $_ZN3std6thread4park17h939424159e238725E - local.get 4 - i32.load8_u offset=8 - i32.eqz - br_if 0 (;@7;) - end - end - local.get 4 - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@5;) - local.get 1 - local.get 1 - i32.load - local.tee 6 - i32.const -1 - i32.add - i32.store - local.get 6 - i32.const 1 - i32.ne - br_if 0 (;@5;) - local.get 4 - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - local.get 0 - i32.load - local.set 6 - br 0 (;@4;) - end - end - local.get 4 - local.get 0 - i32.store - local.get 2 - local.get 1 - i32.const 1 - i32.eq - local.get 3 - i32.load offset=12 - call_indirect (type 6) - local.get 4 - i32.const 3 - i32.store offset=4 - local.get 4 - call $_ZN70_$LT$std..sync..once..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$4drop17h49d83c7df7d961c7E - end - local.get 4 - i32.const 16 - i32.add - global.set 0 - return - end - i32.const 1050780 - i32.const 57 - i32.const 1050840 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable) - (func $_ZN3std2io5stdio9set_panic17h7aca8b71dbb6c3c1E (type 7) (param i32 i32 i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 3 - global.set 0 - i32.const 0 - local.set 4 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - i32.load offset=1058324 - i32.const 1 - i32.eq - br_if 0 (;@3;) - i32.const 0 - i64.const 1 - i64.store offset=1058324 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058332 - br 1 (;@2;) - end - i32.const 0 - i32.load offset=1058328 - br_if 1 (;@1;) - i32.const 0 - i32.load offset=1058332 - local.set 4 - end - i32.const 0 - local.get 1 - i32.store offset=1058332 - i32.const 0 - i32.load offset=1058336 - local.set 1 - i32.const 0 - local.get 2 - i32.store offset=1058336 - i32.const 0 - i32.const 0 - i32.store offset=1058328 - block ;; label = @2 - local.get 4 - i32.eqz - br_if 0 (;@2;) - local.get 3 - local.get 4 - local.get 1 - i32.load offset=24 - call_indirect (type 6) - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 3 - i32.load8_u - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 3 - i32.load offset=4 - local.tee 2 - i32.load - local.get 2 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 2 - i32.load offset=4 - local.tee 5 - i32.load offset=4 - local.tee 6 - i32.eqz - br_if 0 (;@3;) - local.get 2 - i32.load - local.get 6 - local.get 5 - i32.load offset=8 - call $__rust_dealloc - end - local.get 2 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i32.store - local.get 0 - local.get 1 - i32.store offset=4 - local.get 3 - i32.const 16 - i32.add - global.set 0 - return - end - i32.const 1048812 - i32.const 16 - local.get 3 - i32.const 8 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable) - (func $_ZN3std2io5stdio6_print17h53f0a7747fc3663eE (type 1) (param i32) - (local i32 i32 i64 i32 i32) - global.get 0 - i32.const 96 - i32.sub - local.tee 1 - global.set 0 - local.get 1 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 0 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 1 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 0 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 1 - local.get 0 - i64.load align=4 - i64.store offset=8 - local.get 1 - i32.const 6 - i32.store offset=36 - local.get 1 - i32.const 1050500 - i32.store offset=32 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - i32.const 0 - i32.load offset=1058308 - i32.const 1 - i32.eq - br_if 0 (;@7;) - i32.const 0 - i64.const 1 - i64.store offset=1058308 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058316 - br 1 (;@6;) - end - i32.const 0 - i32.load offset=1058312 - br_if 3 (;@3;) - i32.const 0 - i32.const 0 - i32.store offset=1058312 - i32.const 0 - i32.load offset=1058316 - local.set 0 - i32.const 0 - i32.const 0 - i32.store offset=1058316 - local.get 0 - br_if 1 (;@5;) - end - local.get 1 - call $_ZN3std2io5stdio6stdout17h0bb5151ba21c8b62E - local.tee 0 - i32.store offset=48 - local.get 1 - i32.const 72 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.const 16 - i32.add - i64.load - i64.store - local.get 1 - i32.const 72 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.const 8 - i32.add - i64.load - i64.store - local.get 1 - local.get 1 - i64.load offset=8 - i64.store offset=72 - local.get 1 - i32.const 64 - i32.add - local.get 1 - i32.const 48 - i32.add - local.get 1 - i32.const 72 - i32.add - call $_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hc12753628cececa7E - local.get 0 - local.get 0 - i32.load - local.tee 2 - i32.const -1 - i32.add - i32.store - block ;; label = @6 - local.get 2 - i32.const 1 - i32.ne - br_if 0 (;@6;) - local.get 1 - i32.const 48 - i32.add - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E - end - local.get 1 - i64.load offset=64 - local.set 3 - br 1 (;@4;) - end - i32.const 0 - i32.load offset=1058320 - local.set 2 - local.get 1 - i32.const 72 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.const 16 - i32.add - i64.load - i64.store - local.get 1 - i32.const 72 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.const 8 - i32.add - i64.load - i64.store - local.get 1 - local.get 1 - i64.load offset=8 - i64.store offset=72 - local.get 1 - i32.const 48 - i32.add - local.get 0 - local.get 1 - i32.const 72 - i32.add - local.get 2 - i32.load offset=36 - call_indirect (type 7) - i32.const 0 - i32.load offset=1058312 - br_if 2 (;@2;) - i32.const 0 - i32.const -1 - i32.store offset=1058312 - block ;; label = @5 - i32.const 0 - i32.load offset=1058316 - local.tee 4 - i32.eqz - br_if 0 (;@5;) - local.get 4 - i32.const 0 - i32.load offset=1058320 - i32.load - call_indirect (type 1) - i32.const 0 - i32.load offset=1058320 - local.tee 4 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@5;) - i32.const 0 - i32.load offset=1058316 - local.get 5 - local.get 4 - i32.load offset=8 - call $__rust_dealloc - end - i32.const 0 - local.get 2 - i32.store offset=1058320 - i32.const 0 - local.get 0 - i32.store offset=1058316 - i32.const 0 - i32.const 0 - i32.load offset=1058312 - i32.const 1 - i32.add - i32.store offset=1058312 - local.get 1 - local.get 1 - i64.load offset=48 - local.tee 3 - i64.store offset=64 - end - block ;; label = @4 - block ;; label = @5 - local.get 3 - i32.wrap_i64 - local.tee 0 - i32.const 255 - i32.and - i32.const 4 - i32.ne - br_if 0 (;@5;) - local.get 1 - call $_ZN3std2io5stdio6stdout17h0bb5151ba21c8b62E - local.tee 0 - i32.store offset=48 - local.get 1 - i32.const 72 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.const 16 - i32.add - i64.load - i64.store - local.get 1 - i32.const 72 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.const 8 - i32.add - i64.load - i64.store - local.get 1 - local.get 1 - i64.load offset=8 - i64.store offset=72 - local.get 1 - i32.const 40 - i32.add - local.get 1 - i32.const 48 - i32.add - local.get 1 - i32.const 72 - i32.add - call $_ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hc12753628cececa7E - local.get 0 - local.get 0 - i32.load - local.tee 2 - i32.const -1 - i32.add - i32.store - block ;; label = @6 - local.get 2 - i32.const 1 - i32.ne - br_if 0 (;@6;) - local.get 1 - i32.const 48 - i32.add - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h70f80a623fd3e456E - end - local.get 1 - i32.load8_u offset=40 - local.tee 2 - local.set 0 - br 1 (;@4;) - end - local.get 1 - local.get 3 - i64.store offset=40 - local.get 3 - i32.wrap_i64 - local.set 2 - end - local.get 0 - i32.const 255 - i32.and - i32.const 3 - i32.ne - br_if 2 (;@1;) - block ;; label = @4 - block ;; label = @5 - i32.const 0 - br_if 0 (;@5;) - local.get 2 - i32.const 3 - i32.and - i32.const 2 - i32.ne - br_if 1 (;@4;) - end - local.get 1 - i32.load offset=44 - local.tee 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @5 - local.get 0 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 4 - i32.eqz - br_if 0 (;@5;) - local.get 0 - i32.load - local.get 4 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 1 - i32.const 96 - i32.add - global.set 0 - return - end - i32.const 1048812 - i32.const 16 - local.get 1 - i32.const 72 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - i32.const 1048812 - i32.const 16 - local.get 1 - i32.const 72 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - local.get 1 - local.get 1 - i64.load offset=40 - i64.store offset=64 - local.get 1 - i32.const 92 - i32.add - i32.const 2 - i32.store - local.get 1 - i32.const 60 - i32.add - i32.const 8 - i32.store - local.get 1 - i64.const 2 - i64.store offset=76 align=4 - local.get 1 - i32.const 1050468 - i32.store offset=72 - local.get 1 - i32.const 10 - i32.store offset=52 - local.get 1 - local.get 1 - i32.const 48 - i32.add - i32.store offset=88 - local.get 1 - local.get 1 - i32.const 64 - i32.add - i32.store offset=56 - local.get 1 - local.get 1 - i32.const 32 - i32.add - i32.store offset=48 - local.get 1 - i32.const 72 - i32.add - i32.const 1050484 - call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E - unreachable) - (func $_ZN3std2io5Write14write_vectored17ha0666460d161172dE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - local.get 3 - i32.const 3 - i32.shl - local.set 3 - local.get 2 - i32.const -8 - i32.add - local.set 5 - block ;; label = @1 - loop ;; label = @2 - block ;; label = @3 - local.get 3 - br_if 0 (;@3;) - i32.const 1049036 - local.set 2 - i32.const 0 - local.set 6 - br 2 (;@1;) - end - local.get 3 - i32.const -8 - i32.add - local.set 3 - local.get 5 - i32.const 8 - i32.add - local.set 5 - local.get 2 - i32.const 4 - i32.add - local.set 6 - local.get 2 - i32.const 8 - i32.add - local.set 2 - local.get 6 - i32.load - local.tee 6 - i32.eqz - br_if 0 (;@2;) - end - local.get 5 - i32.load - local.set 2 - end - local.get 4 - local.get 6 - i32.store offset=12 - local.get 4 - local.get 2 - i32.store offset=8 - i32.const 1 - local.set 2 - local.get 4 - i32.const 16 - i32.add - i32.const 2 - local.get 4 - i32.const 8 - i32.add - i32.const 1 - call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E - block ;; label = @1 - block ;; label = @2 - local.get 4 - i32.load16_u offset=16 - i32.const 1 - i32.ne - br_if 0 (;@2;) - local.get 4 - local.get 4 - i32.load16_u offset=18 - i32.store16 offset=30 - local.get 0 - local.get 4 - i32.const 30 - i32.add - call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE - i64.extend_i32_u - i64.const 65535 - i64.and - i64.const 32 - i64.shl - i64.store offset=4 align=4 - br 1 (;@1;) - end - local.get 0 - local.get 4 - i32.load offset=20 - i32.store offset=4 - i32.const 0 - local.set 2 - end - local.get 0 - local.get 2 - i32.store - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN3std2io5Write17is_write_vectored17h543cbc50b0d68d7bE (type 5) (param i32) (result i32) - i32.const 0) - (func $_ZN3std2io5Write18write_all_vectored17h30c34f9cecddc9d3E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 3 - i32.eqz - br_if 0 (;@4;) - loop ;; label = @5 - local.get 4 - i32.const 8 - i32.add - local.get 1 - i32.load - local.get 2 - local.get 3 - local.get 1 - i32.load offset=4 - i32.load offset=16 - call_indirect (type 4) - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 4 - i32.load offset=8 - local.tee 5 - i32.const 1 - i32.eq - br_if 0 (;@8;) - block ;; label = @9 - local.get 4 - i32.load offset=12 - local.tee 6 - br_if 0 (;@9;) - local.get 4 - i32.const 24 - i32.add - i32.const 14 - i32.const 1050340 - i32.const 28 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 4 - i64.load offset=24 - i64.store align=4 - br 8 (;@1;) - end - local.get 2 - i32.const 4 - i32.add - local.set 7 - local.get 3 - i32.const 3 - i32.shl - i32.const -8 - i32.add - i32.const 3 - i32.shr_u - i32.const 1 - i32.add - local.set 8 - i32.const 0 - local.set 9 - i32.const 0 - local.set 10 - loop ;; label = @9 - local.get 7 - i32.load - local.get 10 - i32.add - local.tee 11 - local.get 6 - i32.gt_u - br_if 2 (;@7;) - local.get 7 - i32.const 8 - i32.add - local.set 7 - local.get 11 - local.set 10 - local.get 8 - local.get 9 - i32.const 1 - i32.add - local.tee 9 - i32.ne - br_if 0 (;@9;) - end - local.get 11 - local.set 10 - local.get 8 - local.set 9 - br 1 (;@7;) - end - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 4 - i32.load8_u offset=12 - local.tee 6 - br_table 1 (;@10;) 0 (;@11;) 2 (;@9;) 1 (;@10;) - end - local.get 4 - i32.load8_u offset=13 - local.set 7 - br 2 (;@8;) - end - local.get 4 - i32.load offset=16 - call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE - i32.const 255 - i32.and - local.set 7 - br 1 (;@8;) - end - local.get 4 - i32.load offset=16 - i32.load8_u offset=8 - local.set 7 - end - i32.const 1 - local.set 5 - local.get 7 - i32.const 255 - i32.and - i32.const 15 - i32.eq - br_if 1 (;@6;) - local.get 0 - local.get 4 - i64.load offset=12 align=4 - i64.store align=4 - br 6 (;@1;) - end - local.get 3 - local.get 9 - i32.lt_u - br_if 3 (;@3;) - local.get 2 - local.get 9 - i32.const 3 - i32.shl - i32.add - local.set 2 - local.get 3 - local.get 9 - i32.sub - local.tee 3 - i32.eqz - br_if 0 (;@6;) - local.get 2 - i32.load offset=4 - local.tee 9 - local.get 6 - local.get 10 - i32.sub - local.tee 7 - i32.lt_u - br_if 4 (;@2;) - local.get 2 - i32.const 4 - i32.add - local.get 9 - local.get 7 - i32.sub - i32.store - local.get 2 - local.get 2 - i32.load - local.get 7 - i32.add - i32.store - local.get 4 - i32.load8_u offset=12 - local.set 6 - local.get 4 - i32.load offset=8 - local.set 5 - end - block ;; label = @6 - local.get 5 - i32.eqz - br_if 0 (;@6;) - local.get 6 - i32.const 255 - i32.and - i32.const 2 - i32.lt_u - br_if 0 (;@6;) - local.get 4 - i32.load offset=16 - local.tee 7 - i32.load - local.get 7 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @7 - local.get 7 - i32.load offset=4 - local.tee 9 - i32.load offset=4 - local.tee 10 - i32.eqz - br_if 0 (;@7;) - local.get 7 - i32.load - local.get 10 - local.get 9 - i32.load offset=8 - call $__rust_dealloc - end - local.get 7 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 3 - br_if 0 (;@5;) - end - end - local.get 0 - i32.const 3 - i32.store8 - br 2 (;@1;) - end - local.get 9 - local.get 3 - i32.const 1050528 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - i32.const 1052116 - i32.const 35 - i32.const 1052176 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN3std2io5Write18write_all_vectored17h937b0242149abcbeE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 3 - i32.eqz - br_if 0 (;@2;) - loop ;; label = @3 - local.get 3 - i32.const 3 - i32.shl - local.set 5 - local.get 2 - i32.const -8 - i32.add - local.set 6 - local.get 2 - local.set 7 - block ;; label = @4 - loop ;; label = @5 - block ;; label = @6 - local.get 5 - br_if 0 (;@6;) - i32.const 1049036 - local.set 5 - i32.const 0 - local.set 8 - br 2 (;@4;) - end - local.get 5 - i32.const -8 - i32.add - local.set 5 - local.get 6 - i32.const 8 - i32.add - local.set 6 - local.get 7 - i32.const 4 - i32.add - local.set 8 - local.get 7 - i32.const 8 - i32.add - local.set 7 - local.get 8 - i32.load - local.tee 8 - i32.eqz - br_if 0 (;@5;) - end - local.get 6 - i32.load - local.set 5 - end - local.get 4 - local.get 8 - i32.store offset=12 - local.get 4 - local.get 5 - i32.store offset=8 - local.get 4 - i32.const 16 - i32.add - i32.const 2 - local.get 4 - i32.const 8 - i32.add - i32.const 1 - call $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - local.get 4 - i32.load16_u offset=16 - i32.const 1 - i32.eq - br_if 0 (;@6;) - block ;; label = @7 - local.get 4 - i32.load offset=20 - local.tee 9 - br_if 0 (;@7;) - local.get 4 - i32.const 16 - i32.add - i32.const 14 - i32.const 1050340 - i32.const 28 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 4 - i64.load offset=16 - i64.store align=4 - br 6 (;@1;) - end - local.get 2 - i32.const 4 - i32.add - local.set 5 - local.get 3 - i32.const 3 - i32.shl - i32.const -8 - i32.add - i32.const 3 - i32.shr_u - i32.const 1 - i32.add - local.set 10 - i32.const 0 - local.set 7 - i32.const 0 - local.set 6 - loop ;; label = @7 - local.get 5 - i32.load - local.get 6 - i32.add - local.tee 8 - local.get 9 - i32.gt_u - br_if 2 (;@5;) - local.get 5 - i32.const 8 - i32.add - local.set 5 - local.get 8 - local.set 6 - local.get 10 - local.get 7 - i32.const 1 - i32.add - local.tee 7 - i32.ne - br_if 0 (;@7;) - end - local.get 8 - local.set 6 - local.get 10 - local.set 7 - br 1 (;@5;) - end - local.get 4 - local.get 4 - i32.load16_u offset=18 - i32.store16 offset=30 - local.get 4 - i32.const 30 - i32.add - call $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE - i32.const 65535 - i32.and - local.tee 5 - call $_ZN3std3sys4wasi17decode_error_kind17h0a01760857e06c9eE - i32.const 255 - i32.and - i32.const 15 - i32.eq - br_if 1 (;@4;) - local.get 0 - i32.const 0 - i32.store - local.get 0 - i32.const 4 - i32.add - local.get 5 - i32.store - br 4 (;@1;) - end - block ;; label = @5 - block ;; label = @6 - local.get 3 - local.get 7 - i32.lt_u - br_if 0 (;@6;) - local.get 2 - local.get 7 - i32.const 3 - i32.shl - i32.add - local.set 2 - local.get 3 - local.get 7 - i32.sub - local.tee 3 - i32.eqz - br_if 2 (;@4;) - local.get 2 - i32.load offset=4 - local.tee 7 - local.get 9 - local.get 6 - i32.sub - local.tee 5 - i32.lt_u - br_if 1 (;@5;) - local.get 2 - i32.const 4 - i32.add - local.get 7 - local.get 5 - i32.sub - i32.store - local.get 2 - local.get 2 - i32.load - local.get 5 - i32.add - i32.store - br 2 (;@4;) - end - local.get 7 - local.get 3 - i32.const 1050528 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - i32.const 1052116 - i32.const 35 - i32.const 1052176 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 3 - br_if 0 (;@3;) - end - end - local.get 0 - i32.const 3 - i32.store8 - end - local.get 4 - i32.const 32 - i32.add - global.set 0) - (func $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 3 - i32.store8 offset=12 - local.get 3 - local.get 1 - i32.store offset=8 - local.get 3 - i32.const 24 - i32.add - i32.const 16 - i32.add - local.get 2 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 3 - i32.const 24 - i32.add - i32.const 8 - i32.add - local.get 2 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 3 - local.get 2 - i64.load align=4 - i64.store offset=24 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 3 - i32.const 8 - i32.add - i32.const 1050600 - local.get 3 - i32.const 24 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - i32.eqz - br_if 0 (;@3;) - block ;; label = @4 - local.get 3 - i32.load8_u offset=12 - i32.const 3 - i32.ne - br_if 0 (;@4;) - local.get 3 - i32.const 24 - i32.add - i32.const 16 - i32.const 1050584 - i32.const 15 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 0 - local.get 3 - i64.load offset=24 - i64.store align=4 - br 2 (;@2;) - end - local.get 0 - local.get 3 - i64.load offset=12 align=4 - i64.store align=4 - br 2 (;@1;) - end - local.get 0 - i32.const 3 - i32.store8 - end - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 3 - i32.load8_u offset=12 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 3 - i32.const 16 - i32.add - i32.load - local.tee 2 - i32.load - local.get 2 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 2 - i32.load offset=4 - local.tee 0 - i32.load offset=4 - local.tee 1 - i32.eqz - br_if 0 (;@2;) - local.get 2 - i32.load - local.get 1 - local.get 0 - i32.load offset=8 - call $__rust_dealloc - end - local.get 3 - i32.load offset=16 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 3 - i32.const 48 - i32.add - global.set 0) - (func $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h612bf57410edd764E (type 8) (param i32 i32 i32) (result i32) - (local i32 i64 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 8 - i32.add - local.get 0 - i32.load - local.get 1 - local.get 2 - call $_ZN3std2io5Write9write_all17h39d0435291d0ea60E - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 3 - i32.load8_u offset=8 - i32.const 3 - i32.eq - br_if 0 (;@1;) - local.get 3 - i64.load offset=8 - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.load - local.get 5 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i64.store offset=4 align=4 - i32.const 1 - local.set 1 - end - local.get 3 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17hc2a4146e00a3c941E (type 8) (param i32 i32 i32) (result i32) - (local i32 i64 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 8 - i32.add - local.get 0 - i32.load - local.get 1 - local.get 2 - call $_ZN3std2io5Write9write_all17hb4b7128eb566cce6E - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 3 - i32.load8_u offset=8 - i32.const 3 - i32.eq - br_if 0 (;@1;) - local.get 3 - i64.load offset=8 - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=4 - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.load - local.get 5 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.load offset=8 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 0 - local.get 4 - i64.store offset=4 align=4 - i32.const 1 - local.set 1 - end - local.get 3 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN59_$LT$std..process..ChildStdin$u20$as$u20$std..io..Write$GT$5flush17hd1cd00994c0d68a2E (type 6) (param i32 i32) - local.get 0 - i32.const 3 - i32.store8) - (func $_ZN3std7process5abort17hf1114be477e68b14E (type 0) - call $_ZN3std3sys4wasi14abort_internal17h90f7a1074a6bed5aE - unreachable) - (func $_ZN3std3sys4wasi14abort_internal17h90f7a1074a6bed5aE (type 0) - call $abort - unreachable) - (func $_ZN70_$LT$std..sync..once..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$4drop17h49d83c7df7d961c7E (type 1) (param i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 1 - global.set 0 - local.get 0 - i32.load - local.tee 2 - i32.load - local.set 3 - local.get 2 - local.get 0 - i32.load offset=4 - i32.store - local.get 1 - local.get 3 - i32.const 3 - i32.and - local.tee 0 - i32.store offset=12 - block ;; label = @1 - local.get 0 - i32.const 2 - i32.ne - br_if 0 (;@1;) - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 3 - i32.const -4 - i32.and - local.tee 0 - i32.eqz - br_if 0 (;@5;) - loop ;; label = @6 - local.get 0 - i32.load offset=4 - local.set 2 - local.get 0 - i32.load - local.set 3 - local.get 0 - i32.const 0 - i32.store - local.get 3 - i32.eqz - br_if 2 (;@4;) - local.get 0 - i32.const 1 - i32.store8 offset=8 - local.get 3 - i32.load offset=24 - local.set 0 - local.get 3 - i32.const 2 - i32.store offset=24 - local.get 1 - local.get 3 - i32.store offset=40 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - local.get 0 - i32.const 2 - i32.gt_u - br_if 0 (;@9;) - local.get 0 - br_table 2 (;@7;) 1 (;@8;) 2 (;@7;) 2 (;@7;) - end - i32.const 1049592 - i32.const 28 - i32.const 1049620 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 1 - i32.load offset=40 - local.tee 0 - i32.const 28 - i32.add - local.tee 3 - i32.load - local.tee 4 - i32.load8_u - br_if 4 (;@3;) - local.get 4 - i32.const 1 - i32.store8 - block ;; label = @8 - block ;; label = @9 - i32.const 0 - i32.load offset=1058352 - i32.const 1 - i32.ne - br_if 0 (;@9;) - i32.const 0 - i32.load offset=1058356 - local.set 4 - br 1 (;@8;) - end - i32.const 0 - local.set 4 - i32.const 0 - i64.const 1 - i64.store offset=1058352 - end - i32.const 0 - local.get 4 - i32.store offset=1058356 - local.get 0 - i32.load8_u offset=32 - br_if 5 (;@2;) - local.get 3 - i32.load - i32.const 0 - i32.store8 - end - local.get 1 - i32.load offset=40 - local.tee 0 - local.get 0 - i32.load - local.tee 0 - i32.const -1 - i32.add - i32.store - block ;; label = @7 - local.get 0 - i32.const 1 - i32.ne - br_if 0 (;@7;) - local.get 1 - i32.const 40 - i32.add - call $_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h60f285450f6f3f75E - end - local.get 2 - local.set 0 - local.get 2 - br_if 0 (;@6;) - end - end - local.get 1 - i32.const 64 - i32.add - global.set 0 - return - end - i32.const 1049080 - i32.const 43 - i32.const 1050932 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - local.get 1 - local.get 3 - i32.store offset=16 - local.get 1 - local.get 4 - i32.const 0 - i32.ne - i32.store8 offset=20 - i32.const 1049172 - i32.const 43 - local.get 1 - i32.const 16 - i32.add - i32.const 1049232 - i32.const 1049636 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - local.get 1 - i32.const 52 - i32.add - i32.const 7 - i32.store - local.get 1 - i32.const 36 - i32.add - i32.const 2 - i32.store - local.get 1 - i64.const 3 - i64.store offset=20 align=4 - local.get 1 - i32.const 1049012 - i32.store offset=16 - local.get 1 - i32.const 7 - i32.store offset=44 - local.get 1 - local.get 1 - i32.const 12 - i32.add - i32.store offset=56 - local.get 1 - i32.const 1049380 - i32.store offset=60 - local.get 1 - local.get 1 - i32.const 40 - i32.add - i32.store offset=32 - local.get 1 - local.get 1 - i32.const 60 - i32.add - i32.store offset=48 - local.get 1 - local.get 1 - i32.const 56 - i32.add - i32.store offset=40 - local.get 1 - i32.const 16 - i32.add - i32.const 1050916 - call $_ZN3std9panicking15begin_panic_fmt17h08429981da95e9e5E - unreachable) - (func $_ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17hf61cfde2fe9b6125E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load8_u - local.set 3 - local.get 2 - i32.const 40 - i32.add - i32.const 16 - i32.const 1052388 - i32.const 35 - call $_ZN3std2io5error5Error3new17h241fae668dc94904E - local.get 2 - i32.load offset=44 - local.set 0 - block ;; label = @1 - local.get 2 - i32.load8_u offset=40 - i32.const 2 - i32.lt_u - br_if 0 (;@1;) - local.get 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 0 - i32.load offset=4 - local.tee 4 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@2;) - local.get 0 - i32.load - local.get 5 - local.get 4 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 2 - i32.const 0 - i32.store - local.get 2 - local.get 3 - i32.store8 offset=12 - local.get 2 - local.get 0 - i64.extend_i32_u - i64.store offset=4 align=4 - local.get 2 - i32.const 60 - i32.add - i32.const 0 - i32.store - local.get 2 - i32.const 1049036 - i32.store offset=56 - local.get 2 - i64.const 1 - i64.store offset=44 align=4 - local.get 2 - i32.const 1051052 - i32.store offset=40 - block ;; label = @1 - block ;; label = @2 - local.get 1 - local.get 2 - i32.const 40 - i32.add - call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E - br_if 0 (;@2;) - local.get 2 - i32.const 16 - i32.add - local.get 1 - local.get 3 - local.get 2 - i32.const 1051060 - call $_ZN9backtrace5print12BacktraceFmt3new17heb00f4bb3dc7e3fcE - block ;; label = @3 - local.get 2 - i32.const 16 - i32.add - call $_ZN9backtrace5print12BacktraceFmt11add_context17hce465d38752fa7c6E - br_if 0 (;@3;) - local.get 2 - i32.const 16 - i32.add - call $_ZN9backtrace5print12BacktraceFmt11add_context17hce465d38752fa7c6E - br_if 0 (;@3;) - block ;; label = @4 - local.get 3 - i32.const 255 - i32.and - br_if 0 (;@4;) - local.get 2 - i32.const 60 - i32.add - i32.const 0 - i32.store - local.get 2 - i32.const 1049036 - i32.store offset=56 - local.get 2 - i64.const 1 - i64.store offset=44 align=4 - local.get 2 - i32.const 1051168 - i32.store offset=40 - local.get 1 - local.get 2 - i32.const 40 - i32.add - call $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E - br_if 1 (;@3;) - end - block ;; label = @4 - local.get 2 - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@4;) - local.get 2 - i32.load offset=4 - local.tee 3 - i32.eqz - br_if 0 (;@4;) - local.get 0 - local.get 3 - i32.const 1 - call $__rust_dealloc - end - i32.const 0 - local.set 0 - br 2 (;@1;) - end - local.get 2 - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@2;) - local.get 2 - i32.load offset=4 - local.tee 3 - i32.eqz - br_if 0 (;@2;) - local.get 0 - local.get 3 - i32.const 1 - call $__rust_dealloc - end - i32.const 1 - local.set 0 - end - local.get 2 - i32.const 64 - i32.add - global.set 0 - local.get 0) - (func $_ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17hbd37bfd99643a95bE (type 8) (param i32 i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 3 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.load - i32.const 1 - i32.ne - br_if 0 (;@2;) - i32.const 1051180 - local.set 2 - i32.const 9 - local.set 4 - br 1 (;@1;) - end - local.get 3 - i32.const 16 - i32.add - local.get 2 - i32.load offset=4 - local.get 2 - i32.const 8 - i32.add - i32.load - call $_ZN4core3str9from_utf817h4147d06a7789f81eE - i32.const 1051180 - local.get 3 - i32.load offset=20 - local.get 3 - i32.load offset=16 - i32.const 1 - i32.eq - local.tee 4 - select - local.set 2 - i32.const 9 - local.get 3 - i32.const 16 - i32.add - i32.const 8 - i32.add - i32.load - local.get 4 - select - local.set 4 - end - local.get 3 - i32.const 8 - i32.add - local.get 2 - local.get 4 - call $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE - local.get 3 - i32.load offset=8 - local.get 3 - i32.load offset=12 - local.get 1 - call $_ZN66_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$3fmt17hb03f341134eb2e55E - local.set 2 - local.get 3 - i32.const 32 - i32.add - global.set 0 - local.get 2) - (func $_ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h9f16e1c4d331680cE (type 3) (param i32 i32) (result i32) - local.get 0 - local.get 1 - i32.load offset=12 - call_indirect (type 5)) - (func $_ZN3std3sys4wasi7condvar7Condvar4wait17hd58c2e705c9c4c90E (type 6) (param i32 i32) - i32.const 1052032 - i32.const 29 - i32.const 1052100 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable) - (func $_ZN82_$LT$std..sys_common..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h5133a11d5216d05aE (type 3) (param i32 i32) (result i32) - i32.const 1051232 - i32.const 25 - local.get 1 - call $_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h7843956b8f6f7061E) - (func $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE (type 1) (param i32) - (local i32 i32 i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 1 - global.set 0 - local.get 1 - i32.const 16 - i32.add - i32.const 16 - i32.add - local.get 0 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 1 - i32.const 16 - i32.add - i32.const 8 - i32.add - local.get 0 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 1 - local.get 0 - i64.load align=4 - i64.store offset=16 - local.get 1 - i32.const 8 - i32.add - local.get 1 - i32.const 40 - i32.add - local.get 1 - i32.const 16 - i32.add - call $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE - block ;; label = @1 - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 1 - i32.load8_u offset=8 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 1 - i32.load offset=12 - local.tee 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 0 - i32.load offset=4 - local.tee 2 - i32.load offset=4 - local.tee 3 - i32.eqz - br_if 0 (;@2;) - local.get 0 - i32.load - local.get 3 - local.get 2 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 1 - i32.const 48 - i32.add - global.set 0) - (func $_ZN3std10sys_common4util5abort17h4ad11f4843dc8899E (type 1) (param i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 1 - global.set 0 - local.get 1 - i32.const 20 - i32.add - i32.const 1 - i32.store - local.get 1 - i64.const 2 - i64.store offset=4 align=4 - local.get 1 - i32.const 1051372 - i32.store - local.get 1 - i32.const 6 - i32.store offset=28 - local.get 1 - local.get 0 - i32.store offset=24 - local.get 1 - local.get 1 - i32.const 24 - i32.add - i32.store offset=16 - local.get 1 - call $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE - call $_ZN3std3sys4wasi14abort_internal17h90f7a1074a6bed5aE - unreachable) - (func $_ZN3std5alloc24default_alloc_error_hook17h2080d072101c71d6E (type 6) (param i32 i32) - (local i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - i32.const 13 - i32.store offset=12 - local.get 2 - local.get 0 - i32.store offset=20 - local.get 2 - local.get 2 - i32.const 20 - i32.add - i32.store offset=8 - local.get 2 - i32.const 52 - i32.add - i32.const 1 - i32.store - local.get 2 - i64.const 2 - i64.store offset=36 align=4 - local.get 2 - i32.const 1051440 - i32.store offset=32 - local.get 2 - local.get 2 - i32.const 8 - i32.add - i32.store offset=48 - local.get 2 - i32.const 24 - i32.add - local.get 2 - i32.const 56 - i32.add - local.get 2 - i32.const 32 - i32.add - call $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE - block ;; label = @1 - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 2 - i32.load8_u offset=24 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 2 - i32.load offset=28 - local.tee 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 0 - i32.load offset=4 - local.tee 3 - i32.load offset=4 - local.tee 4 - i32.eqz - br_if 0 (;@2;) - local.get 0 - i32.load - local.get 4 - local.get 3 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 2 - i32.const 64 - i32.add - global.set 0) - (func $rust_oom (type 6) (param i32 i32) - (local i32) - local.get 0 - local.get 1 - i32.const 0 - i32.load offset=1058292 - local.tee 2 - i32.const 14 - local.get 2 - select - call_indirect (type 6) - call $_ZN3std7process5abort17hf1114be477e68b14E - unreachable) - (func $__rdl_alloc (type 3) (param i32 i32) (result i32) - block ;; label = @1 - block ;; label = @2 - local.get 1 - i32.const 8 - i32.gt_u - br_if 0 (;@2;) - local.get 1 - local.get 0 - i32.le_u - br_if 1 (;@1;) - end - local.get 1 - local.get 0 - call $aligned_alloc - return - end - local.get 0 - call $malloc) - (func $__rdl_dealloc (type 7) (param i32 i32 i32) - local.get 0 - call $free) - (func $__rdl_realloc (type 9) (param i32 i32 i32 i32) (result i32) - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.const 8 - i32.gt_u - br_if 0 (;@2;) - local.get 2 - local.get 3 - i32.le_u - br_if 1 (;@1;) - end - block ;; label = @2 - local.get 2 - local.get 3 - call $aligned_alloc - local.tee 2 - br_if 0 (;@2;) - i32.const 0 - return - end - local.get 2 - local.get 0 - local.get 3 - local.get 1 - local.get 1 - local.get 3 - i32.gt_u - select - call $memcpy - local.set 3 - local.get 0 - call $free - local.get 3 - return - end - local.get 0 - local.get 3 - call $realloc) - (func $_ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h46401a881447bbf1E (type 7) (param i32 i32 i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 20 - i32.add - i32.const 3 - i32.store - local.get 3 - i32.const 32 - i32.add - i32.const 20 - i32.add - i32.const 15 - i32.store - local.get 3 - i32.const 44 - i32.add - i32.const 10 - i32.store - local.get 3 - i64.const 4 - i64.store offset=4 align=4 - local.get 3 - i32.const 1051632 - i32.store - local.get 3 - i32.const 10 - i32.store offset=36 - local.get 3 - local.get 0 - i32.load offset=8 - i32.store offset=48 - local.get 3 - local.get 0 - i32.load offset=4 - i32.store offset=40 - local.get 3 - local.get 0 - i32.load - i32.store offset=32 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=16 - local.get 3 - i32.const 24 - i32.add - local.get 1 - local.get 3 - local.get 2 - i32.load offset=36 - local.tee 2 - call_indirect (type 7) - block ;; label = @1 - block ;; label = @2 - i32.const 0 - br_if 0 (;@2;) - local.get 3 - i32.load8_u offset=24 - i32.const 2 - i32.ne - br_if 1 (;@1;) - end - local.get 3 - i32.load offset=28 - local.tee 4 - i32.load - local.get 4 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @2 - local.get 4 - i32.load offset=4 - local.tee 5 - i32.load offset=4 - local.tee 6 - i32.eqz - br_if 0 (;@2;) - local.get 4 - i32.load - local.get 6 - local.get 5 - i32.load offset=8 - call $__rust_dealloc - end - local.get 4 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 0 - i32.load offset=12 - i32.load8_u - local.tee 4 - i32.const -3 - i32.add - i32.const 255 - i32.and - local.tee 0 - i32.const 1 - i32.add - i32.const 0 - local.get 0 - i32.const 2 - i32.lt_u - select - br_table 0 (;@4;) 2 (;@2;) 1 (;@3;) 0 (;@4;) - end - i32.const 0 - i32.load8_u offset=1058362 - br_if 2 (;@1;) - i32.const 0 - i32.const 1 - i32.store8 offset=1058362 - local.get 3 - i32.const 52 - i32.add - i32.const 1 - i32.store - local.get 3 - i64.const 1 - i64.store offset=36 align=4 - local.get 3 - i32.const 1050296 - i32.store offset=32 - local.get 3 - i32.const 16 - i32.store offset=4 - local.get 3 - local.get 4 - i32.store8 offset=63 - local.get 3 - local.get 3 - i32.store offset=48 - local.get 3 - local.get 3 - i32.const 63 - i32.add - i32.store - local.get 3 - i32.const 24 - i32.add - local.get 1 - local.get 3 - i32.const 32 - i32.add - local.get 2 - call_indirect (type 7) - i32.const 0 - i32.const 0 - i32.store8 offset=1058362 - block ;; label = @4 - i32.const 0 - br_if 0 (;@4;) - local.get 3 - i32.load8_u offset=24 - i32.const 2 - i32.ne - br_if 2 (;@2;) - end - local.get 3 - i32.load offset=28 - local.tee 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @4 - local.get 0 - i32.load offset=4 - local.tee 1 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@4;) - local.get 0 - i32.load - local.get 2 - local.get 1 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 12 - i32.const 4 - call $__rust_dealloc - br 1 (;@2;) - end - i32.const 0 - i32.load8_u offset=1058264 - local.set 0 - i32.const 0 - i32.const 0 - i32.store8 offset=1058264 - local.get 0 - i32.eqz - br_if 0 (;@2;) - local.get 3 - i32.const 52 - i32.add - i32.const 0 - i32.store - local.get 3 - i32.const 1049036 - i32.store offset=48 - local.get 3 - i64.const 1 - i64.store offset=36 align=4 - local.get 3 - i32.const 1051744 - i32.store offset=32 - local.get 3 - local.get 1 - local.get 3 - i32.const 32 - i32.add - local.get 2 - call_indirect (type 7) - block ;; label = @3 - i32.const 0 - br_if 0 (;@3;) - local.get 3 - i32.load8_u - i32.const 2 - i32.ne - br_if 1 (;@2;) - end - local.get 3 - i32.load offset=4 - local.tee 0 - i32.load - local.get 0 - i32.load offset=4 - i32.load - call_indirect (type 1) - block ;; label = @3 - local.get 0 - i32.load offset=4 - local.tee 1 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@3;) - local.get 0 - i32.load - local.get 2 - local.get 1 - i32.load offset=8 - call $__rust_dealloc - end - local.get 0 - i32.const 12 - i32.const 4 - call $__rust_dealloc - end - local.get 3 - i32.const 64 - i32.add - global.set 0 - return - end - i32.const 1052192 - i32.const 32 - i32.const 1052260 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable) - (func $rust_begin_unwind (type 1) (param i32) - (local i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 1 - global.set 0 - local.get 0 - call $_ZN4core5panic9PanicInfo8location17hd9842140c74e4b5aE - i32.const 1051752 - call $_ZN4core6option15Option$LT$T$GT$6unwrap17ha9b23444d02fba95E - local.set 2 - local.get 0 - call $_ZN4core5panic9PanicInfo7message17h173c452a45dbd3bdE - call $_ZN4core6option15Option$LT$T$GT$6unwrap17h710816bd9632510dE - local.set 3 - local.get 1 - i32.const 0 - i32.store offset=4 - local.get 1 - local.get 3 - i32.store - local.get 1 - i32.const 1051784 - local.get 0 - call $_ZN4core5panic9PanicInfo7message17h173c452a45dbd3bdE - local.get 2 - call $_ZN3std9panicking20rust_panic_with_hook17hb404003726e52692E - unreachable) - (func $_ZN3std9panicking20rust_panic_with_hook17hb404003726e52692E (type 4) (param i32 i32 i32 i32) - (local i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 4 - global.set 0 - i32.const 1 - local.set 5 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - i32.const 0 - i32.load offset=1058352 - i32.const 1 - i32.eq - br_if 0 (;@4;) - i32.const 0 - i64.const 4294967297 - i64.store offset=1058352 - br 1 (;@3;) - end - i32.const 0 - i32.const 0 - i32.load offset=1058356 - i32.const 1 - i32.add - local.tee 5 - i32.store offset=1058356 - local.get 5 - i32.const 2 - i32.gt_u - br_if 1 (;@2;) - end - local.get 4 - local.get 3 - i32.store offset=36 - local.get 4 - local.get 2 - i32.store offset=32 - local.get 4 - i32.const 1049036 - i32.store offset=28 - local.get 4 - i32.const 1049036 - i32.store offset=24 - block ;; label = @3 - i32.const 0 - i32.load offset=1058296 - local.tee 2 - i32.const -1 - i32.le_s - br_if 0 (;@3;) - i32.const 0 - local.get 2 - i32.const 1 - i32.add - i32.store offset=1058296 - block ;; label = @4 - block ;; label = @5 - i32.const 0 - i32.load offset=1058304 - local.tee 2 - i32.eqz - br_if 0 (;@5;) - i32.const 0 - i32.load offset=1058300 - local.set 3 - local.get 4 - i32.const 16 - i32.add - local.get 0 - local.get 1 - i32.load offset=16 - call_indirect (type 6) - local.get 4 - local.get 4 - i64.load offset=16 - i64.store offset=24 - local.get 3 - local.get 4 - i32.const 24 - i32.add - local.get 2 - i32.load offset=12 - call_indirect (type 6) - br 1 (;@4;) - end - local.get 4 - i32.const 8 - i32.add - local.get 0 - local.get 1 - i32.load offset=16 - call_indirect (type 6) - local.get 4 - local.get 4 - i64.load offset=8 - i64.store offset=24 - local.get 4 - i32.const 24 - i32.add - call $_ZN3std9panicking12default_hook17h98793b832cd2dab6E - end - i32.const 0 - i32.const 0 - i32.load offset=1058296 - i32.const -1 - i32.add - i32.store offset=1058296 - local.get 5 - i32.const 1 - i32.le_u - br_if 2 (;@1;) - local.get 4 - i32.const 60 - i32.add - i32.const 0 - i32.store - local.get 4 - i32.const 1049036 - i32.store offset=56 - local.get 4 - i64.const 1 - i64.store offset=44 align=4 - local.get 4 - i32.const 1051960 - i32.store offset=40 - local.get 4 - i32.const 40 - i32.add - call $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE - unreachable - unreachable - end - local.get 4 - i32.const 60 - i32.add - i32.const 0 - i32.store - local.get 4 - i32.const 1049036 - i32.store offset=56 - local.get 4 - i64.const 1 - i64.store offset=44 align=4 - local.get 4 - i32.const 1052380 - i32.store offset=40 - local.get 4 - i32.const 40 - i32.add - call $_ZN3std10sys_common4util5abort17h4ad11f4843dc8899E - unreachable - end - local.get 4 - i32.const 60 - i32.add - i32.const 0 - i32.store - local.get 4 - i32.const 1049036 - i32.store offset=56 - local.get 4 - i64.const 1 - i64.store offset=44 align=4 - local.get 4 - i32.const 1051908 - i32.store offset=40 - local.get 4 - i32.const 40 - i32.add - call $_ZN3std10sys_common4util10dumb_print17h9a7181f517d12afaE - unreachable - unreachable - end - local.get 0 - local.get 1 - call $rust_panic - unreachable) - (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h516f6ed2d13d495aE (type 6) (param i32 i32) - (local i32 i32 i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 2 - global.set 0 - block ;; label = @1 - local.get 1 - i32.load offset=4 - local.tee 3 - br_if 0 (;@1;) - local.get 1 - i32.const 4 - i32.add - local.set 3 - local.get 1 - i32.load - local.set 4 - local.get 2 - i32.const 0 - i32.store offset=32 - local.get 2 - i64.const 1 - i64.store offset=24 - local.get 2 - local.get 2 - i32.const 24 - i32.add - i32.store offset=36 - local.get 2 - i32.const 40 - i32.add - i32.const 16 - i32.add - local.get 4 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 40 - i32.add - i32.const 8 - i32.add - local.get 4 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 4 - i64.load align=4 - i64.store offset=40 - local.get 2 - i32.const 36 - i32.add - i32.const 1048680 - local.get 2 - i32.const 40 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - drop - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.tee 4 - local.get 2 - i32.load offset=32 - i32.store - local.get 2 - local.get 2 - i64.load offset=24 - i64.store offset=8 - block ;; label = @2 - local.get 1 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.const 8 - i32.add - i32.load - local.tee 6 - i32.eqz - br_if 0 (;@2;) - local.get 5 - local.get 6 - i32.const 1 - call $__rust_dealloc - end - local.get 3 - local.get 2 - i64.load offset=8 - i64.store align=4 - local.get 3 - i32.const 8 - i32.add - local.get 4 - i32.load - i32.store - local.get 3 - i32.load - local.set 3 - end - local.get 1 - i32.const 1 - i32.store offset=4 - local.get 1 - i32.const 12 - i32.add - i32.load - local.set 4 - local.get 1 - i32.const 8 - i32.add - local.tee 1 - i32.load - local.set 5 - local.get 1 - i64.const 0 - i64.store align=4 - block ;; label = @1 - i32.const 12 - i32.const 4 - call $__rust_alloc - local.tee 1 - br_if 0 (;@1;) - i32.const 12 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable - end - local.get 1 - local.get 4 - i32.store offset=8 - local.get 1 - local.get 5 - i32.store offset=4 - local.get 1 - local.get 3 - i32.store - local.get 0 - i32.const 1051804 - i32.store offset=4 - local.get 0 - local.get 1 - i32.store - local.get 2 - i32.const 64 - i32.add - global.set 0) - (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h0dcd379042aba638E (type 6) (param i32 i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 2 - global.set 0 - local.get 1 - i32.const 4 - i32.add - local.set 3 - block ;; label = @1 - local.get 1 - i32.load offset=4 - br_if 0 (;@1;) - local.get 1 - i32.load - local.set 4 - local.get 2 - i32.const 0 - i32.store offset=32 - local.get 2 - i64.const 1 - i64.store offset=24 - local.get 2 - local.get 2 - i32.const 24 - i32.add - i32.store offset=36 - local.get 2 - i32.const 40 - i32.add - i32.const 16 - i32.add - local.get 4 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 40 - i32.add - i32.const 8 - i32.add - local.get 4 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 4 - i64.load align=4 - i64.store offset=40 - local.get 2 - i32.const 36 - i32.add - i32.const 1048680 - local.get 2 - i32.const 40 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - drop - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.tee 4 - local.get 2 - i32.load offset=32 - i32.store - local.get 2 - local.get 2 - i64.load offset=24 - i64.store offset=8 - block ;; label = @2 - local.get 1 - i32.load offset=4 - local.tee 5 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.const 8 - i32.add - i32.load - local.tee 1 - i32.eqz - br_if 0 (;@2;) - local.get 5 - local.get 1 - i32.const 1 - call $__rust_dealloc - end - local.get 3 - local.get 2 - i64.load offset=8 - i64.store align=4 - local.get 3 - i32.const 8 - i32.add - local.get 4 - i32.load - i32.store - end - local.get 0 - i32.const 1051804 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 2 - i32.const 64 - i32.add - global.set 0) - (func $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17hf6fdacb60f80e8b3E (type 6) (param i32 i32) - (local i32 i32) - local.get 1 - i32.load - local.set 2 - local.get 1 - i32.const 0 - i32.store - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.load offset=4 - local.set 3 - i32.const 8 - i32.const 4 - call $__rust_alloc - local.tee 1 - i32.eqz - br_if 1 (;@1;) - local.get 1 - local.get 3 - i32.store offset=4 - local.get 1 - local.get 2 - i32.store - local.get 0 - i32.const 1051840 - i32.store offset=4 - local.get 0 - local.get 1 - i32.store - return - end - call $_ZN3std7process5abort17hf1114be477e68b14E - unreachable - end - i32.const 8 - i32.const 4 - call $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E - unreachable) - (func $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$3get17h3853a323bdd12366E (type 6) (param i32 i32) - block ;; label = @1 - local.get 1 - i32.load - br_if 0 (;@1;) - call $_ZN3std7process5abort17hf1114be477e68b14E - unreachable - end - local.get 0 - i32.const 1051840 - i32.store offset=4 - local.get 0 - local.get 1 - i32.store) - (func $rust_panic (type 6) (param i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 1 - i32.store offset=4 - local.get 2 - local.get 0 - i32.store - local.get 2 - local.get 2 - call $__rust_start_panic - i32.store offset=12 - local.get 2 - i32.const 36 - i32.add - i32.const 1 - i32.store - local.get 2 - i64.const 1 - i64.store offset=20 align=4 - local.get 2 - i32.const 1052000 - i32.store offset=16 - local.get 2 - i32.const 13 - i32.store offset=44 - local.get 2 - local.get 2 - i32.const 40 - i32.add - i32.store offset=32 - local.get 2 - local.get 2 - i32.const 12 - i32.add - i32.store offset=40 - local.get 2 - i32.const 16 - i32.add - call $_ZN3std10sys_common4util5abort17h4ad11f4843dc8899E - unreachable) - (func $_ZN3std2rt19lang_start_internal17h671cbf6e632f7250E (type 9) (param i32 i32 i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - i32.const 4 - i32.const 1 - call $__rust_alloc - local.tee 5 - i32.eqz - br_if 0 (;@4;) - local.get 4 - i64.const 4 - i64.store offset=20 align=4 - local.get 4 - local.get 5 - i32.store offset=16 - local.get 4 - i32.const 16 - i32.add - i32.const 4 - call $_ZN5alloc3vec12Vec$LT$T$GT$7reserve17heda78ba2e93e6ddbE - local.get 4 - i32.load offset=16 - local.get 4 - i32.load offset=24 - local.tee 5 - i32.add - i32.const 1852399981 - i32.store align=1 - local.get 4 - i32.const 8 - i32.add - local.get 5 - i32.const 4 - i32.add - i32.store - local.get 4 - local.get 4 - i64.load offset=16 - i64.store - local.get 4 - call $_ZN3std6thread6Thread3new17hcdd908459063ea43E - local.set 5 - block ;; label = @5 - block ;; label = @6 - i32.const 0 - i32.load offset=1058340 - i32.const 1 - i32.eq - br_if 0 (;@6;) - i32.const 0 - i64.const 1 - i64.store offset=1058340 align=4 - i32.const 0 - i32.const 0 - i32.store offset=1058348 - br 1 (;@5;) - end - i32.const 0 - i32.load offset=1058344 - local.tee 6 - i32.const 1 - i32.add - i32.const 0 - i32.le_s - br_if 2 (;@3;) - i32.const 0 - i32.load offset=1058348 - br_if 3 (;@2;) - local.get 6 - br_if 4 (;@1;) - end - i32.const 0 - local.get 5 - i32.store offset=1058348 - i32.const 0 - i32.const 0 - i32.store offset=1058344 - local.get 0 - local.get 1 - call $_ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h9f16e1c4d331680cE - local.set 0 - block ;; label = @5 - i32.const 0 - i32.load offset=1058288 - i32.const 3 - i32.eq - br_if 0 (;@5;) - local.get 4 - i32.const 1 - i32.store8 - local.get 4 - local.get 4 - i32.store offset=16 - i32.const 1058288 - i32.const 0 - local.get 4 - i32.const 16 - i32.add - i32.const 1050720 - call $_ZN3std4sync4once4Once10call_inner17hca77e4a078ff76abE - end - local.get 4 - i32.const 32 - i32.add - global.set 0 - local.get 0 - return - end - i32.const 4 - i32.const 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in28_$u7b$$u7b$closure$u7d$$u7d$17h1ab5c239c842986eE - unreachable - end - i32.const 1048912 - i32.const 24 - local.get 4 - i32.const 16 - i32.add - i32.const 1049124 - i32.const 1048936 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable - end - i32.const 1051293 - i32.const 38 - i32.const 1051332 - call $_ZN3std9panicking11begin_panic17h2ebaa03187c3c1cfE - unreachable - end - i32.const 1048812 - i32.const 16 - local.get 4 - i32.const 16 - i32.add - i32.const 1049140 - i32.const 1048896 - call $_ZN4core6option18expect_none_failed17h959c69efc793a13dE - unreachable) - (func $_ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h62d3c8deb4a47d04E (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 1 - i32.const 1052008 - i32.const 8 - call $_ZN4core3fmt9Formatter11debug_tuple17hafbe9eaebee7e85bE - local.get 2 - local.get 0 - i32.store offset=12 - local.get 2 - local.get 2 - i32.const 12 - i32.add - i32.const 1049284 - call $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE - drop - local.get 2 - local.get 0 - i32.const 4 - i32.add - i32.store offset=12 - local.get 2 - local.get 2 - i32.const 12 - i32.add - i32.const 1052016 - call $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE - drop - local.get 2 - call $_ZN4core3fmt8builders10DebugTuple6finish17hf5054e572dd32ba2E - local.set 0 - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 0) - (func $_ZN3std3sys4wasi7process8ExitCode6as_i3217ha6343d4419ced070E (type 5) (param i32) (result i32) - local.get 0 - i32.load8_u) - (func $__rust_start_panic (type 5) (param i32) (result i32) - unreachable - unreachable) - (func $_ZN4wasi5error5Error9raw_error17hf4fc4403a50dba6eE (type 5) (param i32) (result i32) - local.get 0 - i32.load16_u) - (func $_ZN4wasi13lib_generated8fd_write17h88522743b3c41194E (type 4) (param i32 i32 i32 i32) - (local i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 4 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 1 - local.get 2 - local.get 3 - local.get 4 - i32.const 12 - i32.add - call $_ZN4wasi13lib_generated22wasi_snapshot_preview18fd_write17hfbffe82bfc68da68E - local.tee 1 - br_if 0 (;@2;) - local.get 0 - i32.const 4 - i32.add - local.get 4 - i32.load offset=12 - i32.store - i32.const 0 - local.set 1 - br 1 (;@1;) - end - local.get 0 - local.get 1 - i32.store16 offset=2 - i32.const 1 - local.set 1 - end - local.get 0 - local.get 1 - i32.store16 - local.get 4 - i32.const 16 - i32.add - global.set 0) - (func $_ZN9backtrace5print12BacktraceFmt3new17heb00f4bb3dc7e3fcE (type 10) (param i32 i32 i32 i32 i32) - local.get 0 - local.get 2 - i32.store8 offset=16 - local.get 0 - i32.const 0 - i32.store offset=4 - local.get 0 - local.get 1 - i32.store - local.get 0 - local.get 3 - i32.store offset=8 - local.get 0 - i32.const 12 - i32.add - local.get 4 - i32.store) - (func $_ZN9backtrace5print12BacktraceFmt11add_context17hce465d38752fa7c6E (type 5) (param i32) (result i32) - i32.const 0) - (func $abort (type 0) - unreachable - unreachable) - (func $malloc (type 5) (param i32) (result i32) - local.get 0 - call $dlmalloc) - (func $dlmalloc (type 5) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 1 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - local.get 0 - i32.const 236 - i32.gt_u - br_if 0 (;@12;) - block ;; label = @13 - i32.const 0 - i32.load offset=1058364 - local.tee 2 - i32.const 16 - local.get 0 - i32.const 19 - i32.add - i32.const -16 - i32.and - local.get 0 - i32.const 11 - i32.lt_u - select - local.tee 3 - i32.const 3 - i32.shr_u - local.tee 4 - i32.shr_u - local.tee 0 - i32.const 3 - i32.and - i32.eqz - br_if 0 (;@13;) - local.get 0 - i32.const 1 - i32.and - local.get 4 - i32.or - i32.const 1 - i32.xor - local.tee 3 - i32.const 3 - i32.shl - local.tee 5 - i32.const 1058412 - i32.add - i32.load - local.tee 4 - i32.const 8 - i32.add - local.set 0 - block ;; label = @14 - block ;; label = @15 - local.get 4 - i32.load offset=8 - local.tee 6 - local.get 5 - i32.const 1058404 - i32.add - local.tee 5 - i32.ne - br_if 0 (;@15;) - i32.const 0 - local.get 2 - i32.const -2 - local.get 3 - i32.rotl - i32.and - i32.store offset=1058364 - br 1 (;@14;) - end - i32.const 0 - i32.load offset=1058380 - local.get 6 - i32.gt_u - drop - local.get 5 - local.get 6 - i32.store offset=8 - local.get 6 - local.get 5 - i32.store offset=12 - end - local.get 4 - local.get 3 - i32.const 3 - i32.shl - local.tee 6 - i32.const 3 - i32.or - i32.store offset=4 - local.get 4 - local.get 6 - i32.add - local.tee 4 - local.get 4 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - br 12 (;@1;) - end - local.get 3 - i32.const 0 - i32.load offset=1058372 - local.tee 7 - i32.le_u - br_if 1 (;@11;) - block ;; label = @13 - local.get 0 - i32.eqz - br_if 0 (;@13;) - block ;; label = @14 - block ;; label = @15 - local.get 0 - local.get 4 - i32.shl - i32.const 2 - local.get 4 - i32.shl - local.tee 0 - i32.const 0 - local.get 0 - i32.sub - i32.or - i32.and - local.tee 0 - i32.const 0 - local.get 0 - i32.sub - i32.and - i32.const -1 - i32.add - local.tee 0 - local.get 0 - i32.const 12 - i32.shr_u - i32.const 16 - i32.and - local.tee 0 - i32.shr_u - local.tee 4 - i32.const 5 - i32.shr_u - i32.const 8 - i32.and - local.tee 6 - local.get 0 - i32.or - local.get 4 - local.get 6 - i32.shr_u - local.tee 0 - i32.const 2 - i32.shr_u - i32.const 4 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - local.tee 0 - i32.const 1 - i32.shr_u - i32.const 2 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - local.tee 0 - i32.const 1 - i32.shr_u - i32.const 1 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - i32.add - local.tee 6 - i32.const 3 - i32.shl - local.tee 5 - i32.const 1058412 - i32.add - i32.load - local.tee 4 - i32.load offset=8 - local.tee 0 - local.get 5 - i32.const 1058404 - i32.add - local.tee 5 - i32.ne - br_if 0 (;@15;) - i32.const 0 - local.get 2 - i32.const -2 - local.get 6 - i32.rotl - i32.and - local.tee 2 - i32.store offset=1058364 - br 1 (;@14;) - end - i32.const 0 - i32.load offset=1058380 - local.get 0 - i32.gt_u - drop - local.get 5 - local.get 0 - i32.store offset=8 - local.get 0 - local.get 5 - i32.store offset=12 - end - local.get 4 - i32.const 8 - i32.add - local.set 0 - local.get 4 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - local.get 4 - local.get 6 - i32.const 3 - i32.shl - local.tee 6 - i32.add - local.get 6 - local.get 3 - i32.sub - local.tee 6 - i32.store - local.get 4 - local.get 3 - i32.add - local.tee 5 - local.get 6 - i32.const 1 - i32.or - i32.store offset=4 - block ;; label = @14 - local.get 7 - i32.eqz - br_if 0 (;@14;) - local.get 7 - i32.const 3 - i32.shr_u - local.tee 8 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 3 - i32.const 0 - i32.load offset=1058384 - local.set 4 - block ;; label = @15 - block ;; label = @16 - local.get 2 - i32.const 1 - local.get 8 - i32.shl - local.tee 8 - i32.and - br_if 0 (;@16;) - i32.const 0 - local.get 2 - local.get 8 - i32.or - i32.store offset=1058364 - local.get 3 - local.set 8 - br 1 (;@15;) - end - local.get 3 - i32.load offset=8 - local.set 8 - end - local.get 8 - local.get 4 - i32.store offset=12 - local.get 3 - local.get 4 - i32.store offset=8 - local.get 4 - local.get 3 - i32.store offset=12 - local.get 4 - local.get 8 - i32.store offset=8 - end - i32.const 0 - local.get 5 - i32.store offset=1058384 - i32.const 0 - local.get 6 - i32.store offset=1058372 - br 12 (;@1;) - end - i32.const 0 - i32.load offset=1058368 - local.tee 9 - i32.eqz - br_if 1 (;@11;) - local.get 9 - i32.const 0 - local.get 9 - i32.sub - i32.and - i32.const -1 - i32.add - local.tee 0 - local.get 0 - i32.const 12 - i32.shr_u - i32.const 16 - i32.and - local.tee 0 - i32.shr_u - local.tee 4 - i32.const 5 - i32.shr_u - i32.const 8 - i32.and - local.tee 6 - local.get 0 - i32.or - local.get 4 - local.get 6 - i32.shr_u - local.tee 0 - i32.const 2 - i32.shr_u - i32.const 4 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - local.tee 0 - i32.const 1 - i32.shr_u - i32.const 2 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - local.tee 0 - i32.const 1 - i32.shr_u - i32.const 1 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - i32.add - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - i32.load - local.tee 5 - i32.load offset=4 - i32.const -8 - i32.and - local.get 3 - i32.sub - local.set 4 - local.get 5 - local.set 6 - block ;; label = @13 - loop ;; label = @14 - block ;; label = @15 - local.get 6 - i32.load offset=16 - local.tee 0 - br_if 0 (;@15;) - local.get 6 - i32.const 20 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 2 (;@13;) - end - local.get 0 - i32.load offset=4 - i32.const -8 - i32.and - local.get 3 - i32.sub - local.tee 6 - local.get 4 - local.get 6 - local.get 4 - i32.lt_u - local.tee 6 - select - local.set 4 - local.get 0 - local.get 5 - local.get 6 - select - local.set 5 - local.get 0 - local.set 6 - br 0 (;@14;) - end - end - local.get 5 - i32.load offset=24 - local.set 10 - block ;; label = @13 - local.get 5 - i32.load offset=12 - local.tee 8 - local.get 5 - i32.eq - br_if 0 (;@13;) - block ;; label = @14 - i32.const 0 - i32.load offset=1058380 - local.get 5 - i32.load offset=8 - local.tee 0 - i32.gt_u - br_if 0 (;@14;) - local.get 0 - i32.load offset=12 - local.get 5 - i32.ne - drop - end - local.get 8 - local.get 0 - i32.store offset=8 - local.get 0 - local.get 8 - i32.store offset=12 - br 11 (;@2;) - end - block ;; label = @13 - local.get 5 - i32.const 20 - i32.add - local.tee 6 - i32.load - local.tee 0 - br_if 0 (;@13;) - local.get 5 - i32.load offset=16 - local.tee 0 - i32.eqz - br_if 3 (;@10;) - local.get 5 - i32.const 16 - i32.add - local.set 6 - end - loop ;; label = @13 - local.get 6 - local.set 11 - local.get 0 - local.tee 8 - i32.const 20 - i32.add - local.tee 6 - i32.load - local.tee 0 - br_if 0 (;@13;) - local.get 8 - i32.const 16 - i32.add - local.set 6 - local.get 8 - i32.load offset=16 - local.tee 0 - br_if 0 (;@13;) - end - local.get 11 - i32.const 0 - i32.store - br 10 (;@2;) - end - i32.const -1 - local.set 3 - local.get 0 - i32.const -65 - i32.gt_u - br_if 0 (;@11;) - local.get 0 - i32.const 19 - i32.add - local.tee 0 - i32.const -16 - i32.and - local.set 3 - i32.const 0 - i32.load offset=1058368 - local.tee 7 - i32.eqz - br_if 0 (;@11;) - i32.const 0 - local.set 11 - block ;; label = @12 - local.get 0 - i32.const 8 - i32.shr_u - local.tee 0 - i32.eqz - br_if 0 (;@12;) - i32.const 31 - local.set 11 - local.get 3 - i32.const 16777215 - i32.gt_u - br_if 0 (;@12;) - local.get 0 - local.get 0 - i32.const 1048320 - i32.add - i32.const 16 - i32.shr_u - i32.const 8 - i32.and - local.tee 4 - i32.shl - local.tee 0 - local.get 0 - i32.const 520192 - i32.add - i32.const 16 - i32.shr_u - i32.const 4 - i32.and - local.tee 0 - i32.shl - local.tee 6 - local.get 6 - i32.const 245760 - i32.add - i32.const 16 - i32.shr_u - i32.const 2 - i32.and - local.tee 6 - i32.shl - i32.const 15 - i32.shr_u - local.get 0 - local.get 4 - i32.or - local.get 6 - i32.or - i32.sub - local.tee 0 - i32.const 1 - i32.shl - local.get 3 - local.get 0 - i32.const 21 - i32.add - i32.shr_u - i32.const 1 - i32.and - i32.or - i32.const 28 - i32.add - local.set 11 - end - i32.const 0 - local.get 3 - i32.sub - local.set 6 - block ;; label = @12 - block ;; label = @13 - block ;; label = @14 - block ;; label = @15 - local.get 11 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - i32.load - local.tee 4 - br_if 0 (;@15;) - i32.const 0 - local.set 0 - i32.const 0 - local.set 8 - br 1 (;@14;) - end - local.get 3 - i32.const 0 - i32.const 25 - local.get 11 - i32.const 1 - i32.shr_u - i32.sub - local.get 11 - i32.const 31 - i32.eq - select - i32.shl - local.set 5 - i32.const 0 - local.set 0 - i32.const 0 - local.set 8 - loop ;; label = @15 - block ;; label = @16 - local.get 4 - i32.load offset=4 - i32.const -8 - i32.and - local.get 3 - i32.sub - local.tee 2 - local.get 6 - i32.ge_u - br_if 0 (;@16;) - local.get 2 - local.set 6 - local.get 4 - local.set 8 - local.get 2 - br_if 0 (;@16;) - i32.const 0 - local.set 6 - local.get 4 - local.set 8 - local.get 4 - local.set 0 - br 3 (;@13;) - end - local.get 0 - local.get 4 - i32.const 20 - i32.add - i32.load - local.tee 2 - local.get 2 - local.get 4 - local.get 5 - i32.const 29 - i32.shr_u - i32.const 4 - i32.and - i32.add - i32.const 16 - i32.add - i32.load - local.tee 4 - i32.eq - select - local.get 0 - local.get 2 - select - local.set 0 - local.get 5 - local.get 4 - i32.const 0 - i32.ne - i32.shl - local.set 5 - local.get 4 - br_if 0 (;@15;) - end - end - block ;; label = @14 - local.get 0 - local.get 8 - i32.or - br_if 0 (;@14;) - i32.const 2 - local.get 11 - i32.shl - local.tee 0 - i32.const 0 - local.get 0 - i32.sub - i32.or - local.get 7 - i32.and - local.tee 0 - i32.eqz - br_if 3 (;@11;) - local.get 0 - i32.const 0 - local.get 0 - i32.sub - i32.and - i32.const -1 - i32.add - local.tee 0 - local.get 0 - i32.const 12 - i32.shr_u - i32.const 16 - i32.and - local.tee 0 - i32.shr_u - local.tee 4 - i32.const 5 - i32.shr_u - i32.const 8 - i32.and - local.tee 5 - local.get 0 - i32.or - local.get 4 - local.get 5 - i32.shr_u - local.tee 0 - i32.const 2 - i32.shr_u - i32.const 4 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - local.tee 0 - i32.const 1 - i32.shr_u - i32.const 2 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - local.tee 0 - i32.const 1 - i32.shr_u - i32.const 1 - i32.and - local.tee 4 - i32.or - local.get 0 - local.get 4 - i32.shr_u - i32.add - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - i32.load - local.set 0 - end - local.get 0 - i32.eqz - br_if 1 (;@12;) - end - loop ;; label = @13 - local.get 0 - i32.load offset=4 - i32.const -8 - i32.and - local.get 3 - i32.sub - local.tee 2 - local.get 6 - i32.lt_u - local.set 5 - block ;; label = @14 - local.get 0 - i32.load offset=16 - local.tee 4 - br_if 0 (;@14;) - local.get 0 - i32.const 20 - i32.add - i32.load - local.set 4 - end - local.get 2 - local.get 6 - local.get 5 - select - local.set 6 - local.get 0 - local.get 8 - local.get 5 - select - local.set 8 - local.get 4 - local.set 0 - local.get 4 - br_if 0 (;@13;) - end - end - local.get 8 - i32.eqz - br_if 0 (;@11;) - local.get 6 - i32.const 0 - i32.load offset=1058372 - local.get 3 - i32.sub - i32.ge_u - br_if 0 (;@11;) - local.get 8 - i32.load offset=24 - local.set 11 - block ;; label = @12 - local.get 8 - i32.load offset=12 - local.tee 5 - local.get 8 - i32.eq - br_if 0 (;@12;) - block ;; label = @13 - i32.const 0 - i32.load offset=1058380 - local.get 8 - i32.load offset=8 - local.tee 0 - i32.gt_u - br_if 0 (;@13;) - local.get 0 - i32.load offset=12 - local.get 8 - i32.ne - drop - end - local.get 5 - local.get 0 - i32.store offset=8 - local.get 0 - local.get 5 - i32.store offset=12 - br 9 (;@3;) - end - block ;; label = @12 - local.get 8 - i32.const 20 - i32.add - local.tee 4 - i32.load - local.tee 0 - br_if 0 (;@12;) - local.get 8 - i32.load offset=16 - local.tee 0 - i32.eqz - br_if 3 (;@9;) - local.get 8 - i32.const 16 - i32.add - local.set 4 - end - loop ;; label = @12 - local.get 4 - local.set 2 - local.get 0 - local.tee 5 - i32.const 20 - i32.add - local.tee 4 - i32.load - local.tee 0 - br_if 0 (;@12;) - local.get 5 - i32.const 16 - i32.add - local.set 4 - local.get 5 - i32.load offset=16 - local.tee 0 - br_if 0 (;@12;) - end - local.get 2 - i32.const 0 - i32.store - br 8 (;@3;) - end - block ;; label = @11 - i32.const 0 - i32.load offset=1058372 - local.tee 0 - local.get 3 - i32.lt_u - br_if 0 (;@11;) - i32.const 0 - i32.load offset=1058384 - local.set 4 - block ;; label = @12 - block ;; label = @13 - local.get 0 - local.get 3 - i32.sub - local.tee 6 - i32.const 16 - i32.lt_u - br_if 0 (;@13;) - local.get 4 - local.get 3 - i32.add - local.tee 5 - local.get 6 - i32.const 1 - i32.or - i32.store offset=4 - i32.const 0 - local.get 6 - i32.store offset=1058372 - i32.const 0 - local.get 5 - i32.store offset=1058384 - local.get 4 - local.get 0 - i32.add - local.get 6 - i32.store - local.get 4 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - br 1 (;@12;) - end - local.get 4 - local.get 0 - i32.const 3 - i32.or - i32.store offset=4 - local.get 4 - local.get 0 - i32.add - local.tee 0 - local.get 0 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - i32.const 0 - i32.const 0 - i32.store offset=1058384 - i32.const 0 - i32.const 0 - i32.store offset=1058372 - end - local.get 4 - i32.const 8 - i32.add - local.set 0 - br 10 (;@1;) - end - block ;; label = @11 - i32.const 0 - i32.load offset=1058376 - local.tee 5 - local.get 3 - i32.le_u - br_if 0 (;@11;) - i32.const 0 - i32.load offset=1058388 - local.tee 0 - local.get 3 - i32.add - local.tee 4 - local.get 5 - local.get 3 - i32.sub - local.tee 6 - i32.const 1 - i32.or - i32.store offset=4 - i32.const 0 - local.get 6 - i32.store offset=1058376 - i32.const 0 - local.get 4 - i32.store offset=1058388 - local.get 0 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - local.get 0 - i32.const 8 - i32.add - local.set 0 - br 10 (;@1;) - end - block ;; label = @11 - block ;; label = @12 - i32.const 0 - i32.load offset=1058836 - i32.eqz - br_if 0 (;@12;) - i32.const 0 - i32.load offset=1058844 - local.set 4 - br 1 (;@11;) - end - i32.const 0 - i64.const -1 - i64.store offset=1058848 align=4 - i32.const 0 - i64.const 281474976776192 - i64.store offset=1058840 align=4 - i32.const 0 - local.get 1 - i32.const 12 - i32.add - i32.const -16 - i32.and - i32.const 1431655768 - i32.xor - i32.store offset=1058836 - i32.const 0 - i32.const 0 - i32.store offset=1058856 - i32.const 0 - i32.const 0 - i32.store offset=1058808 - i32.const 65536 - local.set 4 - end - i32.const 0 - local.set 0 - block ;; label = @11 - local.get 4 - local.get 3 - i32.const 71 - i32.add - local.tee 7 - i32.add - local.tee 2 - i32.const 0 - local.get 4 - i32.sub - local.tee 11 - i32.and - local.tee 8 - local.get 3 - i32.gt_u - br_if 0 (;@11;) - i32.const 0 - i32.const 48 - i32.store offset=1058860 - br 10 (;@1;) - end - block ;; label = @11 - i32.const 0 - i32.load offset=1058804 - local.tee 0 - i32.eqz - br_if 0 (;@11;) - block ;; label = @12 - i32.const 0 - i32.load offset=1058796 - local.tee 4 - local.get 8 - i32.add - local.tee 6 - local.get 4 - i32.le_u - br_if 0 (;@12;) - local.get 6 - local.get 0 - i32.le_u - br_if 1 (;@11;) - end - i32.const 0 - local.set 0 - i32.const 0 - i32.const 48 - i32.store offset=1058860 - br 10 (;@1;) - end - i32.const 0 - i32.load8_u offset=1058808 - i32.const 4 - i32.and - br_if 4 (;@6;) - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - i32.const 0 - i32.load offset=1058388 - local.tee 4 - i32.eqz - br_if 0 (;@13;) - i32.const 1058812 - local.set 0 - loop ;; label = @14 - block ;; label = @15 - local.get 0 - i32.load - local.tee 6 - local.get 4 - i32.gt_u - br_if 0 (;@15;) - local.get 6 - local.get 0 - i32.load offset=4 - i32.add - local.get 4 - i32.gt_u - br_if 3 (;@12;) - end - local.get 0 - i32.load offset=8 - local.tee 0 - br_if 0 (;@14;) - end - end - i32.const 0 - call $sbrk - local.tee 5 - i32.const -1 - i32.eq - br_if 5 (;@7;) - local.get 8 - local.set 2 - block ;; label = @13 - i32.const 0 - i32.load offset=1058840 - local.tee 0 - i32.const -1 - i32.add - local.tee 4 - local.get 5 - i32.and - i32.eqz - br_if 0 (;@13;) - local.get 8 - local.get 5 - i32.sub - local.get 4 - local.get 5 - i32.add - i32.const 0 - local.get 0 - i32.sub - i32.and - i32.add - local.set 2 - end - local.get 2 - local.get 3 - i32.le_u - br_if 5 (;@7;) - local.get 2 - i32.const 2147483646 - i32.gt_u - br_if 5 (;@7;) - block ;; label = @13 - i32.const 0 - i32.load offset=1058804 - local.tee 0 - i32.eqz - br_if 0 (;@13;) - i32.const 0 - i32.load offset=1058796 - local.tee 4 - local.get 2 - i32.add - local.tee 6 - local.get 4 - i32.le_u - br_if 6 (;@7;) - local.get 6 - local.get 0 - i32.gt_u - br_if 6 (;@7;) - end - local.get 2 - call $sbrk - local.tee 0 - local.get 5 - i32.ne - br_if 1 (;@11;) - br 7 (;@5;) - end - local.get 2 - local.get 5 - i32.sub - local.get 11 - i32.and - local.tee 2 - i32.const 2147483646 - i32.gt_u - br_if 4 (;@7;) - local.get 2 - call $sbrk - local.tee 5 - local.get 0 - i32.load - local.get 0 - i32.load offset=4 - i32.add - i32.eq - br_if 3 (;@8;) - local.get 5 - local.set 0 - end - local.get 0 - local.set 5 - block ;; label = @11 - local.get 3 - i32.const 72 - i32.add - local.get 2 - i32.le_u - br_if 0 (;@11;) - local.get 2 - i32.const 2147483646 - i32.gt_u - br_if 0 (;@11;) - local.get 5 - i32.const -1 - i32.eq - br_if 0 (;@11;) - local.get 7 - local.get 2 - i32.sub - i32.const 0 - i32.load offset=1058844 - local.tee 0 - i32.add - i32.const 0 - local.get 0 - i32.sub - i32.and - local.tee 0 - i32.const 2147483646 - i32.gt_u - br_if 6 (;@5;) - block ;; label = @12 - local.get 0 - call $sbrk - i32.const -1 - i32.eq - br_if 0 (;@12;) - local.get 0 - local.get 2 - i32.add - local.set 2 - br 7 (;@5;) - end - i32.const 0 - local.get 2 - i32.sub - call $sbrk - drop - br 4 (;@7;) - end - local.get 5 - i32.const -1 - i32.ne - br_if 5 (;@5;) - br 3 (;@7;) - end - i32.const 0 - local.set 8 - br 7 (;@2;) - end - i32.const 0 - local.set 5 - br 5 (;@3;) - end - local.get 5 - i32.const -1 - i32.ne - br_if 2 (;@5;) - end - i32.const 0 - i32.const 0 - i32.load offset=1058808 - i32.const 4 - i32.or - i32.store offset=1058808 - end - local.get 8 - i32.const 2147483646 - i32.gt_u - br_if 1 (;@4;) - local.get 8 - call $sbrk - local.tee 5 - i32.const 0 - call $sbrk - local.tee 0 - i32.ge_u - br_if 1 (;@4;) - local.get 5 - i32.const -1 - i32.eq - br_if 1 (;@4;) - local.get 0 - i32.const -1 - i32.eq - br_if 1 (;@4;) - local.get 0 - local.get 5 - i32.sub - local.tee 2 - local.get 3 - i32.const 56 - i32.add - i32.le_u - br_if 1 (;@4;) - end - i32.const 0 - i32.const 0 - i32.load offset=1058796 - local.get 2 - i32.add - local.tee 0 - i32.store offset=1058796 - block ;; label = @5 - local.get 0 - i32.const 0 - i32.load offset=1058800 - i32.le_u - br_if 0 (;@5;) - i32.const 0 - local.get 0 - i32.store offset=1058800 - end - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - i32.const 0 - i32.load offset=1058388 - local.tee 4 - i32.eqz - br_if 0 (;@8;) - i32.const 1058812 - local.set 0 - loop ;; label = @9 - local.get 5 - local.get 0 - i32.load - local.tee 6 - local.get 0 - i32.load offset=4 - local.tee 8 - i32.add - i32.eq - br_if 2 (;@7;) - local.get 0 - i32.load offset=8 - local.tee 0 - br_if 0 (;@9;) - br 3 (;@6;) - end - end - block ;; label = @8 - block ;; label = @9 - i32.const 0 - i32.load offset=1058380 - local.tee 0 - i32.eqz - br_if 0 (;@9;) - local.get 5 - local.get 0 - i32.ge_u - br_if 1 (;@8;) - end - i32.const 0 - local.get 5 - i32.store offset=1058380 - end - i32.const 0 - local.set 0 - i32.const 0 - local.get 2 - i32.store offset=1058816 - i32.const 0 - local.get 5 - i32.store offset=1058812 - i32.const 0 - i32.const -1 - i32.store offset=1058396 - i32.const 0 - i32.const 0 - i32.load offset=1058836 - i32.store offset=1058400 - i32.const 0 - i32.const 0 - i32.store offset=1058824 - loop ;; label = @8 - local.get 0 - i32.const 1058412 - i32.add - local.get 0 - i32.const 1058404 - i32.add - local.tee 4 - i32.store - local.get 0 - i32.const 1058416 - i32.add - local.get 4 - i32.store - local.get 0 - i32.const 8 - i32.add - local.tee 0 - i32.const 256 - i32.ne - br_if 0 (;@8;) - end - local.get 5 - i32.const -8 - local.get 5 - i32.sub - i32.const 15 - i32.and - i32.const 0 - local.get 5 - i32.const 8 - i32.add - i32.const 15 - i32.and - select - local.tee 0 - i32.add - local.tee 4 - local.get 2 - i32.const -56 - i32.add - local.tee 6 - local.get 0 - i32.sub - local.tee 0 - i32.const 1 - i32.or - i32.store offset=4 - i32.const 0 - i32.const 0 - i32.load offset=1058852 - i32.store offset=1058392 - i32.const 0 - local.get 0 - i32.store offset=1058376 - i32.const 0 - local.get 4 - i32.store offset=1058388 - local.get 5 - local.get 6 - i32.add - i32.const 56 - i32.store offset=4 - br 2 (;@5;) - end - local.get 0 - i32.load8_u offset=12 - i32.const 8 - i32.and - br_if 0 (;@6;) - local.get 5 - local.get 4 - i32.le_u - br_if 0 (;@6;) - local.get 6 - local.get 4 - i32.gt_u - br_if 0 (;@6;) - local.get 4 - i32.const -8 - local.get 4 - i32.sub - i32.const 15 - i32.and - i32.const 0 - local.get 4 - i32.const 8 - i32.add - i32.const 15 - i32.and - select - local.tee 6 - i32.add - local.tee 5 - i32.const 0 - i32.load offset=1058376 - local.get 2 - i32.add - local.tee 11 - local.get 6 - i32.sub - local.tee 6 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - local.get 8 - local.get 2 - i32.add - i32.store offset=4 - i32.const 0 - i32.const 0 - i32.load offset=1058852 - i32.store offset=1058392 - i32.const 0 - local.get 6 - i32.store offset=1058376 - i32.const 0 - local.get 5 - i32.store offset=1058388 - local.get 4 - local.get 11 - i32.add - i32.const 56 - i32.store offset=4 - br 1 (;@5;) - end - block ;; label = @6 - local.get 5 - i32.const 0 - i32.load offset=1058380 - local.tee 8 - i32.ge_u - br_if 0 (;@6;) - i32.const 0 - local.get 5 - i32.store offset=1058380 - local.get 5 - local.set 8 - end - local.get 5 - local.get 2 - i32.add - local.set 6 - i32.const 1058812 - local.set 0 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - loop ;; label = @13 - local.get 0 - i32.load - local.get 6 - i32.eq - br_if 1 (;@12;) - local.get 0 - i32.load offset=8 - local.tee 0 - br_if 0 (;@13;) - br 2 (;@11;) - end - end - local.get 0 - i32.load8_u offset=12 - i32.const 8 - i32.and - i32.eqz - br_if 1 (;@10;) - end - i32.const 1058812 - local.set 0 - loop ;; label = @11 - block ;; label = @12 - local.get 0 - i32.load - local.tee 6 - local.get 4 - i32.gt_u - br_if 0 (;@12;) - local.get 6 - local.get 0 - i32.load offset=4 - i32.add - local.tee 6 - local.get 4 - i32.gt_u - br_if 3 (;@9;) - end - local.get 0 - i32.load offset=8 - local.set 0 - br 0 (;@11;) - end - end - local.get 0 - local.get 5 - i32.store - local.get 0 - local.get 0 - i32.load offset=4 - local.get 2 - i32.add - i32.store offset=4 - local.get 5 - i32.const -8 - local.get 5 - i32.sub - i32.const 15 - i32.and - i32.const 0 - local.get 5 - i32.const 8 - i32.add - i32.const 15 - i32.and - select - i32.add - local.tee 11 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - local.get 6 - i32.const -8 - local.get 6 - i32.sub - i32.const 15 - i32.and - i32.const 0 - local.get 6 - i32.const 8 - i32.add - i32.const 15 - i32.and - select - i32.add - local.tee 5 - local.get 11 - i32.sub - local.get 3 - i32.sub - local.set 0 - local.get 11 - local.get 3 - i32.add - local.set 6 - block ;; label = @10 - local.get 4 - local.get 5 - i32.ne - br_if 0 (;@10;) - i32.const 0 - local.get 6 - i32.store offset=1058388 - i32.const 0 - i32.const 0 - i32.load offset=1058376 - local.get 0 - i32.add - local.tee 0 - i32.store offset=1058376 - local.get 6 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - br 3 (;@7;) - end - block ;; label = @10 - i32.const 0 - i32.load offset=1058384 - local.get 5 - i32.ne - br_if 0 (;@10;) - i32.const 0 - local.get 6 - i32.store offset=1058384 - i32.const 0 - i32.const 0 - i32.load offset=1058372 - local.get 0 - i32.add - local.tee 0 - i32.store offset=1058372 - local.get 6 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - local.get 6 - local.get 0 - i32.add - local.get 0 - i32.store - br 3 (;@7;) - end - block ;; label = @10 - local.get 5 - i32.load offset=4 - local.tee 4 - i32.const 3 - i32.and - i32.const 1 - i32.ne - br_if 0 (;@10;) - local.get 4 - i32.const -8 - i32.and - local.set 7 - block ;; label = @11 - block ;; label = @12 - local.get 4 - i32.const 255 - i32.gt_u - br_if 0 (;@12;) - local.get 5 - i32.load offset=12 - local.set 3 - block ;; label = @13 - local.get 5 - i32.load offset=8 - local.tee 2 - local.get 4 - i32.const 3 - i32.shr_u - local.tee 9 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.tee 4 - i32.eq - br_if 0 (;@13;) - local.get 8 - local.get 2 - i32.gt_u - drop - end - block ;; label = @13 - local.get 3 - local.get 2 - i32.ne - br_if 0 (;@13;) - i32.const 0 - i32.const 0 - i32.load offset=1058364 - i32.const -2 - local.get 9 - i32.rotl - i32.and - i32.store offset=1058364 - br 2 (;@11;) - end - block ;; label = @13 - local.get 3 - local.get 4 - i32.eq - br_if 0 (;@13;) - local.get 8 - local.get 3 - i32.gt_u - drop - end - local.get 3 - local.get 2 - i32.store offset=8 - local.get 2 - local.get 3 - i32.store offset=12 - br 1 (;@11;) - end - local.get 5 - i32.load offset=24 - local.set 9 - block ;; label = @12 - block ;; label = @13 - local.get 5 - i32.load offset=12 - local.tee 2 - local.get 5 - i32.eq - br_if 0 (;@13;) - block ;; label = @14 - local.get 8 - local.get 5 - i32.load offset=8 - local.tee 4 - i32.gt_u - br_if 0 (;@14;) - local.get 4 - i32.load offset=12 - local.get 5 - i32.ne - drop - end - local.get 2 - local.get 4 - i32.store offset=8 - local.get 4 - local.get 2 - i32.store offset=12 - br 1 (;@12;) - end - block ;; label = @13 - local.get 5 - i32.const 20 - i32.add - local.tee 4 - i32.load - local.tee 3 - br_if 0 (;@13;) - local.get 5 - i32.const 16 - i32.add - local.tee 4 - i32.load - local.tee 3 - br_if 0 (;@13;) - i32.const 0 - local.set 2 - br 1 (;@12;) - end - loop ;; label = @13 - local.get 4 - local.set 8 - local.get 3 - local.tee 2 - i32.const 20 - i32.add - local.tee 4 - i32.load - local.tee 3 - br_if 0 (;@13;) - local.get 2 - i32.const 16 - i32.add - local.set 4 - local.get 2 - i32.load offset=16 - local.tee 3 - br_if 0 (;@13;) - end - local.get 8 - i32.const 0 - i32.store - end - local.get 9 - i32.eqz - br_if 0 (;@11;) - block ;; label = @12 - block ;; label = @13 - local.get 5 - i32.load offset=28 - local.tee 3 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 4 - i32.load - local.get 5 - i32.ne - br_if 0 (;@13;) - local.get 4 - local.get 2 - i32.store - local.get 2 - br_if 1 (;@12;) - i32.const 0 - i32.const 0 - i32.load offset=1058368 - i32.const -2 - local.get 3 - i32.rotl - i32.and - i32.store offset=1058368 - br 2 (;@11;) - end - local.get 9 - i32.const 16 - i32.const 20 - local.get 9 - i32.load offset=16 - local.get 5 - i32.eq - select - i32.add - local.get 2 - i32.store - local.get 2 - i32.eqz - br_if 1 (;@11;) - end - local.get 2 - local.get 9 - i32.store offset=24 - block ;; label = @12 - local.get 5 - i32.load offset=16 - local.tee 4 - i32.eqz - br_if 0 (;@12;) - local.get 2 - local.get 4 - i32.store offset=16 - local.get 4 - local.get 2 - i32.store offset=24 - end - local.get 5 - i32.load offset=20 - local.tee 4 - i32.eqz - br_if 0 (;@11;) - local.get 2 - i32.const 20 - i32.add - local.get 4 - i32.store - local.get 4 - local.get 2 - i32.store offset=24 - end - local.get 7 - local.get 0 - i32.add - local.set 0 - local.get 5 - local.get 7 - i32.add - local.set 5 - end - local.get 5 - local.get 5 - i32.load offset=4 - i32.const -2 - i32.and - i32.store offset=4 - local.get 6 - local.get 0 - i32.add - local.get 0 - i32.store - local.get 6 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - block ;; label = @10 - local.get 0 - i32.const 255 - i32.gt_u - br_if 0 (;@10;) - local.get 0 - i32.const 3 - i32.shr_u - local.tee 4 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 0 - block ;; label = @11 - block ;; label = @12 - i32.const 0 - i32.load offset=1058364 - local.tee 3 - i32.const 1 - local.get 4 - i32.shl - local.tee 4 - i32.and - br_if 0 (;@12;) - i32.const 0 - local.get 3 - local.get 4 - i32.or - i32.store offset=1058364 - local.get 0 - local.set 4 - br 1 (;@11;) - end - local.get 0 - i32.load offset=8 - local.set 4 - end - local.get 4 - local.get 6 - i32.store offset=12 - local.get 0 - local.get 6 - i32.store offset=8 - local.get 6 - local.get 0 - i32.store offset=12 - local.get 6 - local.get 4 - i32.store offset=8 - br 3 (;@7;) - end - i32.const 0 - local.set 4 - block ;; label = @10 - local.get 0 - i32.const 8 - i32.shr_u - local.tee 3 - i32.eqz - br_if 0 (;@10;) - i32.const 31 - local.set 4 - local.get 0 - i32.const 16777215 - i32.gt_u - br_if 0 (;@10;) - local.get 3 - local.get 3 - i32.const 1048320 - i32.add - i32.const 16 - i32.shr_u - i32.const 8 - i32.and - local.tee 4 - i32.shl - local.tee 3 - local.get 3 - i32.const 520192 - i32.add - i32.const 16 - i32.shr_u - i32.const 4 - i32.and - local.tee 3 - i32.shl - local.tee 5 - local.get 5 - i32.const 245760 - i32.add - i32.const 16 - i32.shr_u - i32.const 2 - i32.and - local.tee 5 - i32.shl - i32.const 15 - i32.shr_u - local.get 3 - local.get 4 - i32.or - local.get 5 - i32.or - i32.sub - local.tee 4 - i32.const 1 - i32.shl - local.get 0 - local.get 4 - i32.const 21 - i32.add - i32.shr_u - i32.const 1 - i32.and - i32.or - i32.const 28 - i32.add - local.set 4 - end - local.get 6 - local.get 4 - i32.store offset=28 - local.get 6 - i64.const 0 - i64.store offset=16 align=4 - local.get 4 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.set 3 - block ;; label = @10 - i32.const 0 - i32.load offset=1058368 - local.tee 5 - i32.const 1 - local.get 4 - i32.shl - local.tee 8 - i32.and - br_if 0 (;@10;) - local.get 3 - local.get 6 - i32.store - i32.const 0 - local.get 5 - local.get 8 - i32.or - i32.store offset=1058368 - local.get 6 - local.get 3 - i32.store offset=24 - local.get 6 - local.get 6 - i32.store offset=8 - local.get 6 - local.get 6 - i32.store offset=12 - br 3 (;@7;) - end - local.get 0 - i32.const 0 - i32.const 25 - local.get 4 - i32.const 1 - i32.shr_u - i32.sub - local.get 4 - i32.const 31 - i32.eq - select - i32.shl - local.set 4 - local.get 3 - i32.load - local.set 5 - loop ;; label = @10 - local.get 5 - local.tee 3 - i32.load offset=4 - i32.const -8 - i32.and - local.get 0 - i32.eq - br_if 2 (;@8;) - local.get 4 - i32.const 29 - i32.shr_u - local.set 5 - local.get 4 - i32.const 1 - i32.shl - local.set 4 - local.get 3 - local.get 5 - i32.const 4 - i32.and - i32.add - i32.const 16 - i32.add - local.tee 8 - i32.load - local.tee 5 - br_if 0 (;@10;) - end - local.get 8 - local.get 6 - i32.store - local.get 6 - local.get 3 - i32.store offset=24 - local.get 6 - local.get 6 - i32.store offset=12 - local.get 6 - local.get 6 - i32.store offset=8 - br 2 (;@7;) - end - local.get 5 - i32.const -8 - local.get 5 - i32.sub - i32.const 15 - i32.and - i32.const 0 - local.get 5 - i32.const 8 - i32.add - i32.const 15 - i32.and - select - local.tee 0 - i32.add - local.tee 11 - local.get 2 - i32.const -56 - i32.add - local.tee 8 - local.get 0 - i32.sub - local.tee 0 - i32.const 1 - i32.or - i32.store offset=4 - local.get 5 - local.get 8 - i32.add - i32.const 56 - i32.store offset=4 - local.get 4 - local.get 6 - i32.const 55 - local.get 6 - i32.sub - i32.const 15 - i32.and - i32.const 0 - local.get 6 - i32.const -55 - i32.add - i32.const 15 - i32.and - select - i32.add - i32.const -63 - i32.add - local.tee 8 - local.get 8 - local.get 4 - i32.const 16 - i32.add - i32.lt_u - select - local.tee 8 - i32.const 35 - i32.store offset=4 - i32.const 0 - i32.const 0 - i32.load offset=1058852 - i32.store offset=1058392 - i32.const 0 - local.get 0 - i32.store offset=1058376 - i32.const 0 - local.get 11 - i32.store offset=1058388 - local.get 8 - i32.const 16 - i32.add - i32.const 0 - i64.load offset=1058820 align=4 - i64.store align=4 - local.get 8 - i32.const 0 - i64.load offset=1058812 align=4 - i64.store offset=8 align=4 - i32.const 0 - local.get 8 - i32.const 8 - i32.add - i32.store offset=1058820 - i32.const 0 - local.get 2 - i32.store offset=1058816 - i32.const 0 - local.get 5 - i32.store offset=1058812 - i32.const 0 - i32.const 0 - i32.store offset=1058824 - local.get 8 - i32.const 36 - i32.add - local.set 0 - loop ;; label = @9 - local.get 0 - i32.const 7 - i32.store - local.get 0 - i32.const 4 - i32.add - local.tee 0 - local.get 6 - i32.lt_u - br_if 0 (;@9;) - end - local.get 8 - local.get 4 - i32.eq - br_if 3 (;@5;) - local.get 8 - local.get 8 - i32.load offset=4 - i32.const -2 - i32.and - i32.store offset=4 - local.get 8 - local.get 8 - local.get 4 - i32.sub - local.tee 2 - i32.store - local.get 4 - local.get 2 - i32.const 1 - i32.or - i32.store offset=4 - block ;; label = @9 - local.get 2 - i32.const 255 - i32.gt_u - br_if 0 (;@9;) - local.get 2 - i32.const 3 - i32.shr_u - local.tee 6 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 0 - block ;; label = @10 - block ;; label = @11 - i32.const 0 - i32.load offset=1058364 - local.tee 5 - i32.const 1 - local.get 6 - i32.shl - local.tee 6 - i32.and - br_if 0 (;@11;) - i32.const 0 - local.get 5 - local.get 6 - i32.or - i32.store offset=1058364 - local.get 0 - local.set 6 - br 1 (;@10;) - end - local.get 0 - i32.load offset=8 - local.set 6 - end - local.get 6 - local.get 4 - i32.store offset=12 - local.get 0 - local.get 4 - i32.store offset=8 - local.get 4 - local.get 0 - i32.store offset=12 - local.get 4 - local.get 6 - i32.store offset=8 - br 4 (;@5;) - end - i32.const 0 - local.set 0 - block ;; label = @9 - local.get 2 - i32.const 8 - i32.shr_u - local.tee 6 - i32.eqz - br_if 0 (;@9;) - i32.const 31 - local.set 0 - local.get 2 - i32.const 16777215 - i32.gt_u - br_if 0 (;@9;) - local.get 6 - local.get 6 - i32.const 1048320 - i32.add - i32.const 16 - i32.shr_u - i32.const 8 - i32.and - local.tee 0 - i32.shl - local.tee 6 - local.get 6 - i32.const 520192 - i32.add - i32.const 16 - i32.shr_u - i32.const 4 - i32.and - local.tee 6 - i32.shl - local.tee 5 - local.get 5 - i32.const 245760 - i32.add - i32.const 16 - i32.shr_u - i32.const 2 - i32.and - local.tee 5 - i32.shl - i32.const 15 - i32.shr_u - local.get 6 - local.get 0 - i32.or - local.get 5 - i32.or - i32.sub - local.tee 0 - i32.const 1 - i32.shl - local.get 2 - local.get 0 - i32.const 21 - i32.add - i32.shr_u - i32.const 1 - i32.and - i32.or - i32.const 28 - i32.add - local.set 0 - end - local.get 4 - i64.const 0 - i64.store offset=16 align=4 - local.get 4 - i32.const 28 - i32.add - local.get 0 - i32.store - local.get 0 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.set 6 - block ;; label = @9 - i32.const 0 - i32.load offset=1058368 - local.tee 5 - i32.const 1 - local.get 0 - i32.shl - local.tee 8 - i32.and - br_if 0 (;@9;) - local.get 6 - local.get 4 - i32.store - i32.const 0 - local.get 5 - local.get 8 - i32.or - i32.store offset=1058368 - local.get 4 - i32.const 24 - i32.add - local.get 6 - i32.store - local.get 4 - local.get 4 - i32.store offset=8 - local.get 4 - local.get 4 - i32.store offset=12 - br 4 (;@5;) - end - local.get 2 - i32.const 0 - i32.const 25 - local.get 0 - i32.const 1 - i32.shr_u - i32.sub - local.get 0 - i32.const 31 - i32.eq - select - i32.shl - local.set 0 - local.get 6 - i32.load - local.set 5 - loop ;; label = @9 - local.get 5 - local.tee 6 - i32.load offset=4 - i32.const -8 - i32.and - local.get 2 - i32.eq - br_if 3 (;@6;) - local.get 0 - i32.const 29 - i32.shr_u - local.set 5 - local.get 0 - i32.const 1 - i32.shl - local.set 0 - local.get 6 - local.get 5 - i32.const 4 - i32.and - i32.add - i32.const 16 - i32.add - local.tee 8 - i32.load - local.tee 5 - br_if 0 (;@9;) - end - local.get 8 - local.get 4 - i32.store - local.get 4 - i32.const 24 - i32.add - local.get 6 - i32.store - local.get 4 - local.get 4 - i32.store offset=12 - local.get 4 - local.get 4 - i32.store offset=8 - br 3 (;@5;) - end - local.get 3 - i32.load offset=8 - local.set 0 - local.get 3 - local.get 6 - i32.store offset=8 - local.get 0 - local.get 6 - i32.store offset=12 - local.get 6 - i32.const 0 - i32.store offset=24 - local.get 6 - local.get 0 - i32.store offset=8 - local.get 6 - local.get 3 - i32.store offset=12 - end - local.get 11 - i32.const 8 - i32.add - local.set 0 - br 5 (;@1;) - end - local.get 6 - i32.load offset=8 - local.set 0 - local.get 6 - local.get 4 - i32.store offset=8 - local.get 0 - local.get 4 - i32.store offset=12 - local.get 4 - i32.const 24 - i32.add - i32.const 0 - i32.store - local.get 4 - local.get 0 - i32.store offset=8 - local.get 4 - local.get 6 - i32.store offset=12 - end - i32.const 0 - i32.load offset=1058376 - local.tee 0 - local.get 3 - i32.le_u - br_if 0 (;@4;) - i32.const 0 - i32.load offset=1058388 - local.tee 4 - local.get 3 - i32.add - local.tee 6 - local.get 0 - local.get 3 - i32.sub - local.tee 0 - i32.const 1 - i32.or - i32.store offset=4 - i32.const 0 - local.get 0 - i32.store offset=1058376 - i32.const 0 - local.get 6 - i32.store offset=1058388 - local.get 4 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - local.get 4 - i32.const 8 - i32.add - local.set 0 - br 3 (;@1;) - end - i32.const 0 - local.set 0 - i32.const 0 - i32.const 48 - i32.store offset=1058860 - br 2 (;@1;) - end - block ;; label = @3 - local.get 11 - i32.eqz - br_if 0 (;@3;) - block ;; label = @4 - block ;; label = @5 - local.get 8 - local.get 8 - i32.load offset=28 - local.tee 4 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 0 - i32.load - i32.ne - br_if 0 (;@5;) - local.get 0 - local.get 5 - i32.store - local.get 5 - br_if 1 (;@4;) - i32.const 0 - local.get 7 - i32.const -2 - local.get 4 - i32.rotl - i32.and - local.tee 7 - i32.store offset=1058368 - br 2 (;@3;) - end - local.get 11 - i32.const 16 - i32.const 20 - local.get 11 - i32.load offset=16 - local.get 8 - i32.eq - select - i32.add - local.get 5 - i32.store - local.get 5 - i32.eqz - br_if 1 (;@3;) - end - local.get 5 - local.get 11 - i32.store offset=24 - block ;; label = @4 - local.get 8 - i32.load offset=16 - local.tee 0 - i32.eqz - br_if 0 (;@4;) - local.get 5 - local.get 0 - i32.store offset=16 - local.get 0 - local.get 5 - i32.store offset=24 - end - local.get 8 - i32.const 20 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@3;) - local.get 5 - i32.const 20 - i32.add - local.get 0 - i32.store - local.get 0 - local.get 5 - i32.store offset=24 - end - block ;; label = @3 - block ;; label = @4 - local.get 6 - i32.const 15 - i32.gt_u - br_if 0 (;@4;) - local.get 8 - local.get 6 - local.get 3 - i32.add - local.tee 0 - i32.const 3 - i32.or - i32.store offset=4 - local.get 8 - local.get 0 - i32.add - local.tee 0 - local.get 0 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - br 1 (;@3;) - end - local.get 8 - local.get 3 - i32.add - local.tee 5 - local.get 6 - i32.const 1 - i32.or - i32.store offset=4 - local.get 8 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - local.get 5 - local.get 6 - i32.add - local.get 6 - i32.store - block ;; label = @4 - local.get 6 - i32.const 255 - i32.gt_u - br_if 0 (;@4;) - local.get 6 - i32.const 3 - i32.shr_u - local.tee 4 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 0 - block ;; label = @5 - block ;; label = @6 - i32.const 0 - i32.load offset=1058364 - local.tee 6 - i32.const 1 - local.get 4 - i32.shl - local.tee 4 - i32.and - br_if 0 (;@6;) - i32.const 0 - local.get 6 - local.get 4 - i32.or - i32.store offset=1058364 - local.get 0 - local.set 4 - br 1 (;@5;) - end - local.get 0 - i32.load offset=8 - local.set 4 - end - local.get 4 - local.get 5 - i32.store offset=12 - local.get 0 - local.get 5 - i32.store offset=8 - local.get 5 - local.get 0 - i32.store offset=12 - local.get 5 - local.get 4 - i32.store offset=8 - br 1 (;@3;) - end - block ;; label = @4 - block ;; label = @5 - local.get 6 - i32.const 8 - i32.shr_u - local.tee 4 - br_if 0 (;@5;) - i32.const 0 - local.set 0 - br 1 (;@4;) - end - i32.const 31 - local.set 0 - local.get 6 - i32.const 16777215 - i32.gt_u - br_if 0 (;@4;) - local.get 4 - local.get 4 - i32.const 1048320 - i32.add - i32.const 16 - i32.shr_u - i32.const 8 - i32.and - local.tee 0 - i32.shl - local.tee 4 - local.get 4 - i32.const 520192 - i32.add - i32.const 16 - i32.shr_u - i32.const 4 - i32.and - local.tee 4 - i32.shl - local.tee 3 - local.get 3 - i32.const 245760 - i32.add - i32.const 16 - i32.shr_u - i32.const 2 - i32.and - local.tee 3 - i32.shl - i32.const 15 - i32.shr_u - local.get 4 - local.get 0 - i32.or - local.get 3 - i32.or - i32.sub - local.tee 0 - i32.const 1 - i32.shl - local.get 6 - local.get 0 - i32.const 21 - i32.add - i32.shr_u - i32.const 1 - i32.and - i32.or - i32.const 28 - i32.add - local.set 0 - end - local.get 5 - local.get 0 - i32.store offset=28 - local.get 5 - i64.const 0 - i64.store offset=16 align=4 - local.get 0 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.set 4 - block ;; label = @4 - local.get 7 - i32.const 1 - local.get 0 - i32.shl - local.tee 3 - i32.and - br_if 0 (;@4;) - local.get 4 - local.get 5 - i32.store - i32.const 0 - local.get 7 - local.get 3 - i32.or - i32.store offset=1058368 - local.get 5 - local.get 4 - i32.store offset=24 - local.get 5 - local.get 5 - i32.store offset=8 - local.get 5 - local.get 5 - i32.store offset=12 - br 1 (;@3;) - end - local.get 6 - i32.const 0 - i32.const 25 - local.get 0 - i32.const 1 - i32.shr_u - i32.sub - local.get 0 - i32.const 31 - i32.eq - select - i32.shl - local.set 0 - local.get 4 - i32.load - local.set 3 - block ;; label = @4 - loop ;; label = @5 - local.get 3 - local.tee 4 - i32.load offset=4 - i32.const -8 - i32.and - local.get 6 - i32.eq - br_if 1 (;@4;) - local.get 0 - i32.const 29 - i32.shr_u - local.set 3 - local.get 0 - i32.const 1 - i32.shl - local.set 0 - local.get 4 - local.get 3 - i32.const 4 - i32.and - i32.add - i32.const 16 - i32.add - local.tee 2 - i32.load - local.tee 3 - br_if 0 (;@5;) - end - local.get 2 - local.get 5 - i32.store - local.get 5 - local.get 4 - i32.store offset=24 - local.get 5 - local.get 5 - i32.store offset=12 - local.get 5 - local.get 5 - i32.store offset=8 - br 1 (;@3;) - end - local.get 4 - i32.load offset=8 - local.set 0 - local.get 4 - local.get 5 - i32.store offset=8 - local.get 0 - local.get 5 - i32.store offset=12 - local.get 5 - i32.const 0 - i32.store offset=24 - local.get 5 - local.get 0 - i32.store offset=8 - local.get 5 - local.get 4 - i32.store offset=12 - end - local.get 8 - i32.const 8 - i32.add - local.set 0 - br 1 (;@1;) - end - block ;; label = @2 - local.get 10 - i32.eqz - br_if 0 (;@2;) - block ;; label = @3 - block ;; label = @4 - local.get 5 - local.get 5 - i32.load offset=28 - local.tee 6 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 0 - i32.load - i32.ne - br_if 0 (;@4;) - local.get 0 - local.get 8 - i32.store - local.get 8 - br_if 1 (;@3;) - i32.const 0 - local.get 9 - i32.const -2 - local.get 6 - i32.rotl - i32.and - i32.store offset=1058368 - br 2 (;@2;) - end - local.get 10 - i32.const 16 - i32.const 20 - local.get 10 - i32.load offset=16 - local.get 5 - i32.eq - select - i32.add - local.get 8 - i32.store - local.get 8 - i32.eqz - br_if 1 (;@2;) - end - local.get 8 - local.get 10 - i32.store offset=24 - block ;; label = @3 - local.get 5 - i32.load offset=16 - local.tee 0 - i32.eqz - br_if 0 (;@3;) - local.get 8 - local.get 0 - i32.store offset=16 - local.get 0 - local.get 8 - i32.store offset=24 - end - local.get 5 - i32.const 20 - i32.add - i32.load - local.tee 0 - i32.eqz - br_if 0 (;@2;) - local.get 8 - i32.const 20 - i32.add - local.get 0 - i32.store - local.get 0 - local.get 8 - i32.store offset=24 - end - block ;; label = @2 - block ;; label = @3 - local.get 4 - i32.const 15 - i32.gt_u - br_if 0 (;@3;) - local.get 5 - local.get 4 - local.get 3 - i32.add - local.tee 0 - i32.const 3 - i32.or - i32.store offset=4 - local.get 5 - local.get 0 - i32.add - local.tee 0 - local.get 0 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - br 1 (;@2;) - end - local.get 5 - local.get 3 - i32.add - local.tee 6 - local.get 4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 5 - local.get 3 - i32.const 3 - i32.or - i32.store offset=4 - local.get 6 - local.get 4 - i32.add - local.get 4 - i32.store - block ;; label = @3 - local.get 7 - i32.eqz - br_if 0 (;@3;) - local.get 7 - i32.const 3 - i32.shr_u - local.tee 8 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 3 - i32.const 0 - i32.load offset=1058384 - local.set 0 - block ;; label = @4 - block ;; label = @5 - i32.const 1 - local.get 8 - i32.shl - local.tee 8 - local.get 2 - i32.and - br_if 0 (;@5;) - i32.const 0 - local.get 8 - local.get 2 - i32.or - i32.store offset=1058364 - local.get 3 - local.set 8 - br 1 (;@4;) - end - local.get 3 - i32.load offset=8 - local.set 8 - end - local.get 8 - local.get 0 - i32.store offset=12 - local.get 3 - local.get 0 - i32.store offset=8 - local.get 0 - local.get 3 - i32.store offset=12 - local.get 0 - local.get 8 - i32.store offset=8 - end - i32.const 0 - local.get 6 - i32.store offset=1058384 - i32.const 0 - local.get 4 - i32.store offset=1058372 - end - local.get 5 - i32.const 8 - i32.add - local.set 0 - end - local.get 1 - i32.const 16 - i32.add - global.set 0 - local.get 0) - (func $free (type 1) (param i32) - local.get 0 - call $dlfree) - (func $dlfree (type 1) (param i32) - (local i32 i32 i32 i32 i32 i32 i32) - block ;; label = @1 - local.get 0 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const -8 - i32.add - local.tee 1 - local.get 0 - i32.const -4 - i32.add - i32.load - local.tee 2 - i32.const -8 - i32.and - local.tee 0 - i32.add - local.set 3 - block ;; label = @2 - local.get 2 - i32.const 1 - i32.and - br_if 0 (;@2;) - local.get 2 - i32.const 3 - i32.and - i32.eqz - br_if 1 (;@1;) - local.get 1 - local.get 1 - i32.load - local.tee 2 - i32.sub - local.tee 1 - i32.const 0 - i32.load offset=1058380 - local.tee 4 - i32.lt_u - br_if 1 (;@1;) - local.get 2 - local.get 0 - i32.add - local.set 0 - block ;; label = @3 - i32.const 0 - i32.load offset=1058384 - local.get 1 - i32.eq - br_if 0 (;@3;) - block ;; label = @4 - local.get 2 - i32.const 255 - i32.gt_u - br_if 0 (;@4;) - local.get 1 - i32.load offset=12 - local.set 5 - block ;; label = @5 - local.get 1 - i32.load offset=8 - local.tee 6 - local.get 2 - i32.const 3 - i32.shr_u - local.tee 7 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.tee 2 - i32.eq - br_if 0 (;@5;) - local.get 4 - local.get 6 - i32.gt_u - drop - end - block ;; label = @5 - local.get 5 - local.get 6 - i32.ne - br_if 0 (;@5;) - i32.const 0 - i32.const 0 - i32.load offset=1058364 - i32.const -2 - local.get 7 - i32.rotl - i32.and - i32.store offset=1058364 - br 3 (;@2;) - end - block ;; label = @5 - local.get 5 - local.get 2 - i32.eq - br_if 0 (;@5;) - local.get 4 - local.get 5 - i32.gt_u - drop - end - local.get 5 - local.get 6 - i32.store offset=8 - local.get 6 - local.get 5 - i32.store offset=12 - br 2 (;@2;) - end - local.get 1 - i32.load offset=24 - local.set 7 - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.load offset=12 - local.tee 5 - local.get 1 - i32.eq - br_if 0 (;@5;) - block ;; label = @6 - local.get 4 - local.get 1 - i32.load offset=8 - local.tee 2 - i32.gt_u - br_if 0 (;@6;) - local.get 2 - i32.load offset=12 - local.get 1 - i32.ne - drop - end - local.get 5 - local.get 2 - i32.store offset=8 - local.get 2 - local.get 5 - i32.store offset=12 - br 1 (;@4;) - end - block ;; label = @5 - local.get 1 - i32.const 20 - i32.add - local.tee 2 - i32.load - local.tee 4 - br_if 0 (;@5;) - local.get 1 - i32.const 16 - i32.add - local.tee 2 - i32.load - local.tee 4 - br_if 0 (;@5;) - i32.const 0 - local.set 5 - br 1 (;@4;) - end - loop ;; label = @5 - local.get 2 - local.set 6 - local.get 4 - local.tee 5 - i32.const 20 - i32.add - local.tee 2 - i32.load - local.tee 4 - br_if 0 (;@5;) - local.get 5 - i32.const 16 - i32.add - local.set 2 - local.get 5 - i32.load offset=16 - local.tee 4 - br_if 0 (;@5;) - end - local.get 6 - i32.const 0 - i32.store - end - local.get 7 - i32.eqz - br_if 1 (;@2;) - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.load offset=28 - local.tee 4 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 2 - i32.load - local.get 1 - i32.ne - br_if 0 (;@5;) - local.get 2 - local.get 5 - i32.store - local.get 5 - br_if 1 (;@4;) - i32.const 0 - i32.const 0 - i32.load offset=1058368 - i32.const -2 - local.get 4 - i32.rotl - i32.and - i32.store offset=1058368 - br 3 (;@2;) - end - local.get 7 - i32.const 16 - i32.const 20 - local.get 7 - i32.load offset=16 - local.get 1 - i32.eq - select - i32.add - local.get 5 - i32.store - local.get 5 - i32.eqz - br_if 2 (;@2;) - end - local.get 5 - local.get 7 - i32.store offset=24 - block ;; label = @4 - local.get 1 - i32.load offset=16 - local.tee 2 - i32.eqz - br_if 0 (;@4;) - local.get 5 - local.get 2 - i32.store offset=16 - local.get 2 - local.get 5 - i32.store offset=24 - end - local.get 1 - i32.load offset=20 - local.tee 2 - i32.eqz - br_if 1 (;@2;) - local.get 5 - i32.const 20 - i32.add - local.get 2 - i32.store - local.get 2 - local.get 5 - i32.store offset=24 - br 1 (;@2;) - end - local.get 3 - i32.load offset=4 - local.tee 2 - i32.const 3 - i32.and - i32.const 3 - i32.ne - br_if 0 (;@2;) - local.get 3 - local.get 2 - i32.const -2 - i32.and - i32.store offset=4 - i32.const 0 - local.get 0 - i32.store offset=1058372 - local.get 1 - local.get 0 - i32.add - local.get 0 - i32.store - local.get 1 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - return - end - local.get 3 - local.get 1 - i32.le_u - br_if 0 (;@1;) - local.get 3 - i32.load offset=4 - local.tee 2 - i32.const 1 - i32.and - i32.eqz - br_if 0 (;@1;) - block ;; label = @2 - block ;; label = @3 - local.get 2 - i32.const 2 - i32.and - br_if 0 (;@3;) - block ;; label = @4 - i32.const 0 - i32.load offset=1058388 - local.get 3 - i32.ne - br_if 0 (;@4;) - i32.const 0 - local.get 1 - i32.store offset=1058388 - i32.const 0 - i32.const 0 - i32.load offset=1058376 - local.get 0 - i32.add - local.tee 0 - i32.store offset=1058376 - local.get 1 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - local.get 1 - i32.const 0 - i32.load offset=1058384 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.store offset=1058372 - i32.const 0 - i32.const 0 - i32.store offset=1058384 - return - end - block ;; label = @4 - i32.const 0 - i32.load offset=1058384 - local.get 3 - i32.ne - br_if 0 (;@4;) - i32.const 0 - local.get 1 - i32.store offset=1058384 - i32.const 0 - i32.const 0 - i32.load offset=1058372 - local.get 0 - i32.add - local.tee 0 - i32.store offset=1058372 - local.get 1 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - local.get 1 - local.get 0 - i32.add - local.get 0 - i32.store - return - end - local.get 2 - i32.const -8 - i32.and - local.get 0 - i32.add - local.set 0 - block ;; label = @4 - block ;; label = @5 - local.get 2 - i32.const 255 - i32.gt_u - br_if 0 (;@5;) - local.get 3 - i32.load offset=12 - local.set 4 - block ;; label = @6 - local.get 3 - i32.load offset=8 - local.tee 5 - local.get 2 - i32.const 3 - i32.shr_u - local.tee 3 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.tee 2 - i32.eq - br_if 0 (;@6;) - i32.const 0 - i32.load offset=1058380 - local.get 5 - i32.gt_u - drop - end - block ;; label = @6 - local.get 4 - local.get 5 - i32.ne - br_if 0 (;@6;) - i32.const 0 - i32.const 0 - i32.load offset=1058364 - i32.const -2 - local.get 3 - i32.rotl - i32.and - i32.store offset=1058364 - br 2 (;@4;) - end - block ;; label = @6 - local.get 4 - local.get 2 - i32.eq - br_if 0 (;@6;) - i32.const 0 - i32.load offset=1058380 - local.get 4 - i32.gt_u - drop - end - local.get 4 - local.get 5 - i32.store offset=8 - local.get 5 - local.get 4 - i32.store offset=12 - br 1 (;@4;) - end - local.get 3 - i32.load offset=24 - local.set 7 - block ;; label = @5 - block ;; label = @6 - local.get 3 - i32.load offset=12 - local.tee 5 - local.get 3 - i32.eq - br_if 0 (;@6;) - block ;; label = @7 - i32.const 0 - i32.load offset=1058380 - local.get 3 - i32.load offset=8 - local.tee 2 - i32.gt_u - br_if 0 (;@7;) - local.get 2 - i32.load offset=12 - local.get 3 - i32.ne - drop - end - local.get 5 - local.get 2 - i32.store offset=8 - local.get 2 - local.get 5 - i32.store offset=12 - br 1 (;@5;) - end - block ;; label = @6 - local.get 3 - i32.const 20 - i32.add - local.tee 2 - i32.load - local.tee 4 - br_if 0 (;@6;) - local.get 3 - i32.const 16 - i32.add - local.tee 2 - i32.load - local.tee 4 - br_if 0 (;@6;) - i32.const 0 - local.set 5 - br 1 (;@5;) - end - loop ;; label = @6 - local.get 2 - local.set 6 - local.get 4 - local.tee 5 - i32.const 20 - i32.add - local.tee 2 - i32.load - local.tee 4 - br_if 0 (;@6;) - local.get 5 - i32.const 16 - i32.add - local.set 2 - local.get 5 - i32.load offset=16 - local.tee 4 - br_if 0 (;@6;) - end - local.get 6 - i32.const 0 - i32.store - end - local.get 7 - i32.eqz - br_if 0 (;@4;) - block ;; label = @5 - block ;; label = @6 - local.get 3 - i32.load offset=28 - local.tee 4 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 2 - i32.load - local.get 3 - i32.ne - br_if 0 (;@6;) - local.get 2 - local.get 5 - i32.store - local.get 5 - br_if 1 (;@5;) - i32.const 0 - i32.const 0 - i32.load offset=1058368 - i32.const -2 - local.get 4 - i32.rotl - i32.and - i32.store offset=1058368 - br 2 (;@4;) - end - local.get 7 - i32.const 16 - i32.const 20 - local.get 7 - i32.load offset=16 - local.get 3 - i32.eq - select - i32.add - local.get 5 - i32.store - local.get 5 - i32.eqz - br_if 1 (;@4;) - end - local.get 5 - local.get 7 - i32.store offset=24 - block ;; label = @5 - local.get 3 - i32.load offset=16 - local.tee 2 - i32.eqz - br_if 0 (;@5;) - local.get 5 - local.get 2 - i32.store offset=16 - local.get 2 - local.get 5 - i32.store offset=24 - end - local.get 3 - i32.load offset=20 - local.tee 2 - i32.eqz - br_if 0 (;@4;) - local.get 5 - i32.const 20 - i32.add - local.get 2 - i32.store - local.get 2 - local.get 5 - i32.store offset=24 - end - local.get 1 - local.get 0 - i32.add - local.get 0 - i32.store - local.get 1 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - local.get 1 - i32.const 0 - i32.load offset=1058384 - i32.ne - br_if 1 (;@2;) - i32.const 0 - local.get 0 - i32.store offset=1058372 - return - end - local.get 3 - local.get 2 - i32.const -2 - i32.and - i32.store offset=4 - local.get 1 - local.get 0 - i32.add - local.get 0 - i32.store - local.get 1 - local.get 0 - i32.const 1 - i32.or - i32.store offset=4 - end - block ;; label = @2 - local.get 0 - i32.const 255 - i32.gt_u - br_if 0 (;@2;) - local.get 0 - i32.const 3 - i32.shr_u - local.tee 2 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 0 - block ;; label = @3 - block ;; label = @4 - i32.const 0 - i32.load offset=1058364 - local.tee 4 - i32.const 1 - local.get 2 - i32.shl - local.tee 2 - i32.and - br_if 0 (;@4;) - i32.const 0 - local.get 4 - local.get 2 - i32.or - i32.store offset=1058364 - local.get 0 - local.set 2 - br 1 (;@3;) - end - local.get 0 - i32.load offset=8 - local.set 2 - end - local.get 2 - local.get 1 - i32.store offset=12 - local.get 0 - local.get 1 - i32.store offset=8 - local.get 1 - local.get 0 - i32.store offset=12 - local.get 1 - local.get 2 - i32.store offset=8 - return - end - i32.const 0 - local.set 2 - block ;; label = @2 - local.get 0 - i32.const 8 - i32.shr_u - local.tee 4 - i32.eqz - br_if 0 (;@2;) - i32.const 31 - local.set 2 - local.get 0 - i32.const 16777215 - i32.gt_u - br_if 0 (;@2;) - local.get 4 - local.get 4 - i32.const 1048320 - i32.add - i32.const 16 - i32.shr_u - i32.const 8 - i32.and - local.tee 2 - i32.shl - local.tee 4 - local.get 4 - i32.const 520192 - i32.add - i32.const 16 - i32.shr_u - i32.const 4 - i32.and - local.tee 4 - i32.shl - local.tee 5 - local.get 5 - i32.const 245760 - i32.add - i32.const 16 - i32.shr_u - i32.const 2 - i32.and - local.tee 5 - i32.shl - i32.const 15 - i32.shr_u - local.get 4 - local.get 2 - i32.or - local.get 5 - i32.or - i32.sub - local.tee 2 - i32.const 1 - i32.shl - local.get 0 - local.get 2 - i32.const 21 - i32.add - i32.shr_u - i32.const 1 - i32.and - i32.or - i32.const 28 - i32.add - local.set 2 - end - local.get 1 - i64.const 0 - i64.store offset=16 align=4 - local.get 1 - i32.const 28 - i32.add - local.get 2 - i32.store - local.get 2 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.set 4 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - i32.load offset=1058368 - local.tee 5 - i32.const 1 - local.get 2 - i32.shl - local.tee 3 - i32.and - br_if 0 (;@3;) - local.get 4 - local.get 1 - i32.store - i32.const 0 - local.get 5 - local.get 3 - i32.or - i32.store offset=1058368 - local.get 1 - i32.const 24 - i32.add - local.get 4 - i32.store - local.get 1 - local.get 1 - i32.store offset=8 - local.get 1 - local.get 1 - i32.store offset=12 - br 1 (;@2;) - end - local.get 0 - i32.const 0 - i32.const 25 - local.get 2 - i32.const 1 - i32.shr_u - i32.sub - local.get 2 - i32.const 31 - i32.eq - select - i32.shl - local.set 2 - local.get 4 - i32.load - local.set 5 - block ;; label = @3 - loop ;; label = @4 - local.get 5 - local.tee 4 - i32.load offset=4 - i32.const -8 - i32.and - local.get 0 - i32.eq - br_if 1 (;@3;) - local.get 2 - i32.const 29 - i32.shr_u - local.set 5 - local.get 2 - i32.const 1 - i32.shl - local.set 2 - local.get 4 - local.get 5 - i32.const 4 - i32.and - i32.add - i32.const 16 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@4;) - end - local.get 3 - local.get 1 - i32.store - local.get 1 - local.get 1 - i32.store offset=12 - local.get 1 - i32.const 24 - i32.add - local.get 4 - i32.store - local.get 1 - local.get 1 - i32.store offset=8 - br 1 (;@2;) - end - local.get 4 - i32.load offset=8 - local.set 0 - local.get 4 - local.get 1 - i32.store offset=8 - local.get 0 - local.get 1 - i32.store offset=12 - local.get 1 - i32.const 24 - i32.add - i32.const 0 - i32.store - local.get 1 - local.get 0 - i32.store offset=8 - local.get 1 - local.get 4 - i32.store offset=12 - end - i32.const 0 - i32.const 0 - i32.load offset=1058396 - i32.const -1 - i32.add - local.tee 1 - i32.store offset=1058396 - local.get 1 - br_if 0 (;@1;) - i32.const 1058820 - local.set 1 - loop ;; label = @2 - local.get 1 - i32.load - local.tee 0 - i32.const 8 - i32.add - local.set 1 - local.get 0 - br_if 0 (;@2;) - end - i32.const 0 - i32.const -1 - i32.store offset=1058396 - end) - (func $calloc (type 3) (param i32 i32) (result i32) - (local i32) - block ;; label = @1 - block ;; label = @2 - local.get 0 - br_if 0 (;@2;) - i32.const 0 - local.set 2 - br 1 (;@1;) - end - local.get 1 - local.get 0 - i32.mul - local.set 2 - local.get 1 - local.get 0 - i32.or - i32.const 65536 - i32.lt_u - br_if 0 (;@1;) - local.get 2 - i32.const -1 - local.get 2 - local.get 0 - i32.div_u - local.get 1 - i32.eq - select - local.set 2 - end - block ;; label = @1 - local.get 2 - call $dlmalloc - local.tee 0 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const -4 - i32.add - i32.load8_u - i32.const 3 - i32.and - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 0 - local.get 2 - call $memset - drop - end - local.get 0) - (func $realloc (type 3) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - block ;; label = @1 - local.get 0 - br_if 0 (;@1;) - local.get 1 - call $dlmalloc - return - end - block ;; label = @1 - local.get 1 - i32.const -64 - i32.lt_u - br_if 0 (;@1;) - i32.const 0 - i32.const 48 - i32.store offset=1058860 - i32.const 0 - return - end - local.get 1 - i32.const 11 - i32.lt_u - local.set 2 - local.get 1 - i32.const 19 - i32.add - i32.const -16 - i32.and - local.set 3 - local.get 0 - i32.const -8 - i32.add - local.set 4 - local.get 0 - i32.const -4 - i32.add - local.tee 5 - i32.load - local.tee 6 - i32.const 3 - i32.and - local.set 7 - i32.const 0 - i32.load offset=1058380 - local.set 8 - block ;; label = @1 - local.get 6 - i32.const -8 - i32.and - local.tee 9 - i32.const 1 - i32.lt_s - br_if 0 (;@1;) - local.get 7 - i32.const 1 - i32.eq - br_if 0 (;@1;) - local.get 8 - local.get 4 - i32.gt_u - drop - end - i32.const 16 - local.get 3 - local.get 2 - select - local.set 2 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 7 - br_if 0 (;@3;) - local.get 2 - i32.const 256 - i32.lt_u - br_if 1 (;@2;) - local.get 9 - local.get 2 - i32.const 4 - i32.or - i32.lt_u - br_if 1 (;@2;) - local.get 9 - local.get 2 - i32.sub - i32.const 0 - i32.load offset=1058844 - i32.const 1 - i32.shl - i32.le_u - br_if 2 (;@1;) - br 1 (;@2;) - end - local.get 4 - local.get 9 - i32.add - local.set 7 - block ;; label = @3 - local.get 9 - local.get 2 - i32.lt_u - br_if 0 (;@3;) - local.get 9 - local.get 2 - i32.sub - local.tee 1 - i32.const 16 - i32.lt_u - br_if 2 (;@1;) - local.get 5 - local.get 2 - local.get 6 - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store - local.get 4 - local.get 2 - i32.add - local.tee 2 - local.get 1 - i32.const 3 - i32.or - i32.store offset=4 - local.get 7 - local.get 7 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 2 - local.get 1 - call $dispose_chunk - local.get 0 - return - end - block ;; label = @3 - i32.const 0 - i32.load offset=1058388 - local.get 7 - i32.ne - br_if 0 (;@3;) - i32.const 0 - i32.load offset=1058376 - local.get 9 - i32.add - local.tee 9 - local.get 2 - i32.le_u - br_if 1 (;@2;) - local.get 5 - local.get 2 - local.get 6 - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store - i32.const 0 - local.get 4 - local.get 2 - i32.add - local.tee 1 - i32.store offset=1058388 - i32.const 0 - local.get 9 - local.get 2 - i32.sub - local.tee 2 - i32.store offset=1058376 - local.get 1 - local.get 2 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - return - end - block ;; label = @3 - i32.const 0 - i32.load offset=1058384 - local.get 7 - i32.ne - br_if 0 (;@3;) - i32.const 0 - i32.load offset=1058372 - local.get 9 - i32.add - local.tee 9 - local.get 2 - i32.lt_u - br_if 1 (;@2;) - block ;; label = @4 - block ;; label = @5 - local.get 9 - local.get 2 - i32.sub - local.tee 1 - i32.const 16 - i32.lt_u - br_if 0 (;@5;) - local.get 5 - local.get 2 - local.get 6 - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store - local.get 4 - local.get 2 - i32.add - local.tee 2 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - local.get 4 - local.get 9 - i32.add - local.tee 9 - local.get 1 - i32.store - local.get 9 - local.get 9 - i32.load offset=4 - i32.const -2 - i32.and - i32.store offset=4 - br 1 (;@4;) - end - local.get 5 - local.get 6 - i32.const 1 - i32.and - local.get 9 - i32.or - i32.const 2 - i32.or - i32.store - local.get 4 - local.get 9 - i32.add - local.tee 1 - local.get 1 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - i32.const 0 - local.set 1 - i32.const 0 - local.set 2 - end - i32.const 0 - local.get 2 - i32.store offset=1058384 - i32.const 0 - local.get 1 - i32.store offset=1058372 - local.get 0 - return - end - local.get 7 - i32.load offset=4 - local.tee 3 - i32.const 2 - i32.and - br_if 0 (;@2;) - local.get 3 - i32.const -8 - i32.and - local.get 9 - i32.add - local.tee 10 - local.get 2 - i32.lt_u - br_if 0 (;@2;) - local.get 10 - local.get 2 - i32.sub - local.set 11 - block ;; label = @3 - block ;; label = @4 - local.get 3 - i32.const 255 - i32.gt_u - br_if 0 (;@4;) - local.get 7 - i32.load offset=12 - local.set 1 - block ;; label = @5 - local.get 7 - i32.load offset=8 - local.tee 9 - local.get 3 - i32.const 3 - i32.shr_u - local.tee 3 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.tee 7 - i32.eq - br_if 0 (;@5;) - local.get 8 - local.get 9 - i32.gt_u - drop - end - block ;; label = @5 - local.get 1 - local.get 9 - i32.ne - br_if 0 (;@5;) - i32.const 0 - i32.const 0 - i32.load offset=1058364 - i32.const -2 - local.get 3 - i32.rotl - i32.and - i32.store offset=1058364 - br 2 (;@3;) - end - block ;; label = @5 - local.get 1 - local.get 7 - i32.eq - br_if 0 (;@5;) - local.get 8 - local.get 1 - i32.gt_u - drop - end - local.get 1 - local.get 9 - i32.store offset=8 - local.get 9 - local.get 1 - i32.store offset=12 - br 1 (;@3;) - end - local.get 7 - i32.load offset=24 - local.set 12 - block ;; label = @4 - block ;; label = @5 - local.get 7 - i32.load offset=12 - local.tee 3 - local.get 7 - i32.eq - br_if 0 (;@5;) - block ;; label = @6 - local.get 8 - local.get 7 - i32.load offset=8 - local.tee 1 - i32.gt_u - br_if 0 (;@6;) - local.get 1 - i32.load offset=12 - local.get 7 - i32.ne - drop - end - local.get 3 - local.get 1 - i32.store offset=8 - local.get 1 - local.get 3 - i32.store offset=12 - br 1 (;@4;) - end - block ;; label = @5 - local.get 7 - i32.const 20 - i32.add - local.tee 1 - i32.load - local.tee 9 - br_if 0 (;@5;) - local.get 7 - i32.const 16 - i32.add - local.tee 1 - i32.load - local.tee 9 - br_if 0 (;@5;) - i32.const 0 - local.set 3 - br 1 (;@4;) - end - loop ;; label = @5 - local.get 1 - local.set 8 - local.get 9 - local.tee 3 - i32.const 20 - i32.add - local.tee 1 - i32.load - local.tee 9 - br_if 0 (;@5;) - local.get 3 - i32.const 16 - i32.add - local.set 1 - local.get 3 - i32.load offset=16 - local.tee 9 - br_if 0 (;@5;) - end - local.get 8 - i32.const 0 - i32.store - end - local.get 12 - i32.eqz - br_if 0 (;@3;) - block ;; label = @4 - block ;; label = @5 - local.get 7 - i32.load offset=28 - local.tee 9 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 1 - i32.load - local.get 7 - i32.ne - br_if 0 (;@5;) - local.get 1 - local.get 3 - i32.store - local.get 3 - br_if 1 (;@4;) - i32.const 0 - i32.const 0 - i32.load offset=1058368 - i32.const -2 - local.get 9 - i32.rotl - i32.and - i32.store offset=1058368 - br 2 (;@3;) - end - local.get 12 - i32.const 16 - i32.const 20 - local.get 12 - i32.load offset=16 - local.get 7 - i32.eq - select - i32.add - local.get 3 - i32.store - local.get 3 - i32.eqz - br_if 1 (;@3;) - end - local.get 3 - local.get 12 - i32.store offset=24 - block ;; label = @4 - local.get 7 - i32.load offset=16 - local.tee 1 - i32.eqz - br_if 0 (;@4;) - local.get 3 - local.get 1 - i32.store offset=16 - local.get 1 - local.get 3 - i32.store offset=24 - end - local.get 7 - i32.load offset=20 - local.tee 1 - i32.eqz - br_if 0 (;@3;) - local.get 3 - i32.const 20 - i32.add - local.get 1 - i32.store - local.get 1 - local.get 3 - i32.store offset=24 - end - block ;; label = @3 - local.get 11 - i32.const 15 - i32.gt_u - br_if 0 (;@3;) - local.get 5 - local.get 6 - i32.const 1 - i32.and - local.get 10 - i32.or - i32.const 2 - i32.or - i32.store - local.get 4 - local.get 10 - i32.add - local.tee 1 - local.get 1 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - return - end - local.get 5 - local.get 2 - local.get 6 - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store - local.get 4 - local.get 2 - i32.add - local.tee 1 - local.get 11 - i32.const 3 - i32.or - i32.store offset=4 - local.get 4 - local.get 10 - i32.add - local.tee 2 - local.get 2 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 1 - local.get 11 - call $dispose_chunk - local.get 0 - return - end - block ;; label = @2 - local.get 1 - call $dlmalloc - local.tee 2 - br_if 0 (;@2;) - i32.const 0 - return - end - local.get 2 - local.get 0 - local.get 5 - i32.load - local.tee 9 - i32.const -8 - i32.and - i32.const 4 - i32.const 8 - local.get 9 - i32.const 3 - i32.and - select - i32.sub - local.tee 9 - local.get 1 - local.get 9 - local.get 1 - i32.lt_u - select - call $memcpy - local.set 1 - local.get 0 - call $dlfree - local.get 1 - local.set 0 - end - local.get 0) - (func $dispose_chunk (type 6) (param i32 i32) - (local i32 i32 i32 i32 i32 i32) - local.get 0 - local.get 1 - i32.add - local.set 2 - block ;; label = @1 - block ;; label = @2 - local.get 0 - i32.load offset=4 - local.tee 3 - i32.const 1 - i32.and - br_if 0 (;@2;) - local.get 3 - i32.const 3 - i32.and - i32.eqz - br_if 1 (;@1;) - local.get 0 - i32.load - local.tee 3 - local.get 1 - i32.add - local.set 1 - block ;; label = @3 - i32.const 0 - i32.load offset=1058384 - local.get 0 - local.get 3 - i32.sub - local.tee 0 - i32.eq - br_if 0 (;@3;) - i32.const 0 - i32.load offset=1058380 - local.set 4 - block ;; label = @4 - local.get 3 - i32.const 255 - i32.gt_u - br_if 0 (;@4;) - local.get 0 - i32.load offset=12 - local.set 5 - block ;; label = @5 - local.get 0 - i32.load offset=8 - local.tee 6 - local.get 3 - i32.const 3 - i32.shr_u - local.tee 7 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.tee 3 - i32.eq - br_if 0 (;@5;) - local.get 4 - local.get 6 - i32.gt_u - drop - end - block ;; label = @5 - local.get 5 - local.get 6 - i32.ne - br_if 0 (;@5;) - i32.const 0 - i32.const 0 - i32.load offset=1058364 - i32.const -2 - local.get 7 - i32.rotl - i32.and - i32.store offset=1058364 - br 3 (;@2;) - end - block ;; label = @5 - local.get 5 - local.get 3 - i32.eq - br_if 0 (;@5;) - local.get 4 - local.get 5 - i32.gt_u - drop - end - local.get 5 - local.get 6 - i32.store offset=8 - local.get 6 - local.get 5 - i32.store offset=12 - br 2 (;@2;) - end - local.get 0 - i32.load offset=24 - local.set 7 - block ;; label = @4 - block ;; label = @5 - local.get 0 - i32.load offset=12 - local.tee 6 - local.get 0 - i32.eq - br_if 0 (;@5;) - block ;; label = @6 - local.get 4 - local.get 0 - i32.load offset=8 - local.tee 3 - i32.gt_u - br_if 0 (;@6;) - local.get 3 - i32.load offset=12 - local.get 0 - i32.ne - drop - end - local.get 6 - local.get 3 - i32.store offset=8 - local.get 3 - local.get 6 - i32.store offset=12 - br 1 (;@4;) - end - block ;; label = @5 - local.get 0 - i32.const 20 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@5;) - local.get 0 - i32.const 16 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@5;) - i32.const 0 - local.set 6 - br 1 (;@4;) - end - loop ;; label = @5 - local.get 3 - local.set 4 - local.get 5 - local.tee 6 - i32.const 20 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@5;) - local.get 6 - i32.const 16 - i32.add - local.set 3 - local.get 6 - i32.load offset=16 - local.tee 5 - br_if 0 (;@5;) - end - local.get 4 - i32.const 0 - i32.store - end - local.get 7 - i32.eqz - br_if 1 (;@2;) - block ;; label = @4 - block ;; label = @5 - local.get 0 - i32.load offset=28 - local.tee 5 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 3 - i32.load - local.get 0 - i32.ne - br_if 0 (;@5;) - local.get 3 - local.get 6 - i32.store - local.get 6 - br_if 1 (;@4;) - i32.const 0 - i32.const 0 - i32.load offset=1058368 - i32.const -2 - local.get 5 - i32.rotl - i32.and - i32.store offset=1058368 - br 3 (;@2;) - end - local.get 7 - i32.const 16 - i32.const 20 - local.get 7 - i32.load offset=16 - local.get 0 - i32.eq - select - i32.add - local.get 6 - i32.store - local.get 6 - i32.eqz - br_if 2 (;@2;) - end - local.get 6 - local.get 7 - i32.store offset=24 - block ;; label = @4 - local.get 0 - i32.load offset=16 - local.tee 3 - i32.eqz - br_if 0 (;@4;) - local.get 6 - local.get 3 - i32.store offset=16 - local.get 3 - local.get 6 - i32.store offset=24 - end - local.get 0 - i32.load offset=20 - local.tee 3 - i32.eqz - br_if 1 (;@2;) - local.get 6 - i32.const 20 - i32.add - local.get 3 - i32.store - local.get 3 - local.get 6 - i32.store offset=24 - br 1 (;@2;) - end - local.get 2 - i32.load offset=4 - local.tee 3 - i32.const 3 - i32.and - i32.const 3 - i32.ne - br_if 0 (;@2;) - local.get 2 - local.get 3 - i32.const -2 - i32.and - i32.store offset=4 - i32.const 0 - local.get 1 - i32.store offset=1058372 - local.get 2 - local.get 1 - i32.store - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - return - end - block ;; label = @2 - block ;; label = @3 - local.get 2 - i32.load offset=4 - local.tee 3 - i32.const 2 - i32.and - br_if 0 (;@3;) - block ;; label = @4 - i32.const 0 - i32.load offset=1058388 - local.get 2 - i32.ne - br_if 0 (;@4;) - i32.const 0 - local.get 0 - i32.store offset=1058388 - i32.const 0 - i32.const 0 - i32.load offset=1058376 - local.get 1 - i32.add - local.tee 1 - i32.store offset=1058376 - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - i32.const 0 - i32.load offset=1058384 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.store offset=1058372 - i32.const 0 - i32.const 0 - i32.store offset=1058384 - return - end - block ;; label = @4 - i32.const 0 - i32.load offset=1058384 - local.get 2 - i32.ne - br_if 0 (;@4;) - i32.const 0 - local.get 0 - i32.store offset=1058384 - i32.const 0 - i32.const 0 - i32.load offset=1058372 - local.get 1 - i32.add - local.tee 1 - i32.store offset=1058372 - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - local.get 1 - i32.add - local.get 1 - i32.store - return - end - i32.const 0 - i32.load offset=1058380 - local.set 4 - local.get 3 - i32.const -8 - i32.and - local.get 1 - i32.add - local.set 1 - block ;; label = @4 - block ;; label = @5 - local.get 3 - i32.const 255 - i32.gt_u - br_if 0 (;@5;) - local.get 2 - i32.load offset=12 - local.set 5 - block ;; label = @6 - local.get 2 - i32.load offset=8 - local.tee 6 - local.get 3 - i32.const 3 - i32.shr_u - local.tee 2 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.tee 3 - i32.eq - br_if 0 (;@6;) - local.get 4 - local.get 6 - i32.gt_u - drop - end - block ;; label = @6 - local.get 5 - local.get 6 - i32.ne - br_if 0 (;@6;) - i32.const 0 - i32.const 0 - i32.load offset=1058364 - i32.const -2 - local.get 2 - i32.rotl - i32.and - i32.store offset=1058364 - br 2 (;@4;) - end - block ;; label = @6 - local.get 5 - local.get 3 - i32.eq - br_if 0 (;@6;) - local.get 4 - local.get 5 - i32.gt_u - drop - end - local.get 5 - local.get 6 - i32.store offset=8 - local.get 6 - local.get 5 - i32.store offset=12 - br 1 (;@4;) - end - local.get 2 - i32.load offset=24 - local.set 7 - block ;; label = @5 - block ;; label = @6 - local.get 2 - i32.load offset=12 - local.tee 6 - local.get 2 - i32.eq - br_if 0 (;@6;) - block ;; label = @7 - local.get 4 - local.get 2 - i32.load offset=8 - local.tee 3 - i32.gt_u - br_if 0 (;@7;) - local.get 3 - i32.load offset=12 - local.get 2 - i32.ne - drop - end - local.get 6 - local.get 3 - i32.store offset=8 - local.get 3 - local.get 6 - i32.store offset=12 - br 1 (;@5;) - end - block ;; label = @6 - local.get 2 - i32.const 20 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@6;) - local.get 2 - i32.const 16 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@6;) - i32.const 0 - local.set 6 - br 1 (;@5;) - end - loop ;; label = @6 - local.get 3 - local.set 4 - local.get 5 - local.tee 6 - i32.const 20 - i32.add - local.tee 3 - i32.load - local.tee 5 - br_if 0 (;@6;) - local.get 6 - i32.const 16 - i32.add - local.set 3 - local.get 6 - i32.load offset=16 - local.tee 5 - br_if 0 (;@6;) - end - local.get 4 - i32.const 0 - i32.store - end - local.get 7 - i32.eqz - br_if 0 (;@4;) - block ;; label = @5 - block ;; label = @6 - local.get 2 - i32.load offset=28 - local.tee 5 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.tee 3 - i32.load - local.get 2 - i32.ne - br_if 0 (;@6;) - local.get 3 - local.get 6 - i32.store - local.get 6 - br_if 1 (;@5;) - i32.const 0 - i32.const 0 - i32.load offset=1058368 - i32.const -2 - local.get 5 - i32.rotl - i32.and - i32.store offset=1058368 - br 2 (;@4;) - end - local.get 7 - i32.const 16 - i32.const 20 - local.get 7 - i32.load offset=16 - local.get 2 - i32.eq - select - i32.add - local.get 6 - i32.store - local.get 6 - i32.eqz - br_if 1 (;@4;) - end - local.get 6 - local.get 7 - i32.store offset=24 - block ;; label = @5 - local.get 2 - i32.load offset=16 - local.tee 3 - i32.eqz - br_if 0 (;@5;) - local.get 6 - local.get 3 - i32.store offset=16 - local.get 3 - local.get 6 - i32.store offset=24 - end - local.get 2 - i32.load offset=20 - local.tee 3 - i32.eqz - br_if 0 (;@4;) - local.get 6 - i32.const 20 - i32.add - local.get 3 - i32.store - local.get 3 - local.get 6 - i32.store offset=24 - end - local.get 0 - local.get 1 - i32.add - local.get 1 - i32.store - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - i32.const 0 - i32.load offset=1058384 - i32.ne - br_if 1 (;@2;) - i32.const 0 - local.get 1 - i32.store offset=1058372 - return - end - local.get 2 - local.get 3 - i32.const -2 - i32.and - i32.store offset=4 - local.get 0 - local.get 1 - i32.add - local.get 1 - i32.store - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - end - block ;; label = @2 - local.get 1 - i32.const 255 - i32.gt_u - br_if 0 (;@2;) - local.get 1 - i32.const 3 - i32.shr_u - local.tee 3 - i32.const 3 - i32.shl - i32.const 1058404 - i32.add - local.set 1 - block ;; label = @3 - block ;; label = @4 - i32.const 0 - i32.load offset=1058364 - local.tee 5 - i32.const 1 - local.get 3 - i32.shl - local.tee 3 - i32.and - br_if 0 (;@4;) - i32.const 0 - local.get 5 - local.get 3 - i32.or - i32.store offset=1058364 - local.get 1 - local.set 3 - br 1 (;@3;) - end - local.get 1 - i32.load offset=8 - local.set 3 - end - local.get 3 - local.get 0 - i32.store offset=12 - local.get 1 - local.get 0 - i32.store offset=8 - local.get 0 - local.get 1 - i32.store offset=12 - local.get 0 - local.get 3 - i32.store offset=8 - return - end - i32.const 0 - local.set 3 - block ;; label = @2 - local.get 1 - i32.const 8 - i32.shr_u - local.tee 5 - i32.eqz - br_if 0 (;@2;) - i32.const 31 - local.set 3 - local.get 1 - i32.const 16777215 - i32.gt_u - br_if 0 (;@2;) - local.get 5 - local.get 5 - i32.const 1048320 - i32.add - i32.const 16 - i32.shr_u - i32.const 8 - i32.and - local.tee 3 - i32.shl - local.tee 5 - local.get 5 - i32.const 520192 - i32.add - i32.const 16 - i32.shr_u - i32.const 4 - i32.and - local.tee 5 - i32.shl - local.tee 6 - local.get 6 - i32.const 245760 - i32.add - i32.const 16 - i32.shr_u - i32.const 2 - i32.and - local.tee 6 - i32.shl - i32.const 15 - i32.shr_u - local.get 5 - local.get 3 - i32.or - local.get 6 - i32.or - i32.sub - local.tee 3 - i32.const 1 - i32.shl - local.get 1 - local.get 3 - i32.const 21 - i32.add - i32.shr_u - i32.const 1 - i32.and - i32.or - i32.const 28 - i32.add - local.set 3 - end - local.get 0 - i64.const 0 - i64.store offset=16 align=4 - local.get 0 - i32.const 28 - i32.add - local.get 3 - i32.store - local.get 3 - i32.const 2 - i32.shl - i32.const 1058668 - i32.add - local.set 5 - block ;; label = @2 - i32.const 0 - i32.load offset=1058368 - local.tee 6 - i32.const 1 - local.get 3 - i32.shl - local.tee 2 - i32.and - br_if 0 (;@2;) - local.get 5 - local.get 0 - i32.store - i32.const 0 - local.get 6 - local.get 2 - i32.or - i32.store offset=1058368 - local.get 0 - i32.const 24 - i32.add - local.get 5 - i32.store - local.get 0 - local.get 0 - i32.store offset=8 - local.get 0 - local.get 0 - i32.store offset=12 - return - end - local.get 1 - i32.const 0 - i32.const 25 - local.get 3 - i32.const 1 - i32.shr_u - i32.sub - local.get 3 - i32.const 31 - i32.eq - select - i32.shl - local.set 3 - local.get 5 - i32.load - local.set 6 - block ;; label = @2 - loop ;; label = @3 - local.get 6 - local.tee 5 - i32.load offset=4 - i32.const -8 - i32.and - local.get 1 - i32.eq - br_if 1 (;@2;) - local.get 3 - i32.const 29 - i32.shr_u - local.set 6 - local.get 3 - i32.const 1 - i32.shl - local.set 3 - local.get 5 - local.get 6 - i32.const 4 - i32.and - i32.add - i32.const 16 - i32.add - local.tee 2 - i32.load - local.tee 6 - br_if 0 (;@3;) - end - local.get 2 - local.get 0 - i32.store - local.get 0 - i32.const 24 - i32.add - local.get 5 - i32.store - local.get 0 - local.get 0 - i32.store offset=12 - local.get 0 - local.get 0 - i32.store offset=8 - return - end - local.get 5 - i32.load offset=8 - local.set 1 - local.get 5 - local.get 0 - i32.store offset=8 - local.get 1 - local.get 0 - i32.store offset=12 - local.get 0 - i32.const 24 - i32.add - i32.const 0 - i32.store - local.get 0 - local.get 1 - i32.store offset=8 - local.get 0 - local.get 5 - i32.store offset=12 - end) - (func $internal_memalign (type 3) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32) - block ;; label = @1 - block ;; label = @2 - local.get 0 - i32.const 16 - local.get 0 - i32.const 16 - i32.gt_u - select - local.tee 2 - local.get 2 - i32.const -1 - i32.add - i32.and - br_if 0 (;@2;) - local.get 2 - local.set 0 - br 1 (;@1;) - end - i32.const 32 - local.set 3 - loop ;; label = @2 - local.get 3 - local.tee 0 - i32.const 1 - i32.shl - local.set 3 - local.get 0 - local.get 2 - i32.lt_u - br_if 0 (;@2;) - end - end - block ;; label = @1 - i32.const -64 - local.get 0 - i32.sub - local.get 1 - i32.gt_u - br_if 0 (;@1;) - i32.const 0 - i32.const 48 - i32.store offset=1058860 - i32.const 0 - return - end - block ;; label = @1 - i32.const 16 - local.get 1 - i32.const 19 - i32.add - i32.const -16 - i32.and - local.get 1 - i32.const 11 - i32.lt_u - select - local.tee 1 - i32.const 12 - i32.or - local.get 0 - i32.add - call $dlmalloc - local.tee 3 - br_if 0 (;@1;) - i32.const 0 - return - end - local.get 3 - i32.const -8 - i32.add - local.set 2 - block ;; label = @1 - block ;; label = @2 - local.get 0 - i32.const -1 - i32.add - local.get 3 - i32.and - br_if 0 (;@2;) - local.get 2 - local.set 0 - br 1 (;@1;) - end - local.get 3 - i32.const -4 - i32.add - local.tee 4 - i32.load - local.tee 5 - i32.const -8 - i32.and - local.get 3 - local.get 0 - i32.add - i32.const -1 - i32.add - i32.const 0 - local.get 0 - i32.sub - i32.and - i32.const -8 - i32.add - local.tee 3 - local.get 3 - local.get 0 - i32.add - local.get 3 - local.get 2 - i32.sub - i32.const 15 - i32.gt_u - select - local.tee 0 - local.get 2 - i32.sub - local.tee 3 - i32.sub - local.set 6 - block ;; label = @2 - local.get 5 - i32.const 3 - i32.and - br_if 0 (;@2;) - local.get 0 - local.get 6 - i32.store offset=4 - local.get 0 - local.get 2 - i32.load - local.get 3 - i32.add - i32.store - br 1 (;@1;) - end - local.get 0 - local.get 6 - local.get 0 - i32.load offset=4 - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store offset=4 - local.get 0 - local.get 6 - i32.add - local.tee 6 - local.get 6 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 4 - local.get 3 - local.get 4 - i32.load - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store - local.get 0 - local.get 0 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 2 - local.get 3 - call $dispose_chunk - end - block ;; label = @1 - local.get 0 - i32.load offset=4 - local.tee 3 - i32.const 3 - i32.and - i32.eqz - br_if 0 (;@1;) - local.get 3 - i32.const -8 - i32.and - local.tee 2 - local.get 1 - i32.const 16 - i32.add - i32.le_u - br_if 0 (;@1;) - local.get 0 - local.get 1 - local.get 3 - i32.const 1 - i32.and - i32.or - i32.const 2 - i32.or - i32.store offset=4 - local.get 0 - local.get 1 - i32.add - local.tee 3 - local.get 2 - local.get 1 - i32.sub - local.tee 1 - i32.const 3 - i32.or - i32.store offset=4 - local.get 0 - local.get 2 - i32.add - local.tee 2 - local.get 2 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get 3 - local.get 1 - call $dispose_chunk - end - local.get 0 - i32.const 8 - i32.add) - (func $aligned_alloc (type 3) (param i32 i32) (result i32) - block ;; label = @1 - local.get 0 - i32.const 16 - i32.gt_u - br_if 0 (;@1;) - local.get 1 - call $dlmalloc - return - end - local.get 0 - local.get 1 - call $internal_memalign) - (func $_Exit (type 1) (param i32) - local.get 0 - call $__wasi_proc_exit - unreachable) - (func $__wasilibc_populate_libpreopen (type 0) - (local i32 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 0 - global.set 0 - i32.const 3 - local.set 1 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - loop ;; label = @4 - local.get 1 - local.get 0 - i32.const 8 - i32.add - call $__wasi_fd_prestat_get - local.tee 2 - i32.const 8 - i32.gt_u - br_if 1 (;@3;) - block ;; label = @5 - block ;; label = @6 - local.get 2 - br_table 0 (;@6;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 3 (;@3;) 1 (;@5;) 0 (;@6;) - end - block ;; label = @6 - local.get 0 - i32.load8_u offset=8 - br_if 0 (;@6;) - local.get 0 - i32.load offset=12 - local.tee 2 - i32.const 1 - i32.add - call $malloc - local.tee 3 - i32.eqz - br_if 4 (;@2;) - local.get 1 - local.get 3 - local.get 2 - call $__wasi_fd_prestat_dir_name - br_if 3 (;@3;) - local.get 3 - local.get 0 - i32.load offset=12 - i32.add - i32.const 0 - i32.store8 - local.get 1 - i32.const -1 - i32.le_s - br_if 5 (;@1;) - block ;; label = @7 - block ;; label = @8 - i32.const 0 - i32.load offset=1058872 - local.tee 2 - i32.const 0 - i32.load offset=1058868 - i32.eq - br_if 0 (;@8;) - i32.const 0 - i32.load offset=1058864 - local.set 4 - br 1 (;@7;) - end - i32.const 8 - local.get 2 - i32.const 1 - i32.shl - i32.const 4 - local.get 2 - select - local.tee 5 - call $calloc - local.tee 4 - i32.eqz - br_if 5 (;@2;) - local.get 4 - i32.const 0 - i32.load offset=1058864 - local.tee 6 - local.get 2 - i32.const 3 - i32.shl - call $memcpy - local.set 2 - local.get 6 - call $free - i32.const 0 - local.get 5 - i32.store offset=1058868 - i32.const 0 - local.get 2 - i32.store offset=1058864 - i32.const 0 - i32.load offset=1058872 - local.set 2 - end - i32.const 0 - local.get 2 - i32.const 1 - i32.add - i32.store offset=1058872 - local.get 4 - local.get 2 - i32.const 3 - i32.shl - i32.add - local.tee 2 - local.get 1 - i32.store offset=4 - local.get 2 - local.get 3 - i32.store - end - local.get 1 - i32.const 1 - i32.add - local.tee 2 - local.get 1 - i32.ge_u - local.set 3 - local.get 2 - local.set 1 - local.get 3 - br_if 1 (;@4;) - end - end - local.get 0 - i32.const 16 - i32.add - global.set 0 - return - end - i32.const 71 - call $_Exit - unreachable - end - i32.const 70 - call $_Exit - unreachable - end - call $abort - unreachable) - (func $sbrk (type 5) (param i32) (result i32) - block ;; label = @1 - local.get 0 - br_if 0 (;@1;) - memory.size - i32.const 16 - i32.shl - return - end - block ;; label = @1 - local.get 0 - i32.const 65535 - i32.and - br_if 0 (;@1;) - local.get 0 - i32.const -1 - i32.le_s - br_if 0 (;@1;) - block ;; label = @2 - local.get 0 - i32.const 16 - i32.shr_u - memory.grow - local.tee 0 - i32.const -1 - i32.ne - br_if 0 (;@2;) - i32.const 0 - i32.const 48 - i32.store offset=1058860 - i32.const -1 - return - end - local.get 0 - i32.const 16 - i32.shl - return - end - call $abort - unreachable) - (func $__wasilibc_ensure_environ (type 0) - block ;; label = @1 - i32.const 0 - i32.load offset=1058880 - i32.const -1 - i32.ne - br_if 0 (;@1;) - call $__wasilibc_initialize_environ - end) - (func $__wasilibc_initialize_environ (type 0) - (local i32 i32 i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 0 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 0 - i32.const 12 - i32.add - local.get 0 - i32.const 8 - i32.add - call $__wasi_environ_sizes_get - br_if 0 (;@3;) - block ;; label = @4 - local.get 0 - i32.load offset=12 - local.tee 1 - br_if 0 (;@4;) - i32.const 0 - i32.const 1058876 - i32.store offset=1058880 - br 3 (;@1;) - end - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.const 1 - i32.add - local.tee 2 - local.get 1 - i32.lt_u - br_if 0 (;@5;) - local.get 0 - i32.load offset=8 - call $malloc - local.tee 3 - i32.eqz - br_if 0 (;@5;) - local.get 2 - i32.const 4 - call $calloc - local.tee 1 - br_if 1 (;@4;) - local.get 3 - call $free - end - i32.const 70 - call $_Exit - unreachable - end - local.get 1 - local.get 3 - call $__wasi_environ_get - i32.eqz - br_if 1 (;@2;) - local.get 3 - call $free - local.get 1 - call $free - end - i32.const 71 - call $_Exit - unreachable - end - i32.const 0 - local.get 1 - i32.store offset=1058880 - end - local.get 0 - i32.const 16 - i32.add - global.set 0) - (func $__wasilibc_initialize_environ_eagerly (type 0) - call $__wasilibc_initialize_environ) - (func $dummy (type 0)) - (func $__prepare_for_exit (type 0) - call $dummy - call $dummy) - (func $getenv (type 5) (param i32) (result i32) - (local i32 i32 i32 i32) - call $__wasilibc_ensure_environ - i32.const 0 - local.set 1 - block ;; label = @1 - local.get 0 - i32.const 61 - call $__strchrnul - local.tee 2 - local.get 0 - i32.sub - local.tee 3 - i32.eqz - br_if 0 (;@1;) - local.get 2 - i32.load8_u - br_if 0 (;@1;) - i32.const 0 - i32.load offset=1058880 - local.tee 4 - i32.eqz - br_if 0 (;@1;) - local.get 4 - i32.load - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 4 - i32.const 4 - i32.add - local.set 4 - block ;; label = @2 - loop ;; label = @3 - block ;; label = @4 - local.get 0 - local.get 2 - local.get 3 - call $strncmp - br_if 0 (;@4;) - local.get 2 - local.get 3 - i32.add - local.tee 2 - i32.load8_u - i32.const 61 - i32.eq - br_if 2 (;@2;) - end - local.get 4 - i32.load - local.set 2 - local.get 4 - i32.const 4 - i32.add - local.set 4 - local.get 2 - br_if 0 (;@3;) - br 2 (;@1;) - end - end - local.get 2 - i32.const 1 - i32.add - local.set 1 - end - local.get 1) - (func $memmove (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32) - block ;; label = @1 - local.get 0 - local.get 1 - i32.eq - br_if 0 (;@1;) - block ;; label = @2 - local.get 1 - local.get 0 - i32.sub - local.get 2 - i32.sub - i32.const 0 - local.get 2 - i32.const 1 - i32.shl - i32.sub - i32.gt_u - br_if 0 (;@2;) - local.get 0 - local.get 1 - local.get 2 - call $memcpy - drop - br 1 (;@1;) - end - local.get 1 - local.get 0 - i32.xor - i32.const 3 - i32.and - local.set 3 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 0 - local.get 1 - i32.ge_u - br_if 0 (;@4;) - block ;; label = @5 - local.get 3 - i32.eqz - br_if 0 (;@5;) - local.get 0 - local.set 3 - br 3 (;@2;) - end - block ;; label = @5 - local.get 0 - i32.const 3 - i32.and - br_if 0 (;@5;) - local.get 0 - local.set 3 - br 2 (;@3;) - end - local.get 0 - local.set 3 - loop ;; label = @5 - local.get 2 - i32.eqz - br_if 4 (;@1;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 2 - i32.const -1 - i32.add - local.set 2 - local.get 3 - i32.const 1 - i32.add - local.tee 3 - i32.const 3 - i32.and - i32.eqz - br_if 2 (;@3;) - br 0 (;@5;) - end - end - block ;; label = @4 - block ;; label = @5 - local.get 3 - i32.eqz - br_if 0 (;@5;) - local.get 2 - local.set 3 - br 1 (;@4;) - end - block ;; label = @5 - block ;; label = @6 - local.get 0 - local.get 2 - i32.add - i32.const 3 - i32.and - br_if 0 (;@6;) - local.get 2 - local.set 3 - br 1 (;@5;) - end - local.get 1 - i32.const -1 - i32.add - local.set 4 - local.get 0 - i32.const -1 - i32.add - local.set 5 - loop ;; label = @6 - local.get 2 - i32.eqz - br_if 5 (;@1;) - local.get 5 - local.get 2 - i32.add - local.tee 6 - local.get 4 - local.get 2 - i32.add - i32.load8_u - i32.store8 - local.get 2 - i32.const -1 - i32.add - local.tee 3 - local.set 2 - local.get 6 - i32.const 3 - i32.and - br_if 0 (;@6;) - end - end - local.get 3 - i32.const 4 - i32.lt_u - br_if 0 (;@4;) - local.get 0 - i32.const -4 - i32.add - local.set 2 - local.get 1 - i32.const -4 - i32.add - local.set 6 - loop ;; label = @5 - local.get 2 - local.get 3 - i32.add - local.get 6 - local.get 3 - i32.add - i32.load - i32.store - local.get 3 - i32.const -4 - i32.add - local.tee 3 - i32.const 3 - i32.gt_u - br_if 0 (;@5;) - end - end - local.get 3 - i32.eqz - br_if 2 (;@1;) - local.get 1 - i32.const -1 - i32.add - local.set 1 - local.get 0 - i32.const -1 - i32.add - local.set 2 - loop ;; label = @4 - local.get 2 - local.get 3 - i32.add - local.get 1 - local.get 3 - i32.add - i32.load8_u - i32.store8 - local.get 3 - i32.const -1 - i32.add - local.tee 3 - br_if 0 (;@4;) - br 3 (;@1;) - end - end - local.get 2 - i32.const 4 - i32.lt_u - br_if 0 (;@2;) - local.get 2 - local.set 6 - loop ;; label = @3 - local.get 3 - local.get 1 - i32.load - i32.store - local.get 1 - i32.const 4 - i32.add - local.set 1 - local.get 3 - i32.const 4 - i32.add - local.set 3 - local.get 6 - i32.const -4 - i32.add - local.tee 6 - i32.const 3 - i32.gt_u - br_if 0 (;@3;) - end - local.get 2 - i32.const 3 - i32.and - local.set 2 - end - local.get 2 - i32.eqz - br_if 0 (;@1;) - loop ;; label = @2 - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 3 - i32.const 1 - i32.add - local.set 3 - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 2 - i32.const -1 - i32.add - local.tee 2 - br_if 0 (;@2;) - end - end - local.get 0) - (func $strerror (type 5) (param i32) (result i32) - (local i32 i32 i32 i32) - i32.const 0 - local.set 1 - block ;; label = @1 - i32.const 0 - i32.load offset=1058908 - local.tee 2 - br_if 0 (;@1;) - i32.const 1058884 - local.set 2 - i32.const 0 - i32.const 1058884 - i32.store offset=1058908 - end - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - loop ;; label = @4 - local.get 1 - i32.const 1052432 - i32.add - i32.load8_u - local.get 0 - i32.eq - br_if 1 (;@3;) - i32.const 77 - local.set 3 - local.get 1 - i32.const 1 - i32.add - local.tee 1 - i32.const 77 - i32.ne - br_if 0 (;@4;) - br 2 (;@2;) - end - end - local.get 1 - local.set 3 - local.get 1 - br_if 0 (;@2;) - i32.const 1052512 - local.set 4 - br 1 (;@1;) - end - i32.const 1052512 - local.set 1 - loop ;; label = @2 - local.get 1 - i32.load8_u - local.set 0 - local.get 1 - i32.const 1 - i32.add - local.tee 4 - local.set 1 - local.get 0 - br_if 0 (;@2;) - local.get 4 - local.set 1 - local.get 3 - i32.const -1 - i32.add - local.tee 3 - br_if 0 (;@2;) - end - end - local.get 4 - local.get 2 - i32.load offset=20 - call $__lctrans) - (func $strerror_r (type 8) (param i32 i32 i32) (result i32) - (local i32) - block ;; label = @1 - block ;; label = @2 - local.get 0 - call $strerror - local.tee 0 - call $strlen - local.tee 3 - local.get 2 - i32.lt_u - br_if 0 (;@2;) - i32.const 68 - local.set 3 - local.get 2 - i32.eqz - br_if 1 (;@1;) - local.get 1 - local.get 0 - local.get 2 - i32.const -1 - i32.add - local.tee 2 - call $memcpy - local.get 2 - i32.add - i32.const 0 - i32.store8 - i32.const 68 - return - end - local.get 1 - local.get 0 - local.get 3 - i32.const 1 - i32.add - call $memcpy - drop - i32.const 0 - local.set 3 - end - local.get 3) - (func $__strchrnul (type 3) (param i32 i32) (result i32) - (local i32 i32) - block ;; label = @1 - local.get 1 - i32.const 255 - i32.and - local.tee 2 - i32.eqz - br_if 0 (;@1;) - block ;; label = @2 - block ;; label = @3 - local.get 0 - i32.const 3 - i32.and - i32.eqz - br_if 0 (;@3;) - loop ;; label = @4 - local.get 0 - i32.load8_u - local.tee 3 - i32.eqz - br_if 2 (;@2;) - local.get 3 - local.get 1 - i32.const 255 - i32.and - i32.eq - br_if 2 (;@2;) - local.get 0 - i32.const 1 - i32.add - local.tee 0 - i32.const 3 - i32.and - br_if 0 (;@4;) - end - end - block ;; label = @3 - local.get 0 - i32.load - local.tee 3 - i32.const -1 - i32.xor - local.get 3 - i32.const -16843009 - i32.add - i32.and - i32.const -2139062144 - i32.and - br_if 0 (;@3;) - local.get 2 - i32.const 16843009 - i32.mul - local.set 2 - loop ;; label = @4 - local.get 3 - local.get 2 - i32.xor - local.tee 3 - i32.const -1 - i32.xor - local.get 3 - i32.const -16843009 - i32.add - i32.and - i32.const -2139062144 - i32.and - br_if 1 (;@3;) - local.get 0 - i32.load offset=4 - local.set 3 - local.get 0 - i32.const 4 - i32.add - local.set 0 - local.get 3 - i32.const -1 - i32.xor - local.get 3 - i32.const -16843009 - i32.add - i32.and - i32.const -2139062144 - i32.and - i32.eqz - br_if 0 (;@4;) - end - end - local.get 0 - i32.const -1 - i32.add - local.set 0 - loop ;; label = @3 - local.get 0 - i32.const 1 - i32.add - local.tee 0 - i32.load8_u - local.tee 3 - i32.eqz - br_if 1 (;@2;) - local.get 3 - local.get 1 - i32.const 255 - i32.and - i32.ne - br_if 0 (;@3;) - end - end - local.get 0 - return - end - local.get 0 - local.get 0 - call $strlen - i32.add) - (func $memcpy (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32) - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.eqz - br_if 0 (;@2;) - local.get 1 - i32.const 3 - i32.and - i32.eqz - br_if 0 (;@2;) - local.get 0 - local.set 3 - loop ;; label = @3 - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 2 - i32.const -1 - i32.add - local.set 4 - local.get 3 - i32.const 1 - i32.add - local.set 3 - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 2 - i32.const 1 - i32.eq - br_if 2 (;@1;) - local.get 4 - local.set 2 - local.get 1 - i32.const 3 - i32.and - br_if 0 (;@3;) - br 2 (;@1;) - end - end - local.get 2 - local.set 4 - local.get 0 - local.set 3 - end - block ;; label = @1 - block ;; label = @2 - local.get 3 - i32.const 3 - i32.and - local.tee 2 - br_if 0 (;@2;) - block ;; label = @3 - block ;; label = @4 - local.get 4 - i32.const 16 - i32.ge_u - br_if 0 (;@4;) - local.get 4 - local.set 2 - br 1 (;@3;) - end - local.get 4 - i32.const -16 - i32.add - local.set 2 - loop ;; label = @4 - local.get 3 - local.get 1 - i32.load - i32.store - local.get 3 - i32.const 4 - i32.add - local.get 1 - i32.const 4 - i32.add - i32.load - i32.store - local.get 3 - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.load - i32.store - local.get 3 - i32.const 12 - i32.add - local.get 1 - i32.const 12 - i32.add - i32.load - i32.store - local.get 3 - i32.const 16 - i32.add - local.set 3 - local.get 1 - i32.const 16 - i32.add - local.set 1 - local.get 4 - i32.const -16 - i32.add - local.tee 4 - i32.const 15 - i32.gt_u - br_if 0 (;@4;) - end - end - block ;; label = @3 - local.get 2 - i32.const 8 - i32.and - i32.eqz - br_if 0 (;@3;) - local.get 3 - local.get 1 - i64.load align=4 - i64.store align=4 - local.get 1 - i32.const 8 - i32.add - local.set 1 - local.get 3 - i32.const 8 - i32.add - local.set 3 - end - block ;; label = @3 - local.get 2 - i32.const 4 - i32.and - i32.eqz - br_if 0 (;@3;) - local.get 3 - local.get 1 - i32.load - i32.store - local.get 1 - i32.const 4 - i32.add - local.set 1 - local.get 3 - i32.const 4 - i32.add - local.set 3 - end - block ;; label = @3 - local.get 2 - i32.const 2 - i32.and - i32.eqz - br_if 0 (;@3;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 3 - local.get 1 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get 3 - i32.const 2 - i32.add - local.set 3 - local.get 1 - i32.const 2 - i32.add - local.set 1 - end - local.get 2 - i32.const 1 - i32.and - i32.eqz - br_if 1 (;@1;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 0 - return - end - block ;; label = @2 - local.get 4 - i32.const 32 - i32.lt_u - br_if 0 (;@2;) - local.get 2 - i32.const -1 - i32.add - local.tee 2 - i32.const 2 - i32.gt_u - br_if 0 (;@2;) - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 2 - br_table 0 (;@5;) 1 (;@4;) 2 (;@3;) 0 (;@5;) - end - local.get 3 - local.get 1 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get 3 - local.get 1 - i32.load - local.tee 5 - i32.store8 - local.get 3 - local.get 1 - i32.load8_u offset=2 - i32.store8 offset=2 - local.get 4 - i32.const -3 - i32.add - local.set 6 - local.get 3 - i32.const 3 - i32.add - local.set 7 - local.get 4 - i32.const -20 - i32.add - i32.const -16 - i32.and - local.set 8 - i32.const 0 - local.set 2 - loop ;; label = @5 - local.get 7 - local.get 2 - i32.add - local.tee 3 - local.get 1 - local.get 2 - i32.add - local.tee 9 - i32.const 4 - i32.add - i32.load - local.tee 10 - i32.const 8 - i32.shl - local.get 5 - i32.const 24 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 4 - i32.add - local.get 9 - i32.const 8 - i32.add - i32.load - local.tee 5 - i32.const 8 - i32.shl - local.get 10 - i32.const 24 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 8 - i32.add - local.get 9 - i32.const 12 - i32.add - i32.load - local.tee 10 - i32.const 8 - i32.shl - local.get 5 - i32.const 24 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 12 - i32.add - local.get 9 - i32.const 16 - i32.add - i32.load - local.tee 5 - i32.const 8 - i32.shl - local.get 10 - i32.const 24 - i32.shr_u - i32.or - i32.store - local.get 2 - i32.const 16 - i32.add - local.set 2 - local.get 6 - i32.const -16 - i32.add - local.tee 6 - i32.const 16 - i32.gt_u - br_if 0 (;@5;) - end - local.get 7 - local.get 2 - i32.add - local.set 3 - local.get 1 - local.get 2 - i32.add - i32.const 3 - i32.add - local.set 1 - local.get 4 - local.get 8 - i32.sub - i32.const -19 - i32.add - local.set 4 - br 2 (;@2;) - end - local.get 3 - local.get 1 - i32.load - local.tee 5 - i32.store8 - local.get 3 - local.get 1 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get 4 - i32.const -2 - i32.add - local.set 6 - local.get 3 - i32.const 2 - i32.add - local.set 7 - local.get 4 - i32.const -20 - i32.add - i32.const -16 - i32.and - local.set 8 - i32.const 0 - local.set 2 - loop ;; label = @4 - local.get 7 - local.get 2 - i32.add - local.tee 3 - local.get 1 - local.get 2 - i32.add - local.tee 9 - i32.const 4 - i32.add - i32.load - local.tee 10 - i32.const 16 - i32.shl - local.get 5 - i32.const 16 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 4 - i32.add - local.get 9 - i32.const 8 - i32.add - i32.load - local.tee 5 - i32.const 16 - i32.shl - local.get 10 - i32.const 16 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 8 - i32.add - local.get 9 - i32.const 12 - i32.add - i32.load - local.tee 10 - i32.const 16 - i32.shl - local.get 5 - i32.const 16 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 12 - i32.add - local.get 9 - i32.const 16 - i32.add - i32.load - local.tee 5 - i32.const 16 - i32.shl - local.get 10 - i32.const 16 - i32.shr_u - i32.or - i32.store - local.get 2 - i32.const 16 - i32.add - local.set 2 - local.get 6 - i32.const -16 - i32.add - local.tee 6 - i32.const 17 - i32.gt_u - br_if 0 (;@4;) - end - local.get 7 - local.get 2 - i32.add - local.set 3 - local.get 1 - local.get 2 - i32.add - i32.const 2 - i32.add - local.set 1 - local.get 4 - local.get 8 - i32.sub - i32.const -18 - i32.add - local.set 4 - br 1 (;@2;) - end - local.get 3 - local.get 1 - i32.load - local.tee 5 - i32.store8 - local.get 4 - i32.const -1 - i32.add - local.set 6 - local.get 3 - i32.const 1 - i32.add - local.set 7 - local.get 4 - i32.const -20 - i32.add - i32.const -16 - i32.and - local.set 8 - i32.const 0 - local.set 2 - loop ;; label = @3 - local.get 7 - local.get 2 - i32.add - local.tee 3 - local.get 1 - local.get 2 - i32.add - local.tee 9 - i32.const 4 - i32.add - i32.load - local.tee 10 - i32.const 24 - i32.shl - local.get 5 - i32.const 8 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 4 - i32.add - local.get 9 - i32.const 8 - i32.add - i32.load - local.tee 5 - i32.const 24 - i32.shl - local.get 10 - i32.const 8 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 8 - i32.add - local.get 9 - i32.const 12 - i32.add - i32.load - local.tee 10 - i32.const 24 - i32.shl - local.get 5 - i32.const 8 - i32.shr_u - i32.or - i32.store - local.get 3 - i32.const 12 - i32.add - local.get 9 - i32.const 16 - i32.add - i32.load - local.tee 5 - i32.const 24 - i32.shl - local.get 10 - i32.const 8 - i32.shr_u - i32.or - i32.store - local.get 2 - i32.const 16 - i32.add - local.set 2 - local.get 6 - i32.const -16 - i32.add - local.tee 6 - i32.const 18 - i32.gt_u - br_if 0 (;@3;) - end - local.get 7 - local.get 2 - i32.add - local.set 3 - local.get 1 - local.get 2 - i32.add - i32.const 1 - i32.add - local.set 1 - local.get 4 - local.get 8 - i32.sub - i32.const -17 - i32.add - local.set 4 - end - block ;; label = @2 - local.get 4 - i32.const 16 - i32.and - i32.eqz - br_if 0 (;@2;) - local.get 3 - local.get 1 - i32.load16_u align=1 - i32.store16 align=1 - local.get 3 - local.get 1 - i32.load8_u offset=2 - i32.store8 offset=2 - local.get 3 - local.get 1 - i32.load8_u offset=3 - i32.store8 offset=3 - local.get 3 - local.get 1 - i32.load8_u offset=4 - i32.store8 offset=4 - local.get 3 - local.get 1 - i32.load8_u offset=5 - i32.store8 offset=5 - local.get 3 - local.get 1 - i32.load8_u offset=6 - i32.store8 offset=6 - local.get 3 - local.get 1 - i32.load8_u offset=7 - i32.store8 offset=7 - local.get 3 - local.get 1 - i32.load8_u offset=8 - i32.store8 offset=8 - local.get 3 - local.get 1 - i32.load8_u offset=9 - i32.store8 offset=9 - local.get 3 - local.get 1 - i32.load8_u offset=10 - i32.store8 offset=10 - local.get 3 - local.get 1 - i32.load8_u offset=11 - i32.store8 offset=11 - local.get 3 - local.get 1 - i32.load8_u offset=12 - i32.store8 offset=12 - local.get 3 - local.get 1 - i32.load8_u offset=13 - i32.store8 offset=13 - local.get 3 - local.get 1 - i32.load8_u offset=14 - i32.store8 offset=14 - local.get 3 - local.get 1 - i32.load8_u offset=15 - i32.store8 offset=15 - local.get 3 - i32.const 16 - i32.add - local.set 3 - local.get 1 - i32.const 16 - i32.add - local.set 1 - end - block ;; label = @2 - local.get 4 - i32.const 8 - i32.and - i32.eqz - br_if 0 (;@2;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 3 - local.get 1 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get 3 - local.get 1 - i32.load8_u offset=2 - i32.store8 offset=2 - local.get 3 - local.get 1 - i32.load8_u offset=3 - i32.store8 offset=3 - local.get 3 - local.get 1 - i32.load8_u offset=4 - i32.store8 offset=4 - local.get 3 - local.get 1 - i32.load8_u offset=5 - i32.store8 offset=5 - local.get 3 - local.get 1 - i32.load8_u offset=6 - i32.store8 offset=6 - local.get 3 - local.get 1 - i32.load8_u offset=7 - i32.store8 offset=7 - local.get 3 - i32.const 8 - i32.add - local.set 3 - local.get 1 - i32.const 8 - i32.add - local.set 1 - end - block ;; label = @2 - local.get 4 - i32.const 4 - i32.and - i32.eqz - br_if 0 (;@2;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 3 - local.get 1 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get 3 - local.get 1 - i32.load8_u offset=2 - i32.store8 offset=2 - local.get 3 - local.get 1 - i32.load8_u offset=3 - i32.store8 offset=3 - local.get 3 - i32.const 4 - i32.add - local.set 3 - local.get 1 - i32.const 4 - i32.add - local.set 1 - end - block ;; label = @2 - local.get 4 - i32.const 2 - i32.and - i32.eqz - br_if 0 (;@2;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - local.get 3 - local.get 1 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get 3 - i32.const 2 - i32.add - local.set 3 - local.get 1 - i32.const 2 - i32.add - local.set 1 - end - local.get 4 - i32.const 1 - i32.and - i32.eqz - br_if 0 (;@1;) - local.get 3 - local.get 1 - i32.load8_u - i32.store8 - end - local.get 0) - (func $memset (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i64) - block ;; label = @1 - local.get 2 - i32.eqz - br_if 0 (;@1;) - local.get 0 - local.get 1 - i32.store8 - local.get 2 - local.get 0 - i32.add - local.tee 3 - i32.const -1 - i32.add - local.get 1 - i32.store8 - local.get 2 - i32.const 3 - i32.lt_u - br_if 0 (;@1;) - local.get 0 - local.get 1 - i32.store8 offset=2 - local.get 0 - local.get 1 - i32.store8 offset=1 - local.get 3 - i32.const -3 - i32.add - local.get 1 - i32.store8 - local.get 3 - i32.const -2 - i32.add - local.get 1 - i32.store8 - local.get 2 - i32.const 7 - i32.lt_u - br_if 0 (;@1;) - local.get 0 - local.get 1 - i32.store8 offset=3 - local.get 3 - i32.const -4 - i32.add - local.get 1 - i32.store8 - local.get 2 - i32.const 9 - i32.lt_u - br_if 0 (;@1;) - local.get 0 - i32.const 0 - local.get 0 - i32.sub - i32.const 3 - i32.and - local.tee 4 - i32.add - local.tee 3 - local.get 1 - i32.const 255 - i32.and - i32.const 16843009 - i32.mul - local.tee 1 - i32.store - local.get 3 - local.get 2 - local.get 4 - i32.sub - i32.const -4 - i32.and - local.tee 4 - i32.add - local.tee 2 - i32.const -4 - i32.add - local.get 1 - i32.store - local.get 4 - i32.const 9 - i32.lt_u - br_if 0 (;@1;) - local.get 3 - local.get 1 - i32.store offset=8 - local.get 3 - local.get 1 - i32.store offset=4 - local.get 2 - i32.const -8 - i32.add - local.get 1 - i32.store - local.get 2 - i32.const -12 - i32.add - local.get 1 - i32.store - local.get 4 - i32.const 25 - i32.lt_u - br_if 0 (;@1;) - local.get 3 - local.get 1 - i32.store offset=24 - local.get 3 - local.get 1 - i32.store offset=20 - local.get 3 - local.get 1 - i32.store offset=16 - local.get 3 - local.get 1 - i32.store offset=12 - local.get 2 - i32.const -16 - i32.add - local.get 1 - i32.store - local.get 2 - i32.const -20 - i32.add - local.get 1 - i32.store - local.get 2 - i32.const -24 - i32.add - local.get 1 - i32.store - local.get 2 - i32.const -28 - i32.add - local.get 1 - i32.store - local.get 4 - local.get 3 - i32.const 4 - i32.and - i32.const 24 - i32.or - local.tee 5 - i32.sub - local.tee 2 - i32.const 32 - i32.lt_u - br_if 0 (;@1;) - local.get 1 - i64.extend_i32_u - local.tee 6 - i64.const 32 - i64.shl - local.get 6 - i64.or - local.set 6 - local.get 3 - local.get 5 - i32.add - local.set 1 - loop ;; label = @2 - local.get 1 - local.get 6 - i64.store - local.get 1 - i32.const 24 - i32.add - local.get 6 - i64.store - local.get 1 - i32.const 16 - i32.add - local.get 6 - i64.store - local.get 1 - i32.const 8 - i32.add - local.get 6 - i64.store - local.get 1 - i32.const 32 - i32.add - local.set 1 - local.get 2 - i32.const -32 - i32.add - local.tee 2 - i32.const 31 - i32.gt_u - br_if 0 (;@2;) - end - end - local.get 0) - (func $strncmp (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32) - block ;; label = @1 - local.get 2 - br_if 0 (;@1;) - i32.const 0 - return - end - i32.const 0 - local.set 3 - block ;; label = @1 - local.get 0 - i32.load8_u - local.tee 4 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.const 1 - i32.add - local.set 0 - local.get 2 - i32.const -1 - i32.add - local.set 2 - loop ;; label = @2 - block ;; label = @3 - local.get 4 - i32.const 255 - i32.and - local.get 1 - i32.load8_u - local.tee 5 - i32.eq - br_if 0 (;@3;) - local.get 4 - local.set 3 - br 2 (;@1;) - end - block ;; label = @3 - local.get 2 - br_if 0 (;@3;) - local.get 4 - local.set 3 - br 2 (;@1;) - end - block ;; label = @3 - local.get 5 - br_if 0 (;@3;) - local.get 4 - local.set 3 - br 2 (;@1;) - end - local.get 2 - i32.const -1 - i32.add - local.set 2 - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 0 - i32.load8_u - local.set 4 - local.get 0 - i32.const 1 - i32.add - local.set 0 - local.get 4 - br_if 0 (;@2;) - end - end - local.get 3 - i32.const 255 - i32.and - local.get 1 - i32.load8_u - i32.sub) - (func $memcmp (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32) - i32.const 0 - local.set 3 - block ;; label = @1 - local.get 2 - i32.eqz - br_if 0 (;@1;) - block ;; label = @2 - loop ;; label = @3 - local.get 0 - i32.load8_u - local.tee 4 - local.get 1 - i32.load8_u - local.tee 5 - i32.ne - br_if 1 (;@2;) - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 0 - i32.const 1 - i32.add - local.set 0 - local.get 2 - i32.const -1 - i32.add - local.tee 2 - br_if 0 (;@3;) - br 2 (;@1;) - end - end - local.get 4 - local.get 5 - i32.sub - local.set 3 - end - local.get 3) - (func $strlen (type 5) (param i32) (result i32) - (local i32 i32 i32) - local.get 0 - local.set 1 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 0 - i32.const 3 - i32.and - i32.eqz - br_if 0 (;@3;) - block ;; label = @4 - local.get 0 - i32.load8_u - br_if 0 (;@4;) - local.get 0 - local.get 0 - i32.sub - return - end - local.get 0 - i32.const 1 - i32.add - local.set 1 - loop ;; label = @4 - local.get 1 - i32.const 3 - i32.and - i32.eqz - br_if 1 (;@3;) - local.get 1 - i32.load8_u - local.set 2 - local.get 1 - i32.const 1 - i32.add - local.tee 3 - local.set 1 - local.get 2 - i32.eqz - br_if 2 (;@2;) - br 0 (;@4;) - end - end - local.get 1 - i32.const -4 - i32.add - local.set 1 - loop ;; label = @3 - local.get 1 - i32.const 4 - i32.add - local.tee 1 - i32.load - local.tee 2 - i32.const -1 - i32.xor - local.get 2 - i32.const -16843009 - i32.add - i32.and - i32.const -2139062144 - i32.and - i32.eqz - br_if 0 (;@3;) - end - block ;; label = @3 - local.get 2 - i32.const 255 - i32.and - br_if 0 (;@3;) - local.get 1 - local.get 0 - i32.sub - return - end - loop ;; label = @3 - local.get 1 - i32.load8_u offset=1 - local.set 2 - local.get 1 - i32.const 1 - i32.add - local.tee 3 - local.set 1 - local.get 2 - br_if 0 (;@3;) - br 2 (;@1;) - end - end - local.get 3 - i32.const -1 - i32.add - local.set 3 - end - local.get 3 - local.get 0 - i32.sub) - (func $dummy.1 (type 3) (param i32 i32) (result i32) - local.get 0) - (func $__lctrans (type 3) (param i32 i32) (result i32) - local.get 0 - local.get 1 - call $dummy.1) - (func $_ZN5alloc5alloc18handle_alloc_error17h21de29b39e387441E (type 6) (param i32 i32) - local.get 0 - local.get 1 - call $rust_oom - unreachable) - (func $_ZN5alloc7raw_vec17capacity_overflow17h232763bca8857af5E (type 0) - i32.const 1054109 - i32.const 17 - i32.const 1054128 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable) - (func $_ZN5alloc6string104_$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..vec..Vec$LT$u8$GT$$GT$4from17h4fac04ba81ae9773E (type 6) (param i32 i32) - local.get 0 - local.get 1 - i64.load align=4 - i64.store align=4 - local.get 0 - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i32.load - i32.store) - (func $_ZN5alloc3vec12Vec$LT$T$GT$5drain17end_assert_failed17h686d263f81d07b88E (type 6) (param i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 1 - i32.store offset=4 - local.get 2 - local.get 0 - i32.store - local.get 2 - i32.const 28 - i32.add - i32.const 2 - i32.store - local.get 2 - i32.const 44 - i32.add - i32.const 13 - i32.store - local.get 2 - i64.const 3 - i64.store offset=12 align=4 - local.get 2 - i32.const 1054208 - i32.store offset=8 - local.get 2 - i32.const 13 - i32.store offset=36 - local.get 2 - local.get 2 - i32.const 32 - i32.add - i32.store offset=24 - local.get 2 - local.get 2 - i32.const 4 - i32.add - i32.store offset=40 - local.get 2 - local.get 2 - i32.store offset=32 - local.get 2 - i32.const 8 - i32.add - i32.const 1054232 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN4core3ops8function6FnOnce9call_once17hbe6f8b545009bafbE (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - drop - loop (result i32) ;; label = @1 - br 0 (;@1;) - end) - (func $_ZN4core3ptr13drop_in_place17h0204d3c859ff1c91E (type 1) (param i32)) - (func $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 1 - i32.store offset=4 - local.get 3 - local.get 0 - i32.store - local.get 3 - i32.const 28 - i32.add - i32.const 2 - i32.store - local.get 3 - i32.const 44 - i32.add - i32.const 13 - i32.store - local.get 3 - i64.const 2 - i64.store offset=12 align=4 - local.get 3 - i32.const 1054452 - i32.store offset=8 - local.get 3 - i32.const 13 - i32.store offset=36 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=24 - local.get 3 - local.get 3 - i32.store offset=40 - local.get 3 - local.get 3 - i32.const 4 - i32.add - i32.store offset=32 - local.get 3 - i32.const 8 - i32.add - local.get 2 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN4core9panicking5panic17he0bb7a4a857bed0cE (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 20 - i32.add - i32.const 0 - i32.store - local.get 3 - i32.const 1054248 - i32.store offset=16 - local.get 3 - i64.const 1 - i64.store offset=4 align=4 - local.get 3 - local.get 1 - i32.store offset=28 - local.get 3 - local.get 0 - i32.store offset=24 - local.get 3 - local.get 3 - i32.const 24 - i32.add - i32.store - local.get 3 - local.get 2 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 1 - i32.store offset=4 - local.get 3 - local.get 0 - i32.store - local.get 3 - i32.const 28 - i32.add - i32.const 2 - i32.store - local.get 3 - i32.const 44 - i32.add - i32.const 13 - i32.store - local.get 3 - i64.const 2 - i64.store offset=12 align=4 - local.get 3 - i32.const 1054972 - i32.store offset=8 - local.get 3 - i32.const 13 - i32.store offset=36 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=24 - local.get 3 - local.get 3 - i32.const 4 - i32.add - i32.store offset=40 - local.get 3 - local.get 3 - i32.store offset=32 - local.get 3 - i32.const 8 - i32.add - local.get 2 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 1 - i32.store offset=4 - local.get 3 - local.get 0 - i32.store - local.get 3 - i32.const 28 - i32.add - i32.const 2 - i32.store - local.get 3 - i32.const 44 - i32.add - i32.const 13 - i32.store - local.get 3 - i64.const 2 - i64.store offset=12 align=4 - local.get 3 - i32.const 1055024 - i32.store offset=8 - local.get 3 - i32.const 13 - i32.store offset=36 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=24 - local.get 3 - local.get 3 - i32.const 4 - i32.add - i32.store offset=40 - local.get 3 - local.get 3 - i32.store offset=32 - local.get 3 - i32.const 8 - i32.add - local.get 2 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - local.get 0 - i32.load offset=16 - local.set 3 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 0 - i32.load offset=8 - local.tee 4 - i32.const 1 - i32.eq - br_if 0 (;@4;) - local.get 3 - i32.const 1 - i32.eq - br_if 1 (;@3;) - local.get 0 - i32.load offset=24 - local.get 1 - local.get 2 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 3 - br 3 (;@1;) - end - local.get 3 - i32.const 1 - i32.ne - br_if 1 (;@2;) - end - block ;; label = @3 - block ;; label = @4 - local.get 2 - br_if 0 (;@4;) - i32.const 0 - local.set 2 - br 1 (;@3;) - end - local.get 1 - local.get 2 - i32.add - local.set 5 - local.get 0 - i32.const 20 - i32.add - i32.load - i32.const 1 - i32.add - local.set 6 - i32.const 0 - local.set 7 - local.get 1 - local.set 3 - local.get 1 - local.set 8 - loop ;; label = @4 - local.get 3 - i32.const 1 - i32.add - local.set 9 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - local.get 3 - i32.load8_s - local.tee 10 - i32.const -1 - i32.gt_s - br_if 0 (;@7;) - block ;; label = @8 - block ;; label = @9 - local.get 9 - local.get 5 - i32.ne - br_if 0 (;@9;) - i32.const 0 - local.set 11 - local.get 5 - local.set 3 - br 1 (;@8;) - end - local.get 3 - i32.load8_u offset=1 - i32.const 63 - i32.and - local.set 11 - local.get 3 - i32.const 2 - i32.add - local.tee 9 - local.set 3 - end - local.get 10 - i32.const 31 - i32.and - local.set 12 - block ;; label = @8 - local.get 10 - i32.const 255 - i32.and - local.tee 10 - i32.const 223 - i32.gt_u - br_if 0 (;@8;) - local.get 11 - local.get 12 - i32.const 6 - i32.shl - i32.or - local.set 10 - br 2 (;@6;) - end - block ;; label = @8 - block ;; label = @9 - local.get 3 - local.get 5 - i32.ne - br_if 0 (;@9;) - i32.const 0 - local.set 13 - local.get 5 - local.set 14 - br 1 (;@8;) - end - local.get 3 - i32.load8_u - i32.const 63 - i32.and - local.set 13 - local.get 3 - i32.const 1 - i32.add - local.tee 9 - local.set 14 - end - local.get 13 - local.get 11 - i32.const 6 - i32.shl - i32.or - local.set 11 - block ;; label = @8 - local.get 10 - i32.const 240 - i32.ge_u - br_if 0 (;@8;) - local.get 11 - local.get 12 - i32.const 12 - i32.shl - i32.or - local.set 10 - br 2 (;@6;) - end - block ;; label = @8 - block ;; label = @9 - local.get 14 - local.get 5 - i32.ne - br_if 0 (;@9;) - i32.const 0 - local.set 10 - local.get 9 - local.set 3 - br 1 (;@8;) - end - local.get 14 - i32.const 1 - i32.add - local.set 3 - local.get 14 - i32.load8_u - i32.const 63 - i32.and - local.set 10 - end - local.get 11 - i32.const 6 - i32.shl - local.get 12 - i32.const 18 - i32.shl - i32.const 1835008 - i32.and - i32.or - local.get 10 - i32.or - local.tee 10 - i32.const 1114112 - i32.ne - br_if 2 (;@5;) - br 4 (;@3;) - end - local.get 10 - i32.const 255 - i32.and - local.set 10 - end - local.get 9 - local.set 3 - end - block ;; label = @5 - local.get 6 - i32.const -1 - i32.add - local.tee 6 - i32.eqz - br_if 0 (;@5;) - local.get 7 - local.get 8 - i32.sub - local.get 3 - i32.add - local.set 7 - local.get 3 - local.set 8 - local.get 5 - local.get 3 - i32.ne - br_if 1 (;@4;) - br 2 (;@3;) - end - end - local.get 10 - i32.const 1114112 - i32.eq - br_if 0 (;@3;) - block ;; label = @4 - block ;; label = @5 - local.get 7 - i32.eqz - br_if 0 (;@5;) - local.get 7 - local.get 2 - i32.eq - br_if 0 (;@5;) - i32.const 0 - local.set 3 - local.get 7 - local.get 2 - i32.ge_u - br_if 1 (;@4;) - local.get 1 - local.get 7 - i32.add - i32.load8_s - i32.const -64 - i32.lt_s - br_if 1 (;@4;) - end - local.get 1 - local.set 3 - end - local.get 7 - local.get 2 - local.get 3 - select - local.set 2 - local.get 3 - local.get 1 - local.get 3 - select - local.set 1 - end - local.get 4 - i32.const 1 - i32.eq - br_if 0 (;@2;) - local.get 0 - i32.load offset=24 - local.get 1 - local.get 2 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - return - end - i32.const 0 - local.set 9 - block ;; label = @2 - local.get 2 - i32.eqz - br_if 0 (;@2;) - local.get 2 - local.set 10 - local.get 1 - local.set 3 - loop ;; label = @3 - local.get 9 - local.get 3 - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.eq - i32.add - local.set 9 - local.get 3 - i32.const 1 - i32.add - local.set 3 - local.get 10 - i32.const -1 - i32.add - local.tee 10 - br_if 0 (;@3;) - end - end - block ;; label = @2 - local.get 2 - local.get 9 - i32.sub - local.get 0 - i32.load offset=12 - local.tee 6 - i32.lt_u - br_if 0 (;@2;) - local.get 0 - i32.load offset=24 - local.get 1 - local.get 2 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - return - end - i32.const 0 - local.set 7 - i32.const 0 - local.set 9 - block ;; label = @2 - local.get 2 - i32.eqz - br_if 0 (;@2;) - i32.const 0 - local.set 9 - local.get 2 - local.set 10 - local.get 1 - local.set 3 - loop ;; label = @3 - local.get 9 - local.get 3 - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.eq - i32.add - local.set 9 - local.get 3 - i32.const 1 - i32.add - local.set 3 - local.get 10 - i32.const -1 - i32.add - local.tee 10 - br_if 0 (;@3;) - end - end - local.get 9 - local.get 2 - i32.sub - local.get 6 - i32.add - local.tee 9 - local.set 10 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - i32.const 0 - local.get 0 - i32.load8_u offset=32 - local.tee 3 - local.get 3 - i32.const 3 - i32.eq - select - br_table 2 (;@2;) 1 (;@3;) 0 (;@4;) 1 (;@3;) 2 (;@2;) - end - local.get 9 - i32.const 1 - i32.shr_u - local.set 7 - local.get 9 - i32.const 1 - i32.add - i32.const 1 - i32.shr_u - local.set 10 - br 1 (;@2;) - end - i32.const 0 - local.set 10 - local.get 9 - local.set 7 - end - local.get 7 - i32.const 1 - i32.add - local.set 3 - block ;; label = @2 - loop ;; label = @3 - local.get 3 - i32.const -1 - i32.add - local.tee 3 - i32.eqz - br_if 1 (;@2;) - local.get 0 - i32.load offset=24 - local.get 0 - i32.load offset=4 - local.get 0 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@3;) - end - i32.const 1 - return - end - local.get 0 - i32.load offset=4 - local.set 9 - i32.const 1 - local.set 3 - local.get 0 - i32.load offset=24 - local.get 1 - local.get 2 - local.get 0 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 8) - br_if 0 (;@1;) - local.get 10 - i32.const 1 - i32.add - local.set 3 - local.get 0 - i32.load offset=28 - local.set 10 - local.get 0 - i32.load offset=24 - local.set 0 - loop ;; label = @2 - block ;; label = @3 - local.get 3 - i32.const -1 - i32.add - local.tee 3 - br_if 0 (;@3;) - i32.const 0 - return - end - local.get 0 - local.get 9 - local.get 10 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@2;) - end - i32.const 1 - return - end - local.get 3) - (func $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E (type 10) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 112 - i32.sub - local.tee 5 - global.set 0 - local.get 5 - local.get 3 - i32.store offset=12 - local.get 5 - local.get 2 - i32.store offset=8 - i32.const 1 - local.set 6 - local.get 1 - local.set 7 - block ;; label = @1 - local.get 1 - i32.const 257 - i32.lt_u - br_if 0 (;@1;) - i32.const 0 - local.get 1 - i32.sub - local.set 8 - i32.const 256 - local.set 9 - loop ;; label = @2 - block ;; label = @3 - local.get 9 - local.get 1 - i32.ge_u - br_if 0 (;@3;) - i32.const 0 - local.set 6 - local.get 0 - local.get 9 - i32.add - i32.load8_s - i32.const -65 - i32.le_s - br_if 0 (;@3;) - local.get 9 - local.set 7 - br 2 (;@1;) - end - local.get 9 - i32.const -1 - i32.add - local.set 7 - i32.const 0 - local.set 6 - local.get 9 - i32.const 1 - i32.eq - br_if 1 (;@1;) - local.get 8 - local.get 9 - i32.add - local.set 10 - local.get 7 - local.set 9 - local.get 10 - i32.const 1 - i32.ne - br_if 0 (;@2;) - end - end - local.get 5 - local.get 7 - i32.store offset=20 - local.get 5 - local.get 0 - i32.store offset=16 - local.get 5 - i32.const 0 - i32.const 5 - local.get 6 - select - i32.store offset=28 - local.get 5 - i32.const 1054248 - i32.const 1055644 - local.get 6 - select - i32.store offset=24 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 2 - local.get 1 - i32.gt_u - local.tee 6 - br_if 0 (;@4;) - local.get 3 - local.get 1 - i32.gt_u - br_if 0 (;@4;) - local.get 2 - local.get 3 - i32.gt_u - br_if 1 (;@3;) - block ;; label = @5 - block ;; label = @6 - local.get 2 - i32.eqz - br_if 0 (;@6;) - local.get 1 - local.get 2 - i32.eq - br_if 0 (;@6;) - local.get 1 - local.get 2 - i32.le_u - br_if 1 (;@5;) - local.get 0 - local.get 2 - i32.add - i32.load8_s - i32.const -64 - i32.lt_s - br_if 1 (;@5;) - end - local.get 3 - local.set 2 - end - local.get 5 - local.get 2 - i32.store offset=32 - local.get 2 - i32.eqz - br_if 2 (;@2;) - local.get 2 - local.get 1 - i32.eq - br_if 2 (;@2;) - local.get 1 - i32.const 1 - i32.add - local.set 9 - loop ;; label = @5 - block ;; label = @6 - local.get 2 - local.get 1 - i32.ge_u - br_if 0 (;@6;) - local.get 0 - local.get 2 - i32.add - i32.load8_s - i32.const -64 - i32.ge_s - br_if 4 (;@2;) - end - local.get 2 - i32.const -1 - i32.add - local.set 6 - local.get 2 - i32.const 1 - i32.eq - br_if 4 (;@1;) - local.get 9 - local.get 2 - i32.eq - local.set 3 - local.get 6 - local.set 2 - local.get 3 - i32.eqz - br_if 0 (;@5;) - br 4 (;@1;) - end - end - local.get 5 - local.get 2 - local.get 3 - local.get 6 - select - i32.store offset=40 - local.get 5 - i32.const 48 - i32.add - i32.const 20 - i32.add - i32.const 3 - i32.store - local.get 5 - i32.const 72 - i32.add - i32.const 20 - i32.add - i32.const 79 - i32.store - local.get 5 - i32.const 84 - i32.add - i32.const 79 - i32.store - local.get 5 - i64.const 3 - i64.store offset=52 align=4 - local.get 5 - i32.const 1055684 - i32.store offset=48 - local.get 5 - i32.const 13 - i32.store offset=76 - local.get 5 - local.get 5 - i32.const 72 - i32.add - i32.store offset=64 - local.get 5 - local.get 5 - i32.const 24 - i32.add - i32.store offset=88 - local.get 5 - local.get 5 - i32.const 16 - i32.add - i32.store offset=80 - local.get 5 - local.get 5 - i32.const 40 - i32.add - i32.store offset=72 - local.get 5 - i32.const 48 - i32.add - local.get 4 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable - end - local.get 5 - i32.const 100 - i32.add - i32.const 79 - i32.store - local.get 5 - i32.const 72 - i32.add - i32.const 20 - i32.add - i32.const 79 - i32.store - local.get 5 - i32.const 84 - i32.add - i32.const 13 - i32.store - local.get 5 - i32.const 48 - i32.add - i32.const 20 - i32.add - i32.const 4 - i32.store - local.get 5 - i64.const 4 - i64.store offset=52 align=4 - local.get 5 - i32.const 1055744 - i32.store offset=48 - local.get 5 - i32.const 13 - i32.store offset=76 - local.get 5 - local.get 5 - i32.const 72 - i32.add - i32.store offset=64 - local.get 5 - local.get 5 - i32.const 24 - i32.add - i32.store offset=96 - local.get 5 - local.get 5 - i32.const 16 - i32.add - i32.store offset=88 - local.get 5 - local.get 5 - i32.const 12 - i32.add - i32.store offset=80 - local.get 5 - local.get 5 - i32.const 8 - i32.add - i32.store offset=72 - local.get 5 - i32.const 48 - i32.add - local.get 4 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable - end - local.get 2 - local.set 6 - end - block ;; label = @1 - local.get 6 - local.get 1 - i32.eq - br_if 0 (;@1;) - i32.const 1 - local.set 9 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 0 - local.get 6 - i32.add - local.tee 3 - i32.load8_s - local.tee 2 - i32.const -1 - i32.gt_s - br_if 0 (;@5;) - i32.const 0 - local.set 9 - local.get 0 - local.get 1 - i32.add - local.tee 1 - local.set 7 - block ;; label = @6 - local.get 3 - i32.const 1 - i32.add - local.get 1 - i32.eq - br_if 0 (;@6;) - local.get 3 - i32.const 2 - i32.add - local.set 7 - local.get 3 - i32.load8_u offset=1 - i32.const 63 - i32.and - local.set 9 - end - local.get 2 - i32.const 31 - i32.and - local.set 3 - local.get 2 - i32.const 255 - i32.and - i32.const 223 - i32.gt_u - br_if 1 (;@4;) - local.get 9 - local.get 3 - i32.const 6 - i32.shl - i32.or - local.set 2 - br 2 (;@3;) - end - local.get 5 - local.get 2 - i32.const 255 - i32.and - i32.store offset=36 - local.get 5 - i32.const 40 - i32.add - local.set 1 - br 2 (;@2;) - end - i32.const 0 - local.set 0 - local.get 1 - local.set 8 - block ;; label = @4 - local.get 7 - local.get 1 - i32.eq - br_if 0 (;@4;) - local.get 7 - i32.const 1 - i32.add - local.set 8 - local.get 7 - i32.load8_u - i32.const 63 - i32.and - local.set 0 - end - local.get 0 - local.get 9 - i32.const 6 - i32.shl - i32.or - local.set 9 - block ;; label = @4 - local.get 2 - i32.const 255 - i32.and - i32.const 240 - i32.ge_u - br_if 0 (;@4;) - local.get 9 - local.get 3 - i32.const 12 - i32.shl - i32.or - local.set 2 - br 1 (;@3;) - end - i32.const 0 - local.set 2 - block ;; label = @4 - local.get 8 - local.get 1 - i32.eq - br_if 0 (;@4;) - local.get 8 - i32.load8_u - i32.const 63 - i32.and - local.set 2 - end - local.get 9 - i32.const 6 - i32.shl - local.get 3 - i32.const 18 - i32.shl - i32.const 1835008 - i32.and - i32.or - local.get 2 - i32.or - local.tee 2 - i32.const 1114112 - i32.eq - br_if 2 (;@1;) - end - local.get 5 - local.get 2 - i32.store offset=36 - i32.const 1 - local.set 9 - local.get 5 - i32.const 40 - i32.add - local.set 1 - local.get 2 - i32.const 128 - i32.lt_u - br_if 0 (;@2;) - i32.const 2 - local.set 9 - local.get 2 - i32.const 2048 - i32.lt_u - br_if 0 (;@2;) - i32.const 3 - i32.const 4 - local.get 2 - i32.const 65536 - i32.lt_u - select - local.set 9 - end - local.get 5 - local.get 6 - i32.store offset=40 - local.get 5 - local.get 9 - local.get 6 - i32.add - i32.store offset=44 - local.get 5 - i32.const 48 - i32.add - i32.const 20 - i32.add - i32.const 5 - i32.store - local.get 5 - i32.const 108 - i32.add - i32.const 79 - i32.store - local.get 5 - i32.const 100 - i32.add - i32.const 79 - i32.store - local.get 5 - i32.const 72 - i32.add - i32.const 20 - i32.add - i32.const 80 - i32.store - local.get 5 - i32.const 84 - i32.add - i32.const 81 - i32.store - local.get 5 - i64.const 5 - i64.store offset=52 align=4 - local.get 5 - i32.const 1055828 - i32.store offset=48 - local.get 5 - local.get 1 - i32.store offset=88 - local.get 5 - i32.const 13 - i32.store offset=76 - local.get 5 - local.get 5 - i32.const 72 - i32.add - i32.store offset=64 - local.get 5 - local.get 5 - i32.const 24 - i32.add - i32.store offset=104 - local.get 5 - local.get 5 - i32.const 16 - i32.add - i32.store offset=96 - local.get 5 - local.get 5 - i32.const 36 - i32.add - i32.store offset=80 - local.get 5 - local.get 5 - i32.const 32 - i32.add - i32.store offset=72 - local.get 5 - i32.const 48 - i32.add - local.get 4 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable - end - i32.const 1054285 - i32.const 43 - local.get 4 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable) - (func $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE (type 6) (param i32 i32) - (local i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 1 - i32.store offset=12 - local.get 2 - local.get 0 - i32.store offset=8 - local.get 2 - i32.const 1054356 - i32.store offset=4 - local.get 2 - i32.const 1054248 - i32.store - local.get 2 - call $rust_begin_unwind - unreachable) - (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17he6ead8fc076aace0E (type 3) (param i32 i32) (result i32) - local.get 0 - i64.load32_u - i32.const 1 - local.get 1 - call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E) - (func $_ZN4core3fmt5write17hf78275652148e08fE (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - i32.const 36 - i32.add - local.get 1 - i32.store - local.get 3 - i32.const 3 - i32.store8 offset=40 - local.get 3 - i64.const 137438953472 - i64.store offset=8 - local.get 3 - local.get 0 - i32.store offset=32 - local.get 3 - i32.const 0 - i32.store offset=24 - local.get 3 - i32.const 0 - i32.store offset=16 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 2 - i32.load offset=8 - local.tee 4 - i32.eqz - br_if 0 (;@5;) - local.get 2 - i32.load - local.set 5 - local.get 2 - i32.load offset=4 - local.tee 6 - local.get 2 - i32.const 12 - i32.add - i32.load - local.tee 7 - local.get 7 - local.get 6 - i32.gt_u - select - local.tee 7 - i32.eqz - br_if 1 (;@4;) - local.get 2 - i32.const 20 - i32.add - i32.load - local.set 8 - local.get 2 - i32.load offset=16 - local.set 9 - local.get 0 - local.get 5 - i32.load - local.get 5 - i32.load offset=4 - local.get 1 - i32.load offset=12 - call_indirect (type 8) - br_if 3 (;@2;) - local.get 5 - i32.const 12 - i32.add - local.set 2 - i32.const 0 - local.set 10 - block ;; label = @6 - block ;; label = @7 - loop ;; label = @8 - local.get 3 - local.get 4 - i32.const 4 - i32.add - i32.load - i32.store offset=12 - local.get 3 - local.get 4 - i32.const 28 - i32.add - i32.load8_u - i32.store8 offset=40 - local.get 3 - local.get 4 - i32.const 8 - i32.add - i32.load - i32.store offset=8 - local.get 4 - i32.const 24 - i32.add - i32.load - local.set 0 - i32.const 0 - local.set 1 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 4 - i32.const 20 - i32.add - i32.load - br_table 1 (;@10;) 0 (;@11;) 2 (;@9;) 1 (;@10;) - end - local.get 0 - local.get 8 - i32.ge_u - br_if 3 (;@7;) - local.get 0 - i32.const 3 - i32.shl - local.set 11 - i32.const 0 - local.set 1 - local.get 9 - local.get 11 - i32.add - local.tee 11 - i32.load offset=4 - i32.const 82 - i32.ne - br_if 1 (;@9;) - local.get 11 - i32.load - i32.load - local.set 0 - end - i32.const 1 - local.set 1 - end - local.get 3 - local.get 0 - i32.store offset=20 - local.get 3 - local.get 1 - i32.store offset=16 - local.get 4 - i32.const 16 - i32.add - i32.load - local.set 0 - i32.const 0 - local.set 1 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 4 - i32.const 12 - i32.add - i32.load - br_table 1 (;@10;) 0 (;@11;) 2 (;@9;) 1 (;@10;) - end - local.get 0 - local.get 8 - i32.ge_u - br_if 4 (;@6;) - local.get 0 - i32.const 3 - i32.shl - local.set 11 - local.get 9 - local.get 11 - i32.add - local.tee 11 - i32.load offset=4 - i32.const 82 - i32.ne - br_if 1 (;@9;) - local.get 11 - i32.load - i32.load - local.set 0 - end - i32.const 1 - local.set 1 - end - local.get 3 - local.get 0 - i32.store offset=28 - local.get 3 - local.get 1 - i32.store offset=24 - block ;; label = @9 - local.get 4 - i32.load - local.tee 0 - local.get 8 - i32.ge_u - br_if 0 (;@9;) - local.get 9 - local.get 0 - i32.const 3 - i32.shl - i32.add - local.tee 0 - i32.load - local.get 3 - i32.const 8 - i32.add - local.get 0 - i32.load offset=4 - call_indirect (type 3) - br_if 7 (;@2;) - local.get 10 - i32.const 1 - i32.add - local.tee 10 - local.get 7 - i32.ge_u - br_if 6 (;@3;) - local.get 4 - i32.const 32 - i32.add - local.set 4 - local.get 2 - i32.const -4 - i32.add - local.set 0 - local.get 2 - i32.load - local.set 1 - local.get 2 - i32.const 8 - i32.add - local.set 2 - local.get 3 - i32.load offset=32 - local.get 0 - i32.load - local.get 1 - local.get 3 - i32.load offset=36 - i32.load offset=12 - call_indirect (type 8) - i32.eqz - br_if 1 (;@8;) - br 7 (;@2;) - end - end - local.get 0 - local.get 8 - i32.const 1054824 - call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE - unreachable - end - local.get 0 - local.get 8 - i32.const 1054840 - call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE - unreachable - end - local.get 0 - local.get 8 - i32.const 1054840 - call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE - unreachable - end - local.get 2 - i32.load - local.set 5 - local.get 2 - i32.load offset=4 - local.tee 6 - local.get 2 - i32.const 20 - i32.add - i32.load - local.tee 4 - local.get 4 - local.get 6 - i32.gt_u - select - local.tee 7 - i32.eqz - br_if 0 (;@4;) - local.get 2 - i32.load offset=16 - local.set 4 - local.get 0 - local.get 5 - i32.load - local.get 5 - i32.load offset=4 - local.get 1 - i32.load offset=12 - call_indirect (type 8) - br_if 2 (;@2;) - local.get 5 - i32.const 12 - i32.add - local.set 2 - i32.const 0 - local.set 0 - loop ;; label = @5 - local.get 4 - i32.load - local.get 3 - i32.const 8 - i32.add - local.get 4 - i32.const 4 - i32.add - i32.load - call_indirect (type 3) - br_if 3 (;@2;) - local.get 0 - i32.const 1 - i32.add - local.tee 0 - local.get 7 - i32.ge_u - br_if 2 (;@3;) - local.get 4 - i32.const 8 - i32.add - local.set 4 - local.get 2 - i32.const -4 - i32.add - local.set 1 - local.get 2 - i32.load - local.set 10 - local.get 2 - i32.const 8 - i32.add - local.set 2 - local.get 3 - i32.load offset=32 - local.get 1 - i32.load - local.get 10 - local.get 3 - i32.load offset=36 - i32.load offset=12 - call_indirect (type 8) - i32.eqz - br_if 0 (;@5;) - br 3 (;@2;) - end - end - i32.const 0 - local.set 7 - end - block ;; label = @3 - local.get 6 - local.get 7 - i32.le_u - br_if 0 (;@3;) - local.get 3 - i32.load offset=32 - local.get 5 - local.get 7 - i32.const 3 - i32.shl - i32.add - local.tee 4 - i32.load - local.get 4 - i32.load offset=4 - local.get 3 - i32.load offset=36 - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@2;) - end - i32.const 0 - local.set 4 - br 1 (;@1;) - end - i32.const 1 - local.set 4 - end - local.get 3 - i32.const 48 - i32.add - global.set 0 - local.get 4) - (func $_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h94ceed4e1d7d3c8dE (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 0 - local.get 1 - call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E - br_if 0 (;@2;) - local.get 1 - i32.const 28 - i32.add - i32.load - local.set 3 - local.get 1 - i32.load offset=24 - local.set 4 - local.get 2 - i32.const 28 - i32.add - i32.const 0 - i32.store - local.get 2 - i32.const 1054248 - i32.store offset=24 - local.get 2 - i64.const 1 - i64.store offset=12 align=4 - local.get 2 - i32.const 1054252 - i32.store offset=8 - local.get 4 - local.get 3 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - i32.eqz - br_if 1 (;@1;) - end - local.get 2 - i32.const 32 - i32.add - global.set 0 - i32.const 1 - return - end - local.get 0 - i32.const 4 - i32.add - local.get 1 - call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 128 - i32.sub - local.tee 2 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.load - local.tee 3 - i32.const 16 - i32.and - br_if 0 (;@5;) - local.get 0 - i32.load - local.set 4 - local.get 3 - i32.const 32 - i32.and - br_if 1 (;@4;) - local.get 4 - i64.extend_i32_u - i32.const 1 - local.get 1 - call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E - local.set 0 - br 2 (;@3;) - end - local.get 0 - i32.load - local.set 4 - i32.const 0 - local.set 0 - loop ;; label = @5 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 4 - i32.const 15 - i32.and - local.tee 3 - i32.const 48 - i32.or - local.get 3 - i32.const 87 - i32.add - local.get 3 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 4 - i32.const 4 - i32.shr_u - local.tee 4 - br_if 0 (;@5;) - end - local.get 0 - i32.const 128 - i32.add - local.tee 4 - i32.const 129 - i32.ge_u - br_if 2 (;@2;) - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - br 1 (;@3;) - end - i32.const 0 - local.set 0 - loop ;; label = @4 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 4 - i32.const 15 - i32.and - local.tee 3 - i32.const 48 - i32.or - local.get 3 - i32.const 55 - i32.add - local.get 3 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 4 - i32.const 4 - i32.shr_u - local.tee 4 - br_if 0 (;@4;) - end - local.get 0 - i32.const 128 - i32.add - local.tee 4 - i32.const 129 - i32.ge_u - br_if 2 (;@1;) - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - end - local.get 2 - i32.const 128 - i32.add - global.set 0 - local.get 0 - return - end - local.get 4 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 4 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hb45251ab3c3bdb48E (type 2) (param i32) (result i64) - i64.const -3452326882552253247) - (func $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17hcb497cdb5137530aE (type 3) (param i32 i32) (result i32) - local.get 1 - i32.load offset=24 - i32.const 1054260 - i32.const 11 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8)) - (func $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h4131a8147211fa76E (type 3) (param i32 i32) (result i32) - local.get 1 - i32.load offset=24 - i32.const 1054271 - i32.const 14 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8)) - (func $_ZN82_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1b10a0b08a976a19E (type 5) (param i32) (result i32) - (local i32 i32) - i32.const 1114112 - local.set 1 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 0 - i32.load - br_table 3 (;@1;) 2 (;@2;) 1 (;@3;) 0 (;@4;) 3 (;@1;) - end - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 0 - i32.const 12 - i32.add - i32.load8_u - br_table 7 (;@1;) 4 (;@4;) 3 (;@5;) 2 (;@6;) 1 (;@7;) 0 (;@8;) 7 (;@1;) - end - local.get 0 - i32.const 4 - i32.store8 offset=12 - i32.const 92 - return - end - local.get 0 - i32.const 3 - i32.store8 offset=12 - i32.const 117 - return - end - local.get 0 - i32.const 2 - i32.store8 offset=12 - i32.const 123 - return - end - local.get 0 - i32.load offset=4 - local.get 0 - i32.const 8 - i32.add - i32.load - local.tee 2 - i32.const 2 - i32.shl - i32.const 28 - i32.and - i32.shr_u - i32.const 15 - i32.and - local.tee 1 - i32.const 48 - i32.or - local.get 1 - i32.const 87 - i32.add - local.get 1 - i32.const 10 - i32.lt_u - select - local.set 1 - block ;; label = @5 - local.get 2 - i32.eqz - br_if 0 (;@5;) - local.get 0 - local.get 2 - i32.const -1 - i32.add - i32.store offset=8 - local.get 1 - return - end - local.get 0 - i32.const 1 - i32.store8 offset=12 - local.get 1 - return - end - local.get 0 - i32.const 0 - i32.store8 offset=12 - i32.const 125 - return - end - local.get 0 - i32.const 1 - i32.store - i32.const 92 - return - end - local.get 0 - i32.const 0 - i32.store - local.get 0 - i32.load offset=4 - local.set 1 - end - local.get 1) - (func $_ZN4core3fmt8builders11DebugStruct5field17h6969da1bb0a508efE (type 12) (param i32 i32 i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i64 i64) - global.get 0 - i32.const 64 - i32.sub - local.tee 5 - global.set 0 - i32.const 1 - local.set 6 - block ;; label = @1 - local.get 0 - i32.load8_u offset=4 - br_if 0 (;@1;) - local.get 0 - i32.load8_u offset=5 - local.set 7 - block ;; label = @2 - local.get 0 - i32.load - local.tee 8 - i32.load8_u - i32.const 4 - i32.and - br_if 0 (;@2;) - i32.const 1 - local.set 6 - local.get 8 - i32.load offset=24 - i32.const 1054501 - i32.const 1054503 - local.get 7 - i32.const 255 - i32.and - local.tee 7 - select - i32.const 2 - i32.const 3 - local.get 7 - select - local.get 8 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - i32.const 1 - local.set 6 - local.get 0 - i32.load - local.tee 8 - i32.load offset=24 - local.get 1 - local.get 2 - local.get 8 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - i32.const 1 - local.set 6 - local.get 0 - i32.load - local.tee 8 - i32.load offset=24 - i32.const 1054336 - i32.const 2 - local.get 8 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - local.get 3 - local.get 0 - i32.load - local.get 4 - i32.load offset=12 - call_indirect (type 3) - local.set 6 - br 1 (;@1;) - end - block ;; label = @2 - local.get 7 - i32.const 255 - i32.and - br_if 0 (;@2;) - i32.const 1 - local.set 6 - local.get 8 - i32.load offset=24 - i32.const 1054496 - i32.const 3 - local.get 8 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - local.get 0 - i32.load - local.set 8 - end - i32.const 1 - local.set 6 - local.get 5 - i32.const 1 - i32.store8 offset=23 - local.get 5 - i32.const 52 - i32.add - i32.const 1054468 - i32.store - local.get 5 - local.get 8 - i64.load offset=24 align=4 - i64.store offset=8 - local.get 5 - local.get 5 - i32.const 23 - i32.add - i32.store offset=16 - local.get 8 - i64.load offset=8 align=4 - local.set 9 - local.get 8 - i64.load offset=16 align=4 - local.set 10 - local.get 5 - local.get 8 - i32.load8_u offset=32 - i32.store8 offset=56 - local.get 5 - local.get 10 - i64.store offset=40 - local.get 5 - local.get 9 - i64.store offset=32 - local.get 5 - local.get 8 - i64.load align=4 - i64.store offset=24 - local.get 5 - local.get 5 - i32.const 8 - i32.add - i32.store offset=48 - local.get 5 - i32.const 8 - i32.add - local.get 1 - local.get 2 - call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE - br_if 0 (;@1;) - local.get 5 - i32.const 8 - i32.add - i32.const 1054336 - i32.const 2 - call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE - br_if 0 (;@1;) - local.get 3 - local.get 5 - i32.const 24 - i32.add - local.get 4 - i32.load offset=12 - call_indirect (type 3) - br_if 0 (;@1;) - local.get 5 - i32.load offset=48 - i32.const 1054499 - i32.const 2 - local.get 5 - i32.load offset=52 - i32.load offset=12 - call_indirect (type 8) - local.set 6 - end - local.get 0 - i32.const 1 - i32.store8 offset=5 - local.get 0 - local.get 6 - i32.store8 offset=4 - local.get 5 - i32.const 64 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core6option13expect_failed17hf689d8761c64e95fE (type 7) (param i32 i32 i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - local.get 3 - local.get 1 - i32.store offset=12 - local.get 3 - local.get 0 - i32.store offset=8 - local.get 3 - i32.const 36 - i32.add - i32.const 1 - i32.store - local.get 3 - i64.const 1 - i64.store offset=20 align=4 - local.get 3 - i32.const 1054328 - i32.store offset=16 - local.get 3 - i32.const 79 - i32.store offset=44 - local.get 3 - local.get 3 - i32.const 40 - i32.add - i32.store offset=32 - local.get 3 - local.get 3 - i32.const 8 - i32.add - i32.store offset=40 - local.get 3 - i32.const 16 - i32.add - local.get 2 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h76450d0c1fa7b5b6E (type 3) (param i32 i32) (result i32) - local.get 1 - local.get 0 - i32.load - local.get 0 - i32.load offset=4 - call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E) - (func $_ZN4core6option18expect_none_failed17h959c69efc793a13dE (type 10) (param i32 i32 i32 i32 i32) - (local i32) - global.get 0 - i32.const 64 - i32.sub - local.tee 5 - global.set 0 - local.get 5 - local.get 1 - i32.store offset=12 - local.get 5 - local.get 0 - i32.store offset=8 - local.get 5 - local.get 3 - i32.store offset=20 - local.get 5 - local.get 2 - i32.store offset=16 - local.get 5 - i32.const 44 - i32.add - i32.const 2 - i32.store - local.get 5 - i32.const 60 - i32.add - i32.const 83 - i32.store - local.get 5 - i64.const 2 - i64.store offset=28 align=4 - local.get 5 - i32.const 1054340 - i32.store offset=24 - local.get 5 - i32.const 79 - i32.store offset=52 - local.get 5 - local.get 5 - i32.const 48 - i32.add - i32.store offset=40 - local.get 5 - local.get 5 - i32.const 16 - i32.add - i32.store offset=56 - local.get 5 - local.get 5 - i32.const 8 - i32.add - i32.store offset=48 - local.get 5 - i32.const 24 - i32.add - local.get 4 - call $_ZN4core9panicking9panic_fmt17h161ef327f1d4058dE - unreachable) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h37140add365c2157E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - local.get 0 - i32.load offset=4 - i32.load offset=12 - call_indirect (type 3)) - (func $_ZN4core5panic9PanicInfo7message17h173c452a45dbd3bdE (type 5) (param i32) (result i32) - local.get 0 - i32.load offset=8) - (func $_ZN4core5panic9PanicInfo8location17hd9842140c74e4b5aE (type 5) (param i32) (result i32) - local.get 0 - i32.load offset=12) - (func $_ZN4core5panic8Location6caller17hd41fba21c9b92f2bE (type 5) (param i32) (result i32) - local.get 0) - (func $_ZN4core5panic8Location4file17h51ec8de78a0a7533E (type 6) (param i32 i32) - local.get 0 - local.get 1 - i64.load align=4 - i64.store align=4) - (func $_ZN60_$LT$core..panic..Location$u20$as$u20$core..fmt..Display$GT$3fmt17h37d828db1f545440E (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - i32.const 20 - i32.add - i32.const 13 - i32.store - local.get 2 - i32.const 12 - i32.add - i32.const 13 - i32.store - local.get 2 - i32.const 79 - i32.store offset=4 - local.get 2 - local.get 0 - i32.store - local.get 2 - local.get 0 - i32.const 12 - i32.add - i32.store offset=16 - local.get 2 - local.get 0 - i32.const 8 - i32.add - i32.store offset=8 - local.get 1 - i32.const 28 - i32.add - i32.load - local.set 0 - local.get 1 - i32.load offset=24 - local.set 1 - local.get 2 - i32.const 24 - i32.add - i32.const 20 - i32.add - i32.const 3 - i32.store - local.get 2 - i64.const 3 - i64.store offset=28 align=4 - local.get 2 - i32.const 1054376 - i32.store offset=24 - local.get 2 - local.get 2 - i32.store offset=40 - local.get 1 - local.get 0 - local.get 2 - i32.const 24 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 0 - local.get 2 - i32.const 48 - i32.add - global.set 0 - local.get 0) - (func $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 2 - br_if 0 (;@2;) - i32.const 0 - local.set 4 - br 1 (;@1;) - end - local.get 3 - i32.const 40 - i32.add - local.set 5 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - loop ;; label = @6 - block ;; label = @7 - local.get 0 - i32.load offset=8 - i32.load8_u - i32.eqz - br_if 0 (;@7;) - local.get 0 - i32.load - i32.const 1054492 - i32.const 4 - local.get 0 - i32.load offset=4 - i32.load offset=12 - call_indirect (type 8) - br_if 5 (;@2;) - end - local.get 3 - i32.const 10 - i32.store offset=40 - local.get 3 - i64.const 4294967306 - i64.store offset=32 - local.get 3 - local.get 2 - i32.store offset=28 - local.get 3 - i32.const 0 - i32.store offset=24 - local.get 3 - local.get 2 - i32.store offset=20 - local.get 3 - local.get 1 - i32.store offset=16 - local.get 3 - i32.const 8 - i32.add - i32.const 10 - local.get 1 - local.get 2 - call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - local.get 3 - i32.load offset=8 - i32.const 1 - i32.ne - br_if 0 (;@10;) - local.get 3 - i32.load offset=12 - local.set 4 - loop ;; label = @11 - local.get 3 - local.get 4 - local.get 3 - i32.load offset=24 - i32.add - i32.const 1 - i32.add - local.tee 4 - i32.store offset=24 - block ;; label = @12 - block ;; label = @13 - local.get 4 - local.get 3 - i32.load offset=36 - local.tee 6 - i32.ge_u - br_if 0 (;@13;) - local.get 3 - i32.load offset=20 - local.set 7 - br 1 (;@12;) - end - local.get 3 - i32.load offset=20 - local.tee 7 - local.get 4 - i32.lt_u - br_if 0 (;@12;) - local.get 6 - i32.const 5 - i32.ge_u - br_if 7 (;@5;) - local.get 3 - i32.load offset=16 - local.get 4 - local.get 6 - i32.sub - local.tee 8 - i32.add - local.tee 9 - local.get 5 - i32.eq - br_if 4 (;@8;) - local.get 9 - local.get 5 - local.get 6 - call $memcmp - i32.eqz - br_if 4 (;@8;) - end - local.get 3 - i32.load offset=28 - local.tee 9 - local.get 4 - i32.lt_u - br_if 2 (;@9;) - local.get 7 - local.get 9 - i32.lt_u - br_if 2 (;@9;) - local.get 3 - local.get 6 - local.get 3 - i32.const 16 - i32.add - i32.add - i32.const 23 - i32.add - i32.load8_u - local.get 3 - i32.load offset=16 - local.get 4 - i32.add - local.get 9 - local.get 4 - i32.sub - call $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E - local.get 3 - i32.load offset=4 - local.set 4 - local.get 3 - i32.load - i32.const 1 - i32.eq - br_if 0 (;@11;) - end - end - local.get 3 - local.get 3 - i32.load offset=28 - i32.store offset=24 - end - local.get 0 - i32.load offset=8 - i32.const 0 - i32.store8 - local.get 2 - local.set 4 - br 1 (;@7;) - end - local.get 0 - i32.load offset=8 - i32.const 1 - i32.store8 - local.get 8 - i32.const 1 - i32.add - local.set 4 - end - local.get 0 - i32.load offset=4 - local.set 9 - local.get 0 - i32.load - local.set 6 - block ;; label = @7 - local.get 4 - i32.eqz - local.get 2 - local.get 4 - i32.eq - i32.or - local.tee 7 - br_if 0 (;@7;) - local.get 2 - local.get 4 - i32.le_u - br_if 3 (;@4;) - local.get 1 - local.get 4 - i32.add - i32.load8_s - i32.const -65 - i32.le_s - br_if 3 (;@4;) - end - local.get 6 - local.get 1 - local.get 4 - local.get 9 - i32.load offset=12 - call_indirect (type 8) - br_if 4 (;@2;) - block ;; label = @7 - local.get 7 - br_if 0 (;@7;) - local.get 2 - local.get 4 - i32.le_u - br_if 4 (;@3;) - local.get 1 - local.get 4 - i32.add - i32.load8_s - i32.const -65 - i32.le_s - br_if 4 (;@3;) - end - local.get 1 - local.get 4 - i32.add - local.set 1 - local.get 2 - local.get 4 - i32.sub - local.tee 2 - br_if 0 (;@6;) - end - i32.const 0 - local.set 4 - br 4 (;@1;) - end - local.get 6 - i32.const 4 - i32.const 1055112 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 1 - local.get 2 - i32.const 0 - local.get 4 - i32.const 1055612 - call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E - unreachable - end - local.get 1 - local.get 2 - local.get 4 - local.get 2 - i32.const 1055628 - call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E - unreachable - end - i32.const 1 - local.set 4 - end - local.get 3 - i32.const 48 - i32.add - global.set 0 - local.get 4) - (func $_ZN4core5slice6memchr6memchr17h00efbe6d015a8522E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32) - i32.const 0 - local.set 4 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 2 - i32.const 3 - i32.and - local.tee 5 - i32.eqz - br_if 0 (;@4;) - i32.const 4 - local.get 5 - i32.sub - local.tee 5 - i32.eqz - br_if 0 (;@4;) - local.get 3 - local.get 5 - local.get 5 - local.get 3 - i32.gt_u - select - local.tee 6 - i32.eqz - br_if 0 (;@4;) - i32.const 0 - local.set 5 - local.get 1 - i32.const 255 - i32.and - local.set 4 - loop ;; label = @5 - local.get 2 - local.get 5 - i32.add - i32.load8_u - local.get 4 - i32.eq - br_if 2 (;@3;) - local.get 6 - local.get 5 - i32.const 1 - i32.add - local.tee 5 - i32.ne - br_if 0 (;@5;) - end - local.get 6 - local.set 4 - end - local.get 3 - i32.const 8 - i32.lt_u - br_if 1 (;@2;) - local.get 4 - local.get 3 - i32.const -8 - i32.add - local.tee 7 - i32.gt_u - br_if 1 (;@2;) - local.get 1 - i32.const 255 - i32.and - i32.const 16843009 - i32.mul - local.set 5 - block ;; label = @4 - loop ;; label = @5 - local.get 2 - local.get 4 - i32.add - local.tee 6 - i32.const 4 - i32.add - i32.load - local.get 5 - i32.xor - local.tee 8 - i32.const -1 - i32.xor - local.get 8 - i32.const -16843009 - i32.add - i32.and - local.get 6 - i32.load - local.get 5 - i32.xor - local.tee 6 - i32.const -1 - i32.xor - local.get 6 - i32.const -16843009 - i32.add - i32.and - i32.or - i32.const -2139062144 - i32.and - br_if 1 (;@4;) - local.get 4 - i32.const 8 - i32.add - local.tee 4 - local.get 7 - i32.le_u - br_if 0 (;@5;) - end - end - local.get 4 - local.get 3 - i32.le_u - br_if 1 (;@2;) - local.get 4 - local.get 3 - i32.const 1054884 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - i32.const 1 - local.set 6 - br 1 (;@1;) - end - i32.const 0 - local.set 5 - i32.const 0 - local.set 6 - block ;; label = @2 - local.get 4 - local.get 3 - i32.eq - br_if 0 (;@2;) - local.get 2 - local.get 4 - i32.add - local.set 2 - local.get 3 - local.get 4 - i32.sub - local.set 8 - i32.const 0 - local.set 5 - local.get 1 - i32.const 255 - i32.and - local.set 6 - block ;; label = @3 - loop ;; label = @4 - local.get 2 - local.get 5 - i32.add - i32.load8_u - local.get 6 - i32.eq - br_if 1 (;@3;) - local.get 8 - local.get 5 - i32.const 1 - i32.add - local.tee 5 - i32.ne - br_if 0 (;@4;) - end - i32.const 0 - local.set 6 - local.get 8 - local.get 4 - i32.add - local.set 5 - br 2 (;@1;) - end - i32.const 1 - local.set 6 - local.get 5 - local.set 5 - end - local.get 5 - local.get 4 - i32.add - local.set 5 - end - local.get 0 - local.get 5 - i32.store offset=4 - local.get 0 - local.get 6 - i32.store) - (func $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i64 i64) - global.get 0 - i32.const 64 - i32.sub - local.tee 3 - global.set 0 - i32.const 1 - local.set 4 - block ;; label = @1 - local.get 0 - i32.load8_u offset=8 - br_if 0 (;@1;) - local.get 0 - i32.load offset=4 - local.set 5 - block ;; label = @2 - local.get 0 - i32.load - local.tee 6 - i32.load8_u - i32.const 4 - i32.and - br_if 0 (;@2;) - i32.const 1 - local.set 4 - local.get 6 - i32.load offset=24 - i32.const 1054501 - i32.const 1054511 - local.get 5 - select - i32.const 2 - i32.const 1 - local.get 5 - select - local.get 6 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - local.get 1 - local.get 0 - i32.load - local.get 2 - i32.load offset=12 - call_indirect (type 3) - local.set 4 - br 1 (;@1;) - end - block ;; label = @2 - local.get 5 - br_if 0 (;@2;) - i32.const 1 - local.set 4 - local.get 6 - i32.load offset=24 - i32.const 1054509 - i32.const 2 - local.get 6 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - local.get 0 - i32.load - local.set 6 - end - i32.const 1 - local.set 4 - local.get 3 - i32.const 1 - i32.store8 offset=23 - local.get 3 - i32.const 52 - i32.add - i32.const 1054468 - i32.store - local.get 3 - local.get 6 - i64.load offset=24 align=4 - i64.store offset=8 - local.get 3 - local.get 3 - i32.const 23 - i32.add - i32.store offset=16 - local.get 6 - i64.load offset=8 align=4 - local.set 7 - local.get 6 - i64.load offset=16 align=4 - local.set 8 - local.get 3 - local.get 6 - i32.load8_u offset=32 - i32.store8 offset=56 - local.get 3 - local.get 8 - i64.store offset=40 - local.get 3 - local.get 7 - i64.store offset=32 - local.get 3 - local.get 6 - i64.load align=4 - i64.store offset=24 - local.get 3 - local.get 3 - i32.const 8 - i32.add - i32.store offset=48 - local.get 1 - local.get 3 - i32.const 24 - i32.add - local.get 2 - i32.load offset=12 - call_indirect (type 3) - br_if 0 (;@1;) - local.get 3 - i32.load offset=48 - i32.const 1054499 - i32.const 2 - local.get 3 - i32.load offset=52 - i32.load offset=12 - call_indirect (type 8) - local.set 4 - end - local.get 0 - local.get 4 - i32.store8 offset=8 - local.get 0 - local.get 0 - i32.load offset=4 - i32.const 1 - i32.add - i32.store offset=4 - local.get 3 - i32.const 64 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core3fmt8builders10DebugTuple6finish17hf5054e572dd32ba2E (type 5) (param i32) (result i32) - (local i32 i32 i32) - local.get 0 - i32.load8_u offset=8 - local.set 1 - block ;; label = @1 - local.get 0 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 1 - i32.const 255 - i32.and - local.set 3 - i32.const 1 - local.set 1 - block ;; label = @2 - local.get 3 - br_if 0 (;@2;) - block ;; label = @3 - local.get 2 - i32.const 1 - i32.ne - br_if 0 (;@3;) - local.get 0 - i32.load8_u offset=9 - i32.eqz - br_if 0 (;@3;) - local.get 0 - i32.load - local.tee 3 - i32.load8_u - i32.const 4 - i32.and - br_if 0 (;@3;) - i32.const 1 - local.set 1 - local.get 3 - i32.load offset=24 - i32.const 1054512 - i32.const 1 - local.get 3 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@2;) - end - local.get 0 - i32.load - local.tee 1 - i32.load offset=24 - i32.const 1054513 - i32.const 1 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 1 - end - local.get 0 - local.get 1 - i32.store8 offset=8 - end - local.get 1 - i32.const 255 - i32.and - i32.const 0 - i32.ne) - (func $_ZN4core3fmt8builders10DebugInner5entry17h51d95cb3aeb668bbE (type 7) (param i32 i32 i32) - (local i32 i32 i32 i64 i64) - global.get 0 - i32.const 64 - i32.sub - local.tee 3 - global.set 0 - i32.const 1 - local.set 4 - block ;; label = @1 - local.get 0 - i32.load8_u offset=4 - br_if 0 (;@1;) - local.get 0 - i32.load8_u offset=5 - local.set 4 - block ;; label = @2 - local.get 0 - i32.load - local.tee 5 - i32.load8_u - i32.const 4 - i32.and - br_if 0 (;@2;) - block ;; label = @3 - local.get 4 - i32.const 255 - i32.and - i32.eqz - br_if 0 (;@3;) - i32.const 1 - local.set 4 - local.get 5 - i32.load offset=24 - i32.const 1054501 - i32.const 2 - local.get 5 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 2 (;@1;) - local.get 0 - i32.load - local.set 5 - end - local.get 1 - local.get 5 - local.get 2 - i32.load offset=12 - call_indirect (type 3) - local.set 4 - br 1 (;@1;) - end - block ;; label = @2 - local.get 4 - i32.const 255 - i32.and - br_if 0 (;@2;) - i32.const 1 - local.set 4 - local.get 5 - i32.load offset=24 - i32.const 1054514 - i32.const 1 - local.get 5 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - local.get 0 - i32.load - local.set 5 - end - i32.const 1 - local.set 4 - local.get 3 - i32.const 1 - i32.store8 offset=23 - local.get 3 - i32.const 52 - i32.add - i32.const 1054468 - i32.store - local.get 3 - local.get 5 - i64.load offset=24 align=4 - i64.store offset=8 - local.get 3 - local.get 3 - i32.const 23 - i32.add - i32.store offset=16 - local.get 5 - i64.load offset=8 align=4 - local.set 6 - local.get 5 - i64.load offset=16 align=4 - local.set 7 - local.get 3 - local.get 5 - i32.load8_u offset=32 - i32.store8 offset=56 - local.get 3 - local.get 7 - i64.store offset=40 - local.get 3 - local.get 6 - i64.store offset=32 - local.get 3 - local.get 5 - i64.load align=4 - i64.store offset=24 - local.get 3 - local.get 3 - i32.const 8 - i32.add - i32.store offset=48 - local.get 1 - local.get 3 - i32.const 24 - i32.add - local.get 2 - i32.load offset=12 - call_indirect (type 3) - br_if 0 (;@1;) - local.get 3 - i32.load offset=48 - i32.const 1054499 - i32.const 2 - local.get 3 - i32.load offset=52 - i32.load offset=12 - call_indirect (type 8) - local.set 4 - end - local.get 0 - i32.const 1 - i32.store8 offset=5 - local.get 0 - local.get 4 - i32.store8 offset=4 - local.get 3 - i32.const 64 - i32.add - global.set 0) - (func $_ZN4core3fmt8builders8DebugSet5entry17hcec6345aa501ef45E (type 8) (param i32 i32 i32) (result i32) - local.get 0 - local.get 1 - local.get 2 - call $_ZN4core3fmt8builders10DebugInner5entry17h51d95cb3aeb668bbE - local.get 0) - (func $_ZN4core3fmt8builders9DebugList6finish17hbd08192effc20d79E (type 5) (param i32) (result i32) - (local i32) - i32.const 1 - local.set 1 - block ;; label = @1 - local.get 0 - i32.load8_u offset=4 - br_if 0 (;@1;) - local.get 0 - i32.load - local.tee 0 - i32.load offset=24 - i32.const 1054532 - i32.const 1 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 1 - end - local.get 1) - (func $_ZN4core3fmt5Write10write_char17h9446e22d80409ee0E (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - i32.const 0 - i32.store offset=12 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - i32.const 128 - i32.lt_u - br_if 0 (;@4;) - local.get 1 - i32.const 2048 - i32.lt_u - br_if 1 (;@3;) - local.get 2 - i32.const 12 - i32.add - local.set 3 - local.get 1 - i32.const 65536 - i32.ge_u - br_if 2 (;@2;) - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=14 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - i32.store8 offset=12 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - i32.const 3 - local.set 1 - br 3 (;@1;) - end - local.get 2 - local.get 1 - i32.store8 offset=12 - local.get 2 - i32.const 12 - i32.add - local.set 3 - i32.const 1 - local.set 1 - br 2 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - i32.store8 offset=12 - local.get 2 - i32.const 12 - i32.add - local.set 3 - i32.const 2 - local.set 1 - br 1 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=15 - local.get 2 - local.get 1 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.store8 offset=12 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=14 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - i32.const 4 - local.set 1 - end - local.get 0 - local.get 3 - local.get 1 - call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE - local.set 1 - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN4core3fmt5Write9write_fmt17h6f04c3f5d7115a7dE (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1054776 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17hb3f289137b2fd88fE (type 8) (param i32 i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - local.get 2 - call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h96c3b1b942e129b3E (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load - local.set 0 - local.get 2 - i32.const 0 - i32.store offset=12 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 1 - i32.const 128 - i32.lt_u - br_if 0 (;@4;) - local.get 1 - i32.const 2048 - i32.lt_u - br_if 1 (;@3;) - local.get 2 - i32.const 12 - i32.add - local.set 3 - local.get 1 - i32.const 65536 - i32.ge_u - br_if 2 (;@2;) - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=14 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - i32.store8 offset=12 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - i32.const 3 - local.set 1 - br 3 (;@1;) - end - local.get 2 - local.get 1 - i32.store8 offset=12 - local.get 2 - i32.const 12 - i32.add - local.set 3 - i32.const 1 - local.set 1 - br 2 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - i32.store8 offset=12 - local.get 2 - i32.const 12 - i32.add - local.set 3 - i32.const 2 - local.set 1 - br 1 (;@1;) - end - local.get 2 - local.get 1 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=15 - local.get 2 - local.get 1 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.store8 offset=12 - local.get 2 - local.get 1 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=14 - local.get 2 - local.get 1 - i32.const 12 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 offset=13 - i32.const 4 - local.set 1 - end - local.get 0 - local.get 3 - local.get 1 - call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE - local.set 1 - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hcaddaae78279c2cdE (type 3) (param i32 i32) (result i32) - (local i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 2 - local.get 0 - i32.load - i32.store offset=4 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - i32.const 4 - i32.add - i32.const 1054776 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17h74a61b11f6dc7b9dE (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 1 - i32.const 28 - i32.add - i32.load - local.set 3 - local.get 1 - i32.load offset=24 - local.set 1 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 0 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 0 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 0 - i64.load align=4 - i64.store offset=8 - local.get 1 - local.get 3 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 0 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E (type 13) (param i32 i32 i32 i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32) - block ;; label = @1 - block ;; label = @2 - local.get 1 - i32.eqz - br_if 0 (;@2;) - i32.const 43 - i32.const 1114112 - local.get 0 - i32.load - local.tee 6 - i32.const 1 - i32.and - local.tee 1 - select - local.set 7 - local.get 1 - local.get 5 - i32.add - local.set 8 - br 1 (;@1;) - end - local.get 5 - i32.const 1 - i32.add - local.set 8 - local.get 0 - i32.load - local.set 6 - i32.const 45 - local.set 7 - end - block ;; label = @1 - block ;; label = @2 - local.get 6 - i32.const 4 - i32.and - br_if 0 (;@2;) - i32.const 0 - local.set 2 - br 1 (;@1;) - end - i32.const 0 - local.set 9 - block ;; label = @2 - local.get 3 - i32.eqz - br_if 0 (;@2;) - local.get 3 - local.set 10 - local.get 2 - local.set 1 - loop ;; label = @3 - local.get 9 - local.get 1 - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.eq - i32.add - local.set 9 - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 10 - i32.const -1 - i32.add - local.tee 10 - br_if 0 (;@3;) - end - end - local.get 8 - local.get 3 - i32.add - local.get 9 - i32.sub - local.set 8 - end - i32.const 1 - local.set 1 - block ;; label = @1 - block ;; label = @2 - local.get 0 - i32.load offset=8 - i32.const 1 - i32.eq - br_if 0 (;@2;) - local.get 0 - local.get 7 - local.get 2 - local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E - br_if 1 (;@1;) - local.get 0 - i32.load offset=24 - local.get 4 - local.get 5 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 1 - br 1 (;@1;) - end - block ;; label = @2 - local.get 0 - i32.const 12 - i32.add - i32.load - local.tee 9 - local.get 8 - i32.gt_u - br_if 0 (;@2;) - local.get 0 - local.get 7 - local.get 2 - local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E - br_if 1 (;@1;) - local.get 0 - i32.load offset=24 - local.get 4 - local.get 5 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - return - end - block ;; label = @2 - block ;; label = @3 - local.get 6 - i32.const 8 - i32.and - br_if 0 (;@3;) - i32.const 0 - local.set 1 - local.get 9 - local.get 8 - i32.sub - local.tee 9 - local.set 8 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - i32.const 1 - local.get 0 - i32.load8_u offset=32 - local.tee 10 - local.get 10 - i32.const 3 - i32.eq - select - br_table 2 (;@4;) 1 (;@5;) 0 (;@6;) 1 (;@5;) 2 (;@4;) - end - local.get 9 - i32.const 1 - i32.shr_u - local.set 1 - local.get 9 - i32.const 1 - i32.add - i32.const 1 - i32.shr_u - local.set 8 - br 1 (;@4;) - end - i32.const 0 - local.set 8 - local.get 9 - local.set 1 - end - local.get 1 - i32.const 1 - i32.add - local.set 1 - loop ;; label = @4 - local.get 1 - i32.const -1 - i32.add - local.tee 1 - i32.eqz - br_if 2 (;@2;) - local.get 0 - i32.load offset=24 - local.get 0 - i32.load offset=4 - local.get 0 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@4;) - end - i32.const 1 - return - end - local.get 0 - i32.load offset=4 - local.set 6 - local.get 0 - i32.const 48 - i32.store offset=4 - local.get 0 - i32.load8_u offset=32 - local.set 11 - i32.const 1 - local.set 1 - local.get 0 - i32.const 1 - i32.store8 offset=32 - local.get 0 - local.get 7 - local.get 2 - local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E - br_if 1 (;@1;) - i32.const 0 - local.set 1 - local.get 9 - local.get 8 - i32.sub - local.tee 10 - local.set 3 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - i32.const 1 - local.get 0 - i32.load8_u offset=32 - local.tee 9 - local.get 9 - i32.const 3 - i32.eq - select - br_table 2 (;@3;) 1 (;@4;) 0 (;@5;) 1 (;@4;) 2 (;@3;) - end - local.get 10 - i32.const 1 - i32.shr_u - local.set 1 - local.get 10 - i32.const 1 - i32.add - i32.const 1 - i32.shr_u - local.set 3 - br 1 (;@3;) - end - i32.const 0 - local.set 3 - local.get 10 - local.set 1 - end - local.get 1 - i32.const 1 - i32.add - local.set 1 - block ;; label = @3 - loop ;; label = @4 - local.get 1 - i32.const -1 - i32.add - local.tee 1 - i32.eqz - br_if 1 (;@3;) - local.get 0 - i32.load offset=24 - local.get 0 - i32.load offset=4 - local.get 0 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@4;) - end - i32.const 1 - return - end - local.get 0 - i32.load offset=4 - local.set 10 - i32.const 1 - local.set 1 - local.get 0 - i32.load offset=24 - local.get 4 - local.get 5 - local.get 0 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@1;) - local.get 3 - i32.const 1 - i32.add - local.set 9 - local.get 0 - i32.load offset=28 - local.set 3 - local.get 0 - i32.load offset=24 - local.set 2 - block ;; label = @3 - loop ;; label = @4 - local.get 9 - i32.const -1 - i32.add - local.tee 9 - i32.eqz - br_if 1 (;@3;) - i32.const 1 - local.set 1 - local.get 2 - local.get 10 - local.get 3 - i32.load offset=16 - call_indirect (type 3) - br_if 3 (;@1;) - br 0 (;@4;) - end - end - local.get 0 - local.get 11 - i32.store8 offset=32 - local.get 0 - local.get 6 - i32.store offset=4 - i32.const 0 - return - end - local.get 0 - i32.load offset=4 - local.set 10 - i32.const 1 - local.set 1 - local.get 0 - local.get 7 - local.get 2 - local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E - br_if 0 (;@1;) - local.get 0 - i32.load offset=24 - local.get 4 - local.get 5 - local.get 0 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 8) - br_if 0 (;@1;) - local.get 8 - i32.const 1 - i32.add - local.set 9 - local.get 0 - i32.load offset=28 - local.set 3 - local.get 0 - i32.load offset=24 - local.set 0 - loop ;; label = @2 - block ;; label = @3 - local.get 9 - i32.const -1 - i32.add - local.tee 9 - br_if 0 (;@3;) - i32.const 0 - return - end - i32.const 1 - local.set 1 - local.get 0 - local.get 10 - local.get 3 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@2;) - end - end - local.get 1) - (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17habdb77b387a9ff26E (type 9) (param i32 i32 i32 i32) (result i32) - (local i32) - block ;; label = @1 - block ;; label = @2 - local.get 1 - i32.const 1114112 - i32.eq - br_if 0 (;@2;) - i32.const 1 - local.set 4 - local.get 0 - i32.load offset=24 - local.get 1 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=16 - call_indirect (type 3) - br_if 1 (;@1;) - end - block ;; label = @2 - local.get 2 - br_if 0 (;@2;) - i32.const 0 - return - end - local.get 0 - i32.load offset=24 - local.get 2 - local.get 3 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 4 - end - local.get 4) - (func $_ZN4core3fmt9Formatter9write_str17h545f61f492283d6dE (type 8) (param i32 i32 i32) (result i32) - local.get 0 - i32.load offset=24 - local.get 1 - local.get 2 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8)) - (func $_ZN4core3fmt9Formatter9write_fmt17hdee63efa69c306f6E (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.const 28 - i32.add - i32.load - local.set 3 - local.get 0 - i32.load offset=24 - local.set 0 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 - local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 0 - local.get 3 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hf78275652148e08fE - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set 0 - local.get 1) - (func $_ZN4core3fmt9Formatter15debug_lower_hex17hce81659868cce5baE (type 5) (param i32) (result i32) - local.get 0 - i32.load8_u - i32.const 16 - i32.and - i32.const 4 - i32.shr_u) - (func $_ZN4core3fmt9Formatter15debug_upper_hex17h19a78e2dfbd00c52E (type 5) (param i32) (result i32) - local.get 0 - i32.load8_u - i32.const 32 - i32.and - i32.const 5 - i32.shr_u) - (func $_ZN4core3fmt9Formatter11debug_tuple17hafbe9eaebee7e85bE (type 4) (param i32 i32 i32 i32) - local.get 0 - local.get 1 - i32.load offset=24 - local.get 2 - local.get 3 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - i32.store8 offset=8 - local.get 0 - local.get 1 - i32.store - local.get 0 - local.get 3 - i32.eqz - i32.store8 offset=9 - local.get 0 - i32.const 0 - i32.store offset=4) - (func $_ZN4core3fmt9Formatter10debug_list17haf359c45ea555102E (type 6) (param i32 i32) - (local i32) - local.get 1 - i32.load offset=24 - i32.const 1054515 - i32.const 1 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 2 - local.get 0 - i32.const 0 - i32.store8 offset=5 - local.get 0 - local.get 2 - i32.store8 offset=4 - local.get 0 - local.get 1 - i32.store) - (func $_ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17h10ad0684667415e1E (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load offset=24 - local.get 1 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=16 - call_indirect (type 3)) - (func $_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h7843956b8f6f7061E (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64) - global.get 0 - i32.const 32 - i32.sub - local.tee 3 - global.set 0 - i32.const 1 - local.set 4 - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.load offset=24 - i32.const 34 - local.get 2 - i32.const 28 - i32.add - i32.load - i32.load offset=16 - call_indirect (type 3) - br_if 0 (;@2;) - block ;; label = @3 - block ;; label = @4 - local.get 1 - br_if 0 (;@4;) - i32.const 0 - local.set 5 - br 1 (;@3;) - end - local.get 0 - local.get 1 - i32.add - local.set 6 - i32.const 0 - local.set 5 - local.get 0 - local.set 7 - i32.const 0 - local.set 8 - block ;; label = @4 - loop ;; label = @5 - local.get 7 - local.set 9 - local.get 7 - i32.const 1 - i32.add - local.set 10 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 7 - i32.load8_s - local.tee 11 - i32.const -1 - i32.gt_s - br_if 0 (;@8;) - block ;; label = @9 - block ;; label = @10 - local.get 10 - local.get 6 - i32.ne - br_if 0 (;@10;) - i32.const 0 - local.set 12 - local.get 6 - local.set 7 - br 1 (;@9;) - end - local.get 7 - i32.load8_u offset=1 - i32.const 63 - i32.and - local.set 12 - local.get 7 - i32.const 2 - i32.add - local.tee 10 - local.set 7 - end - local.get 11 - i32.const 31 - i32.and - local.set 4 - block ;; label = @9 - local.get 11 - i32.const 255 - i32.and - local.tee 11 - i32.const 223 - i32.gt_u - br_if 0 (;@9;) - local.get 12 - local.get 4 - i32.const 6 - i32.shl - i32.or - local.set 12 - br 2 (;@7;) - end - block ;; label = @9 - block ;; label = @10 - local.get 7 - local.get 6 - i32.ne - br_if 0 (;@10;) - i32.const 0 - local.set 13 - local.get 6 - local.set 14 - br 1 (;@9;) - end - local.get 7 - i32.load8_u - i32.const 63 - i32.and - local.set 13 - local.get 7 - i32.const 1 - i32.add - local.tee 10 - local.set 14 - end - local.get 13 - local.get 12 - i32.const 6 - i32.shl - i32.or - local.set 12 - block ;; label = @9 - local.get 11 - i32.const 240 - i32.ge_u - br_if 0 (;@9;) - local.get 12 - local.get 4 - i32.const 12 - i32.shl - i32.or - local.set 12 - br 2 (;@7;) - end - block ;; label = @9 - block ;; label = @10 - local.get 14 - local.get 6 - i32.ne - br_if 0 (;@10;) - i32.const 0 - local.set 11 - local.get 10 - local.set 7 - br 1 (;@9;) - end - local.get 14 - i32.const 1 - i32.add - local.set 7 - local.get 14 - i32.load8_u - i32.const 63 - i32.and - local.set 11 - end - local.get 12 - i32.const 6 - i32.shl - local.get 4 - i32.const 18 - i32.shl - i32.const 1835008 - i32.and - i32.or - local.get 11 - i32.or - local.tee 12 - i32.const 1114112 - i32.ne - br_if 2 (;@6;) - br 4 (;@4;) - end - local.get 11 - i32.const 255 - i32.and - local.set 12 - end - local.get 10 - local.set 7 - end - i32.const 2 - local.set 10 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 12 - i32.const -9 - i32.add - local.tee 11 - i32.const 30 - i32.le_u - br_if 0 (;@11;) - local.get 12 - i32.const 92 - i32.ne - br_if 1 (;@10;) - br 2 (;@9;) - end - i32.const 116 - local.set 14 - block ;; label = @11 - block ;; label = @12 - local.get 11 - br_table 5 (;@7;) 1 (;@11;) 2 (;@10;) 2 (;@10;) 0 (;@12;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 3 (;@9;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 2 (;@10;) 3 (;@9;) 5 (;@7;) - end - i32.const 114 - local.set 14 - br 4 (;@7;) - end - i32.const 110 - local.set 14 - br 3 (;@7;) - end - block ;; label = @10 - local.get 12 - call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E - br_if 0 (;@10;) - block ;; label = @11 - block ;; label = @12 - local.get 12 - i32.const 65536 - i32.lt_u - br_if 0 (;@12;) - local.get 12 - i32.const 131072 - i32.lt_u - br_if 1 (;@11;) - local.get 12 - i32.const -918000 - i32.add - i32.const 196112 - i32.lt_u - br_if 2 (;@10;) - local.get 12 - i32.const -201547 - i32.add - i32.const 716213 - i32.lt_u - br_if 2 (;@10;) - local.get 12 - i32.const -195102 - i32.add - i32.const 1506 - i32.lt_u - br_if 2 (;@10;) - local.get 12 - i32.const -191457 - i32.add - i32.const 3103 - i32.lt_u - br_if 2 (;@10;) - local.get 12 - i32.const -183970 - i32.add - i32.const 14 - i32.lt_u - br_if 2 (;@10;) - local.get 12 - i32.const 2097150 - i32.and - i32.const 178206 - i32.eq - br_if 2 (;@10;) - local.get 12 - i32.const -173790 - i32.add - i32.const 34 - i32.lt_u - br_if 2 (;@10;) - local.get 12 - i32.const -177973 - i32.add - i32.const 10 - i32.le_u - br_if 2 (;@10;) - br 6 (;@6;) - end - local.get 12 - i32.const 1055932 - i32.const 41 - i32.const 1056014 - i32.const 290 - i32.const 1056304 - i32.const 309 - call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E - i32.eqz - br_if 1 (;@10;) - br 5 (;@6;) - end - local.get 12 - i32.const 1056613 - i32.const 38 - i32.const 1056689 - i32.const 175 - i32.const 1056864 - i32.const 419 - call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E - br_if 4 (;@6;) - end - local.get 12 - i32.const 1 - i32.or - i32.clz - i32.const 2 - i32.shr_u - i32.const 7 - i32.xor - i64.extend_i32_u - i64.const 21474836480 - i64.or - local.set 15 - i32.const 3 - local.set 10 - br 1 (;@8;) - end - end - local.get 12 - local.set 14 - end - local.get 3 - local.get 1 - i32.store offset=4 - local.get 3 - local.get 0 - i32.store - local.get 3 - local.get 5 - i32.store offset=8 - local.get 3 - local.get 8 - i32.store offset=12 - block ;; label = @7 - block ;; label = @8 - local.get 8 - local.get 5 - i32.lt_u - br_if 0 (;@8;) - block ;; label = @9 - local.get 5 - i32.eqz - br_if 0 (;@9;) - local.get 5 - local.get 1 - i32.eq - br_if 0 (;@9;) - local.get 5 - local.get 1 - i32.ge_u - br_if 1 (;@8;) - local.get 0 - local.get 5 - i32.add - i32.load8_s - i32.const -65 - i32.le_s - br_if 1 (;@8;) - end - block ;; label = @9 - local.get 8 - i32.eqz - br_if 0 (;@9;) - local.get 8 - local.get 1 - i32.eq - br_if 0 (;@9;) - local.get 8 - local.get 1 - i32.ge_u - br_if 1 (;@8;) - local.get 0 - local.get 8 - i32.add - i32.load8_s - i32.const -65 - i32.le_s - br_if 1 (;@8;) - end - local.get 2 - i32.load offset=24 - local.get 0 - local.get 5 - i32.add - local.get 8 - local.get 5 - i32.sub - local.get 2 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 8) - i32.eqz - br_if 1 (;@7;) - i32.const 1 - local.set 4 - br 6 (;@2;) - end - local.get 3 - local.get 3 - i32.const 12 - i32.add - i32.store offset=24 - local.get 3 - local.get 3 - i32.const 8 - i32.add - i32.store offset=20 - local.get 3 - local.get 3 - i32.store offset=16 - local.get 3 - i32.const 16 - i32.add - call $_ZN4core3str6traits101_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..Range$LT$usize$GT$$GT$5index28_$u7b$$u7b$closure$u7d$$u7d$17hff5efd4ea80ffcf2E - unreachable - end - loop ;; label = @7 - local.get 10 - local.set 11 - i32.const 1 - local.set 4 - i32.const 92 - local.set 5 - i32.const 1 - local.set 10 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - local.get 11 - br_table 2 (;@11;) 1 (;@12;) 5 (;@8;) 0 (;@13;) 2 (;@11;) - end - block ;; label = @13 - block ;; label = @14 - block ;; label = @15 - block ;; label = @16 - local.get 15 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 255 - i32.and - br_table 5 (;@11;) 3 (;@13;) 2 (;@14;) 1 (;@15;) 0 (;@16;) 6 (;@10;) 5 (;@11;) - end - local.get 15 - i64.const -1095216660481 - i64.and - i64.const 12884901888 - i64.or - local.set 15 - i32.const 3 - local.set 10 - i32.const 117 - local.set 5 - br 7 (;@8;) - end - local.get 15 - i64.const -1095216660481 - i64.and - i64.const 8589934592 - i64.or - local.set 15 - i32.const 3 - local.set 10 - i32.const 123 - local.set 5 - br 6 (;@8;) - end - local.get 14 - local.get 15 - i32.wrap_i64 - local.tee 11 - i32.const 2 - i32.shl - i32.const 28 - i32.and - i32.shr_u - i32.const 15 - i32.and - local.tee 10 - i32.const 48 - i32.or - local.get 10 - i32.const 87 - i32.add - local.get 10 - i32.const 10 - i32.lt_u - select - local.set 5 - block ;; label = @14 - local.get 11 - i32.eqz - br_if 0 (;@14;) - local.get 15 - i64.const -1 - i64.add - i64.const 4294967295 - i64.and - local.get 15 - i64.const -4294967296 - i64.and - i64.or - local.set 15 - br 5 (;@9;) - end - local.get 15 - i64.const -1095216660481 - i64.and - i64.const 4294967296 - i64.or - local.set 15 - br 4 (;@9;) - end - local.get 15 - i64.const -1095216660481 - i64.and - local.set 15 - i32.const 3 - local.set 10 - i32.const 125 - local.set 5 - br 4 (;@8;) - end - i32.const 0 - local.set 10 - local.get 14 - local.set 5 - br 3 (;@8;) - end - i32.const 1 - local.set 10 - block ;; label = @11 - local.get 12 - i32.const 128 - i32.lt_u - br_if 0 (;@11;) - i32.const 2 - local.set 10 - local.get 12 - i32.const 2048 - i32.lt_u - br_if 0 (;@11;) - i32.const 3 - i32.const 4 - local.get 12 - i32.const 65536 - i32.lt_u - select - local.set 10 - end - local.get 10 - local.get 8 - i32.add - local.set 5 - br 4 (;@6;) - end - local.get 15 - i64.const -1095216660481 - i64.and - i64.const 17179869184 - i64.or - local.set 15 - end - i32.const 3 - local.set 10 - end - local.get 2 - i32.load offset=24 - local.get 5 - local.get 2 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@7;) - br 5 (;@2;) - end - end - local.get 8 - local.get 9 - i32.sub - local.get 7 - i32.add - local.set 8 - local.get 6 - local.get 7 - i32.ne - br_if 0 (;@5;) - end - end - local.get 5 - i32.eqz - br_if 0 (;@3;) - local.get 5 - local.get 1 - i32.eq - br_if 0 (;@3;) - local.get 5 - local.get 1 - i32.ge_u - br_if 2 (;@1;) - local.get 0 - local.get 5 - i32.add - i32.load8_s - i32.const -65 - i32.le_s - br_if 2 (;@1;) - end - i32.const 1 - local.set 4 - local.get 2 - i32.load offset=24 - local.get 0 - local.get 5 - i32.add - local.get 1 - local.get 5 - i32.sub - local.get 2 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 8) - br_if 0 (;@2;) - local.get 2 - i32.load offset=24 - i32.const 34 - local.get 2 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - local.set 4 - end - local.get 3 - i32.const 32 - i32.add - global.set 0 - local.get 4 - return - end - local.get 0 - local.get 1 - local.get 5 - local.get 1 - i32.const 1055628 - call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E - unreachable) - (func $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E (type 5) (param i32) (result i32) - (local i32 i32 i32 i32) - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - i32.const 0 - i32.const 15 - local.get 0 - i32.const 68900 - i32.lt_u - select - local.tee 1 - local.get 1 - i32.const 8 - i32.add - local.tee 1 - local.get 1 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 11 - i32.shl - local.get 0 - i32.const 11 - i32.shl - local.tee 1 - i32.gt_u - select - local.tee 2 - local.get 2 - i32.const 4 - i32.add - local.tee 2 - local.get 2 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 11 - i32.shl - local.get 1 - i32.gt_u - select - local.tee 2 - local.get 2 - i32.const 2 - i32.add - local.tee 2 - local.get 2 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 11 - i32.shl - local.get 1 - i32.gt_u - select - local.tee 2 - local.get 2 - i32.const 1 - i32.add - local.tee 2 - local.get 2 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 11 - i32.shl - local.get 1 - i32.gt_u - select - local.tee 2 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 11 - i32.shl - local.tee 3 - local.get 1 - i32.eq - local.get 3 - local.get 1 - i32.lt_u - i32.add - local.get 2 - i32.add - local.tee 1 - i32.const 30 - i32.gt_u - br_if 0 (;@3;) - i32.const 689 - local.set 3 - block ;; label = @4 - local.get 1 - i32.const 30 - i32.eq - br_if 0 (;@4;) - local.get 1 - i32.const 2 - i32.shl - i32.const 1057444 - i32.add - i32.load - i32.const 21 - i32.shr_u - local.set 3 - end - i32.const 0 - local.set 2 - block ;; label = @4 - local.get 1 - i32.const -1 - i32.add - local.tee 4 - local.get 1 - i32.gt_u - br_if 0 (;@4;) - local.get 4 - i32.const 31 - i32.ge_u - br_if 3 (;@1;) - local.get 4 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 2097151 - i32.and - local.set 2 - end - block ;; label = @4 - local.get 3 - local.get 1 - i32.const 2 - i32.shl - i32.const 1057440 - i32.add - i32.load - i32.const 21 - i32.shr_u - local.tee 1 - i32.const 1 - i32.add - i32.eq - br_if 0 (;@4;) - local.get 0 - local.get 2 - i32.sub - local.set 2 - local.get 3 - i32.const -1 - i32.add - local.set 3 - i32.const 0 - local.set 0 - loop ;; label = @5 - local.get 1 - i32.const 688 - i32.gt_u - br_if 3 (;@2;) - local.get 0 - local.get 1 - i32.const 1057564 - i32.add - i32.load8_u - i32.add - local.tee 0 - local.get 2 - i32.gt_u - br_if 1 (;@4;) - local.get 3 - local.get 1 - i32.const 1 - i32.add - local.tee 1 - i32.ne - br_if 0 (;@5;) - end - local.get 3 - local.set 1 - end - local.get 1 - i32.const 1 - i32.and - return - end - local.get 1 - i32.const 31 - i32.const 1057320 - call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE - unreachable - end - local.get 1 - i32.const 689 - i32.const 1057336 - call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE - unreachable - end - local.get 4 - i32.const 31 - i32.const 1057352 - call $_ZN4core9panicking18panic_bounds_check17h66b04f407ccd9a1eE - unreachable) - (func $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E (type 14) (param i32 i32 i32 i32 i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32) - i32.const 1 - local.set 7 - block ;; label = @1 - block ;; label = @2 - local.get 2 - i32.eqz - br_if 0 (;@2;) - local.get 1 - local.get 2 - i32.const 1 - i32.shl - i32.add - local.set 8 - local.get 0 - i32.const 65280 - i32.and - i32.const 8 - i32.shr_u - local.set 9 - i32.const 0 - local.set 10 - local.get 0 - i32.const 255 - i32.and - local.set 11 - block ;; label = @3 - loop ;; label = @4 - local.get 1 - i32.const 2 - i32.add - local.set 12 - local.get 10 - local.get 1 - i32.load8_u offset=1 - local.tee 2 - i32.add - local.set 13 - block ;; label = @5 - local.get 1 - i32.load8_u - local.tee 1 - local.get 9 - i32.eq - br_if 0 (;@5;) - local.get 1 - local.get 9 - i32.gt_u - br_if 3 (;@2;) - local.get 13 - local.set 10 - local.get 12 - local.set 1 - local.get 12 - local.get 8 - i32.ne - br_if 1 (;@4;) - br 3 (;@2;) - end - block ;; label = @5 - local.get 13 - local.get 10 - i32.lt_u - br_if 0 (;@5;) - local.get 13 - local.get 4 - i32.gt_u - br_if 2 (;@3;) - local.get 3 - local.get 10 - i32.add - local.set 1 - block ;; label = @6 - loop ;; label = @7 - local.get 2 - i32.eqz - br_if 1 (;@6;) - local.get 2 - i32.const -1 - i32.add - local.set 2 - local.get 1 - i32.load8_u - local.set 10 - local.get 1 - i32.const 1 - i32.add - local.set 1 - local.get 10 - local.get 11 - i32.ne - br_if 0 (;@7;) - end - i32.const 0 - local.set 7 - br 5 (;@1;) - end - local.get 13 - local.set 10 - local.get 12 - local.set 1 - local.get 12 - local.get 8 - i32.ne - br_if 1 (;@4;) - br 3 (;@2;) - end - end - local.get 10 - local.get 13 - i32.const 1055900 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 13 - local.get 4 - i32.const 1055900 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 6 - i32.eqz - br_if 0 (;@1;) - local.get 5 - local.get 6 - i32.add - local.set 11 - local.get 0 - i32.const 65535 - i32.and - local.set 1 - i32.const 1 - local.set 7 - block ;; label = @2 - loop ;; label = @3 - local.get 5 - i32.const 1 - i32.add - local.set 10 - block ;; label = @4 - block ;; label = @5 - local.get 5 - i32.load8_u - local.tee 2 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.tee 13 - i32.const 0 - i32.lt_s - br_if 0 (;@5;) - local.get 10 - local.set 5 - br 1 (;@4;) - end - local.get 10 - local.get 11 - i32.eq - br_if 2 (;@2;) - local.get 13 - i32.const 127 - i32.and - i32.const 8 - i32.shl - local.get 5 - i32.load8_u offset=1 - i32.or - local.set 2 - local.get 5 - i32.const 2 - i32.add - local.set 5 - end - local.get 1 - local.get 2 - i32.sub - local.tee 1 - i32.const 0 - i32.lt_s - br_if 2 (;@1;) - local.get 7 - i32.const 1 - i32.xor - local.set 7 - local.get 5 - local.get 11 - i32.ne - br_if 0 (;@3;) - br 2 (;@1;) - end - end - i32.const 1054285 - i32.const 43 - i32.const 1055916 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 7 - i32.const 1 - i32.and) - (func $_ZN4core3str6traits101_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..Range$LT$usize$GT$$GT$5index28_$u7b$$u7b$closure$u7d$$u7d$17hff5efd4ea80ffcf2E (type 1) (param i32) - (local i32) - local.get 0 - i32.load - local.tee 1 - i32.load - local.get 1 - i32.load offset=4 - local.get 0 - i32.load offset=4 - i32.load - local.get 0 - i32.load offset=8 - i32.load - i32.const 1055596 - call $_ZN4core3str16slice_error_fail17he0dcaa8f825738e6E - unreachable) - (func $_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h0d142c565b9fed95E (type 8) (param i32 i32 i32) (result i32) - local.get 2 - local.get 0 - local.get 1 - call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E) - (func $_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h3e5fc21d5d0a9a89E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i64) - i32.const 1 - local.set 2 - block ;; label = @1 - local.get 1 - i32.load offset=24 - i32.const 39 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=16 - call_indirect (type 3) - br_if 0 (;@1;) - i32.const 2 - local.set 3 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - local.get 0 - i32.load - local.tee 0 - i32.const -9 - i32.add - local.tee 4 - i32.const 30 - i32.le_u - br_if 0 (;@6;) - local.get 0 - i32.const 92 - i32.ne - br_if 1 (;@5;) - br 2 (;@4;) - end - i32.const 116 - local.set 5 - block ;; label = @6 - block ;; label = @7 - local.get 4 - br_table 5 (;@2;) 1 (;@6;) 2 (;@5;) 2 (;@5;) 0 (;@7;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 3 (;@4;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 2 (;@5;) 3 (;@4;) 5 (;@2;) - end - i32.const 114 - local.set 5 - br 4 (;@2;) - end - i32.const 110 - local.set 5 - br 3 (;@2;) - end - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - local.get 0 - call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17h4933ac236810a5b5E - br_if 0 (;@7;) - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - local.get 0 - i32.const 65536 - i32.lt_u - br_if 0 (;@10;) - local.get 0 - i32.const 131072 - i32.lt_u - br_if 1 (;@9;) - local.get 0 - i32.const -918000 - i32.add - i32.const 196112 - i32.lt_u - br_if 2 (;@8;) - local.get 0 - i32.const -201547 - i32.add - i32.const 716213 - i32.lt_u - br_if 2 (;@8;) - local.get 0 - i32.const -195102 - i32.add - i32.const 1506 - i32.lt_u - br_if 2 (;@8;) - local.get 0 - i32.const -191457 - i32.add - i32.const 3103 - i32.lt_u - br_if 2 (;@8;) - local.get 0 - i32.const -183970 - i32.add - i32.const 14 - i32.lt_u - br_if 2 (;@8;) - local.get 0 - i32.const 2097150 - i32.and - i32.const 178206 - i32.eq - br_if 2 (;@8;) - local.get 0 - i32.const -173790 - i32.add - i32.const 34 - i32.lt_u - br_if 2 (;@8;) - local.get 0 - i32.const -177973 - i32.add - i32.const 10 - i32.gt_u - br_if 5 (;@5;) - br 2 (;@8;) - end - local.get 0 - i32.const 1055932 - i32.const 41 - i32.const 1056014 - i32.const 290 - i32.const 1056304 - i32.const 309 - call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E - i32.eqz - br_if 1 (;@8;) - br 4 (;@5;) - end - local.get 0 - i32.const 1056613 - i32.const 38 - i32.const 1056689 - i32.const 175 - i32.const 1056864 - i32.const 419 - call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E - br_if 3 (;@5;) - end - local.get 0 - i32.const 1 - i32.or - i32.clz - i32.const 2 - i32.shr_u - i32.const 7 - i32.xor - i64.extend_i32_u - i64.const 21474836480 - i64.or - local.set 6 - br 1 (;@6;) - end - local.get 0 - i32.const 1 - i32.or - i32.clz - i32.const 2 - i32.shr_u - i32.const 7 - i32.xor - i64.extend_i32_u - i64.const 21474836480 - i64.or - local.set 6 - end - i32.const 3 - local.set 3 - br 2 (;@3;) - end - i32.const 1 - local.set 3 - br 1 (;@3;) - end - end - local.get 0 - local.set 5 - end - loop ;; label = @2 - local.get 3 - local.set 4 - i32.const 92 - local.set 0 - i32.const 1 - local.set 2 - i32.const 1 - local.set 3 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 4 - br_table 2 (;@6;) 1 (;@7;) 5 (;@3;) 0 (;@8;) 2 (;@6;) - end - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 6 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 255 - i32.and - br_table 5 (;@6;) 3 (;@8;) 2 (;@9;) 1 (;@10;) 0 (;@11;) 6 (;@5;) 5 (;@6;) - end - local.get 6 - i64.const -1095216660481 - i64.and - i64.const 12884901888 - i64.or - local.set 6 - i32.const 117 - local.set 0 - br 6 (;@4;) - end - local.get 6 - i64.const -1095216660481 - i64.and - i64.const 8589934592 - i64.or - local.set 6 - i32.const 123 - local.set 0 - br 5 (;@4;) - end - local.get 5 - local.get 6 - i32.wrap_i64 - local.tee 4 - i32.const 2 - i32.shl - i32.const 28 - i32.and - i32.shr_u - i32.const 15 - i32.and - local.tee 3 - i32.const 48 - i32.or - local.get 3 - i32.const 87 - i32.add - local.get 3 - i32.const 10 - i32.lt_u - select - local.set 0 - block ;; label = @9 - local.get 4 - i32.eqz - br_if 0 (;@9;) - local.get 6 - i64.const -1 - i64.add - i64.const 4294967295 - i64.and - local.get 6 - i64.const -4294967296 - i64.and - i64.or - local.set 6 - br 5 (;@4;) - end - local.get 6 - i64.const -1095216660481 - i64.and - i64.const 4294967296 - i64.or - local.set 6 - br 4 (;@4;) - end - local.get 6 - i64.const -1095216660481 - i64.and - local.set 6 - i32.const 125 - local.set 0 - br 3 (;@4;) - end - i32.const 0 - local.set 3 - local.get 5 - local.set 0 - br 3 (;@3;) - end - local.get 1 - i32.load offset=24 - i32.const 39 - local.get 1 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - return - end - local.get 6 - i64.const -1095216660481 - i64.and - i64.const 17179869184 - i64.or - local.set 6 - end - i32.const 3 - local.set 3 - end - local.get 1 - i32.load offset=24 - local.get 0 - local.get 1 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - i32.eqz - br_if 0 (;@2;) - end - end - local.get 2) - (func $_ZN4core5slice6memchr7memrchr17h4b8437429e29ecf5E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32) - local.get 3 - i32.const 0 - local.get 3 - i32.const 4 - local.get 2 - i32.const 3 - i32.and - local.tee 4 - i32.sub - i32.const 0 - local.get 4 - select - local.tee 5 - i32.sub - i32.const 7 - i32.and - local.get 3 - local.get 5 - i32.lt_u - local.tee 6 - select - local.tee 4 - i32.sub - local.set 7 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 3 - local.get 4 - i32.lt_u - br_if 0 (;@4;) - local.get 3 - local.get 5 - local.get 6 - select - local.set 8 - local.get 2 - local.get 7 - i32.add - local.get 2 - local.get 3 - i32.add - local.tee 5 - i32.sub - local.set 6 - local.get 5 - i32.const -1 - i32.add - local.set 5 - local.get 1 - i32.const 255 - i32.and - local.set 9 - block ;; label = @5 - loop ;; label = @6 - local.get 4 - i32.eqz - br_if 1 (;@5;) - local.get 6 - i32.const 1 - i32.add - local.set 6 - local.get 4 - i32.const -1 - i32.add - local.set 4 - local.get 5 - i32.load8_u - local.set 10 - local.get 5 - i32.const -1 - i32.add - local.set 5 - local.get 10 - local.get 9 - i32.ne - br_if 0 (;@6;) - end - local.get 7 - local.get 6 - i32.sub - local.set 4 - br 3 (;@2;) - end - local.get 1 - i32.const 255 - i32.and - i32.const 16843009 - i32.mul - local.set 5 - block ;; label = @5 - loop ;; label = @6 - local.get 7 - local.tee 4 - local.get 8 - i32.le_u - br_if 1 (;@5;) - local.get 4 - i32.const -8 - i32.add - local.set 7 - local.get 2 - local.get 4 - i32.add - local.tee 6 - i32.const -4 - i32.add - i32.load - local.get 5 - i32.xor - local.tee 10 - i32.const -1 - i32.xor - local.get 10 - i32.const -16843009 - i32.add - i32.and - local.get 6 - i32.const -8 - i32.add - i32.load - local.get 5 - i32.xor - local.tee 6 - i32.const -1 - i32.xor - local.get 6 - i32.const -16843009 - i32.add - i32.and - i32.or - i32.const -2139062144 - i32.and - i32.eqz - br_if 0 (;@6;) - end - end - local.get 4 - local.get 3 - i32.gt_u - br_if 1 (;@3;) - local.get 2 - i32.const -1 - i32.add - local.set 6 - local.get 1 - i32.const 255 - i32.and - local.set 10 - loop ;; label = @5 - block ;; label = @6 - local.get 4 - br_if 0 (;@6;) - i32.const 0 - local.set 5 - br 5 (;@1;) - end - local.get 6 - local.get 4 - i32.add - local.set 5 - local.get 4 - i32.const -1 - i32.add - local.set 4 - local.get 5 - i32.load8_u - local.get 10 - i32.eq - br_if 3 (;@2;) - br 0 (;@5;) - end - end - local.get 7 - local.get 3 - i32.const 1054900 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 4 - local.get 3 - i32.const 1054916 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - i32.const 1 - local.set 5 - end - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 5 - i32.store) - (func $_ZN4core5slice25slice_index_overflow_fail17h55e360d291e497e5E (type 1) (param i32) - i32.const 1055040 - i32.const 44 - local.get 0 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable) - (func $_ZN4core3str5lossy9Utf8Lossy10from_bytes17ha2425d52cb87229aE (type 7) (param i32 i32 i32) - local.get 0 - local.get 2 - i32.store offset=4 - local.get 0 - local.get 1 - i32.store) - (func $_ZN4core3str5lossy9Utf8Lossy6chunks17h8921da9536869963E (type 7) (param i32 i32 i32) - local.get 0 - local.get 2 - i32.store offset=4 - local.get 0 - local.get 1 - i32.store) - (func $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E (type 6) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - block ;; label = @1 - local.get 1 - i32.load offset=4 - local.tee 2 - i32.eqz - br_if 0 (;@1;) - local.get 1 - i32.load - local.set 3 - i32.const 0 - local.set 4 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - block ;; label = @14 - block ;; label = @15 - block ;; label = @16 - block ;; label = @17 - block ;; label = @18 - loop ;; label = @19 - local.get 4 - i32.const 1 - i32.add - local.set 5 - block ;; label = @20 - block ;; label = @21 - local.get 3 - local.get 4 - i32.add - local.tee 6 - i32.load8_u - local.tee 7 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.tee 8 - i32.const -1 - i32.le_s - br_if 0 (;@21;) - local.get 5 - local.set 4 - br 1 (;@20;) - end - block ;; label = @21 - block ;; label = @22 - block ;; label = @23 - block ;; label = @24 - local.get 7 - i32.const 1055338 - i32.add - i32.load8_u - i32.const -2 - i32.add - local.tee 9 - i32.const 2 - i32.gt_u - br_if 0 (;@24;) - local.get 9 - br_table 1 (;@23;) 2 (;@22;) 3 (;@21;) 1 (;@23;) - end - local.get 2 - local.get 4 - i32.lt_u - br_if 7 (;@16;) - local.get 2 - local.get 4 - i32.le_u - br_if 8 (;@15;) - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 1 - local.get 3 - local.get 5 - i32.add - i32.store - local.get 0 - i32.const 12 - i32.add - i32.const 1 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - block ;; label = @23 - local.get 3 - local.get 5 - i32.add - local.tee 8 - i32.const 0 - local.get 2 - local.get 5 - i32.gt_u - select - local.tee 7 - i32.const 1054249 - local.get 7 - select - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.ne - br_if 0 (;@23;) - local.get 4 - i32.const 2 - i32.add - local.set 4 - br 3 (;@20;) - end - local.get 2 - local.get 4 - i32.lt_u - br_if 8 (;@14;) - local.get 2 - local.get 4 - i32.le_u - br_if 9 (;@13;) - local.get 1 - local.get 8 - i32.store - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 0 - i32.const 12 - i32.add - i32.const 1 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - local.get 3 - local.get 5 - i32.add - local.tee 10 - i32.const 0 - local.get 2 - local.get 5 - i32.gt_u - select - local.tee 9 - i32.const 1054249 - local.get 9 - select - i32.load8_u - local.set 9 - block ;; label = @22 - block ;; label = @23 - local.get 7 - i32.const -224 - i32.add - local.tee 7 - i32.const 13 - i32.gt_u - br_if 0 (;@23;) - block ;; label = @24 - block ;; label = @25 - local.get 7 - br_table 0 (;@25;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 2 (;@23;) 1 (;@24;) 0 (;@25;) - end - local.get 9 - i32.const 224 - i32.and - i32.const 160 - i32.eq - br_if 2 (;@22;) - br 22 (;@2;) - end - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.gt_s - br_if 21 (;@2;) - local.get 9 - i32.const 255 - i32.and - i32.const 160 - i32.ge_u - br_if 21 (;@2;) - br 1 (;@22;) - end - block ;; label = @23 - local.get 8 - i32.const 31 - i32.add - i32.const 255 - i32.and - i32.const 11 - i32.gt_u - br_if 0 (;@23;) - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.gt_s - br_if 21 (;@2;) - local.get 9 - i32.const 255 - i32.and - i32.const 192 - i32.ge_u - br_if 21 (;@2;) - br 1 (;@22;) - end - local.get 9 - i32.const 255 - i32.and - i32.const 191 - i32.gt_u - br_if 20 (;@2;) - local.get 8 - i32.const 254 - i32.and - i32.const 238 - i32.ne - br_if 20 (;@2;) - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.gt_s - br_if 20 (;@2;) - end - block ;; label = @22 - local.get 3 - local.get 4 - i32.const 2 - i32.add - local.tee 5 - i32.add - local.tee 8 - i32.const 0 - local.get 2 - local.get 5 - i32.gt_u - select - local.tee 7 - i32.const 1054249 - local.get 7 - select - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.ne - br_if 0 (;@22;) - local.get 4 - i32.const 3 - i32.add - local.set 4 - br 2 (;@20;) - end - local.get 2 - local.get 4 - i32.lt_u - br_if 9 (;@12;) - local.get 4 - i32.const -3 - i32.gt_u - br_if 10 (;@11;) - local.get 2 - local.get 5 - i32.lt_u - br_if 11 (;@10;) - local.get 1 - local.get 8 - i32.store - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 0 - i32.const 12 - i32.add - i32.const 2 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - local.get 3 - local.get 5 - i32.add - local.tee 10 - i32.const 0 - local.get 2 - local.get 5 - i32.gt_u - select - local.tee 9 - i32.const 1054249 - local.get 9 - select - i32.load8_u - local.set 9 - block ;; label = @21 - block ;; label = @22 - local.get 7 - i32.const -240 - i32.add - local.tee 7 - i32.const 4 - i32.gt_u - br_if 0 (;@22;) - block ;; label = @23 - block ;; label = @24 - local.get 7 - br_table 0 (;@24;) 2 (;@22;) 2 (;@22;) 2 (;@22;) 1 (;@23;) 0 (;@24;) - end - local.get 9 - i32.const 112 - i32.add - i32.const 255 - i32.and - i32.const 48 - i32.lt_u - br_if 2 (;@21;) - br 20 (;@3;) - end - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.gt_s - br_if 19 (;@3;) - local.get 9 - i32.const 255 - i32.and - i32.const 144 - i32.ge_u - br_if 19 (;@3;) - br 1 (;@21;) - end - local.get 9 - i32.const 255 - i32.and - i32.const 191 - i32.gt_u - br_if 18 (;@3;) - local.get 8 - i32.const 15 - i32.add - i32.const 255 - i32.and - i32.const 2 - i32.gt_u - br_if 18 (;@3;) - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.gt_s - br_if 18 (;@3;) - end - local.get 3 - local.get 4 - i32.const 2 - i32.add - local.tee 5 - i32.add - local.tee 8 - i32.const 0 - local.get 2 - local.get 5 - i32.gt_u - select - local.tee 7 - i32.const 1054249 - local.get 7 - select - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.ne - br_if 2 (;@18;) - local.get 3 - local.get 4 - i32.const 3 - i32.add - local.tee 5 - i32.add - local.tee 8 - i32.const 0 - local.get 2 - local.get 5 - i32.gt_u - select - local.tee 7 - i32.const 1054249 - local.get 7 - select - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.ne - br_if 3 (;@17;) - local.get 4 - i32.const 4 - i32.add - local.set 4 - end - local.get 4 - local.get 2 - i32.lt_u - br_if 0 (;@19;) - end - local.get 1 - i32.const 0 - i32.store offset=4 - local.get 1 - i32.const 1054248 - i32.store - local.get 0 - local.get 2 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 0 - i32.const 12 - i32.add - i32.const 0 - i32.store - local.get 0 - i32.const 8 - i32.add - i32.const 1054248 - i32.store - return - end - local.get 2 - local.get 4 - i32.lt_u - br_if 8 (;@9;) - local.get 4 - i32.const -3 - i32.gt_u - br_if 9 (;@8;) - local.get 2 - local.get 5 - i32.lt_u - br_if 10 (;@7;) - local.get 1 - local.get 8 - i32.store - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 0 - i32.const 12 - i32.add - i32.const 2 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - local.get 2 - local.get 4 - i32.lt_u - br_if 10 (;@6;) - local.get 4 - i32.const -4 - i32.gt_u - br_if 11 (;@5;) - local.get 2 - local.get 5 - i32.lt_u - br_if 12 (;@4;) - local.get 1 - local.get 8 - i32.store - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 0 - i32.const 12 - i32.add - i32.const 3 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - local.get 4 - local.get 2 - i32.const 1055152 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 5 - local.get 2 - i32.const 1055152 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 2 - i32.const 1055248 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 5 - local.get 2 - i32.const 1055248 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 2 - i32.const 1055216 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 5 - i32.const 1055216 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 5 - local.get 2 - i32.const 1055216 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 2 - i32.const 1055168 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 5 - i32.const 1055168 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 5 - local.get 2 - i32.const 1055168 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 2 - i32.const 1055184 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 4 - local.get 5 - i32.const 1055184 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 5 - local.get 2 - i32.const 1055184 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - block ;; label = @3 - block ;; label = @4 - local.get 2 - local.get 4 - i32.lt_u - br_if 0 (;@4;) - local.get 2 - local.get 4 - i32.le_u - br_if 1 (;@3;) - local.get 1 - local.get 10 - i32.store - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 0 - i32.const 12 - i32.add - i32.const 1 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - local.get 4 - local.get 2 - i32.const 1055200 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 5 - local.get 2 - i32.const 1055200 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - block ;; label = @2 - block ;; label = @3 - local.get 2 - local.get 4 - i32.lt_u - br_if 0 (;@3;) - local.get 2 - local.get 4 - i32.le_u - br_if 1 (;@2;) - local.get 1 - local.get 10 - i32.store - local.get 0 - local.get 4 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store - local.get 1 - local.get 2 - local.get 5 - i32.sub - i32.store offset=4 - local.get 0 - i32.const 12 - i32.add - i32.const 1 - i32.store - local.get 0 - i32.const 8 - i32.add - local.get 6 - i32.store - return - end - local.get 4 - local.get 2 - i32.const 1055232 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 5 - local.get 2 - i32.const 1055232 - call $_ZN4core5slice20slice_index_len_fail17h23d670b14a68e871E - unreachable - end - local.get 0 - i32.const 0 - i32.store) - (func $_ZN66_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$3fmt17hb03f341134eb2e55E (type 8) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32) - global.get 0 - i32.const 32 - i32.sub - local.tee 3 - global.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 1 - i32.eqz - br_if 0 (;@3;) - local.get 3 - local.get 1 - i32.store offset=12 - local.get 3 - local.get 0 - i32.store offset=8 - local.get 3 - i32.const 16 - i32.add - local.get 3 - i32.const 8 - i32.add - call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E - block ;; label = @4 - local.get 3 - i32.load offset=16 - local.tee 0 - i32.eqz - br_if 0 (;@4;) - loop ;; label = @5 - local.get 3 - i32.load offset=28 - local.set 4 - local.get 3 - i32.load offset=20 - local.tee 5 - local.get 1 - i32.eq - br_if 3 (;@2;) - i32.const 1 - local.set 6 - local.get 2 - i32.load offset=24 - local.get 0 - local.get 5 - local.get 2 - i32.load offset=28 - i32.load offset=12 - call_indirect (type 8) - br_if 4 (;@1;) - block ;; label = @6 - local.get 4 - i32.eqz - br_if 0 (;@6;) - local.get 2 - i32.load offset=24 - i32.const 65533 - local.get 2 - i32.load offset=28 - i32.load offset=16 - call_indirect (type 3) - br_if 5 (;@1;) - end - local.get 3 - i32.const 16 - i32.add - local.get 3 - i32.const 8 - i32.add - call $_ZN96_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h98d561145d1e4712E - local.get 3 - i32.load offset=16 - local.tee 0 - br_if 0 (;@5;) - end - end - i32.const 0 - local.set 6 - br 2 (;@1;) - end - local.get 2 - i32.const 1054248 - i32.const 0 - call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E - local.set 6 - br 1 (;@1;) - end - block ;; label = @2 - local.get 4 - br_if 0 (;@2;) - local.get 2 - local.get 0 - local.get 1 - call $_ZN4core3fmt9Formatter3pad17h5d1a27371f812187E - local.set 6 - br 1 (;@1;) - end - i32.const 1055264 - i32.const 35 - i32.const 1055300 - call $_ZN4core9panicking5panic17he0bb7a4a857bed0cE - unreachable - end - local.get 3 - i32.const 32 - i32.add - global.set 0 - local.get 6) - (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i8$GT$3fmt17h520fc9cf30ca6ce8E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 128 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load8_u - local.set 3 - i32.const 0 - local.set 0 - loop ;; label = @1 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 3 - i32.const 15 - i32.and - local.tee 4 - i32.const 48 - i32.or - local.get 4 - i32.const 87 - i32.add - local.get 4 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 3 - i32.const 4 - i32.shr_u - i32.const 15 - i32.and - local.tee 3 - br_if 0 (;@1;) - end - block ;; label = @1 - local.get 0 - i32.const 128 - i32.add - local.tee 3 - i32.const 129 - i32.lt_u - br_if 0 (;@1;) - local.get 3 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - local.get 2 - i32.const 128 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core3str9from_utf817h4147d06a7789f81eE (type 7) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i64 i32 i64) - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - local.get 2 - i32.eqz - br_if 0 (;@4;) - i32.const 0 - local.get 1 - i32.sub - i32.const 0 - local.get 1 - i32.const 3 - i32.and - select - local.set 3 - i32.const 0 - local.get 2 - i32.const -7 - i32.add - local.tee 4 - local.get 4 - local.get 2 - i32.gt_u - select - local.set 5 - i32.const 0 - local.set 4 - loop ;; label = @5 - block ;; label = @6 - block ;; label = @7 - local.get 1 - local.get 4 - i32.add - i32.load8_u - local.tee 6 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.tee 7 - i32.const -1 - i32.gt_s - br_if 0 (;@7;) - i64.const 1099511627776 - local.set 8 - block ;; label = @8 - local.get 6 - i32.const 1055338 - i32.add - i32.load8_u - i32.const -2 - i32.add - local.tee 9 - i32.const 2 - i32.le_u - br_if 0 (;@8;) - i64.const 4294967296 - local.set 10 - br 7 (;@1;) - end - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - block ;; label = @12 - local.get 9 - br_table 0 (;@12;) 1 (;@11;) 2 (;@10;) 0 (;@12;) - end - local.get 4 - i32.const 1 - i32.add - local.tee 6 - local.get 2 - i32.lt_u - br_if 2 (;@9;) - i64.const 0 - local.set 10 - br 9 (;@2;) - end - i64.const 0 - local.set 10 - local.get 4 - i32.const 1 - i32.add - local.tee 9 - local.get 2 - i32.ge_u - br_if 8 (;@2;) - local.get 1 - local.get 9 - i32.add - i32.load8_u - local.set 9 - block ;; label = @11 - block ;; label = @12 - local.get 6 - i32.const -224 - i32.add - local.tee 6 - i32.const 13 - i32.gt_u - br_if 0 (;@12;) - block ;; label = @13 - block ;; label = @14 - local.get 6 - br_table 0 (;@14;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 2 (;@12;) 1 (;@13;) 0 (;@14;) - end - local.get 9 - i32.const 224 - i32.and - i32.const 160 - i32.eq - br_if 2 (;@11;) - i64.const 4294967296 - local.set 10 - br 12 (;@1;) - end - block ;; label = @13 - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.le_s - br_if 0 (;@13;) - i64.const 4294967296 - local.set 10 - br 12 (;@1;) - end - local.get 9 - i32.const 255 - i32.and - i32.const 160 - i32.lt_u - br_if 1 (;@11;) - i64.const 4294967296 - local.set 10 - br 11 (;@1;) - end - block ;; label = @12 - local.get 7 - i32.const 31 - i32.add - i32.const 255 - i32.and - i32.const 11 - i32.gt_u - br_if 0 (;@12;) - block ;; label = @13 - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.le_s - br_if 0 (;@13;) - i64.const 4294967296 - local.set 10 - br 12 (;@1;) - end - local.get 9 - i32.const 255 - i32.and - i32.const 192 - i32.lt_u - br_if 1 (;@11;) - i64.const 4294967296 - local.set 10 - br 11 (;@1;) - end - block ;; label = @12 - local.get 9 - i32.const 255 - i32.and - i32.const 191 - i32.le_u - br_if 0 (;@12;) - i64.const 4294967296 - local.set 10 - br 11 (;@1;) - end - block ;; label = @12 - local.get 7 - i32.const 254 - i32.and - i32.const 238 - i32.eq - br_if 0 (;@12;) - i64.const 4294967296 - local.set 10 - br 11 (;@1;) - end - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.le_s - br_if 0 (;@11;) - i64.const 4294967296 - local.set 10 - br 10 (;@1;) - end - i64.const 0 - local.set 8 - local.get 4 - i32.const 2 - i32.add - local.tee 6 - local.get 2 - i32.ge_u - br_if 9 (;@1;) - local.get 1 - local.get 6 - i32.add - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.eq - br_if 2 (;@8;) - br 7 (;@3;) - end - i64.const 0 - local.set 10 - local.get 4 - i32.const 1 - i32.add - local.tee 9 - local.get 2 - i32.ge_u - br_if 7 (;@2;) - local.get 1 - local.get 9 - i32.add - i32.load8_u - local.set 9 - block ;; label = @10 - block ;; label = @11 - local.get 6 - i32.const -240 - i32.add - local.tee 6 - i32.const 4 - i32.gt_u - br_if 0 (;@11;) - block ;; label = @12 - block ;; label = @13 - local.get 6 - br_table 0 (;@13;) 2 (;@11;) 2 (;@11;) 2 (;@11;) 1 (;@12;) 0 (;@13;) - end - local.get 9 - i32.const 112 - i32.add - i32.const 255 - i32.and - i32.const 48 - i32.lt_u - br_if 2 (;@10;) - i64.const 4294967296 - local.set 10 - br 11 (;@1;) - end - block ;; label = @12 - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.le_s - br_if 0 (;@12;) - i64.const 4294967296 - local.set 10 - br 11 (;@1;) - end - local.get 9 - i32.const 255 - i32.and - i32.const 144 - i32.lt_u - br_if 1 (;@10;) - i64.const 4294967296 - local.set 10 - br 10 (;@1;) - end - block ;; label = @11 - local.get 9 - i32.const 255 - i32.and - i32.const 191 - i32.le_u - br_if 0 (;@11;) - i64.const 4294967296 - local.set 10 - br 10 (;@1;) - end - block ;; label = @11 - local.get 7 - i32.const 15 - i32.add - i32.const 255 - i32.and - i32.const 2 - i32.le_u - br_if 0 (;@11;) - i64.const 4294967296 - local.set 10 - br 10 (;@1;) - end - local.get 9 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const -1 - i32.le_s - br_if 0 (;@10;) - i64.const 4294967296 - local.set 10 - br 9 (;@1;) - end - local.get 4 - i32.const 2 - i32.add - local.tee 6 - local.get 2 - i32.ge_u - br_if 7 (;@2;) - local.get 1 - local.get 6 - i32.add - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.ne - br_if 6 (;@3;) - i64.const 0 - local.set 8 - local.get 4 - i32.const 3 - i32.add - local.tee 6 - local.get 2 - i32.ge_u - br_if 8 (;@1;) - local.get 1 - local.get 6 - i32.add - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.eq - br_if 1 (;@8;) - i64.const 3298534883328 - local.set 8 - i64.const 4294967296 - local.set 10 - br 8 (;@1;) - end - i64.const 4294967296 - local.set 10 - local.get 1 - local.get 6 - i32.add - i32.load8_u - i32.const 192 - i32.and - i32.const 128 - i32.ne - br_if 7 (;@1;) - end - local.get 6 - i32.const 1 - i32.add - local.set 4 - br 1 (;@6;) - end - block ;; label = @7 - local.get 3 - local.get 4 - i32.sub - i32.const 3 - i32.and - br_if 0 (;@7;) - block ;; label = @8 - local.get 4 - local.get 5 - i32.ge_u - br_if 0 (;@8;) - loop ;; label = @9 - local.get 1 - local.get 4 - i32.add - local.tee 6 - i32.const 4 - i32.add - i32.load - local.get 6 - i32.load - i32.or - i32.const -2139062144 - i32.and - br_if 1 (;@8;) - local.get 4 - i32.const 8 - i32.add - local.tee 4 - local.get 5 - i32.lt_u - br_if 0 (;@9;) - end - end - local.get 4 - local.get 2 - i32.ge_u - br_if 1 (;@6;) - loop ;; label = @8 - local.get 1 - local.get 4 - i32.add - i32.load8_s - i32.const 0 - i32.lt_s - br_if 2 (;@6;) - local.get 2 - local.get 4 - i32.const 1 - i32.add - local.tee 4 - i32.ne - br_if 0 (;@8;) - br 4 (;@4;) - end - end - local.get 4 - i32.const 1 - i32.add - local.set 4 - end - local.get 4 - local.get 2 - i32.lt_u - br_if 0 (;@5;) - end - end - local.get 0 - local.get 1 - i32.store offset=4 - local.get 0 - i32.const 8 - i32.add - local.get 2 - i32.store - local.get 0 - i32.const 0 - i32.store - return - end - i64.const 2199023255552 - local.set 8 - i64.const 4294967296 - local.set 10 - br 1 (;@1;) - end - i64.const 0 - local.set 8 - end - local.get 0 - local.get 10 - local.get 4 - i64.extend_i32_u - i64.or - local.get 8 - i64.or - i64.store offset=4 align=4 - local.get 0 - i32.const 1 - i32.store) - (func $_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h9ace9957d1dfdd97E (type 3) (param i32 i32) (result i32) - local.get 0 - i64.load8_u - i32.const 1 - local.get 1 - call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E) - (func $_ZN4core7unicode9printable12is_printable17h576ae3d8aaeb2915E (type 5) (param i32) (result i32) - (local i32) - block ;; label = @1 - local.get 0 - i32.const 65536 - i32.lt_u - br_if 0 (;@1;) - block ;; label = @2 - block ;; label = @3 - local.get 0 - i32.const 131072 - i32.lt_u - br_if 0 (;@3;) - i32.const 0 - local.set 1 - local.get 0 - i32.const -201547 - i32.add - i32.const 716213 - i32.lt_u - br_if 1 (;@2;) - local.get 0 - i32.const -195102 - i32.add - i32.const 1506 - i32.lt_u - br_if 1 (;@2;) - local.get 0 - i32.const -191457 - i32.add - i32.const 3103 - i32.lt_u - br_if 1 (;@2;) - local.get 0 - i32.const -183970 - i32.add - i32.const 14 - i32.lt_u - br_if 1 (;@2;) - local.get 0 - i32.const 2097150 - i32.and - i32.const 178206 - i32.eq - br_if 1 (;@2;) - local.get 0 - i32.const -173790 - i32.add - i32.const 34 - i32.lt_u - br_if 1 (;@2;) - local.get 0 - i32.const -177973 - i32.add - i32.const 11 - i32.lt_u - br_if 1 (;@2;) - local.get 0 - i32.const -918000 - i32.add - i32.const 196111 - i32.gt_u - return - end - local.get 0 - i32.const 1056613 - i32.const 38 - i32.const 1056689 - i32.const 175 - i32.const 1056864 - i32.const 419 - call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E - local.set 1 - end - local.get 1 - return - end - local.get 0 - i32.const 1055932 - i32.const 41 - i32.const 1056014 - i32.const 290 - i32.const 1056304 - i32.const 309 - call $_ZN4core7unicode9printable5check17h2e35b7ca08ef1a57E) - (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h84435a511eccf523E (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 128 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load - local.set 3 - i32.const 0 - local.set 0 - loop ;; label = @1 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 3 - i32.const 15 - i32.and - local.tee 4 - i32.const 48 - i32.or - local.get 4 - i32.const 87 - i32.add - local.get 4 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 3 - i32.const 4 - i32.shr_u - local.tee 3 - br_if 0 (;@1;) - end - block ;; label = @1 - local.get 0 - i32.const 128 - i32.add - local.tee 3 - i32.const 129 - i32.lt_u - br_if 0 (;@1;) - local.get 3 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - local.get 2 - i32.const 128 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E (type 15) (param i64 i32 i32) (result i32) - (local i32 i32 i64 i32 i32 i32) - global.get 0 - i32.const 48 - i32.sub - local.tee 3 - global.set 0 - i32.const 39 - local.set 4 - block ;; label = @1 - block ;; label = @2 - local.get 0 - i64.const 10000 - i64.ge_u - br_if 0 (;@2;) - local.get 0 - local.set 5 - br 1 (;@1;) - end - i32.const 39 - local.set 4 - loop ;; label = @2 - local.get 3 - i32.const 9 - i32.add - local.get 4 - i32.add - local.tee 6 - i32.const -4 - i32.add - local.get 0 - local.get 0 - i64.const 10000 - i64.div_u - local.tee 5 - i64.const 10000 - i64.mul - i64.sub - i32.wrap_i64 - local.tee 7 - i32.const 65535 - i32.and - i32.const 100 - i32.div_u - local.tee 8 - i32.const 1 - i32.shl - i32.const 1054574 - i32.add - i32.load16_u align=1 - i32.store16 align=1 - local.get 6 - i32.const -2 - i32.add - local.get 7 - local.get 8 - i32.const 100 - i32.mul - i32.sub - i32.const 65535 - i32.and - i32.const 1 - i32.shl - i32.const 1054574 - i32.add - i32.load16_u align=1 - i32.store16 align=1 - local.get 4 - i32.const -4 - i32.add - local.set 4 - local.get 0 - i64.const 99999999 - i64.gt_u - local.set 6 - local.get 5 - local.set 0 - local.get 6 - br_if 0 (;@2;) - end - end - block ;; label = @1 - local.get 5 - i32.wrap_i64 - local.tee 6 - i32.const 99 - i32.le_s - br_if 0 (;@1;) - local.get 3 - i32.const 9 - i32.add - local.get 4 - i32.const -2 - i32.add - local.tee 4 - i32.add - local.get 5 - i32.wrap_i64 - local.tee 6 - local.get 6 - i32.const 65535 - i32.and - i32.const 100 - i32.div_u - local.tee 6 - i32.const 100 - i32.mul - i32.sub - i32.const 65535 - i32.and - i32.const 1 - i32.shl - i32.const 1054574 - i32.add - i32.load16_u align=1 - i32.store16 align=1 - end - block ;; label = @1 - block ;; label = @2 - local.get 6 - i32.const 10 - i32.lt_s - br_if 0 (;@2;) - local.get 3 - i32.const 9 - i32.add - local.get 4 - i32.const -2 - i32.add - local.tee 4 - i32.add - local.get 6 - i32.const 1 - i32.shl - i32.const 1054574 - i32.add - i32.load16_u align=1 - i32.store16 align=1 - br 1 (;@1;) - end - local.get 3 - i32.const 9 - i32.add - local.get 4 - i32.const -1 - i32.add - local.tee 4 - i32.add - local.get 6 - i32.const 48 - i32.add - i32.store8 - end - local.get 2 - local.get 1 - i32.const 1054248 - i32.const 0 - local.get 3 - i32.const 9 - i32.add - local.get 4 - i32.add - i32.const 39 - local.get 4 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 4 - local.get 3 - i32.const 48 - i32.add - global.set 0 - local.get 4) - (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hf0602dfa1b51374aE (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 128 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load8_u - local.set 3 - i32.const 0 - local.set 0 - loop ;; label = @1 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 3 - i32.const 15 - i32.and - local.tee 4 - i32.const 48 - i32.or - local.get 4 - i32.const 55 - i32.add - local.get 4 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 3 - i32.const 4 - i32.shr_u - i32.const 15 - i32.and - local.tee 3 - br_if 0 (;@1;) - end - block ;; label = @1 - local.get 0 - i32.const 128 - i32.add - local.tee 3 - i32.const 129 - i32.lt_u - br_if 0 (;@1;) - local.get 3 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - local.get 2 - i32.const 128 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hf6dfd165e0a82f4aE (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 128 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load - local.set 3 - i32.const 0 - local.set 0 - loop ;; label = @1 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 3 - i32.const 15 - i32.and - local.tee 4 - i32.const 48 - i32.or - local.get 4 - i32.const 55 - i32.add - local.get 4 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 3 - i32.const 4 - i32.shr_u - local.tee 3 - br_if 0 (;@1;) - end - block ;; label = @1 - local.get 0 - i32.const 128 - i32.add - local.tee 3 - i32.const 129 - i32.lt_u - br_if 0 (;@1;) - local.get 3 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - local.get 2 - i32.const 128 - i32.add - global.set 0 - local.get 0) - (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17h6a0f8a8815814437E (type 3) (param i32 i32) (result i32) - (local i64) - local.get 0 - i32.load - local.tee 0 - i64.extend_i32_s - local.tee 2 - local.get 2 - i64.const 63 - i64.shr_s - local.tee 2 - i64.add - local.get 2 - i64.xor - local.get 0 - i32.const -1 - i32.xor - i32.const 31 - i32.shr_u - local.get 1 - call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h061cea3d0e32c42bE (type 3) (param i32 i32) (result i32) - local.get 0 - i32.load - local.get 1 - call $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h264ea309efcc35d6E) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h40152972685c8e83E (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - block ;; label = @1 - block ;; label = @2 - local.get 0 - i32.load - local.tee 0 - i32.load8_u - i32.const 1 - i32.ne - br_if 0 (;@2;) - local.get 2 - local.get 1 - i32.load offset=24 - i32.const 1057384 - i32.const 4 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - i32.store8 offset=8 - local.get 2 - local.get 1 - i32.store - local.get 2 - i32.const 0 - i32.store8 offset=9 - local.get 2 - i32.const 0 - i32.store offset=4 - local.get 2 - local.get 0 - i32.const 1 - i32.add - i32.store offset=12 - local.get 2 - local.get 2 - i32.const 12 - i32.add - i32.const 1054516 - call $_ZN4core3fmt8builders10DebugTuple5field17ha8d7daf60661e76bE - drop - local.get 2 - i32.load8_u offset=8 - local.set 1 - block ;; label = @3 - local.get 2 - i32.load offset=4 - local.tee 3 - i32.eqz - br_if 0 (;@3;) - local.get 1 - i32.const 255 - i32.and - local.set 0 - i32.const 1 - local.set 1 - block ;; label = @4 - local.get 0 - br_if 0 (;@4;) - block ;; label = @5 - local.get 3 - i32.const 1 - i32.ne - br_if 0 (;@5;) - local.get 2 - i32.load8_u offset=9 - i32.const 255 - i32.and - i32.eqz - br_if 0 (;@5;) - local.get 2 - i32.load - local.tee 0 - i32.load8_u - i32.const 4 - i32.and - br_if 0 (;@5;) - i32.const 1 - local.set 1 - local.get 0 - i32.load offset=24 - i32.const 1054512 - i32.const 1 - local.get 0 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - br_if 1 (;@4;) - end - local.get 2 - i32.load - local.tee 1 - i32.load offset=24 - i32.const 1054513 - i32.const 1 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 1 - end - local.get 2 - local.get 1 - i32.store8 offset=8 - end - local.get 1 - i32.const 255 - i32.and - i32.const 0 - i32.ne - local.set 1 - br 1 (;@1;) - end - local.get 1 - i32.load offset=24 - i32.const 1057388 - i32.const 4 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 1 - end - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 1) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hcaf25e9d3ce3562aE (type 3) (param i32 i32) (result i32) - (local i32 i32 i32) - global.get 0 - i32.const 128 - i32.sub - local.tee 2 - global.set 0 - local.get 0 - i32.load - local.set 0 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 1 - i32.load - local.tee 3 - i32.const 16 - i32.and - br_if 0 (;@5;) - local.get 0 - i32.load8_u - local.set 4 - local.get 3 - i32.const 32 - i32.and - br_if 1 (;@4;) - local.get 4 - i64.extend_i32_u - i64.const 255 - i64.and - i32.const 1 - local.get 1 - call $_ZN4core3fmt3num3imp7fmt_u6417h34d165111a85fc91E - local.set 0 - br 2 (;@3;) - end - local.get 0 - i32.load8_u - local.set 4 - i32.const 0 - local.set 0 - loop ;; label = @5 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 4 - i32.const 15 - i32.and - local.tee 3 - i32.const 48 - i32.or - local.get 3 - i32.const 87 - i32.add - local.get 3 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 4 - i32.const 4 - i32.shr_u - i32.const 15 - i32.and - local.tee 4 - br_if 0 (;@5;) - end - local.get 0 - i32.const 128 - i32.add - local.tee 4 - i32.const 129 - i32.ge_u - br_if 2 (;@2;) - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - br 1 (;@3;) - end - i32.const 0 - local.set 0 - loop ;; label = @4 - local.get 2 - local.get 0 - i32.add - i32.const 127 - i32.add - local.get 4 - i32.const 15 - i32.and - local.tee 3 - i32.const 48 - i32.or - local.get 3 - i32.const 55 - i32.add - local.get 3 - i32.const 10 - i32.lt_u - select - i32.store8 - local.get 0 - i32.const -1 - i32.add - local.set 0 - local.get 4 - i32.const 4 - i32.shr_u - i32.const 15 - i32.and - local.tee 4 - br_if 0 (;@4;) - end - local.get 0 - i32.const 128 - i32.add - local.tee 4 - i32.const 129 - i32.ge_u - br_if 2 (;@1;) - local.get 1 - i32.const 1 - i32.const 1054572 - i32.const 2 - local.get 2 - local.get 0 - i32.add - i32.const 128 - i32.add - i32.const 0 - local.get 0 - i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h56cb6b936c09c882E - local.set 0 - end - local.get 2 - i32.const 128 - i32.add - global.set 0 - local.get 0 - return - end - local.get 4 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable - end - local.get 4 - i32.const 128 - i32.const 1054556 - call $_ZN4core5slice22slice_index_order_fail17h38bea6838a5ffdeaE - unreachable) - (func $_ZN57_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h0736023f89ec8051E (type 3) (param i32 i32) (result i32) - (local i32 i32) - global.get 0 - i32.const 16 - i32.sub - local.tee 2 - global.set 0 - local.get 1 - i32.load offset=24 - i32.const 1057392 - i32.const 9 - local.get 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 8) - local.set 3 - local.get 2 - i32.const 0 - i32.store8 offset=5 - local.get 2 - local.get 3 - i32.store8 offset=4 - local.get 2 - local.get 1 - i32.store - local.get 2 - local.get 0 - i32.store offset=12 - local.get 2 - i32.const 1057401 - i32.const 11 - local.get 2 - i32.const 12 - i32.add - i32.const 1057368 - call $_ZN4core3fmt8builders11DebugStruct5field17h6969da1bb0a508efE - drop - local.get 2 - local.get 0 - i32.const 4 - i32.add - i32.store offset=12 - local.get 2 - i32.const 1057412 - i32.const 9 - local.get 2 - i32.const 12 - i32.add - i32.const 1057424 - call $_ZN4core3fmt8builders11DebugStruct5field17h6969da1bb0a508efE - drop - local.get 2 - i32.load8_u offset=4 - local.set 1 - block ;; label = @1 - local.get 2 - i32.load8_u offset=5 - i32.eqz - br_if 0 (;@1;) - local.get 1 - i32.const 255 - i32.and - local.set 0 - i32.const 1 - local.set 1 - block ;; label = @2 - local.get 0 - br_if 0 (;@2;) - local.get 2 - i32.load - local.tee 1 - i32.const 28 - i32.add - i32.load - i32.load offset=12 - local.set 0 - local.get 1 - i32.load offset=24 - local.set 3 - block ;; label = @3 - local.get 1 - i32.load8_u - i32.const 4 - i32.and - br_if 0 (;@3;) - local.get 3 - i32.const 1054507 - i32.const 2 - local.get 0 - call_indirect (type 8) - local.set 1 - br 1 (;@2;) - end - local.get 3 - i32.const 1054506 - i32.const 1 - local.get 0 - call_indirect (type 8) - local.set 1 - end - local.get 2 - local.get 1 - i32.store8 offset=4 - end - local.get 2 - i32.const 16 - i32.add - global.set 0 - local.get 1 - i32.const 255 - i32.and - i32.const 0 - i32.ne) - (table (;0;) 95 95 funcref) - (memory (;0;) 17) - (global (;0;) (mut i32) (i32.const 1048576)) - (global (;1;) i32 (i32.const 1058912)) - (global (;2;) i32 (i32.const 1058912)) - (export "memory" (memory 0)) - (export "_start" (func $_start)) - (export "__original_main" (func $__original_main)) - (export "main" (func $main)) - (export "__data_end" (global 1)) - (export "__heap_base" (global 2)) - (elem (;0;) (i32.const 1) func $_ZN4core3ptr13drop_in_place17hbdefc172b9ada5feE $_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h0e98a8fdad6ece05E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h19a2a61da5d6a26cE $_ZN5hello4main17hd078db076938ab99E $_ZN45_$LT$$RF$T$u20$as$u20$core..fmt..UpperHex$GT$3fmt17hb918cce28d9d0601E $_ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17h74a61b11f6dc7b9dE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h72010bc18c2c3871E $_ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17hb3ec362a48a590eeE $_ZN55_$LT$std..path..Display$u20$as$u20$core..fmt..Debug$GT$3fmt17h23d105d427099b82E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h3f42ebff8fc1778aE $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17h6a0f8a8815814437E $_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h70c46c42c25c7b72E $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17he6ead8fc076aace0E $_ZN3std5alloc24default_alloc_error_hook17h2080d072101c71d6E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h52ad5ba400a1c0b2E $_ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17hf61cfde2fe9b6125E $_ZN4core3ptr13drop_in_place17h02e69d70ceca204bE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h1d2341287c3c1530E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h2b6afd714e60244dE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h424f8a87ef227754E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h244888c2b6dd19d8E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hf61ed0efe1fa8f1aE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h7883bd689e386d70E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17heec17b7d6bd2890dE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hd4204762d830caa6E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hf5f9ccb98e7f13b1E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h935565c54b9e7992E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h0392c58b36b5e65cE $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17hcb497cdb5137530aE $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h4131a8147211fa76E $_ZN4core3ptr13drop_in_place17hf3262b356a2935b1E $_ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h62d3c8deb4a47d04E $_ZN57_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h0736023f89ec8051E $_ZN4core3ptr13drop_in_place17h2bbaf394966f4871E $_ZN82_$LT$std..sys_common..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h5133a11d5216d05aE $_ZN4core3ptr13drop_in_place17h286c4e66fba3710aE $_ZN3std5error5Error5cause17h940cb81d2ddff14fE $_ZN3std5error5Error7type_id17h2550ffb23e5e09dbE $_ZN3std5error5Error9backtrace17h900a267d2e29f61aE $_ZN243_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$std..error..Error$GT$11description17hf458bce664dc3f4bE $_ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17h8f27cecacd89bd46E $_ZN242_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Debug$GT$3fmt17hddb087305b783b60E $_ZN4core3ptr13drop_in_place17h031a203171380296E $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17hc2a4146e00a3c941E $_ZN4core3fmt5Write10write_char17hb53f5ebecc3ea1e8E $_ZN4core3fmt5Write9write_fmt17h742453284fe8e52bE $_ZN80_$LT$std..io..Write..write_fmt..Adaptor$LT$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h612bf57410edd764E $_ZN4core3fmt5Write10write_char17h5ee09af859d49745E $_ZN4core3fmt5Write9write_fmt17h76d12290e419169eE $_ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h1a740cc3bed420c0E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0d04168c9cec80f1E $_ZN4core3ptr13drop_in_place17hea2daf7bfbdfa5f6E $_ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17hbd37bfd99643a95bE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2ca61fe20b181ea6E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hc0ad29c3b7e3386dE $_ZN60_$LT$std..io..stdio..StderrRaw$u20$as$u20$std..io..Write$GT$5write17h912c877745d11fe6E $_ZN3std2io5Write14write_vectored17ha0666460d161172dE $_ZN3std2io5Write17is_write_vectored17h543cbc50b0d68d7bE $_ZN59_$LT$std..process..ChildStdin$u20$as$u20$std..io..Write$GT$5flush17hd1cd00994c0d68a2E $_ZN3std2io5Write9write_all17h39d0435291d0ea60E $_ZN3std2io5Write18write_all_vectored17h937b0242149abcbeE $_ZN3std2io5Write9write_fmt17h509c48398dd5c56bE $_ZN4core3ptr13drop_in_place17he50565616af5671aE $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5write17h6eb49032bb7d1e27E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$14write_vectored17he5299a3cb28c5fc6E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$17is_write_vectored17h3aebec87a302fb55E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$5flush17h453d4cb3a98eec9bE $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_all17h50557d4e500ea2b9E $_ZN3std2io5Write18write_all_vectored17h30c34f9cecddc9d3E $_ZN3std2io5impls71_$LT$impl$u20$std..io..Write$u20$for$u20$alloc..boxed..Box$LT$W$GT$$GT$9write_fmt17h99e751738b71fff0E $_ZN4core3ptr13drop_in_place17ha21ac40875b3662cE $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h516f6ed2d13d495aE $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h0dcd379042aba638E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hf6b487e2f110a1d5E $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17hf6fdacb60f80e8b3E $_ZN91_$LT$std..panicking..begin_panic..PanicPayload$LT$A$GT$$u20$as$u20$core..panic..BoxMeUp$GT$3get17h3853a323bdd12366E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h8ccad713f7bee105E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4473b65edfd7c202E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h76450d0c1fa7b5b6E $_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h94ceed4e1d7d3c8dE $_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h3e5fc21d5d0a9a89E $_ZN4core3ops8function6FnOnce9call_once17hbe6f8b545009bafbE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h37140add365c2157E $_ZN4core3ptr13drop_in_place17h0204d3c859ff1c91E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hb45251ab3c3bdb48E $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h7d4360c25f7b0b1cE $_ZN4core3fmt5Write10write_char17h9446e22d80409ee0E $_ZN4core3fmt5Write9write_fmt17h6f04c3f5d7115a7dE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hcaf25e9d3ce3562aE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17hb3f289137b2fd88fE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h96c3b1b942e129b3E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hcaddaae78279c2cdE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h061cea3d0e32c42bE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h40152972685c8e83E) - (data (;0;) (i32.const 1048576) "\01\00\00\00\04\00\00\00\04\00\00\00\02\00\00\00\02\00\00\00\03\00\00\00Hello, world!\0a\00\00\18\00\10\00\0e\00\00\00(\00\10\004\00\10\00\11\00\00\00\04\00\00\00\04\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\11\00\00\00\04\00\00\00\04\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00\11\00\00\00\04\00\00\00\04\00\00\00\18\00\00\00\19\00\00\00\1a\00\00\00\11\00\00\00\04\00\00\00\04\00\00\00\1b\00\00\00/rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/macros/mod.rs\00\00\00\90\00\10\00I\00\00\00\0a\00\00\00\09\00\00\00already borrowed/rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/cell.rs\00\fc\00\10\00C\00\00\00m\03\00\00\09\00\00\00already mutably borrowed\fc\00\10\00C\00\00\00\1d\03\00\00\09\00\00\00assertion failed: `(left == right)`\0a left: ``,\0a right: ``\00\00x\01\10\00-\00\00\00\a5\01\10\00\0c\00\00\00\b1\01\10\00\01\00\00\00\11\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00`: \00x\01\10\00-\00\00\00\a5\01\10\00\0c\00\00\00\dc\01\10\00\03\00\00\00called `Option::unwrap()` on a `None` value\00\11\00\00\00\00\00\00\00\01\00\00\00\1d\00\00\00\11\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00\1f\00\00\00\10\00\00\00\04\00\00\00 \00\00\00called `Result::unwrap()` on an `Err` value\00\11\00\00\00\08\00\00\00\04\00\00\00!\00\00\00\22\00\00\00\08\00\00\00\04\00\00\00#\00\00\00Tried to shrink to a larger capacity\11\00\00\00\04\00\00\00\04\00\00\00\07\00\00\00src/libstd/thread/mod.rs\d4\02\10\00\18\00\00\00\8a\03\00\00\11\00\00\00inconsistent park state\00\d4\02\10\00\18\00\00\00\98\03\00\00\13\00\00\00\02\00\00\00park state changed unexpectedly\00(\03\10\00\1f\00\00\00\d4\02\10\00\18\00\00\00\95\03\00\00\0d\00\00\00failed to generate unique thread ID: bitspace exhausted\00\d4\02\10\00\18\00\00\00.\04\00\00\11\00\00\00\d4\02\10\00\18\00\00\004\04\00\00\16\00\00\00thread name may not contain interior null bytes\00\d4\02\10\00\18\00\00\00w\04\00\00\1a\00\00\00inconsistent state in unpark\d4\02\10\00\18\00\00\00\af\04\00\00\12\00\00\00\d4\02\10\00\18\00\00\00\bd\04\00\00\0e\00\00\00\22RUST_BACKTRACE0src/libstd/env.rsfailed to get environment variable `\00\00\00U\04\10\00$\00\00\00\dc\01\10\00\03\00\00\00D\04\10\00\11\00\00\00\fb\00\00\00\1d\00\00\00$\00\00\00\0c\00\00\00\04\00\00\00%\00\00\00&\00\00\00'\00\00\00(\00\00\00%\00\00\00)\00\00\00*\00\00\00data provided contains a nul bytesrc/libstd/ffi/c_str.rs\e5\04\10\00\17\00\00\00\aa\04\00\00\0a\00\00\00src/libstd/io/buffered.rs\00\00\00\0c\05\10\00\19\00\00\00\10\02\00\00\15\00\00\00\0c\05\10\00\19\00\00\00\10\02\00\009\00\00\00failed to write the buffered data\00\00\00\0c\05\10\00\19\00\00\00J\02\00\00\09\00\00\00\0c\05\10\00\19\00\00\00\05\04\00\00#\00\00\00unexpected end of fileother os erroroperation interruptedwrite zerotimed outinvalid datainvalid input parameteroperation would blockentity already existsbroken pipeaddress not availableaddress in usenot connectedconnection abortedconnection resetconnection refusedpermission deniedentity not found\00\00\00\cc\01\10\00\00\00\00\00 (os error )\cc\01\10\00\00\00\00\00\c0\06\10\00\0b\00\00\00\cb\06\10\00\01\00\00\00failed to write whole buffersrc/libstd/io/stdio.rscannot access stdout during shutdown\00\00\00\07\10\00\16\00\00\00\0f\02\00\00\19\00\00\00failed printing to : \00\00\00L\07\10\00\13\00\00\00_\07\10\00\02\00\00\00\00\07\10\00\16\00\00\00n\03\00\00\09\00\00\00stdoutsrc/libstd/io/mod.rs\00\00\8a\07\10\00\14\00\00\00\84\04\00\00\19\00\00\00\8a\07\10\00\14\00\00\00}\05\00\00!\00\00\00+\00\00\00\0c\00\00\00\04\00\00\00,\00\00\00-\00\00\00.\00\00\00formatter error\00+\00\00\00\0c\00\00\00\04\00\00\00/\00\00\000\00\00\001\00\00\00attempted to use a condition variable with two mutexessrc/libstd/sync/condvar.rs6\08\10\00\1a\00\00\00?\02\00\00\12\00\00\00\11\00\00\00\04\00\00\00\04\00\00\002\00\00\003\00\00\00src/libstd/sync/once.rs\00t\08\10\00\17\00\00\00\08\01\00\00)\00\00\00assertion failed: state_and_queue & STATE_MASK == RUNNING\00\00\00t\08\10\00\17\00\00\00\a7\01\00\00\15\00\00\00Once instance has previously been poisoned\00\00t\08\10\00\17\00\00\00\8b\01\00\00\15\00\00\00t\08\10\00\17\00\00\00\e8\01\00\00\09\00\00\00t\08\10\00\17\00\00\00\f4\01\00\00\1e\00\00\00assertion failed: queue != DONEsrc/libstd/sys_common/at_exit_imp.rs\00c\09\10\00$\00\00\001\00\00\00\0d\00\00\00stack backtrace:\0a\00\00\00\98\09\10\00\11\00\00\004\00\00\00\10\00\00\00\04\00\00\005\00\00\006\00\00\00note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.\0a\c8\09\10\00X\00\00\00full\5cx\005\0a\10\00\02\00\00\00\00\00\00\00 \00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00PoisonError { inner: .. }src/libstd/sys_common/thread_info.rsassertion failed: c.borrow().is_none()\00y\0a\10\00$\00\00\00(\00\00\00\1a\00\00\00fatal runtime error: \0a\00\00\d4\0a\10\00\15\00\00\00\e9\0a\10\00\01\00\00\00\11\00\00\00\04\00\00\00\04\00\00\007\00\00\00memory allocation of bytes failed\00\00\0c\0b\10\00\15\00\00\00!\0b\10\00\0d\00\00\00src/libstd/panicking.rs\00@\0b\10\00\17\00\00\00\b4\00\00\00\14\00\00\00Box\00\00\00\11\00\00\00\00\00\00\00\01\00\00\008\00\00\009\00\00\00:\00\00\00;\00\00\00<\00\00\00=\00\00\00>\00\00\00\00\00\00\00?\00\00\00\08\00\00\00\04\00\00\00@\00\00\00A\00\00\00B\00\00\00C\00\00\00D\00\00\00E\00\00\00F\00\00\00\00\00\00\00thread '' panicked at '', \00\00\d4\0b\10\00\08\00\00\00\dc\0b\10\00\0f\00\00\00\eb\0b\10\00\03\00\00\00\e9\0a\10\00\01\00\00\00note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\0a\00\00\10\0c\10\00N\00\00\00@\0b\10\00\17\00\00\00\82\01\00\00\0f\00\00\00@\0b\10\00\17\00\00\00\83\01\00\00\0f\00\00\00G\00\00\00\10\00\00\00\04\00\00\00H\00\00\00I\00\00\00$\00\00\00\0c\00\00\00\04\00\00\00J\00\00\00\11\00\00\00\08\00\00\00\04\00\00\00K\00\00\00L\00\00\00\11\00\00\00\08\00\00\00\04\00\00\00M\00\00\00thread panicked while processing panic. aborting.\0a\00\00\d0\0c\10\002\00\00\00thread panicked while panicking. aborting.\0a\00\0c\0d\10\00+\00\00\00failed to initiate panic, error @\0d\10\00 \00\00\00NulError\11\00\00\00\04\00\00\00\04\00\00\00N\00\00\00can't block with web assemblysrc/libstd/sys/wasi/../wasm/condvar.rs\00\9d\0d\10\00&\00\00\00\15\00\00\00\09\00\00\00advancing IoSlice beyond its lengthsrc/libstd/sys/wasi/io.rs\f7\0d\10\00\19\00\00\00\14\00\00\00\0d\00\00\00cannot recursively acquire mutexsrc/libstd/sys/wasi/../wasm/mutex.rs@\0e\10\00$\00\00\00\15\00\00\00\09\00\00\00strerror_r failuresrc/libstd/sys/wasi/os.rs\00\86\0e\10\00\19\00\00\00#\00\00\00\0d\00\00\00\86\0e\10\00\19\00\00\00%\00\00\00\09\00\00\00rwlock locked for writing\00\00\00\c0\0e\10\00\19\00\00\00operation not supported on wasm yet\00\00\00\00\00\00\00\00\00\00\19\12D;\02?,G\14=30\0a\1b\06FKE7\0fI\0e\17\03@\1d<+6\1fJ-\1c\01 %)!\08\0c\15\16\22.\108>\0b41\18/A\099\11#C2B:\05\04&('\0d*\1e5\07\1aH\13$L\ff\00\00Success\00Illegal byte sequence\00Domain error\00Result not representable\00Not a tty\00Permission denied\00Operation not permitted\00No such file or directory\00No such process\00File exists\00Value too large for data type\00No space left on device\00Out of memory\00Resource busy\00Interrupted system call\00Resource temporarily unavailable\00Invalid seek\00Cross-device link\00Read-only file system\00Directory not empty\00Connection reset by peer\00Operation timed out\00Connection refused\00Host is unreachable\00Address in use\00Broken pipe\00I/O error\00No such device or address\00No such device\00Not a directory\00Is a directory\00Text file busy\00Exec format error\00Invalid argument\00Argument list too long\00Symbolic link loop\00Filename too long\00Too many open files in system\00No file descriptors available\00Bad file descriptor\00No child process\00Bad address\00File too large\00Too many links\00No locks available\00Resource deadlock would occur\00State not recoverable\00Previous owner died\00Operation canceled\00Function not implemented\00No message of desired type\00Identifier removed\00Link has been severed\00Protocol error\00Bad message\00Not a socket\00Destination address required\00Message too large\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Not supported\00Address family not supported by protocol\00Address not available\00Network is down\00Network unreachable\00Connection reset by network\00Connection aborted\00No buffer space available\00Socket is connected\00Socket not connected\00Operation already in progress\00Operation in progress\00Stale file handle\00Quota exceeded\00Multihop attempted\00Capabilities insufficient\00No error information\00\00src/liballoc/raw_vec.rscapacity overflow\00\00\86\15\10\00\17\00\00\00D\02\00\00\05\00\00\00)src/liballoc/vec.rs) should be <= len (is end drain index (is \00\eb\15\10\00\14\00\00\00\d4\15\10\00\17\00\00\00\c0\15\10\00\01\00\00\00\c1\15\10\00\13\00\00\003\05\00\00\0d\00\00\00`\00..*\16\10\00\02\00\00\00BorrowErrorBorrowMutErrorcalled `Option::unwrap()` on a `None` value(\16\10\00\00\00\00\00: \00\00(\16\10\00\00\00\00\00\80\16\10\00\02\00\00\00T\00\00\00\00\00\00\00\01\00\00\00U\00\00\00:\00\00\00(\16\10\00\00\00\00\00\a4\16\10\00\01\00\00\00\a4\16\10\00\01\00\00\00index out of bounds: the len is but the index is \00\00\c0\16\10\00 \00\00\00\e0\16\10\00\12\00\00\00T\00\00\00\0c\00\00\00\04\00\00\00V\00\00\00W\00\00\00X\00\00\00 {\0a,\0a, { } }(\0a(,)\0a[T\00\00\00\04\00\00\00\04\00\00\00Y\00\00\00]src/libcore/fmt/num.rs\00E\17\10\00\16\00\00\00T\00\00\00\14\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00\00T\00\00\00\04\00\00\00\04\00\00\00Z\00\00\00[\00\00\00\5c\00\00\00src/libcore/fmt/mod.rs\00\00P\18\10\00\16\00\00\00S\04\00\00\11\00\00\00P\18\10\00\16\00\00\00]\04\00\00$\00\00\00src/libcore/slice/memchr.rs\00\88\18\10\00\1b\00\00\00R\00\00\00\05\00\00\00\88\18\10\00\1b\00\00\00i\00\00\00\1a\00\00\00\88\18\10\00\1b\00\00\00\83\00\00\00\05\00\00\00index out of range for slice of length \d4\18\10\00\06\00\00\00\da\18\10\00\22\00\00\00slice index starts at but ends at \00\0c\19\10\00\16\00\00\00\22\19\10\00\0d\00\00\00attempted to index slice up to maximum usizesrc/libcore/str/pattern.rs\00\00l\19\10\00\1a\00\00\00\8b\01\00\00&\00\00\00src/libcore/str/lossy.rs\98\19\10\00\18\00\00\00\80\00\00\00\19\00\00\00\98\19\10\00\18\00\00\00w\00\00\00\1d\00\00\00\98\19\10\00\18\00\00\00{\00\00\00\1d\00\00\00\98\19\10\00\18\00\00\00r\00\00\00!\00\00\00\98\19\10\00\18\00\00\00h\00\00\00\1d\00\00\00\98\19\10\00\18\00\00\00c\00\00\00!\00\00\00\98\19\10\00\18\00\00\00X\00\00\00\1d\00\00\00assertion failed: broken.is_empty()\00\98\19\10\00\18\00\00\00\9d\00\00\00\11\00\00\00src/libcore/str/mod.rs\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00\00\00T\1a\10\00\16\00\00\00\80\07\00\00/\00\00\00T\1a\10\00\16\00\00\00\c3\07\00\00/\00\00\00T\1a\10\00\16\00\00\00\04\08\00\00/\00\00\00[...]byte index is out of bounds of `\00\00\a1\1b\10\00\0b\00\00\00\ac\1b\10\00\16\00\00\00(\16\10\00\01\00\00\00begin <= end ( <= ) when slicing `\00\00\dc\1b\10\00\0e\00\00\00\ea\1b\10\00\04\00\00\00\ee\1b\10\00\10\00\00\00(\16\10\00\01\00\00\00 is not a char boundary; it is inside (bytes ) of `\a1\1b\10\00\0b\00\00\00 \1c\10\00&\00\00\00F\1c\10\00\08\00\00\00N\1c\10\00\06\00\00\00(\16\10\00\01\00\00\00src/libcore/unicode/printable.rs|\1c\10\00 \00\00\00\0a\00\00\00\1c\00\00\00|\1c\10\00 \00\00\00\1a\00\00\00(\00\00\00\00\01\03\05\05\06\06\03\07\06\08\08\09\11\0a\1c\0b\19\0c\14\0d\10\0e\0d\0f\04\10\03\12\12\13\09\16\01\17\05\18\02\19\03\1a\07\1c\02\1d\01\1f\16 \03+\03,\02-\0b.\010\031\022\01\a7\02\a9\02\aa\04\ab\08\fa\02\fb\05\fd\04\fe\03\ff\09\adxy\8b\8d\a20WX\8b\8c\90\1c\1d\dd\0e\0fKL\fb\fc./?\5c]_\b5\e2\84\8d\8e\91\92\a9\b1\ba\bb\c5\c6\c9\ca\de\e4\e5\ff\00\04\11\12)147:;=IJ]\84\8e\92\a9\b1\b4\ba\bb\c6\ca\ce\cf\e4\e5\00\04\0d\0e\11\12)14:;EFIJ^de\84\91\9b\9d\c9\ce\cf\0d\11)EIWde\8d\91\a9\b4\ba\bb\c5\c9\df\e4\e5\f0\0d\11EIde\80\84\b2\bc\be\bf\d5\d7\f0\f1\83\85\8b\a4\a6\be\bf\c5\c7\ce\cf\da\dbH\98\bd\cd\c6\ce\cfINOWY^_\89\8e\8f\b1\b6\b7\bf\c1\c6\c7\d7\11\16\17[\5c\f6\f7\fe\ff\80\0dmq\de\df\0e\0f\1fno\1c\1d_}~\ae\af\bb\bc\fa\16\17\1e\1fFGNOXZ\5c^~\7f\b5\c5\d4\d5\dc\f0\f1\f5rs\8ftu\96/_&./\a7\af\b7\bf\c7\cf\d7\df\9a@\97\980\8f\1f\c0\c1\ce\ffNOZ[\07\08\0f\10'/\ee\efno7=?BE\90\91\fe\ffSgu\c8\c9\d0\d1\d8\d9\e7\fe\ff\00 _\22\82\df\04\82D\08\1b\04\06\11\81\ac\0e\80\ab5(\0b\80\e0\03\19\08\01\04/\044\04\07\03\01\07\06\07\11\0aP\0f\12\07U\07\03\04\1c\0a\09\03\08\03\07\03\02\03\03\03\0c\04\05\03\0b\06\01\0e\15\05:\03\11\07\06\05\10\07W\07\02\07\15\0dP\04C\03-\03\01\04\11\06\0f\0c:\04\1d%_ m\04j%\80\c8\05\82\b0\03\1a\06\82\fd\03Y\07\15\0b\17\09\14\0c\14\0cj\06\0a\06\1a\06Y\07+\05F\0a,\04\0c\04\01\031\0b,\04\1a\06\0b\03\80\ac\06\0a\06!?L\04-\03t\08<\03\0f\03<\078\08+\05\82\ff\11\18\08/\11-\03 \10!\0f\80\8c\04\82\97\19\0b\15\88\94\05/\05;\07\02\0e\18\09\80\b3-t\0c\80\d6\1a\0c\05\80\ff\05\80\df\0c\ee\0d\03\84\8d\037\09\81\5c\14\80\b8\08\80\cb*8\03\0a\068\08F\08\0c\06t\0b\1e\03Z\04Y\09\80\83\18\1c\0a\16\09L\04\80\8a\06\ab\a4\0c\17\041\a1\04\81\da&\07\0c\05\05\80\a5\11\81m\10x(*\06L\04\80\8d\04\80\be\03\1b\03\0f\0d\00\06\01\01\03\01\04\02\08\08\09\02\0a\05\0b\02\0e\04\10\01\11\02\12\05\13\11\14\01\15\02\17\02\19\0d\1c\05\1d\08$\01j\03k\02\bc\02\d1\02\d4\0c\d5\09\d6\02\d7\02\da\01\e0\05\e1\02\e8\02\ee \f0\04\f8\02\f9\02\fa\02\fb\01\0c';>NO\8f\9e\9e\9f\06\07\096=>V\f3\d0\d1\04\14\1867VW\7f\aa\ae\af\bd5\e0\12\87\89\8e\9e\04\0d\0e\11\12)14:EFIJNOde\5c\b6\b7\1b\1c\07\08\0a\0b\14\1769:\a8\a9\d8\d9\097\90\91\a8\07\0a;>fi\8f\92o_\ee\efZb\9a\9b'(U\9d\a0\a1\a3\a4\a7\a8\ad\ba\bc\c4\06\0b\0c\15\1d:?EQ\a6\a7\cc\cd\a0\07\19\1a\22%>?\c5\c6\04 #%&(38:HJLPSUVXZ\5c^`cefksx}\7f\8a\a4\aa\af\b0\c0\d0\ae\afy\ccno\93^\22{\05\03\04-\03f\03\01/.\80\82\1d\031\0f\1c\04$\09\1e\05+\05D\04\0e*\80\aa\06$\04$\04(\084\0b\01\80\90\817\09\16\0a\08\80\989\03c\08\090\16\05!\03\1b\05\01@8\04K\05/\04\0a\07\09\07@ '\04\0c\096\03:\05\1a\07\04\0c\07PI73\0d3\07.\08\0a\81&RN(\08*V\1c\14\17\09N\04\1e\0fC\0e\19\07\0a\06H\08'\09u\0b?A*\06;\05\0a\06Q\06\01\05\10\03\05\80\8bb\1eH\08\0a\80\a6^\22E\0b\0a\06\0d\139\07\0a6,\04\10\80\c0\00\00\00T\00\00\00\04\00\00\00\04\00\00\00]\00\00\00SomeNoneUtf8Errorvalid_up_toerror_len\00\00\00T\00\00\00\04\00\00\00\04\00\00\00^\00\00\00\00\03\00\00\83\04 \00\91\05`\00]\13\a0\00\12\17\a0\1e\0c \e0\1e\ef, +*0\a0+o\a6`,\02\a8\e0,\1e\fb\e0-\00\fe\a05\9e\ff\e05\fd\01a6\01\0a\a16$\0da7\ab\0e\e18/\18!90\1caF\f3\1e\a1J\f0jaNOo\a1N\9d\bc!Oe\d1\e1O\00\da!P\00\e0\e1Q0\e1aS\ec\e2\a1T\d0\e8\e1T \00.U\f0\01\bfU\00p\00\07\00-\01\01\01\02\01\02\01\01H\0b0\15\10\01e\07\02\06\02\02\01\04#\01\1e\1b[\0b:\09\09\01\18\04\01\09\01\03\01\05+\03w\0f\01 7\01\01\01\04\08\04\01\03\07\0a\02\1d\01:\01\01\01\02\04\08\01\09\01\0a\02\1a\01\02\029\01\04\02\04\02\02\03\03\01\1e\02\03\01\0b\029\01\04\05\01\02\04\01\14\02\16\06\01\01:\01\01\02\01\04\08\01\07\03\0a\02\1e\01;\01\01\01\0c\01\09\01(\01\03\019\03\05\03\01\04\07\02\0b\02\1d\01:\01\02\01\02\01\03\01\05\02\07\02\0b\02\1c\029\02\01\01\02\04\08\01\09\01\0a\02\1d\01H\01\04\01\02\03\01\01\08\01Q\01\02\07\0c\08b\01\02\09\0b\06J\02\1b\01\01\01\01\017\0e\01\05\01\02\05\0b\01$\09\01f\04\01\06\01\02\02\02\19\02\04\03\10\04\0d\01\02\02\06\01\0f\01\00\03\00\03\1d\03\1d\02\1e\02@\02\01\07\08\01\02\0b\09\01-\03w\02\22\01v\03\04\02\09\01\06\03\db\02\02\01:\01\01\07\01\01\01\01\02\08\06\0a\02\010\11?\040\07\01\01\05\01(\09\0c\02 \04\02\02\01\038\01\01\02\03\01\01\03:\08\02\02\98\03\01\0d\01\07\04\01\06\01\03\02\c6:\01\05\00\01\c3!\00\03\8d\01` \00\06i\02\00\04\01\0a \02P\02\00\01\03\01\04\01\19\02\05\01\97\02\1a\12\0d\01&\08\19\0b.\030\01\02\04\02\02'\01C\06\02\02\02\02\0c\01\08\01/\013\01\01\03\02\02\05\02\01\01*\02\08\01\ee\01\02\01\04\01\00\01\00\10\10\10\00\02\00\01\e2\01\95\05\00\03\01\02\05\04(\03\04\01\a5\02\00\04\00\02\99\0b\b0\016\0f8\031\04\02\02E\03$\05\01\08>\01\0c\024\09\0a\04\02\01_\03\02\01\01\02\06\01\a0\01\03\08\15\029\02\01\01\01\01\16\01\0e\07\03\05\c3\08\02\03\01\01\17\01Q\01\02\06\01\01\02\01\01\02\01\02\eb\01\02\04\06\02\01\02\1b\02U\08\02\01\01\02j\01\01\01\02\06\01\01e\03\02\04\01\05\00\09\01\02\f5\01\0a\02\01\01\04\01\90\04\02\02\04\01 \0a(\06\02\04\08\01\09\06\02\03.\0d\01\02\00\07\01\06\01\01R\16\02\07\01\02\01\02z\06\03\01\01\02\01\07\01\01H\02\03\01\01\01\00\02\00\05;\07\00\01?\04Q\01\00\02\00\01\01\03\04\05\08\08\02\07\1e\04\94\03\007\042\08\01\0e\01\16\05\01\0f\00\07\01\11\02\07\01\02\01\05\00\07\00\04\00\07m\07\00`\80\f0\00") - (data (;1;) (i32.const 1058256) "\01\00\00\00\00\00\00\00\01")) From 3141ce3cb6867b40a4e5eca8baf660ccc32b3164 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Sun, 14 Jan 2024 09:55:26 +0100 Subject: [PATCH 36/36] remove unnecessary const --- templates-for-generation/tagged_value_definitions.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates-for-generation/tagged_value_definitions.rs b/templates-for-generation/tagged_value_definitions.rs index 0d1d36e..104d55f 100644 --- a/templates-for-generation/tagged_value_definitions.rs +++ b/templates-for-generation/tagged_value_definitions.rs @@ -39,7 +39,7 @@ macro_rules! tagged_value_conversion { impl TaggedVal { #[inline] #[allow(dead_code)] - const fn $try_as(&self) -> Option<$ty> { + fn $try_as(&self) -> Option<$ty> { if let $e(v) = self { Some(*v) } else {