[INFO] crate tari_key_manager 0.0.7 is already in cache [INFO] checking tari_key_manager-0.0.7 against try#9ff4d07208097950831ed4ea9d76feb1eafc8baa for pr-69340 [INFO] extracting crate tari_key_manager 0.0.7 into /workspace/builds/worker-10/source [INFO] validating manifest of crates.io crate tari_key_manager 0.0.7 on toolchain 9ff4d07208097950831ed4ea9d76feb1eafc8baa [INFO] running `"/workspace/cargo-home/bin/cargo" "+9ff4d07208097950831ed4ea9d76feb1eafc8baa" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate tari_key_manager 0.0.7 [INFO] finished tweaking crates.io crate tari_key_manager 0.0.7 [INFO] tweaked toml for crates.io crate tari_key_manager 0.0.7 written to /workspace/builds/worker-10/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+9ff4d07208097950831ed4ea9d76feb1eafc8baa" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+9ff4d07208097950831ed4ea9d76feb1eafc8baa" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+9ff4d07208097950831ed4ea9d76feb1eafc8baa" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c735c9e4621424874c40a28bdbbffaa1d42653a73d4c10e1a04f8796388639fd [INFO] running `"docker" "start" "-a" "c735c9e4621424874c40a28bdbbffaa1d42653a73d4c10e1a04f8796388639fd"` [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Checking subtle v2.2.2 [INFO] [stderr] Compiling case v0.1.0 [INFO] [stderr] Checking newtype-ops v0.1.4 [INFO] [stderr] Compiling clear_on_drop v0.2.3 [INFO] [stderr] Checking packed_simd v0.3.3 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Compiling thiserror-impl v1.0.11 [INFO] [stderr] Checking rmp v0.8.9 [INFO] [stderr] Compiling zeroize_derive v1.0.0 [INFO] [stderr] Checking sha3 v0.8.2 [INFO] [stderr] Compiling derive-error v0.0.4 [INFO] [stderr] Checking zeroize v1.1.0 [INFO] [stderr] Checking merlin v2.0.0 [INFO] [stderr] Checking thiserror v1.0.11 [INFO] [stderr] Checking bincode v1.2.1 [INFO] [stderr] Checking chrono v0.4.10 [INFO] [stderr] Checking serde_json v1.0.48 [INFO] [stderr] Checking rmp-serde v0.13.7 [INFO] [stderr] Checking tari_utilities v0.0.7 [INFO] [stderr] Checking curve25519-dalek v2.0.0 [INFO] [stderr] Checking bulletproofs v2.0.0 [INFO] [stderr] Checking tari_crypto v0.0.9 [INFO] [stderr] Checking tari_key_manager v0.0.7 (/opt/rustwide/workdir) [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/diacritics.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | (clean_string.replace(|c: char| !c.is_ascii(), "")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/key_manager.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | (self.derive_key(self.primary_key_index)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | (MNEMONIC_LANGUAGES.iter()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | (Ok(mnemonic_sequence)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | (from_bytes(k.to_vec(), language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | (to_bytes_with_language(mnemonic_seq, &language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | (to_secretkey(mnemonic_seq)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | (to_secretkey_with_language(mnemonic_seq, language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | (from_secret_key(self, language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/diacritics.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | (clean_string.replace(|c: char| !c.is_ascii(), "")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/key_manager.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | (self.derive_key(self.primary_key_index)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | (MNEMONIC_LANGUAGES.iter()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | (Ok(mnemonic_sequence)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | (from_bytes(k.to_vec(), language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | (to_bytes_with_language(mnemonic_seq, &language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | (to_secretkey(mnemonic_seq)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | (to_secretkey_with_language(mnemonic_seq, language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/mnemonic.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | (from_secret_key(self, language)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `R: rand_core::CryptoRng` is not satisfied [INFO] [stderr] --> src/key_manager.rs:65:43 [INFO] [stderr] | [INFO] [stderr] 65 | master_key: SecretKey::random(rng), [INFO] [stderr] | ^^^ the trait `rand_core::CryptoRng` is not implemented for `R` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:430:1 [INFO] [stderr] | [INFO] [stderr] 430 | impl<'a, R: CryptoRng + ?Sized> CryptoRng for &'a mut R {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] help: consider further restricting this bound with `+ rand_core::CryptoRng` [INFO] [stderr] --> src/key_manager.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn new(rng: &mut R) -> KeyManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `R: rand_core::RngCore` is not satisfied [INFO] [stderr] --> src/key_manager.rs:65:43 [INFO] [stderr] | [INFO] [stderr] 65 | master_key: SecretKey::random(rng), [INFO] [stderr] | ^^^ the trait `rand_core::RngCore` is not implemented for `R` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:373:1 [INFO] [stderr] | [INFO] [stderr] 373 | / impl<'a, R: RngCore + ?Sized> RngCore for &'a mut R { [INFO] [stderr] 374 | | #[inline(always)] [INFO] [stderr] 375 | | fn next_u32(&mut self) -> u32 { [INFO] [stderr] 376 | | (**self).next_u32() [INFO] [stderr] ... | [INFO] [stderr] 392 | | } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] help: consider further restricting this bound with `+ rand_core::RngCore` [INFO] [stderr] --> src/key_manager.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn new(rng: &mut R) -> KeyManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required because of the requirements on the impl of `rand::Rng` for `R` [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `tari_key_manager`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: the trait bound `R: rand_core::CryptoRng` is not satisfied [INFO] [stderr] --> src/key_manager.rs:65:43 [INFO] [stderr] | [INFO] [stderr] 65 | master_key: SecretKey::random(rng), [INFO] [stderr] | ^^^ the trait `rand_core::CryptoRng` is not implemented for `R` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:430:1 [INFO] [stderr] | [INFO] [stderr] 430 | impl<'a, R: CryptoRng + ?Sized> CryptoRng for &'a mut R {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] help: consider further restricting this bound with `+ rand_core::CryptoRng` [INFO] [stderr] --> src/key_manager.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn new(rng: &mut R) -> KeyManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `R: rand_core::RngCore` is not satisfied [INFO] [stderr] --> src/key_manager.rs:65:43 [INFO] [stderr] | [INFO] [stderr] 65 | master_key: SecretKey::random(rng), [INFO] [stderr] | ^^^ the trait `rand_core::RngCore` is not implemented for `R` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:373:1 [INFO] [stderr] | [INFO] [stderr] 373 | / impl<'a, R: RngCore + ?Sized> RngCore for &'a mut R { [INFO] [stderr] 374 | | #[inline(always)] [INFO] [stderr] 375 | | fn next_u32(&mut self) -> u32 { [INFO] [stderr] 376 | | (**self).next_u32() [INFO] [stderr] ... | [INFO] [stderr] 392 | | } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] help: consider further restricting this bound with `+ rand_core::RngCore` [INFO] [stderr] --> src/key_manager.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn new(rng: &mut R) -> KeyManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required because of the requirements on the impl of `rand::Rng` for `R` [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `rand::rngs::os::OsRng: rand_core::CryptoRng` is not satisfied [INFO] [stderr] --> src/mnemonic.rs:410:58 [INFO] [stderr] | [INFO] [stderr] 410 | let secretkey_bytes = RistrettoSecretKey::random(&mut rng).to_vec(); [INFO] [stderr] | ^^^^^^^^ the trait `rand_core::CryptoRng` is not implemented for `rand::rngs::os::OsRng` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:430:1 [INFO] [stderr] | [INFO] [stderr] 430 | impl<'a, R: CryptoRng + ?Sized> CryptoRng for &'a mut R {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `rand::rngs::os::OsRng: rand_core::RngCore` is not satisfied [INFO] [stderr] --> src/mnemonic.rs:410:58 [INFO] [stderr] | [INFO] [stderr] 410 | let secretkey_bytes = RistrettoSecretKey::random(&mut rng).to_vec(); [INFO] [stderr] | ^^^^^^^^ the trait `rand_core::RngCore` is not implemented for `rand::rngs::os::OsRng` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:373:1 [INFO] [stderr] | [INFO] [stderr] 373 | / impl<'a, R: RngCore + ?Sized> RngCore for &'a mut R { [INFO] [stderr] 374 | | #[inline(always)] [INFO] [stderr] 375 | | fn next_u32(&mut self) -> u32 { [INFO] [stderr] 376 | | (**self).next_u32() [INFO] [stderr] ... | [INFO] [stderr] 392 | | } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] = note: required because of the requirements on the impl of `rand::Rng` for `rand::rngs::os::OsRng` [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `rand::rngs::os::OsRng: rand_core::CryptoRng` is not satisfied [INFO] [stderr] --> src/mnemonic.rs:431:52 [INFO] [stderr] | [INFO] [stderr] 431 | let desired_k = RistrettoSecretKey::random(&mut rng); [INFO] [stderr] | ^^^^^^^^ the trait `rand_core::CryptoRng` is not implemented for `rand::rngs::os::OsRng` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:430:1 [INFO] [stderr] | [INFO] [stderr] 430 | impl<'a, R: CryptoRng + ?Sized> CryptoRng for &'a mut R {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `rand::rngs::os::OsRng: rand_core::RngCore` is not satisfied [INFO] [stderr] --> src/mnemonic.rs:431:52 [INFO] [stderr] | [INFO] [stderr] 431 | let desired_k = RistrettoSecretKey::random(&mut rng); [INFO] [stderr] | ^^^^^^^^ the trait `rand_core::RngCore` is not implemented for `rand::rngs::os::OsRng` [INFO] [stderr] | [INFO] [stderr] help: trait impl with same name found [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2/src/lib.rs:373:1 [INFO] [stderr] | [INFO] [stderr] 373 | / impl<'a, R: RngCore + ?Sized> RngCore for &'a mut R { [INFO] [stderr] 374 | | #[inline(always)] [INFO] [stderr] 375 | | fn next_u32(&mut self) -> u32 { [INFO] [stderr] 376 | | (**self).next_u32() [INFO] [stderr] ... | [INFO] [stderr] 392 | | } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_^ [INFO] [stderr] = note: perhaps two different versions of crate `rand_core` are being used? [INFO] [stderr] = note: required because of the requirements on the impl of `rand::Rng` for `rand::rngs::os::OsRng` [INFO] [stderr] = note: required by `tari_crypto::keys::SecretKey::random` [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `tari_key_manager`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c735c9e4621424874c40a28bdbbffaa1d42653a73d4c10e1a04f8796388639fd"` [INFO] running `"docker" "rm" "-f" "c735c9e4621424874c40a28bdbbffaa1d42653a73d4c10e1a04f8796388639fd"` [INFO] [stdout] c735c9e4621424874c40a28bdbbffaa1d42653a73d4c10e1a04f8796388639fd