[INFO] fetching crate myopic-board 2.2.0... [INFO] testing myopic-board-2.2.0 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate myopic-board 2.2.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate myopic-board 2.2.0 [INFO] finished tweaking crates.io crate myopic-board 2.2.0 [INFO] tweaked toml for crates.io crate myopic-board 2.2.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate myopic-board 2.2.0 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 41 packages to latest compatible versions [INFO] [stderr] Adding itertools v0.8.2 (available: v0.14.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c263373fe1ae9dc603a5ee20b492897e7263dec4c4402091212e2c255e53e2c4 [INFO] running `Command { std: "docker" "start" "-a" "c263373fe1ae9dc603a5ee20b492897e7263dec4c4402091212e2c255e53e2c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c263373fe1ae9dc603a5ee20b492897e7263dec4c4402091212e2c255e53e2c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c263373fe1ae9dc603a5ee20b492897e7263dec4c4402091212e2c255e53e2c4", kill_on_drop: false }` [INFO] [stdout] c263373fe1ae9dc603a5ee20b492897e7263dec4c4402091212e2c255e53e2c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d2596455f5d1ed05468ecc830f647ee99f09a8f7689eb8736f22ac0c2c2d5922 [INFO] running `Command { std: "docker" "start" "-a" "d2596455f5d1ed05468ecc830f647ee99f09a8f7689eb8736f22ac0c2c2d5922", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling enumset_derive v0.14.0 [INFO] [stderr] Compiling enumset v1.1.10 [INFO] [stderr] Compiling myopic-core v1.3.0 [INFO] [stderr] Compiling myopic-board v2.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.34s [INFO] running `Command { std: "docker" "inspect" "d2596455f5d1ed05468ecc830f647ee99f09a8f7689eb8736f22ac0c2c2d5922", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2596455f5d1ed05468ecc830f647ee99f09a8f7689eb8736f22ac0c2c2d5922", kill_on_drop: false }` [INFO] [stdout] d2596455f5d1ed05468ecc830f647ee99f09a8f7689eb8736f22ac0c2c2d5922 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70a0846492a842bd5b25b789875894df7d7704dd582db18c27cda4c43cf8237f [INFO] running `Command { std: "docker" "start" "-a" "70a0846492a842bd5b25b789875894df7d7704dd582db18c27cda4c43cf8237f", kill_on_drop: false }` [INFO] [stderr] Compiling myopic-board v2.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `TestCase` is never constructed [INFO] [stdout] --> src/imp/cache/termination.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | struct TestCase { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.66s [INFO] running `Command { std: "docker" "inspect" "70a0846492a842bd5b25b789875894df7d7704dd582db18c27cda4c43cf8237f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70a0846492a842bd5b25b789875894df7d7704dd582db18c27cda4c43cf8237f", kill_on_drop: false }` [INFO] [stdout] 70a0846492a842bd5b25b789875894df7d7704dd582db18c27cda4c43cf8237f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 681fd84e02b31453f60b51bd83e5c5287a52b2287b2136682041f4acf70eae06 [INFO] running `Command { std: "docker" "start" "-a" "681fd84e02b31453f60b51bd83e5c5287a52b2287b2136682041f4acf70eae06", kill_on_drop: false }` [INFO] [stderr] warning: struct `TestCase` is never constructed [INFO] [stderr] --> src/imp/cache/termination.rs:98:12 [INFO] [stderr] | [INFO] [stderr] 98 | struct TestCase { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `myopic-board` (lib test) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/myopic_board-aabe99e1706ca4b3) [INFO] [stdout] [INFO] [stdout] running 128 tests [INFO] [stdout] test imp::evolve::test::test_black_bishop_takes_white_bishop ... ok [INFO] [stdout] test imp::evolve::test::test_black_enpassant ... ok [INFO] [stdout] test imp::evolve::test::test_black_knight_takes_white_knight ... ok [INFO] [stdout] test imp::evolve::test::test_black_king_takes_white_king ... ok [INFO] [stdout] test imp::evolve::test::test_black_pawn_moves_forward_one ... ok [INFO] [stdout] test imp::evolve::test::test_black_kingside_castling ... ok [INFO] [stdout] test imp::evolve::test::test_black_pawn_moves_forward_two ... ok [INFO] [stdout] test imp::evolve::test::test_black_pawn_takes_white_bishop ... ok [INFO] [stdout] test imp::evolve::test::test_black_promotion ... ok [INFO] [stdout] test imp::evolve::test::test_black_king_moving_removes_castling_rights ... ok [INFO] [stdout] test imp::evolve::test::test_black_queen_takes_white_queen ... ok [INFO] [stdout] test imp::evolve::test::test_black_queenside_castling ... ok [INFO] [stdout] test imp::evolve::test::test_black_rook_taking_white_rook_removing_kingside_rights ... ok [INFO] [stdout] test imp::evolve::test::test_black_rook_taking_white_rook_removing_queenside_rights ... ok [INFO] [stdout] test imp::evolve::test::test_white_bishop_takes_black_bishop ... ok [INFO] [stdout] test imp::evolve::test::test_white_king_moving_removes_castling_rights ... ok [INFO] [stdout] test imp::evolve::test::test_white_king_takes_black_king ... ok [INFO] [stdout] test imp::evolve::test::test_white_kingside_castling ... ok [INFO] [stdout] test imp::evolve::test::test_white_pawn_moves_forward_one ... ok [INFO] [stdout] test imp::evolve::test::test_white_pawn_moves_forward_two ... ok [INFO] [stdout] test imp::evolve::test::test_white_enpassant ... ok [INFO] [stdout] test imp::evolve::test::test_white_pawn_takes_black_pawn ... ok [INFO] [stdout] test imp::evolve::test::test_white_promotion ... ok [INFO] [stdout] test imp::evolve::test::test_white_queen_takes_black_queen ... ok [INFO] [stdout] test imp::evolve::test::test_white_queenside_castling ... ok [INFO] [stdout] test imp::evolve::test::test_white_rook_taking_black_rook_removing_kingside_rights ... ok [INFO] [stdout] test imp::evolve::test::test_white_knight_takes_black_knight ... ok [INFO] [stdout] test imp::evolve::test::test_white_rook_taking_black_rook_removing_queenside_rights ... ok [INFO] [stdout] test imp::cache::termination::test::not_terminal2 ... ok [INFO] [stdout] test imp::cache::control::test::test_white_control ... ok [INFO] [stdout] test imp::cache::control::test::test_black_control ... ok [INFO] [stdout] test imp::cache::termination::test::not_terminal ... ok [INFO] [stdout] test imp::cache::termination::test::stalemate ... ok [INFO] [stdout] test imp::fen::test::position_1_castling_rights ... ok [INFO] [stdout] test imp::fen::test::position_2_enpassant ... ok [INFO] [stdout] test imp::fen::test::start_position_active ... ok [INFO] [stdout] test imp::fen::test::start_position_all ... ok [INFO] [stdout] test imp::fen::test::position_2_castling_rights ... ok [INFO] [stdout] test imp::fen::test::start_position_board ... ok [INFO] [stdout] test imp::fen::test::start_position_castling_rights ... ok [INFO] [stdout] test imp::fen::test::position_1_board ... ok [INFO] [stdout] test imp::fen::test::position_1_enpassant ... ok [INFO] [stdout] test imp::fen::test::start_position_enpassant ... ok [INFO] [stdout] test imp::fen::test::position_1_active ... ok [INFO] [stdout] test imp::fen::test::position_1_all ... ok [INFO] [stdout] test imp::fen::test::position_2_board ... ok [INFO] [stdout] test imp::fen::test::position_1_move_count ... ok [INFO] [stdout] test imp::fen::test::position_1_half_move_count ... ok [INFO] [stdout] test imp::fen::test::position_2_move_count ... ok [INFO] [stdout] test imp::fen_test::fen_to_board_case_2 ... ok [INFO] [stdout] test imp::fen_test::fen_to_board_case_4 ... ok [INFO] [stdout] test imp::fen_test::fen_to_board_case_3 ... ok [INFO] [stdout] test imp::fen_test::fen_to_board_case_1 ... ok [INFO] [stdout] test imp::fen::test::position_2_all ... ok [INFO] [stdout] test imp::fen::test::position_2_active ... ok [INFO] [stdout] test imp::fen::test::start_position_half_move_count ... ok [INFO] [stdout] test imp::fen::test::start_position_move_count ... ok [INFO] [stdout] test imp::cache::rays::discovery::test::case_one ... ok [INFO] [stdout] test imp::fen::test::position_2_half_move_count ... ok [INFO] [stdout] test imp::moves::test::misc::case_12 ... ok [INFO] [stdout] test imp::moves::enpassantsrc::test_enpassant_source_squares::test ... ok [INFO] [stdout] test imp::cache::termination::test::checkmate ... ok [INFO] [stdout] test imp::moves::test::misc::case_11 ... ok [INFO] [stdout] test imp::cache::rays::pinning::test::case_one ... ok [INFO] [stdout] test imp::moves::test::misc::case_16 ... ok [INFO] [stdout] test imp::moves::test::misc::case_15 ... ok [INFO] [stdout] test imp::moves::test::misc::case_08 ... ok [INFO] [stdout] test imp::moves::test::misc::case_05 ... ok [INFO] [stdout] test imp::moves::test::misc::case_10 ... ok [INFO] [stdout] test imp::moves::test::misc::case_14 ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::black_move_eleven ... ok [INFO] [stdout] test imp::moves::test::misc::case_13 ... ok [INFO] [stdout] test imp::positions::test::test_toggle_square ... ok [INFO] [stdout] test mv::test::castle ... ok [INFO] [stdout] test mv::test::promotion ... ok [INFO] [stdout] test parse::patterns::test::test_fen_regex ... ok [INFO] [stdout] test parse::patterns::test::test_move_regex ... ok [INFO] [stdout] test imp::moves::test::misc::case_06 ... ok [INFO] [stdout] test parse::patterns::test::test_uci_move_regex ... ok [INFO] [stdout] test mv::test::standard ... ok [INFO] [stdout] test imp::moves::test::misc::case_07 ... ok [INFO] [stdout] test mv::test::enpassant ... ok [INFO] [stdout] test parse::pgn::test::case_zero ... ok [INFO] [stdout] test imp::moves::test::misc::case_17 ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::black_move_nine ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_eleven ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_eight ... ok [INFO] [stdout] test imp::moves::test::misc::case_03 ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_five ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_four ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_nine ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_one ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_seven ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::black_move_eight ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_two ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_six ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_ten ... ok [INFO] [stdout] test parse::pgn::test_single_move::case_three ... ok [INFO] [stdout] test parse::uci::test::case_zero ... ok [INFO] [stdout] test parse::uci::test_single_move::case_eleven ... ok [INFO] [stdout] test parse::uci::test_single_move::case_eight ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::white_move_nine ... ok [INFO] [stdout] test parse::uci::test_single_move::case_one ... ok [INFO] [stdout] test parse::uci::test_single_move::case_seven ... ok [INFO] [stdout] test parse::uci::test_single_move::case_five ... ok [INFO] [stdout] test parse::test::uci_position_1 ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::black_move_ten ... ok [INFO] [stdout] test parse::uci::test_single_move::case_four ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::white_move_eleven ... ok [INFO] [stdout] test parse::uci::test_single_move::case_nine ... ok [INFO] [stdout] test parse::uci::test_single_move::case_six ... ok [INFO] [stdout] test parse::uci::test_single_move::case_three ... ok [INFO] [stdout] test imp::moves::test::misc::case_02 ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::white_move_ten ... ok [INFO] [stdout] test uci_conversion_test::test_castling_conversion ... ok [INFO] [stdout] test imp::moves::test::misc::case_01 ... ok [INFO] [stdout] test uci_conversion_test::test_enpassant_conversion ... ok [INFO] [stdout] test uci_conversion_test::test_promotion_conversion ... ok [INFO] [stdout] test uci_conversion_test::test_rook_standard_conversion ... ok [INFO] [stdout] test parse::uci::uci_struct_test::construct ... ok [INFO] [stdout] test parse::uci::uci_struct_test::reflect ... ok [INFO] [stdout] test parse::uci::test::case_one ... ok [INFO] [stdout] test parse::pgn::test::case_two ... ok [INFO] [stdout] test parse::uci::test_single_move::case_two ... ok [INFO] [stdout] test uci_conversion_test::test_pawn_standard_conversion ... ok [INFO] [stdout] test parse::pgn::test::case_one ... ok [INFO] [stdout] test parse::uci::test_single_move::case_ten ... ok [INFO] [stdout] test imp::moves::test::szukstra_tal::white_move_twelve ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 128 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s [INFO] [stdout] [INFO] [stderr] Doc-tests myopic_board [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" "681fd84e02b31453f60b51bd83e5c5287a52b2287b2136682041f4acf70eae06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "681fd84e02b31453f60b51bd83e5c5287a52b2287b2136682041f4acf70eae06", kill_on_drop: false }` [INFO] [stdout] 681fd84e02b31453f60b51bd83e5c5287a52b2287b2136682041f4acf70eae06