[INFO] cloning repository https://github.com/Deepfriedfox/foxfire
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Deepfriedfox/foxfire" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDeepfriedfox%2Ffoxfire", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDeepfriedfox%2Ffoxfire'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7d09e5ef8653f28ec1e7c7a08aebfd36f4a5eb7a
[INFO] testing Deepfriedfox/foxfire against try#9f93af291970322f4f1c6315ccde4d7078201159 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDeepfriedfox%2Ffoxfire" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Deepfriedfox/foxfire
[INFO] finished tweaking git repo https://github.com/Deepfriedfox/foxfire
[INFO] tweaked toml for git repo https://github.com/Deepfriedfox/foxfire written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Deepfriedfox/foxfire on toolchain 9f93af291970322f4f1c6315ccde4d7078201159
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Deepfriedfox/foxfire already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 293ceb551a7963ee21050a3d60bf0f5d4154925bf51a867134dc60bfa237a5a4
[INFO] running `Command { std: "docker" "start" "-a" "293ceb551a7963ee21050a3d60bf0f5d4154925bf51a867134dc60bfa237a5a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "293ceb551a7963ee21050a3d60bf0f5d4154925bf51a867134dc60bfa237a5a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "293ceb551a7963ee21050a3d60bf0f5d4154925bf51a867134dc60bfa237a5a4", kill_on_drop: false }`
[INFO] [stdout] 293ceb551a7963ee21050a3d60bf0f5d4154925bf51a867134dc60bfa237a5a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f66dbe51eaf05efd103f93de7b3a45a2a14d1c8659a6967789e5c9e297b8e910
[INFO] running `Command { std: "docker" "start" "-a" "f66dbe51eaf05efd103f93de7b3a45a2a14d1c8659a6967789e5c9e297b8e910", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling strength_reduce v0.2.4
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling time v0.3.43
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling simple_logger v5.0.0
[INFO] [stderr]    Compiling rustfft v6.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling ctrlc v3.5.0
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling rppal v0.22.1
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling foxfire v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `playback_raw_data` and `record_raw_data`
[INFO] [stdout]   --> src/main.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::util::raw_data_io::{record_raw_data, playback_raw_data,append_raw_frame,RawFrame};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/dsp/cfar.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::{Rng};
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Distribution`, `Normal`, `Poisson`, and `Uniform`
[INFO] [stdout]  --> src/dsp/cfar.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand_distr::{Normal, Distribution, Uniform, Poisson};
[INFO] [stdout]   |                  ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_relative_eq`
[INFO] [stdout]   --> src/dsp/processor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use approx::assert_relative_eq;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/dsp/processor.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stdout]     |                            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 165 -                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stdout] 165 +                         if (i as i32 - peak_bin as i32).abs() > guard as i32 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/util/raw_data_io.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_rate_hz`, `num_samples_irq`, and `num_samples_per_burst` are never read
[INFO] [stdout]   --> src/radar_config.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RadarParams {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub sample_rate_hz: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub num_samples_irq: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub num_samples_per_burst: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cfar` is never used
[INFO] [stdout]  --> src/dsp/cfar.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn cfar(magnitudes: &[f32]) -> Vec<usize> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_raw_data` is never used
[INFO] [stdout]   --> src/util/raw_data_io.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn record_raw_data<P: AsRef<Path>>(raw_data: &[u8], filename: &P, frame_id: u64) -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_raw_data` is never used
[INFO] [stdout]   --> src/util/raw_data_io.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn playback_raw_data<P: AsRef<Path>>(filename: &P) -> io::Result<RawFrame> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_session` is never used
[INFO] [stdout]   --> src/util/raw_data_io.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn playback_session<P: AsRef<Path>>(filename: &P) -> io::Result<Vec<RawFrame>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] running `Command { std: "docker" "inspect" "f66dbe51eaf05efd103f93de7b3a45a2a14d1c8659a6967789e5c9e297b8e910", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f66dbe51eaf05efd103f93de7b3a45a2a14d1c8659a6967789e5c9e297b8e910", kill_on_drop: false }`
[INFO] [stdout] f66dbe51eaf05efd103f93de7b3a45a2a14d1c8659a6967789e5c9e297b8e910
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fdc5df79856fda9f273c73761272cfe01a3870633bf36309fe9d99bbbf1b2ee6
[INFO] running `Command { std: "docker" "start" "-a" "fdc5df79856fda9f273c73761272cfe01a3870633bf36309fe9d99bbbf1b2ee6", kill_on_drop: false }`
[INFO] [stderr]    Compiling foxfire v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `playback_raw_data` and `record_raw_data`
[INFO] [stdout]   --> src/main.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::util::raw_data_io::{record_raw_data, playback_raw_data,append_raw_frame,RawFrame};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/dsp/fft.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]   --> src/dsp/fft.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use std::f32::consts::PI;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/dsp/processor.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stdout]     |                            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 165 -                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stdout] 165 +                         if (i as i32 - peak_bin as i32).abs() > guard as i32 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/dsp/processor.rs:381:28
[INFO] [stdout]     |
[INFO] [stdout] 381 |                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stdout]     |                            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 381 -                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stdout] 381 +                         if (i as i32 - peak_bin as i32).abs() > guard as i32 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/util/raw_data_io.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_rate_hz`, `num_samples_irq`, and `num_samples_per_burst` are never read
[INFO] [stdout]   --> src/radar_config.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RadarParams {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub sample_rate_hz: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub num_samples_irq: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub num_samples_per_burst: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_raw_data` is never used
[INFO] [stdout]   --> src/util/raw_data_io.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn record_raw_data<P: AsRef<Path>>(raw_data: &[u8], filename: &P, frame_id: u64) -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_raw_data` is never used
[INFO] [stdout]   --> src/util/raw_data_io.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn playback_raw_data<P: AsRef<Path>>(filename: &P) -> io::Result<RawFrame> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_session` is never used
[INFO] [stdout]   --> src/util/raw_data_io.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn playback_session<P: AsRef<Path>>(filename: &P) -> io::Result<Vec<RawFrame>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.03s
[INFO] running `Command { std: "docker" "inspect" "fdc5df79856fda9f273c73761272cfe01a3870633bf36309fe9d99bbbf1b2ee6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdc5df79856fda9f273c73761272cfe01a3870633bf36309fe9d99bbbf1b2ee6", kill_on_drop: false }`
[INFO] [stdout] fdc5df79856fda9f273c73761272cfe01a3870633bf36309fe9d99bbbf1b2ee6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3d1161f4aaffa44334fd4d8c4756b5fa79cd10184c8d48107237f75f33ba0c6f
[INFO] running `Command { std: "docker" "start" "-a" "3d1161f4aaffa44334fd4d8c4756b5fa79cd10184c8d48107237f75f33ba0c6f", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `playback_raw_data` and `record_raw_data`
[INFO] [stderr]   --> src/main.rs:11:32
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::util::raw_data_io::{record_raw_data, playback_raw_data,append_raw_frame,RawFrame};
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/dsp/fft.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::consts::PI`
[INFO] [stderr]   --> src/dsp/fft.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |     use std::f32::consts::PI;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/dsp/processor.rs:165:28
[INFO] [stderr]     |
[INFO] [stderr] 165 |                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stderr]     |                            ^                                                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 165 -                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stderr] 165 +                         if (i as i32 - peak_bin as i32).abs() > guard as i32 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/dsp/processor.rs:381:28
[INFO] [stderr]     |
[INFO] [stderr] 381 |                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stderr]     |                            ^                                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 381 -                         if ((i as i32 - peak_bin as i32).abs() > guard as i32) {
[INFO] [stderr] 381 +                         if (i as i32 - peak_bin as i32).abs() > guard as i32 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::Utc`
[INFO] [stderr]  --> src/util/raw_data_io.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use chrono::Utc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sample_rate_hz`, `num_samples_irq`, and `num_samples_per_burst` are never read
[INFO] [stderr]   --> src/radar_config.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct RadarParams {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 10 |     pub sample_rate_hz: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub num_samples_irq: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     pub num_samples_per_burst: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `record_raw_data` is never used
[INFO] [stderr]   --> src/util/raw_data_io.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub fn record_raw_data<P: AsRef<Path>>(raw_data: &[u8], filename: &P, frame_id: u64) -> io::Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `playback_raw_data` is never used
[INFO] [stderr]   --> src/util/raw_data_io.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub fn playback_raw_data<P: AsRef<Path>>(filename: &P) -> io::Result<RawFrame> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `playback_session` is never used
[INFO] [stderr]   --> src/util/raw_data_io.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub fn playback_session<P: AsRef<Path>>(filename: &P) -> io::Result<Vec<RawFrame>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `foxfire` (bin "foxfire" test) generated 10 warnings (run `cargo fix --bin "foxfire" -p foxfire --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/foxfire-58f20c5b2359c523)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test dsp::cfar::tests::test_cfar_detects_peak ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_edge_peaks ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_diagnostic ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_empty ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_high_noise_peak ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_high_variance_noise_no_detection ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_gaussian_noise_with_peak ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_high_variance_noise_with_peak ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_low_contrast ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_no_false_alarm ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_noise_with_multiple_small_peaks ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_noise_with_small_peaks ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_overflow_prevention ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_poisson_noise_no_detection ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_random_noise_diagnostic ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_small_array ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_uneven_noise ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_variable_ref ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_varying_noise_no_detection ... ok
[INFO] [stdout] test dsp::fft::tests::test_fft_detects_tone ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_uniform_noise_no_detection ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_uniform_noise_with_peak ... ok
[INFO] [stdout] test dsp::processor::tests::test_compute_range_matrix_non_neutral ... ok
[INFO] [stdout] test dsp::processor::tests::test_compute_range_matrix ... ok
[INFO] [stdout] test dsp::processor::tests::test_doppler_bin_to_velocity ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_poisson_noise_with_peak ... ok
[INFO] [stdout] test dsp::processor::tests::test_extract_chirps ... ok
[INFO] [stdout] test dsp::processor::tests::test_extract_chirps_short_frame ... ok
[INFO] [stdout] test dsp::cfar::tests::test_cfar_gaussian_noise_no_detection ... ok
[INFO] [stdout] test dsp::processor::tests::test_extract_doppler_peaks_low_amp ... ok
[INFO] [stdout] test dsp::processor::tests::test_extract_doppler_peaks ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- dsp::processor::tests::test_extract_doppler_peaks stdout ----
[INFO] [stdout] Diagnostic: Magnitudes for range bin 10: [15.02286, 2.9741015, 20.007967, 69.03208, 553.7247, 944.78314, 586.3005, 88.67808]
[INFO] [stdout] Diagnostic: Peak mag 944.78, avg noise 12.67, SNR 74.58
[INFO] [stdout] Diagnostic: No detections - max Doppler mag 944.78, check thresholds
[INFO] [stdout] 
[INFO] [stdout] thread 'dsp::processor::tests::test_extract_doppler_peaks' (46) panicked at src/dsp/processor.rs:393:9:
[INFO] [stdout] Should detect simulated target
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x619059647932 - std::backtrace_rs::backtrace::libunwind::trace::h16affffe904e891e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x619059647932 - std::backtrace_rs::backtrace::trace_unsynchronized::h5c14b13373ed4150
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x619059647932 - std::sys::backtrace::_print_fmt::hcbb507f162c816cc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x619059647932 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8be9aa933f14675f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x61905965900f - core::fmt::rt::Argument::fmt::h30ed739d33467c3a
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x61905965900f - core::fmt::write::hfd0efbb002ac7eea
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x619059614223 - std::io::default_write_fmt::hd6d24501f2d7f8d3
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x619059614223 - std::io::Write::write_fmt::h79eca2f72fc24111
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x61905961ffc2 - std::sys::backtrace::BacktraceLock::print::hf2554f6030d393f7
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x61905962541f - std::panicking::default_hook::{{closure}}::h8873121c56335b01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x6190596252b1 - std::panicking::default_hook::hbafefc2d196267a2
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x619059587c2e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha834d5846f91b30b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x619059587c2e - test::test_main_with_exit_callback::{{closure}}::h63c167737eecb025
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x619059625a2f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbf9b0f7a281291fd
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x619059625a2f - std::panicking::panic_with_hook::h9f5b09d5adc1a745
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x619059625856 - std::panicking::panic_handler::{{closure}}::h08111e483bdf6a89
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:700:13
[INFO] [stdout]   16:     0x6190596200f9 - std::sys::backtrace::__rust_end_short_backtrace::h1b86e3414ecbbe8d
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x6190596089ed - __rustc[b292c645e8102103]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x619059660c30 - core::panicking::panic_fmt::h31cc490ecc8cc1fa
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x61905949ac39 - foxfire::dsp::processor::tests::test_extract_doppler_peaks::h8e59af7376d00ed6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/dsp/processor.rs:393:9
[INFO] [stdout]   20:     0x61905949bed7 - foxfire::dsp::processor::tests::test_extract_doppler_peaks::{{closure}}::hf8b9f34fb3b30466
[INFO] [stdout]                                at /opt/rustwide/workdir/src/dsp/processor.rs:324:36
[INFO] [stdout]   21:     0x61905951c456 - core::ops::function::FnOnce::call_once::h39306b2c278938f7
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x619059587a2b - core::ops::function::FnOnce::call_once::h2b2de5fdd23aab3e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x619059587a2b - test::__rust_begin_short_backtrace::he551dd004770be01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x61905959ba8d - test::run_test_in_process::{{closure}}::h5f0b44080a35ed87
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x61905959ba8d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4dbf65d14893ecf5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x61905959ba8d - std::panicking::catch_unwind::do_call::hc37c563b8a006285
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   27:     0x61905959ba8d - std::panicking::catch_unwind::h616b6e2e7a27f612
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   28:     0x61905959ba8d - std::panic::catch_unwind::h1e788dd57758e6d8
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x61905959ba8d - test::run_test_in_process::hf073c2764f29f8ad
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x61905959ba8d - test::run_test::{{closure}}::h3dc46b7a0c340fa6
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x619059574fd4 - test::run_test::{{closure}}::h6a4da3c57ef4505f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x619059574fd4 - std::sys::backtrace::__rust_begin_short_backtrace::hfd8e44bc311a5d57
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   33:     0x61905957882a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h57c4ddec344fe24c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   34:     0x61905957882a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd7cbe09591f06dfb
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x61905957882a - std::panicking::catch_unwind::do_call::hdcd076e8e993dfbc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   36:     0x61905957882a - std::panicking::catch_unwind::h8f9f675f3756eab1
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   37:     0x61905957882a - std::panic::catch_unwind::he8f74a93abeceb9b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x61905957882a - std::thread::Builder::spawn_unchecked_::{{closure}}::he43db13a2caa41d5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   39:     0x61905957882a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h8f3531a7e0d83514
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x61905961b4ff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ff05134d80ef20e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   41:     0x61905961b4ff - std::sys::thread::unix::Thread::new::thread_start::h9a4a41a076a486e0
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   42:     0x7ce9057aaaa4 - <unknown>
[INFO] [stdout]   43:     0x7ce905837a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     dsp::processor::tests::test_extract_doppler_peaks
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 30 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin foxfire`
[INFO] running `Command { std: "docker" "inspect" "3d1161f4aaffa44334fd4d8c4756b5fa79cd10184c8d48107237f75f33ba0c6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d1161f4aaffa44334fd4d8c4756b5fa79cd10184c8d48107237f75f33ba0c6f", kill_on_drop: false }`
[INFO] [stdout] 3d1161f4aaffa44334fd4d8c4756b5fa79cd10184c8d48107237f75f33ba0c6f
