[INFO] fetching crate paseto-wasi07 1.0.7... [INFO] testing paseto-wasi07-1.0.7 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate paseto-wasi07 1.0.7 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate paseto-wasi07 1.0.7 [INFO] finished tweaking crates.io crate paseto-wasi07 1.0.7 [INFO] tweaked toml for crates.io crate paseto-wasi07 1.0.7 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate paseto-wasi07 1.0.7 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate paseto-wasi07 1.0.7 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded openssl-sys v0.9.54 [INFO] [stderr] Downloaded poly1305 v0.5.2 [INFO] [stderr] Downloaded zeroize v1.1.0 [INFO] [stderr] Downloaded chacha20poly1305 v0.4.1 [INFO] [stderr] Downloaded chacha20 v0.3.3 [INFO] [stderr] Downloaded ed25519-dalek v1.0.0-pre.3 [INFO] [stderr] Downloaded clear_on_drop v0.2.3 [INFO] [stderr] Downloaded backtrace v0.3.44 [INFO] [stderr] Downloaded openssl v0.10.28 [INFO] [stderr] Downloaded chrono-wasi07 v0.4.10 [INFO] [stderr] Downloaded curve25519-dalek v2.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b9e3fc5ed4a897125cdeb000cf4c127fb8db57759eca114fac2abc1c60a1aa52 [INFO] running `Command { std: "docker" "start" "-a" "b9e3fc5ed4a897125cdeb000cf4c127fb8db57759eca114fac2abc1c60a1aa52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b9e3fc5ed4a897125cdeb000cf4c127fb8db57759eca114fac2abc1c60a1aa52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9e3fc5ed4a897125cdeb000cf4c127fb8db57759eca114fac2abc1c60a1aa52", kill_on_drop: false }` [INFO] [stdout] b9e3fc5ed4a897125cdeb000cf4c127fb8db57759eca114fac2abc1c60a1aa52 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] dc2f3c75e277cbbe2bf51b8cb7edd56d6dd52218c919ab1f1842606a4812775e [INFO] running `Command { std: "docker" "start" "-a" "dc2f3c75e277cbbe2bf51b8cb7edd56d6dd52218c919ab1f1842606a4812775e", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Compiling libc v0.2.67 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling syn v1.0.16 [INFO] [stderr] Compiling subtle v2.2.2 [INFO] [stderr] Compiling byte-tools v0.3.1 [INFO] [stderr] Compiling zeroize v1.1.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Compiling clear_on_drop v0.2.3 [INFO] [stderr] Compiling opaque-debug v0.2.3 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling block-padding v0.1.5 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Compiling subtle v1.0.0 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling fake-simd v0.1.2 [INFO] [stderr] Compiling itoa v0.4.5 [INFO] [stderr] Compiling constant_time_eq v0.1.5 [INFO] [stderr] Compiling base64 v0.12.0 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling c2-chacha v0.2.3 [INFO] [stderr] Compiling backtrace v0.3.44 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling generic-array v0.12.3 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling digest v0.8.1 [INFO] [stderr] Compiling universal-hash v0.3.0 [INFO] [stderr] Compiling stream-cipher v0.3.2 [INFO] [stderr] Compiling block-buffer v0.7.3 [INFO] [stderr] Compiling aead v0.2.0 [INFO] [stderr] Compiling crypto-mac v0.7.0 [INFO] [stderr] Compiling chacha20 v0.3.3 [INFO] [stderr] Compiling poly1305 v0.5.2 [INFO] [stderr] Compiling curve25519-dalek v2.0.0 [INFO] [stderr] Compiling sha2 v0.8.1 [INFO] [stderr] Compiling blake2 v0.8.1 [INFO] [stderr] Compiling chacha20poly1305 v0.4.1 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling ed25519-dalek v1.0.0-pre.3 [INFO] [stderr] Compiling failure v0.1.6 [INFO] [stderr] Compiling serde_json v1.0.48 [INFO] [stderr] Compiling chrono-wasi07 v0.4.10 [INFO] [stderr] Compiling paseto-wasi07 v1.0.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoErrors` [INFO] [stdout] 4 | pub enum CryptoErrors { [INFO] [stdout] | ------------ `CryptoErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CryptoErrors` [INFO] [stdout] 4 | pub enum CryptoErrors { [INFO] [stdout] | ------------ `CryptoErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RsaKeyErrors` [INFO] [stdout] 20 | pub enum RsaKeyErrors { [INFO] [stdout] | ------------ `RsaKeyErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RsaKeyErrors` [INFO] [stdout] 20 | pub enum RsaKeyErrors { [INFO] [stdout] | ------------ `RsaKeyErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GenericError` [INFO] [stdout] 28 | pub enum GenericError { [INFO] [stdout] | ------------ `GenericError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GenericError` [INFO] [stdout] 28 | pub enum GenericError { [INFO] [stdout] | ------------ `GenericError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.78s [INFO] running `Command { std: "docker" "inspect" "dc2f3c75e277cbbe2bf51b8cb7edd56d6dd52218c919ab1f1842606a4812775e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc2f3c75e277cbbe2bf51b8cb7edd56d6dd52218c919ab1f1842606a4812775e", kill_on_drop: false }` [INFO] [stdout] dc2f3c75e277cbbe2bf51b8cb7edd56d6dd52218c919ab1f1842606a4812775e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 4ededea2059281b8afe9634b4e6fcef0c7d077e1ee901f96b4c4c8d51ce1a2e9 [INFO] running `Command { std: "docker" "start" "-a" "4ededea2059281b8afe9634b4e6fcef0c7d077e1ee901f96b4c4c8d51ce1a2e9", kill_on_drop: false }` [INFO] [stderr] Compiling hex v0.4.2 [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoErrors` [INFO] [stdout] 4 | pub enum CryptoErrors { [INFO] [stdout] | ------------ `CryptoErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CryptoErrors` [INFO] [stdout] 4 | pub enum CryptoErrors { [INFO] [stdout] | ------------ `CryptoErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RsaKeyErrors` [INFO] [stdout] 20 | pub enum RsaKeyErrors { [INFO] [stdout] | ------------ `RsaKeyErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RsaKeyErrors` [INFO] [stdout] 20 | pub enum RsaKeyErrors { [INFO] [stdout] | ------------ `RsaKeyErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GenericError` [INFO] [stdout] 28 | pub enum GenericError { [INFO] [stdout] | ------------ `GenericError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GenericError` [INFO] [stdout] 28 | pub enum GenericError { [INFO] [stdout] | ------------ `GenericError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling paseto-wasi07 v1.0.7 (/opt/rustwide/workdir) [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/public-using-builder.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let token = paseto::tokens::PasetoBuilder::new() [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::PasetoBuilder; [INFO] [stdout] | [INFO] [stdout] help: if you import `PasetoBuilder`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 15 - let token = paseto::tokens::PasetoBuilder::new() [INFO] [stdout] 15 + let token = PasetoBuilder::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/public-using-builder.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | let verified_token = paseto::tokens::validate_public_token( [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::tokens; [INFO] [stdout] | [INFO] [stdout] help: if you import `tokens`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 30 - let verified_token = paseto::tokens::validate_public_token( [INFO] [stdout] 30 + let verified_token = tokens::validate_public_token( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/direct-protocol.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | paseto::v2::local::local_paseto(&message, None, &mut key_mut).expect("Failed to encrypt V2 Token sans footer."); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::v2::local; [INFO] [stdout] | [INFO] [stdout] help: if you import `local`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 27 - paseto::v2::local::local_paseto(&message, None, &mut key_mut).expect("Failed to encrypt V2 Token sans footer."); [INFO] [stdout] 27 + local::local_paseto(&message, None, &mut key_mut).expect("Failed to encrypt V2 Token sans footer."); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/direct-protocol.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | paseto::v2::local::decrypt_paseto(&v2_token, None, &mut key_mut).expect("Failed to decrypt V2 Token sans footer."); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::v2::local; [INFO] [stdout] | [INFO] [stdout] help: if you import `local`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 30 - paseto::v2::local::decrypt_paseto(&v2_token, None, &mut key_mut).expect("Failed to decrypt V2 Token sans footer."); [INFO] [stdout] 30 + local::decrypt_paseto(&v2_token, None, &mut key_mut).expect("Failed to decrypt V2 Token sans footer."); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/direct-protocol.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | paseto::v2::local::local_paseto(&message, Some(&footer), &mut key_mut).expect("Failed to encrypt V2 Token."); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::v2::local; [INFO] [stdout] | [INFO] [stdout] help: if you import `local`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 33 - paseto::v2::local::local_paseto(&message, Some(&footer), &mut key_mut).expect("Failed to encrypt V2 Token."); [INFO] [stdout] 33 + local::local_paseto(&message, Some(&footer), &mut key_mut).expect("Failed to encrypt V2 Token."); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/direct-protocol.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | let decrypted_v2_footer = paseto::v2::local::decrypt_paseto(&v2_footer_token, Some(&footer), &mut key_mut) [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::v2::local; [INFO] [stdout] | [INFO] [stdout] help: if you import `local`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 35 - let decrypted_v2_footer = paseto::v2::local::decrypt_paseto(&v2_footer_token, Some(&footer), &mut key_mut) [INFO] [stdout] 35 + let decrypted_v2_footer = local::decrypt_paseto(&v2_footer_token, Some(&footer), &mut key_mut) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/public-using-builder.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | &paseto::tokens::PasetoPublicKey::ED25519KeyPair(cloned_key), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::PasetoPublicKey; [INFO] [stdout] | [INFO] [stdout] help: if you import `PasetoPublicKey`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 33 - &paseto::tokens::PasetoPublicKey::ED25519KeyPair(cloned_key), [INFO] [stdout] 33 + &PasetoPublicKey::ED25519KeyPair(cloned_key), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `paseto-wasi07` (example "direct-protocol") due to 4 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `paseto-wasi07` (example "public-using-builder") due to 3 previous errors [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/local-using-builders.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | let token = paseto::tokens::PasetoBuilder::new() [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::PasetoBuilder; [INFO] [stdout] | [INFO] [stdout] help: if you import `PasetoBuilder`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 13 - let token = paseto::tokens::PasetoBuilder::new() [INFO] [stdout] 13 + let token = PasetoBuilder::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `paseto` [INFO] [stdout] --> examples/local-using-builders.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let verified_token = paseto::tokens::validate_local_token( [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `paseto` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `paseto`, use `cargo add paseto` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use paseto_wasi07::tokens; [INFO] [stdout] | [INFO] [stdout] help: if you import `tokens`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 28 - let verified_token = paseto::tokens::validate_local_token( [INFO] [stdout] 28 + let verified_token = tokens::validate_local_token( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `paseto-wasi07` (example "local-using-builders") due to 2 previous errors [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoErrors` [INFO] [stdout] 4 | pub enum CryptoErrors { [INFO] [stdout] | ------------ `CryptoErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CryptoErrors` [INFO] [stdout] 4 | pub enum CryptoErrors { [INFO] [stdout] | ------------ `CryptoErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RsaKeyErrors` [INFO] [stdout] 20 | pub enum RsaKeyErrors { [INFO] [stdout] | ------------ `RsaKeyErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RsaKeyErrors` [INFO] [stdout] 20 | pub enum RsaKeyErrors { [INFO] [stdout] | ------------ `RsaKeyErrors` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GenericError` [INFO] [stdout] 28 | pub enum GenericError { [INFO] [stdout] | ------------ `GenericError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GenericError` [INFO] [stdout] 28 | pub enum GenericError { [INFO] [stdout] | ------------ `GenericError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4ededea2059281b8afe9634b4e6fcef0c7d077e1ee901f96b4c4c8d51ce1a2e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ededea2059281b8afe9634b4e6fcef0c7d077e1ee901f96b4c4c8d51ce1a2e9", kill_on_drop: false }` [INFO] [stdout] 4ededea2059281b8afe9634b4e6fcef0c7d077e1ee901f96b4c4c8d51ce1a2e9