[INFO] fetching crate strum 0.26.2...
[INFO] testing strum-0.26.2 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate strum 0.26.2 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate strum 0.26.2 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate strum 0.26.2
[INFO] finished tweaking crates.io crate strum 0.26.2
[INFO] tweaked toml for crates.io crate strum 0.26.2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 23 packages to latest compatible versions
[INFO] [stderr]       Adding heck v0.4.1 (latest: v0.5.0)
[INFO] [stderr]       Adding phf v0.10.1 (latest: v0.11.2)
[INFO] [stderr]       Adding phf_generator v0.10.0 (latest: v0.11.2)
[INFO] [stderr]       Adding phf_macros v0.10.0 (latest: v0.11.2)
[INFO] [stderr]       Adding phf_shared v0.10.0 (latest: v0.11.2)
[INFO] [stderr]       Adding siphasher v0.3.11 (latest: v1.0.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.66)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8a3e99e3c4034668c076ce4487c13b52d3eb61b159c40658186b840512d1590e
[INFO] running `Command { std: "docker" "start" "-a" "8a3e99e3c4034668c076ce4487c13b52d3eb61b159c40658186b840512d1590e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8a3e99e3c4034668c076ce4487c13b52d3eb61b159c40658186b840512d1590e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a3e99e3c4034668c076ce4487c13b52d3eb61b159c40658186b840512d1590e", kill_on_drop: false }`
[INFO] [stdout] 8a3e99e3c4034668c076ce4487c13b52d3eb61b159c40658186b840512d1590e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5edea4307616ad29457272a70e41f776f4fa889356d2a5fdc9e8a18a99abf1e1
[INFO] running `Command { std: "docker" "start" "-a" "5edea4307616ad29457272a70e41f776f4fa889356d2a5fdc9e8a18a99abf1e1", kill_on_drop: false }`
[INFO] [stderr]    Compiling strum v0.26.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] running `Command { std: "docker" "inspect" "5edea4307616ad29457272a70e41f776f4fa889356d2a5fdc9e8a18a99abf1e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5edea4307616ad29457272a70e41f776f4fa889356d2a5fdc9e8a18a99abf1e1", kill_on_drop: false }`
[INFO] [stdout] 5edea4307616ad29457272a70e41f776f4fa889356d2a5fdc9e8a18a99abf1e1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 04766b1f7197df5e2a7e8f75022fb89128555db840ea2055a8320d55d0591237
[INFO] running `Command { std: "docker" "start" "-a" "04766b1f7197df5e2a7e8f75022fb89128555db840ea2055a8320d55d0591237", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling strum_macros v0.26.2
[INFO] [stderr]    Compiling strum v0.26.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.37s
[INFO] running `Command { std: "docker" "inspect" "04766b1f7197df5e2a7e8f75022fb89128555db840ea2055a8320d55d0591237", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04766b1f7197df5e2a7e8f75022fb89128555db840ea2055a8320d55d0591237", kill_on_drop: false }`
[INFO] [stdout] 04766b1f7197df5e2a7e8f75022fb89128555db840ea2055a8320d55d0591237
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] eb6a2fafd865bb1d8cb0c89ad372f8bff09e4781844bf9b5dfcdebb5b2336e1d
[INFO] running `Command { std: "docker" "start" "-a" "eb6a2fafd865bb1d8cb0c89ad372f8bff09e4781844bf9b5dfcdebb5b2336e1d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/strum-0b318e5add58b9ef)
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests strum
[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 4 tests
[INFO] [stdout] test src/lib.rs - IntoEnumIterator (line 74) ... FAILED
[INFO] [stdout] test src/lib.rs - EnumMessage (line 129) ... FAILED
[INFO] [stdout] test src/lib.rs - EnumProperty (line 164) ... FAILED
[INFO] [stdout] test src/additional_attributes.rs - additional_attributes (line 22) ... ok
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - IntoEnumIterator (line 74) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `strum::EnumIter`
[INFO] [stdout]    --> src/lib.rs:78:13
[INFO] [stdout]     |
[INFO] [stdout] 7   | use strum::{EnumIter, IntoEnumIterator};
[INFO] [stdout]     |             ^^^^^^^^ no `EnumIter` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     EnumIter,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Color: IntoEnumIterator` is not satisfied
[INFO] [stdout]   --> src/lib.rs:99:20
[INFO] [stdout]    |
[INFO] [stdout] 28 | generic_iterator::<Color, _>(|color| println!("{:?}", color));
[INFO] [stdout]    |                    ^^^^^ the trait `IntoEnumIterator` is not implemented for `Color`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `generic_iterator`
[INFO] [stdout]   --> src/lib.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn generic_iterator<E, F>(pred: F)
[INFO] [stdout]    |    ---------------- required by a bound in this function
[INFO] [stdout] 19 | where
[INFO] [stdout] 20 |     E: IntoEnumIterator,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ required by this bound in `generic_iterator`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - EnumMessage (line 129) stdout ----
[INFO] [stdout] error: cannot find derive macro `EnumMessage` in this scope
[INFO] [stdout]  --> src/lib.rs:135:32
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(PartialEq, Eq, Debug, EnumMessage)]
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `EnumMessage` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/lib.rs:133:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use strum::EnumMessage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use strum_macros::EnumMessage;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:137:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[strum(message="I have a dog")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:129:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:138:7
[INFO] [stdout]    |
[INFO] [stdout] 12 |     #[strum(detailed_message="My dog's name is Spots")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:129:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:141:7
[INFO] [stdout]    |
[INFO] [stdout] 15 |     #[strum(message="I don't have a cat")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:129:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_message` found for enum `Pet` in the current scope
[INFO] [stdout]   --> src/lib.rs:146:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Pet {
[INFO] [stdout]    | -------- method `get_message` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 | assert_eq!("I have a dog", my_pet.get_message().unwrap());
[INFO] [stdout]    |                                   ^^^^^^^^^^^ method not found in `Pet`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `get_message`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `EnumMessage`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - EnumProperty (line 164) stdout ----
[INFO] [stdout] error: cannot find derive macro `EnumProperty` in this scope
[INFO] [stdout]  --> src/lib.rs:170:32
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(PartialEq, Eq, Debug, EnumProperty)]
[INFO] [stdout]   |                                ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `EnumProperty` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/lib.rs:168:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use strum::EnumProperty;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use strum_macros::EnumProperty;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:172:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[strum(props(Teacher="Ms.Frizzle", Room="201"))]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:164:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:174:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |     #[strum(props(Teacher="Mr.Smith"))]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:164:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:175:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[strum(props(Room="103"))]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:164:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `strum` in this scope
[INFO] [stdout]   --> src/lib.rs:177:7
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[strum(props(Time="2:30"))]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `strum` is imported here, but it is a crate, not an attribute
[INFO] [stdout]   --> src/lib.rs:164:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate r#strum;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_str` found for enum `Class` in the current scope
[INFO] [stdout]   --> src/lib.rs:182:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Class {
[INFO] [stdout]    | ---------- method `get_str` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 | assert_eq!("Ms.Frizzle", history.get_str("Teacher").unwrap());
[INFO] [stdout]    |                                  ^^^^^^^ method not found in `Class`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `get_str`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `EnumProperty`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - EnumMessage (line 129)
[INFO] [stdout]     src/lib.rs - EnumProperty (line 164)
[INFO] [stdout]     src/lib.rs - IntoEnumIterator (line 74)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "eb6a2fafd865bb1d8cb0c89ad372f8bff09e4781844bf9b5dfcdebb5b2336e1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb6a2fafd865bb1d8cb0c89ad372f8bff09e4781844bf9b5dfcdebb5b2336e1d", kill_on_drop: false }`
[INFO] [stdout] eb6a2fafd865bb1d8cb0c89ad372f8bff09e4781844bf9b5dfcdebb5b2336e1d
