[INFO] cloning repository https://github.com/Jakur/topaz-tak [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jakur/topaz-tak" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJakur%2Ftopaz-tak", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJakur%2Ftopaz-tak'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6312fcec85c64ab5b5f5d32ac66f6910b76b5af9 [INFO] testing Jakur/topaz-tak against master#62efba8a050c64249dab942951bb28f710208bc8 for pr-90799 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJakur%2Ftopaz-tak" "/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/Jakur/topaz-tak on toolchain 62efba8a050c64249dab942951bb28f710208bc8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+62efba8a050c64249dab942951bb28f710208bc8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Jakur/topaz-tak [INFO] finished tweaking git repo https://github.com/Jakur/topaz-tak [INFO] tweaked toml for git repo https://github.com/Jakur/topaz-tak written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/Jakur/topaz-tak already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+62efba8a050c64249dab942951bb28f710208bc8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+62efba8a050c64249dab942951bb28f710208bc8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 5e48dfb83aea5116d2f9281cc7cf7337b5cebb7e3bf2e28ce14bfc416fa12984 [INFO] running `Command { std: "docker" "start" "-a" "5e48dfb83aea5116d2f9281cc7cf7337b5cebb7e3bf2e28ce14bfc416fa12984", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5e48dfb83aea5116d2f9281cc7cf7337b5cebb7e3bf2e28ce14bfc416fa12984", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5e48dfb83aea5116d2f9281cc7cf7337b5cebb7e3bf2e28ce14bfc416fa12984", kill_on_drop: false }` [INFO] [stdout] 5e48dfb83aea5116d2f9281cc7cf7337b5cebb7e3bf2e28ce14bfc416fa12984 [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=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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+62efba8a050c64249dab942951bb28f710208bc8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fac9699f36d06149a85ea4ef984f1b221b0a5d34e730828b903e7bec1a6831de [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "fac9699f36d06149a85ea4ef984f1b221b0a5d34e730828b903e7bec1a6831de", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.102 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling once_cell v1.8.0 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Compiling board-game-traits v0.2.1 [INFO] [stderr] Compiling termtree v0.2.3 [INFO] [stderr] Compiling colorful v0.2.1 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling ahash v0.7.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.1 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling lru v0.7.0 [INFO] [stderr] Compiling topaz-tak v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `bits` [INFO] [stdout] --> src/board/stack.rs:67:51 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn try_crush_wall(&mut self, bits: &mut BitboardStorage) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bits` [INFO] [stdout] --> src/board/stack.rs:77:49 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn uncrush_wall(&mut self, bits: &mut BitboardStorage) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `win_color` [INFO] [stdout] --> src/eval.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn win_color(res: GameResult) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 15.25s [INFO] running `Command { std: "docker" "inspect" "fac9699f36d06149a85ea4ef984f1b221b0a5d34e730828b903e7bec1a6831de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fac9699f36d06149a85ea4ef984f1b221b0a5d34e730828b903e7bec1a6831de", kill_on_drop: false }` [INFO] [stdout] fac9699f36d06149a85ea4ef984f1b221b0a5d34e730828b903e7bec1a6831de [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=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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+62efba8a050c64249dab942951bb28f710208bc8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 6bdf3e7f842bbd3caae192f71338b910e38d7ce8fb6d0118b72321f45302816c [INFO] running `Command { std: "docker" "start" "-a" "6bdf3e7f842bbd3caae192f71338b910e38d7ce8fb6d0118b72321f45302816c", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling semver v1.0.4 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling syn v1.0.77 [INFO] [stderr] Compiling itoa v0.4.8 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling serde_json v1.0.68 [INFO] [stderr] Compiling plotters-backend v0.3.2 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling half v1.7.1 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling oorandom v11.1.3 [INFO] [stderr] Compiling itertools v0.10.1 [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling walkdir v2.3.2 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling plotters-svg v0.3.1 [INFO] [stdout] warning: unused variable: `bits` [INFO] [stdout] --> src/board/stack.rs:67:51 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn try_crush_wall(&mut self, bits: &mut BitboardStorage) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bits` [INFO] [stdout] --> src/board/stack.rs:77:49 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn uncrush_wall(&mut self, bits: &mut BitboardStorage) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `win_color` [INFO] [stdout] --> src/eval.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn win_color(res: GameResult) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling criterion-plot v0.4.4 [INFO] [stderr] Compiling plotters v0.3.1 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling serde_cbor v0.11.2 [INFO] [stderr] Compiling csv v1.1.6 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling criterion v0.3.5 [INFO] [stderr] Compiling topaz-tak v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `bits` [INFO] [stdout] --> src/board/stack.rs:67:51 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn try_crush_wall(&mut self, bits: &mut BitboardStorage) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bits` [INFO] [stdout] --> src/board/stack.rs:77:49 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn uncrush_wall(&mut self, bits: &mut BitboardStorage) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `win_color` [INFO] [stdout] --> src/eval.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn win_color(res: GameResult) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compare_move_lists` [INFO] [stdout] --> src/move_gen.rs:590:8 [INFO] [stdout] | [INFO] [stdout] 590 | fn compare_move_lists(my_moves: Vec, source_file: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1m 30s [INFO] running `Command { std: "docker" "inspect" "6bdf3e7f842bbd3caae192f71338b910e38d7ce8fb6d0118b72321f45302816c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6bdf3e7f842bbd3caae192f71338b910e38d7ce8fb6d0118b72321f45302816c", kill_on_drop: false }` [INFO] [stdout] 6bdf3e7f842bbd3caae192f71338b910e38d7ce8fb6d0118b72321f45302816c [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=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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+62efba8a050c64249dab942951bb28f710208bc8" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9e55d583eee49f883f828ea7dea8210572802707c912bca349ddc89ac7aaa714 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "9e55d583eee49f883f828ea7dea8210572802707c912bca349ddc89ac7aaa714", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused variable: `bits` [INFO] [stderr] --> src/board/stack.rs:67:51 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn try_crush_wall(&mut self, bits: &mut BitboardStorage) -> bool { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bits` [INFO] [stderr] --> src/board/stack.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn uncrush_wall(&mut self, bits: &mut BitboardStorage) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bits` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `win_color` [INFO] [stderr] --> src/eval.rs:98:4 [INFO] [stderr] | [INFO] [stderr] 98 | fn win_color(res: GameResult) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `topaz-tak` (lib) generated 3 warnings [INFO] [stderr] warning: function is never used: `compare_move_lists` [INFO] [stderr] --> src/move_gen.rs:590:8 [INFO] [stderr] | [INFO] [stderr] 590 | fn compare_move_lists(my_moves: Vec, source_file: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `topaz-tak` (lib test) generated 4 warnings (3 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.66s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/topaz_tak-47cace4444db6b5f) [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test board::bitboard::test::bitboard_creation ... ok [INFO] [stdout] test board::bitboard::test::test_critical_squares ... ok [INFO] [stdout] test eval::test::check_tak_threats ... ok [INFO] [stdout] test move_gen::ptn::test::ptn_equivalence ... ok [INFO] [stdout] test move_gen::test::all_non_crush_moves ... ok [INFO] [stdout] test board::test::test_read_tps ... ok [INFO] [stdout] test board::zobrist::test::test_update_zobrist ... ok [INFO] [stdout] test board::test::test_make_unmake_move ... ok [INFO] [stdout] test board::bitboard::test::bitboard_road ... ok [INFO] [stdout] test board::bitboard::test::pop_lowest ... ok [INFO] [stdout] test board::test::test_forward_move ... ok [INFO] [stdout] test board::test::check_board_road ... ok [INFO] [stdout] test move_gen::test::four_direction_move ... ok [INFO] [stdout] test move_gen::test::crush_moves ... ok [INFO] [stdout] test move_gen::test::single_direction_move ... ok [INFO] [stdout] test search::proof::test::see_edge_placement_road ... ok [INFO] [stdout] test board::zobrist::test::test_zobrist_table ... ok [INFO] [stdout] test search::proof::test::simple ... ok [INFO] [stdout] test board::test::basic_perft ... ok [INFO] [stdout] test search::proof::test::defender_counterattack ... ok [INFO] [stdout] test search::test::small_minimax ... ok [INFO] [stdout] test search::test::unk_puzzle ... ok [INFO] [stdout] test search::test::small_alpha_beta ... ok [INFO] [stdout] test search::proof::test::simple2 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 45.62s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/topaz-cb65442b2754a239) [INFO] [stdout] [INFO] [stderr] Doc-tests topaz-tak [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] [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" "9e55d583eee49f883f828ea7dea8210572802707c912bca349ddc89ac7aaa714", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e55d583eee49f883f828ea7dea8210572802707c912bca349ddc89ac7aaa714", kill_on_drop: false }` [INFO] [stdout] 9e55d583eee49f883f828ea7dea8210572802707c912bca349ddc89ac7aaa714