[INFO] cloning repository https://github.com/nthorne/rssnek [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nthorne/rssnek" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnthorne%2Frssnek", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnthorne%2Frssnek'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f877f5d1f4cc38ec22df1690e51d0566d57837c3 [INFO] testing nthorne/rssnek against try#ce59db7a1b1b012fb2793c4641c1bdecad7a128b for pr-85530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnthorne%2Frssnek" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nthorne/rssnek on toolchain ce59db7a1b1b012fb2793c4641c1bdecad7a128b [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nthorne/rssnek [INFO] finished tweaking git repo https://github.com/nthorne/rssnek [INFO] tweaked toml for git repo https://github.com/nthorne/rssnek written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/nthorne/rssnek already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde v1.0.20 [INFO] [stderr] Downloaded slog-serde v1.0.0-alpha9 [INFO] [stderr] Downloaded serde_derive v1.0.20 [INFO] [stderr] Downloaded slog-json v1.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "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] fb1f7b39579c9b73b98d7e8686d7342d3149a901e88ce97f6a38229f5972506b [INFO] running `Command { std: "docker" "start" "-a" "fb1f7b39579c9b73b98d7e8686d7342d3149a901e88ce97f6a38229f5972506b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fb1f7b39579c9b73b98d7e8686d7342d3149a901e88ce97f6a38229f5972506b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb1f7b39579c9b73b98d7e8686d7342d3149a901e88ce97f6a38229f5972506b", kill_on_drop: false }` [INFO] [stdout] fb1f7b39579c9b73b98d7e8686d7342d3149a901e88ce97f6a38229f5972506b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d775f28f0ef4b53e785931fa340a901d0cf4bf81d30d209a9cb2e5f71ebd3656 [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" "d775f28f0ef4b53e785931fa340a901d0cf4bf81d30d209a9cb2e5f71ebd3656", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.1.40 [INFO] [stderr] Compiling libc v0.2.33 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling slog v1.7.1 [INFO] [stderr] Compiling lazy_static v0.2.9 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling gcc v0.3.54 [INFO] [stderr] Compiling pkg-config v0.3.9 [INFO] [stderr] Compiling serde v0.8.23 [INFO] [stderr] Compiling itoa v0.3.4 [INFO] [stderr] Compiling dtoa v0.4.2 [INFO] [stderr] Compiling serde v1.0.20 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling thread_local v0.3.4 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling slog-extra v0.1.2 [INFO] [stderr] Compiling time v0.1.38 [INFO] [stderr] Compiling isatty v0.1.5 [INFO] [stderr] Compiling rand v0.3.18 [INFO] [stderr] Compiling num-integer v0.1.35 [INFO] [stderr] Compiling slog-stream v1.2.1 [INFO] [stderr] Compiling num-iter v0.1.34 [INFO] [stderr] Compiling ncurses v5.86.0 [INFO] [stderr] Compiling num v0.1.40 [INFO] [stderr] Compiling chrono v0.2.25 [INFO] [stderr] Compiling serde_derive_internals v0.17.0 [INFO] [stderr] Compiling slog-term v1.5.0 [INFO] [stderr] Compiling slog-serde v1.0.0-alpha9 [INFO] [stderr] Compiling serde_json v0.8.6 [INFO] [stderr] Compiling serde_derive v1.0.20 [INFO] [stderr] Compiling slog-json v1.2.1 [INFO] [stderr] Compiling serde_json v1.0.6 [INFO] [stderr] Compiling rssnek v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/game/mod.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | .and_then({|_| String::from_utf8(buf).map_err(ErrSum::ParseError)}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/game/mod.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | .and_then({|mut s| s.read_to_end(&mut buf).map_err(ErrSum::FileError)}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 42.37s [INFO] running `Command { std: "docker" "inspect" "d775f28f0ef4b53e785931fa340a901d0cf4bf81d30d209a9cb2e5f71ebd3656", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d775f28f0ef4b53e785931fa340a901d0cf4bf81d30d209a9cb2e5f71ebd3656", kill_on_drop: false }` [INFO] [stdout] d775f28f0ef4b53e785931fa340a901d0cf4bf81d30d209a9cb2e5f71ebd3656 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d8d3692d94aa581ad2d083208f81d0d298494c047e9cddb095622e25bf9c80e3 [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" "d8d3692d94aa581ad2d083208f81d0d298494c047e9cddb095622e25bf9c80e3", kill_on_drop: false }` [INFO] [stderr] Compiling rssnek v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/game/mod.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | .and_then({|_| String::from_utf8(buf).map_err(ErrSum::ParseError)}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/game/mod.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | .and_then({|mut s| s.read_to_end(&mut buf).map_err(ErrSum::FileError)}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/game/mod.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | .and_then({|_| String::from_utf8(buf).map_err(ErrSum::ParseError)}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/game/mod.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | .and_then({|mut s| s.read_to_end(&mut buf).map_err(ErrSum::FileError)}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.69s [INFO] running `Command { std: "docker" "inspect" "d8d3692d94aa581ad2d083208f81d0d298494c047e9cddb095622e25bf9c80e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8d3692d94aa581ad2d083208f81d0d298494c047e9cddb095622e25bf9c80e3", kill_on_drop: false }` [INFO] [stdout] d8d3692d94aa581ad2d083208f81d0d298494c047e9cddb095622e25bf9c80e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ccf6920060026e991f670749d2ab9f5fd946b94ea77793db567dea6b02886f3e [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" "ccf6920060026e991f670749d2ab9f5fd946b94ea77793db567dea6b02886f3e", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/game/mod.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | .and_then({|_| String::from_utf8(buf).map_err(ErrSum::ParseError)}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] running 4 tests [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stdout] Jun 08 14:18:15.268 INFO Adding subscriber, channel: Sender { .. } [INFO] [stderr] --> src/game/mod.rs:34:23 [INFO] [stdout] Jun 08 14:18:15.268 INFO Adding subscriber, channel: Sender { .. } [INFO] [stderr] | [INFO] [stdout] Jun 08 14:18:15.268 INFO Adding subscriber, channel: Sender { .. } [INFO] [stderr] 34 | .and_then({|mut s| s.read_to_end(&mut buf).map_err(ErrSum::FileError)}) [INFO] [stdout] Jun 08 14:18:15.268 INFO Starting message dispatcher loop.. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] Jun 08 14:18:15.268 INFO Got message, msg: Event1 [INFO] [stderr] [INFO] [stdout] Jun 08 14:18:15.268 INFO Sending to channel, chan: Sender { .. } [INFO] [stderr] warning: 2 warnings emitted [INFO] [stdout] Jun 08 14:18:15.269 INFO Sending to channel, chan: Sender { .. } [INFO] [stderr] [INFO] [stdout] test events::tests::test_start_loop ... ok [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stdout] Jun 08 14:18:15.269 INFO Starting message dispatcher loop.. [INFO] [stderr] --> src/game/mod.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | .and_then({|_| String::from_utf8(buf).map_err(ErrSum::ParseError)}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/game/mod.rs:34:23 [INFO] [stderr] | [INFO] [stderr] 34 | .and_then({|mut s| s.read_to_end(&mut buf).map_err(ErrSum::FileError)}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rssnek-7cf53cbb03d59e8d) [INFO] [stdout] Jun 08 14:18:15.269 INFO Got message, msg: Event1 [INFO] [stdout] Jun 08 14:18:15.269 INFO Adding subscriber, channel: Sender { .. } [INFO] [stdout] test events::tests::test_subscribing_to_multiple_messages ... ok [INFO] [stdout] Jun 08 14:18:15.273 INFO Starting message dispatcher loop.. [INFO] [stdout] Jun 08 14:18:15.273 INFO Got message, msg: Event1 [INFO] [stdout] Jun 08 14:18:15.273 INFO Sending to channel, chan: Sender { .. } [INFO] [stdout] Jun 08 14:18:15.273 INFO Starting message dispatcher loop.. [INFO] [stdout] Jun 08 14:18:15.277 INFO Got message, msg: Event1 [INFO] [stdout] Jun 08 14:18:15.277 INFO Sending to channel, chan: Sender { .. } [INFO] [stdout] Jun 08 14:18:15.277 INFO Got message, msg: Event2 [INFO] [stdout] Jun 08 14:18:15.277 INFO Sending to channel, chan: Sender { .. } [INFO] [stdout] Jun 08 14:18:15.277 INFO Got message, msg: Event3 [INFO] [stdout] Jun 08 14:18:15.278 INFO Sending to channel, chan: Sender { .. } [INFO] [stdout] test events::tests::test_subscribe ... ok [INFO] [stdout] test events::tests::test_dispatching_multiple_messages ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rssnek-2d23980e46d0ecb1) [INFO] [stdout] [INFO] [stderr] Doc-tests rssnek [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] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/game/mod.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | .and_then({|_| String::from_utf8(buf).map_err(ErrSum::ParseError)}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/game/mod.rs:34:23 [INFO] [stderr] | [INFO] [stderr] 34 | .and_then({|mut s| s.read_to_end(&mut buf).map_err(ErrSum::FileError)}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [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" "ccf6920060026e991f670749d2ab9f5fd946b94ea77793db567dea6b02886f3e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ccf6920060026e991f670749d2ab9f5fd946b94ea77793db567dea6b02886f3e", kill_on_drop: false }` [INFO] [stdout] ccf6920060026e991f670749d2ab9f5fd946b94ea77793db567dea6b02886f3e