Dec 06 22:09:55.466 INFO testing soundio-0.2.0 against master#906deae0790bd18681b937fe9a141a3c26cf1855 for pr-56514 Dec 06 22:09:55.466 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56514/worker-0/master#906deae0790bd18681b937fe9a141a3c26cf1855:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/pr-56514/master#906deae0790bd18681b937fe9a141a3c26cf1855:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +906deae0790bd18681b937fe9a141a3c26cf1855-alt build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 06 22:09:55.846 INFO [stdout] 0dab67e964c6a6c1620f97933db26d5fc6b6a4aa48499fcf23af546cfbd29c5f Dec 06 22:09:55.848 INFO running `"docker" "start" "-a" "0dab67e964c6a6c1620f97933db26d5fc6b6a4aa48499fcf23af546cfbd29c5f"` Dec 06 22:09:57.532 INFO [stderr] usermod: no changes Dec 06 22:09:57.612 INFO [stderr] warning: An explicit [[example]] section is specified in Cargo.toml which currently Dec 06 22:09:57.612 INFO [stderr] disables Cargo from automatically inferring other example targets. Dec 06 22:09:57.612 INFO [stderr] This inference behavior will change in the Rust 2018 edition and the following Dec 06 22:09:57.612 INFO [stderr] files will be included as a example target: Dec 06 22:09:57.612 INFO [stderr] Dec 06 22:09:57.612 INFO [stderr] * /source/examples/sine/main.rs Dec 06 22:09:57.612 INFO [stderr] Dec 06 22:09:57.612 INFO [stderr] This is likely to break cargo build or cargo test as these files may not be Dec 06 22:09:57.612 INFO [stderr] ready to be compiled as a example target today. You can future-proof yourself Dec 06 22:09:57.612 INFO [stderr] and disable this warning by adding `autoexamples = false` to your [package] Dec 06 22:09:57.612 INFO [stderr] section. You may also move the files to a location where Cargo would not Dec 06 22:09:57.612 INFO [stderr] automatically infer them to be a target, such as in subfolders. Dec 06 22:09:57.612 INFO [stderr] Dec 06 22:09:57.612 INFO [stderr] For more information on this warning you can consult Dec 06 22:09:57.612 INFO [stderr] https://github.com/rust-lang/cargo/issues/5330 Dec 06 22:09:57.664 INFO [stderr] Compiling libsoundio-sys v0.2.0 Dec 06 22:10:04.269 INFO [stderr] Compiling soundio v0.2.0 (/source) Dec 06 22:10:05.132 INFO [stderr] warning: variable does not need to be mutable Dec 06 22:10:05.132 INFO [stderr] --> src/device.rs:335:7 Dec 06 22:10:05.132 INFO [stderr] | Dec 06 22:10:05.132 INFO [stderr] 335 | let mut outstream = unsafe { raw::soundio_outstream_create(self.device) }; Dec 06 22:10:05.132 INFO [stderr] | ----^^^^^^^^^ Dec 06 22:10:05.132 INFO [stderr] | | Dec 06 22:10:05.132 INFO [stderr] | help: remove this `mut` Dec 06 22:10:05.132 INFO [stderr] | Dec 06 22:10:05.132 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 06 22:10:05.132 INFO [stderr] Dec 06 22:10:05.132 INFO [stderr] warning: variable does not need to be mutable Dec 06 22:10:05.133 INFO [stderr] --> src/device.rs:439:7 Dec 06 22:10:05.133 INFO [stderr] | Dec 06 22:10:05.133 INFO [stderr] 439 | let mut instream = unsafe { raw::soundio_instream_create(self.device) }; Dec 06 22:10:05.133 INFO [stderr] | ----^^^^^^^^ Dec 06 22:10:05.133 INFO [stderr] | | Dec 06 22:10:05.133 INFO [stderr] | help: remove this `mut` Dec 06 22:10:05.133 INFO [stderr] Dec 06 22:10:07.052 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 9.50s Dec 06 22:10:07.056 INFO [stderr] su: No module specific data is present Dec 06 22:10:08.098 INFO running `"docker" "inspect" "0dab67e964c6a6c1620f97933db26d5fc6b6a4aa48499fcf23af546cfbd29c5f"` Dec 06 22:10:08.354 INFO running `"docker" "rm" "-f" "0dab67e964c6a6c1620f97933db26d5fc6b6a4aa48499fcf23af546cfbd29c5f"` Dec 06 22:10:08.620 INFO [stdout] 0dab67e964c6a6c1620f97933db26d5fc6b6a4aa48499fcf23af546cfbd29c5f Dec 06 22:10:08.624 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56514/worker-0/master#906deae0790bd18681b937fe9a141a3c26cf1855:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/pr-56514/master#906deae0790bd18681b937fe9a141a3c26cf1855:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +906deae0790bd18681b937fe9a141a3c26cf1855-alt test --frozen --no-run" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 06 22:10:09.120 INFO [stdout] 0f0400fa9db662bfb6d5c5d45f0c3a46c46d55a083fba488e3aad7328ed26002 Dec 06 22:10:09.122 INFO running `"docker" "start" "-a" "0f0400fa9db662bfb6d5c5d45f0c3a46c46d55a083fba488e3aad7328ed26002"` Dec 06 22:10:10.260 INFO [stderr] usermod: no changes Dec 06 22:10:10.336 INFO [stderr] warning: An explicit [[example]] section is specified in Cargo.toml which currently Dec 06 22:10:10.336 INFO [stderr] disables Cargo from automatically inferring other example targets. Dec 06 22:10:10.336 INFO [stderr] This inference behavior will change in the Rust 2018 edition and the following Dec 06 22:10:10.336 INFO [stderr] files will be included as a example target: Dec 06 22:10:10.336 INFO [stderr] Dec 06 22:10:10.336 INFO [stderr] * /source/examples/sine/main.rs Dec 06 22:10:10.336 INFO [stderr] Dec 06 22:10:10.336 INFO [stderr] This is likely to break cargo build or cargo test as these files may not be Dec 06 22:10:10.336 INFO [stderr] ready to be compiled as a example target today. You can future-proof yourself Dec 06 22:10:10.336 INFO [stderr] and disable this warning by adding `autoexamples = false` to your [package] Dec 06 22:10:10.336 INFO [stderr] section. You may also move the files to a location where Cargo would not Dec 06 22:10:10.336 INFO [stderr] automatically infer them to be a target, such as in subfolders. Dec 06 22:10:10.336 INFO [stderr] Dec 06 22:10:10.336 INFO [stderr] For more information on this warning you can consult Dec 06 22:10:10.336 INFO [stderr] https://github.com/rust-lang/cargo/issues/5330 Dec 06 22:10:10.392 INFO [stderr] Compiling soundio v0.2.0 (/source) Dec 06 22:10:11.391 INFO [stderr] warning: unused variable: `watch` Dec 06 22:10:11.391 INFO [stderr] --> examples/list_devices/main.rs:4:17 Dec 06 22:10:11.392 INFO [stderr] | Dec 06 22:10:11.392 INFO [stderr] 4 | fn list_devices(watch: bool, short_output: bool, backend: soundio::Backend) -> Result<(), String> { Dec 06 22:10:11.392 INFO [stderr] | ^^^^^ help: consider using `_watch` instead Dec 06 22:10:11.393 INFO [stderr] | Dec 06 22:10:11.393 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 06 22:10:11.393 INFO [stderr] Dec 06 22:10:11.422 INFO [stderr] warning: method is never used: `finished` Dec 06 22:10:11.422 INFO [stderr] --> examples/player/main.rs:50:2 Dec 06 22:10:11.422 INFO [stderr] | Dec 06 22:10:11.422 INFO [stderr] 50 | fn finished(&self) -> bool { Dec 06 22:10:11.422 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 06 22:10:11.422 INFO [stderr] | Dec 06 22:10:11.422 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 06 22:10:11.422 INFO [stderr] Dec 06 22:10:11.898 INFO [stderr] warning: unused import: `super::super::backend::*` Dec 06 22:10:11.898 INFO [stderr] --> src/context.rs:686:6 Dec 06 22:10:11.899 INFO [stderr] | Dec 06 22:10:11.899 INFO [stderr] 686 | use super::super::backend::*; Dec 06 22:10:11.899 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Dec 06 22:10:11.899 INFO [stderr] | Dec 06 22:10:11.899 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 06 22:10:11.900 INFO [stderr] Dec 06 22:10:13.592 INFO [stderr] warning: variable does not need to be mutable Dec 06 22:10:13.592 INFO [stderr] --> src/device.rs:335:7 Dec 06 22:10:13.592 INFO [stderr] | Dec 06 22:10:13.592 INFO [stderr] 335 | let mut outstream = unsafe { raw::soundio_outstream_create(self.device) }; Dec 06 22:10:13.592 INFO [stderr] | ----^^^^^^^^^ Dec 06 22:10:13.592 INFO [stderr] | | Dec 06 22:10:13.592 INFO [stderr] | help: remove this `mut` Dec 06 22:10:13.592 INFO [stderr] | Dec 06 22:10:13.592 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 06 22:10:13.592 INFO [stderr] Dec 06 22:10:13.598 INFO [stderr] warning: variable does not need to be mutable Dec 06 22:10:13.599 INFO [stderr] --> src/device.rs:439:7 Dec 06 22:10:13.599 INFO [stderr] | Dec 06 22:10:13.599 INFO [stderr] 439 | let mut instream = unsafe { raw::soundio_instream_create(self.device) }; Dec 06 22:10:13.599 INFO [stderr] | ----^^^^^^^^ Dec 06 22:10:13.599 INFO [stderr] | | Dec 06 22:10:13.599 INFO [stderr] | help: remove this `mut` Dec 06 22:10:13.599 INFO [stderr] Dec 06 22:10:14.745 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.44s Dec 06 22:10:14.750 INFO [stderr] su: No module specific data is present Dec 06 22:10:15.652 INFO running `"docker" "inspect" "0f0400fa9db662bfb6d5c5d45f0c3a46c46d55a083fba488e3aad7328ed26002"` Dec 06 22:10:15.907 INFO running `"docker" "rm" "-f" "0f0400fa9db662bfb6d5c5d45f0c3a46c46d55a083fba488e3aad7328ed26002"` Dec 06 22:10:16.225 INFO [stdout] 0f0400fa9db662bfb6d5c5d45f0c3a46c46d55a083fba488e3aad7328ed26002 Dec 06 22:10:16.230 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56514/worker-0/master#906deae0790bd18681b937fe9a141a3c26cf1855:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/pr-56514/master#906deae0790bd18681b937fe9a141a3c26cf1855:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +906deae0790bd18681b937fe9a141a3c26cf1855-alt test --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 06 22:10:16.700 INFO [stdout] 035b0994bf17b74b39a258079311c20cc30f0dab7a0047f51ed7cca06a157462 Dec 06 22:10:16.708 INFO running `"docker" "start" "-a" "035b0994bf17b74b39a258079311c20cc30f0dab7a0047f51ed7cca06a157462"` Dec 06 22:10:17.824 INFO [stderr] usermod: no changes Dec 06 22:10:17.888 INFO [stderr] warning: An explicit [[example]] section is specified in Cargo.toml which currently Dec 06 22:10:17.888 INFO [stderr] disables Cargo from automatically inferring other example targets. Dec 06 22:10:17.888 INFO [stderr] This inference behavior will change in the Rust 2018 edition and the following Dec 06 22:10:17.888 INFO [stderr] files will be included as a example target: Dec 06 22:10:17.888 INFO [stderr] Dec 06 22:10:17.888 INFO [stderr] * /source/examples/sine/main.rs Dec 06 22:10:17.888 INFO [stderr] Dec 06 22:10:17.888 INFO [stderr] This is likely to break cargo build or cargo test as these files may not be Dec 06 22:10:17.888 INFO [stderr] ready to be compiled as a example target today. You can future-proof yourself Dec 06 22:10:17.888 INFO [stderr] and disable this warning by adding `autoexamples = false` to your [package] Dec 06 22:10:17.888 INFO [stderr] section. You may also move the files to a location where Cargo would not Dec 06 22:10:17.888 INFO [stderr] automatically infer them to be a target, such as in subfolders. Dec 06 22:10:17.888 INFO [stderr] Dec 06 22:10:17.888 INFO [stderr] For more information on this warning you can consult Dec 06 22:10:17.888 INFO [stderr] https://github.com/rust-lang/cargo/issues/5330 Dec 06 22:10:17.918 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.07s Dec 06 22:10:17.928 INFO [stderr] Running /target/debug/deps/soundio-dec869eb3ca8f600 Dec 06 22:10:17.936 INFO [stdout] Dec 06 22:10:17.936 INFO [stdout] running 9 tests Dec 06 22:10:17.956 INFO [stdout] test sample::tests::float_int_conversions ... ok Dec 06 22:10:17.956 INFO [stdout] test sample::tests::float_lossless ... ok Dec 06 22:10:17.976 INFO [stdout] test context::tests::available_backends ... ok Dec 06 22:10:17.976 INFO [stdout] test context::tests::connect_default_backend ... ok Dec 06 22:10:17.976 INFO [stdout] test sample::tests::out_of_range_float ... ok Dec 06 22:10:17.976 INFO [stdout] test sample::tests::int_through_float_lossless ... ok Dec 06 22:10:20.208 INFO [stdout] test sample::tests::increased_precision_lossless ... ok Dec 06 22:10:20.800 INFO [stdout] test sample::tests::sign_conversion_lossless ... ok Dec 06 22:10:21.624 INFO [stdout] test sample::tests::raw_lossless ... ok Dec 06 22:10:21.624 INFO [stdout] Dec 06 22:10:21.624 INFO [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Dec 06 22:10:21.624 INFO [stdout] Dec 06 22:10:21.626 INFO [stderr] Doc-tests soundio Dec 06 22:10:22.251 INFO [stdout] Dec 06 22:10:22.251 INFO [stdout] running 56 tests Dec 06 22:10:26.691 INFO [stdout] test src/context.rs - context::Context (line 22) ... ok Dec 06 22:10:26.691 INFO [stdout] test src/backend.rs - backend::Backend (line 21) ... ok Dec 06 22:10:26.744 INFO [stdout] test src/context.rs - context::Context<'a>::connect_backend (line 285) ... ok Dec 06 22:10:27.076 INFO [stdout] test src/context.rs - context::Context<'a>::available_backends (line 343) ... ok Dec 06 22:10:27.461 INFO [stdout] test src/context.rs - context::Context<'a>::connect (line 255) ... ok Dec 06 22:10:27.461 INFO [stdout] test src/channels.rs - channels::ChannelId (line 13) ... ok Dec 06 22:10:27.652 INFO [stdout] test src/channels.rs - channels::ChannelId::parse (line 273) ... ok Dec 06 22:10:27.724 INFO [stdout] test src/context.rs - context::Context<'a>::app_name (line 233) ... ok Dec 06 22:10:30.903 INFO [stdout] test src/context.rs - context::Context<'a>::disconnect (line 306) ... ok Dec 06 22:10:31.373 INFO [stdout] test src/context.rs - context::Context<'a>::default_output_device_index (line 551) ... ok Dec 06 22:10:31.377 INFO [stdout] test src/context.rs - context::Context<'a>::input_device (line 433) ... ok Dec 06 22:10:31.504 INFO [stdout] test src/context.rs - context::Context<'a>::current_backend (line 326) ... ok Dec 06 22:10:31.526 INFO [stdout] test src/context.rs - context::Context<'a>::default_input_device_index (line 523) ... ok Dec 06 22:10:31.725 INFO [stdout] test src/context.rs - context::Context<'a>::default_input_device (line 630) ... ok Dec 06 22:10:32.465 INFO [stdout] test src/context.rs - context::Context<'a>::input_devices (line 579) ... ok Dec 06 22:10:32.467 INFO [stdout] test src/context.rs - context::Context<'a>::default_output_device (line 653) ... ok Dec 06 22:10:33.241 INFO [stdout] test src/context.rs - context::Context<'a>::output_device (line 471) ... ok Dec 06 22:10:33.665 INFO [stdout] test src/device.rs - device::Device<'a>::aim (line 60) ... ok Dec 06 22:10:33.708 INFO [stdout] test src/context.rs - context::Context<'a>::new (line 107) ... ok Dec 06 22:10:33.915 INFO [stdout] test src/context.rs - context::Context<'a>::output_devices (line 604) ... ok Dec 06 22:10:34.158 INFO [stdout] test src/context.rs - context::Context<'a>::set_app_name (line 221) ... ok Dec 06 22:10:34.361 INFO [stdout] test src/context.rs - context::Context<'a>::new_with_callbacks (line 182) ... ok Dec 06 22:10:34.748 INFO [stdout] test src/device.rs - device::Device<'a>::nearest_sample_rate (line 261) ... ok Dec 06 22:10:35.409 INFO [stdout] test src/device.rs - device::Device<'a>::sample_rates (line 141) ... ok Dec 06 22:10:36.005 INFO [stdout] test src/device.rs - device::Device<'a>::supports_sample_rate (line 244) ... ok Dec 06 22:10:36.135 INFO [stdout] test src/device.rs - device::Device<'a>::supports_format (line 212) ... ok Dec 06 22:10:36.312 INFO [stdout] test src/device.rs - device::Device<'a>::supports_layout (line 228) ... ok Dec 06 22:10:36.312 INFO [stdout] test src/error.rs - error::Error (line 16) ... ok Dec 06 22:10:36.312 INFO [stdout] test src/layout.rs - layout::ChannelLayout::best_matching_channel_layout (line 114) ... ignored Dec 06 22:10:36.508 INFO [stdout] test src/format.rs - format::Format::bytes_per_sample (line 235) ... ok Dec 06 22:10:37.164 INFO [stdout] test src/format.rs - format::Format::bytes_per_frame (line 251) ... ok Dec 06 22:10:37.352 INFO [stdout] test src/format.rs - format::Format::bytes_per_second (line 266) ... ok Dec 06 22:10:37.899 INFO [stdout] test src/format.rs - format::endianness (line 61) ... ok Dec 06 22:10:38.044 INFO [stdout] test src/instream.rs - instream::InStreamReader<'a>::sample (line 325) ... ok Dec 06 22:10:38.668 INFO [stdout] test src/layout.rs - layout::ChannelLayout (line 16) ... ok Dec 06 22:10:39.416 INFO [stdout] test src/layout.rs - layout::ChannelLayout::detect_builtin (line 159) ... ok Dec 06 22:10:39.616 INFO [stdout] test src/layout.rs - layout::ChannelLayout::find_channel (line 141) ... ok Dec 06 22:10:39.616 INFO [stdout] test src/lib.rs - (line 130) ... ignored Dec 06 22:10:39.918 INFO [stdout] test src/layout.rs - layout::ChannelLayout (line 203) ... ok Dec 06 22:10:39.918 INFO [stdout] test src/lib.rs - (line 25) ... ignored Dec 06 22:10:40.072 INFO [stdout] test src/layout.rs - layout::ChannelLayout::get_all_builtin (line 64) ... ok Dec 06 22:10:41.085 INFO [stdout] test src/layout.rs - layout::ChannelLayout::get_builtin (line 82) ... ok Dec 06 22:10:42.240 INFO [stdout] test src/layout.rs - layout::ChannelLayout::get_default (line 98) ... ok Dec 06 22:10:42.493 INFO [stdout] test src/layout.rs - layout::ChannelLayout::sort (line 183) ... ok Dec 06 22:10:42.759 INFO [stdout] test src/layout.rs - layout::ChannelLayoutId (line 231) ... ok Dec 06 22:10:43.504 INFO [stdout] test src/lib.rs - (line 107) ... ok Dec 06 22:10:44.259 INFO [stdout] test src/lib.rs - (line 14) ... ok Dec 06 22:10:45.261 INFO [stdout] test src/lib.rs - (line 41) ... ok Dec 06 22:10:45.364 INFO [stdout] test src/lib.rs - (line 33) ... ok Dec 06 22:10:45.648 INFO [stdout] test src/lib.rs - (line 55) ... ok Dec 06 22:10:46.080 INFO [stdout] test src/lib.rs - have_backend (line 239) ... ok Dec 06 22:10:47.428 INFO [stdout] test src/lib.rs - (line 83) ... ok Dec 06 22:10:47.949 INFO [stdout] test src/lib.rs - version (line 212) ... ok Dec 06 22:10:48.164 INFO [stdout] test src/outstream.rs - outstream::OutStreamWriter<'a>::set_sample (line 375) ... ok Dec 06 22:10:48.208 INFO [stdout] test src/lib.rs - version_string (line 201) ... ok Dec 06 22:10:48.672 INFO [stdout] test src/util.rs - util::latin1_to_string (line 23) ... ok Dec 06 22:10:48.672 INFO [stdout] Dec 06 22:10:48.672 INFO [stdout] test result: ok. 53 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out Dec 06 22:10:48.672 INFO [stdout] Dec 06 22:10:48.700 INFO [stderr] su: No module specific data is present Dec 06 22:10:49.422 INFO running `"docker" "inspect" "035b0994bf17b74b39a258079311c20cc30f0dab7a0047f51ed7cca06a157462"` Dec 06 22:10:49.798 INFO running `"docker" "rm" "-f" "035b0994bf17b74b39a258079311c20cc30f0dab7a0047f51ed7cca06a157462"` Dec 06 22:10:50.158 INFO [stdout] 035b0994bf17b74b39a258079311c20cc30f0dab7a0047f51ed7cca06a157462