[INFO] cloning repository https://github.com/colbyguan/minesweeper-rust-example [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/colbyguan/minesweeper-rust-example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyguan%2Fminesweeper-rust-example", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyguan%2Fminesweeper-rust-example'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dd5cc1e1f8fc7636e97c004cda9db20e9439df86 [INFO] testing colbyguan/minesweeper-rust-example against beta-2021-09-08 for beta-1.56-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyguan%2Fminesweeper-rust-example" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/colbyguan/minesweeper-rust-example on toolchain beta-2021-09-08 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-09-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/colbyguan/minesweeper-rust-example [INFO] finished tweaking git repo https://github.com/colbyguan/minesweeper-rust-example [INFO] tweaked toml for git repo https://github.com/colbyguan/minesweeper-rust-example written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/colbyguan/minesweeper-rust-example already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-09-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-09-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 644c4655700ffdad7cb9b2e9ce6c21ee552d65e88bfeb07cb8b20b7ab3e76722 [INFO] running `Command { std: "docker" "start" "-a" "644c4655700ffdad7cb9b2e9ce6c21ee552d65e88bfeb07cb8b20b7ab3e76722", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "644c4655700ffdad7cb9b2e9ce6c21ee552d65e88bfeb07cb8b20b7ab3e76722", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "644c4655700ffdad7cb9b2e9ce6c21ee552d65e88bfeb07cb8b20b7ab3e76722", kill_on_drop: false }` [INFO] [stdout] 644c4655700ffdad7cb9b2e9ce6c21ee552d65e88bfeb07cb8b20b7ab3e76722 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-09-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e1423777a087645bc1a88c737f206a23dc3cc6fc7a099ea38ed2eb9c15126735 [INFO] running `Command { std: "docker" "start" "-a" "e1423777a087645bc1a88c737f206a23dc3cc6fc7a099ea38ed2eb9c15126735", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.86 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling parking_lot_core v0.8.3 [INFO] [stderr] Compiling signal-hook-registry v1.3.0 [INFO] [stderr] Compiling mio v0.7.9 [INFO] [stderr] Compiling rand_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling signal-hook v0.1.17 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling crossterm v0.19.0 [INFO] [stderr] Compiling minesweepe-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant is never used: `EMOJI_NUMBERS` [INFO] [stdout] --> src/game.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | / const EMOJI_NUMBERS: [&'static str; 9] = [ [INFO] [stdout] 51 | | " ", [INFO] [stdout] 52 | | "\u{0031}\u{FE0F}\u{20E3}", [INFO] [stdout] 53 | | "\u{0032}\u{FE0F}\u{20E3}", [INFO] [stdout] ... | [INFO] [stdout] 59 | | "\u{0038}\u{FE0F}\u{20E3}", [INFO] [stdout] 60 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `receive_move_via_tokens` [INFO] [stdout] --> src/main.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | fn receive_move_via_tokens(&mut self) -> VictoryState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | disable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | disable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | enable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `debugOn` should have a snake case name [INFO] [stdout] --> src/config.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub debugOn: bool, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `debug_on` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | execute!(stdout(), Print(s)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `execute` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.21s [INFO] running `Command { std: "docker" "inspect" "e1423777a087645bc1a88c737f206a23dc3cc6fc7a099ea38ed2eb9c15126735", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e1423777a087645bc1a88c737f206a23dc3cc6fc7a099ea38ed2eb9c15126735", kill_on_drop: false }` [INFO] [stdout] e1423777a087645bc1a88c737f206a23dc3cc6fc7a099ea38ed2eb9c15126735 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-09-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 699581eb53a78132ec6d88c10d93c11c252ddedcbfe16b97ccf9d0d7f870c501 [INFO] running `Command { std: "docker" "start" "-a" "699581eb53a78132ec6d88c10d93c11c252ddedcbfe16b97ccf9d0d7f870c501", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling minesweepe-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant is never used: `EMOJI_NUMBERS` [INFO] [stdout] --> src/game.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | / const EMOJI_NUMBERS: [&'static str; 9] = [ [INFO] [stdout] 51 | | " ", [INFO] [stdout] 52 | | "\u{0031}\u{FE0F}\u{20E3}", [INFO] [stdout] 53 | | "\u{0032}\u{FE0F}\u{20E3}", [INFO] [stdout] ... | [INFO] [stdout] 59 | | "\u{0038}\u{FE0F}\u{20E3}", [INFO] [stdout] 60 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `receive_move_via_tokens` [INFO] [stdout] --> src/main.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | fn receive_move_via_tokens(&mut self) -> VictoryState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | disable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | disable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | enable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `debugOn` should have a snake case name [INFO] [stdout] --> src/config.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub debugOn: bool, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `debug_on` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | execute!(stdout(), Print(s)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `execute` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.11s [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "699581eb53a78132ec6d88c10d93c11c252ddedcbfe16b97ccf9d0d7f870c501", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "699581eb53a78132ec6d88c10d93c11c252ddedcbfe16b97ccf9d0d7f870c501", kill_on_drop: false }` [INFO] [stdout] 699581eb53a78132ec6d88c10d93c11c252ddedcbfe16b97ccf9d0d7f870c501 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-09-08" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c952afcba677e9711d5eba3f9e413063205b12b233cd4223fc1749f5bc7c42b1 [INFO] running `Command { std: "docker" "start" "-a" "c952afcba677e9711d5eba3f9e413063205b12b233cd4223fc1749f5bc7c42b1", kill_on_drop: false }` [INFO] [stderr] warning: constant is never used: `EMOJI_NUMBERS` [INFO] [stderr] --> src/game.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | / const EMOJI_NUMBERS: [&'static str; 9] = [ [INFO] [stderr] 51 | | " ", [INFO] [stderr] 52 | | "\u{0031}\u{FE0F}\u{20E3}", [INFO] [stderr] 53 | | "\u{0032}\u{FE0F}\u{20E3}", [INFO] [stderr] ... | [INFO] [stderr] 59 | | "\u{0038}\u{FE0F}\u{20E3}", [INFO] [stderr] 60 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `receive_move_via_tokens` [INFO] [stderr] --> src/main.rs:144:8 [INFO] [stderr] | [INFO] [stderr] 144 | fn receive_move_via_tokens(&mut self) -> VictoryState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | disable_raw_mode(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | disable_raw_mode(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | enable_raw_mode(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `debugOn` should have a snake case name [INFO] [stderr] --> src/config.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub debugOn: bool, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `debug_on` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/game.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | execute!(stdout(), Print(s)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `execute` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `minesweepe-rs` (bin "minesweepe-rs" test) generated 8 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/minesweepe_rs-eee035a0b5535920) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c952afcba677e9711d5eba3f9e413063205b12b233cd4223fc1749f5bc7c42b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c952afcba677e9711d5eba3f9e413063205b12b233cd4223fc1749f5bc7c42b1", kill_on_drop: false }` [INFO] [stdout] c952afcba677e9711d5eba3f9e413063205b12b233cd4223fc1749f5bc7c42b1