[INFO] fetching crate proc_macro_roids 0.8.0... [INFO] testing proc_macro_roids-0.8.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-1 [INFO] extracting crate proc_macro_roids 0.8.0 into /workspace/builds/worker-6-tc1/source [INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate proc_macro_roids 0.8.0 [INFO] finished tweaking crates.io crate proc_macro_roids 0.8.0 [INFO] tweaked toml for crates.io crate proc_macro_roids 0.8.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate proc_macro_roids 0.8.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 4 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 07fac261a11a3c2a85a3b7c74431e92aaabfe0f5c3f7f7fd5963a99b13ecc4cf [INFO] running `Command { std: "docker" "start" "-a" "07fac261a11a3c2a85a3b7c74431e92aaabfe0f5c3f7f7fd5963a99b13ecc4cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "07fac261a11a3c2a85a3b7c74431e92aaabfe0f5c3f7f7fd5963a99b13ecc4cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07fac261a11a3c2a85a3b7c74431e92aaabfe0f5c3f7f7fd5963a99b13ecc4cf", kill_on_drop: false }` [INFO] [stdout] 07fac261a11a3c2a85a3b7c74431e92aaabfe0f5c3f7f7fd5963a99b13ecc4cf [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b0e2e1c3e3f748c5b50915c75dc9e09bcfaf8f6af3b498fb2d57e1a93b299a4b [INFO] running `Command { std: "docker" "start" "-a" "b0e2e1c3e3f748c5b50915c75dc9e09bcfaf8f6af3b498fb2d57e1a93b299a4b", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling proc_macro_roids v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.35s [INFO] running `Command { std: "docker" "inspect" "b0e2e1c3e3f748c5b50915c75dc9e09bcfaf8f6af3b498fb2d57e1a93b299a4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0e2e1c3e3f748c5b50915c75dc9e09bcfaf8f6af3b498fb2d57e1a93b299a4b", kill_on_drop: false }` [INFO] [stdout] b0e2e1c3e3f748c5b50915c75dc9e09bcfaf8f6af3b498fb2d57e1a93b299a4b [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a11c90240b0fa69c37bb4e2335bb0ae70530b1a864ab66e68827a0a7e650c33d [INFO] running `Command { std: "docker" "start" "-a" "a11c90240b0fa69c37bb4e2335bb0ae70530b1a864ab66e68827a0a7e650c33d", kill_on_drop: false }` [INFO] [stderr] Compiling proc_macro_roids v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.58s [INFO] running `Command { std: "docker" "inspect" "a11c90240b0fa69c37bb4e2335bb0ae70530b1a864ab66e68827a0a7e650c33d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a11c90240b0fa69c37bb4e2335bb0ae70530b1a864ab66e68827a0a7e650c33d", kill_on_drop: false }` [INFO] [stdout] a11c90240b0fa69c37bb4e2335bb0ae70530b1a864ab66e68827a0a7e650c33d [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 80c3ff17f2c543fd458842de7c876e1fa95103196740bf46cdc4bc287291bb8e [INFO] running `Command { std: "docker" "start" "-a" "80c3ff17f2c543fd458842de7c876e1fa95103196740bf46cdc4bc287291bb8e", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/proc_macro_roids-45fba69735a24a97) [INFO] [stdout] [INFO] [stdout] running 99 tests [INFO] [stdout] test derive_input_ext::tests::append_derives_appends_to_attr_when_attr_exists ... ok [INFO] [stdout] test derive_input_ext::tests::append_derives_creates_attr_when_attr_does_not_exist ... ok [INFO] [stdout] test derive_input_ext::tests::contains_namespace_returns_false_when_namespace_does_not_exist ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameter_returns_ident_when_present ... ok [INFO] [stdout] test derive_input_ext::tests::contains_tag_returns_false_when_tag_does_not_exist ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test derive_input_ext::tests::contains_tag_returns_true_when_tag_exists ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameters_returns_idents_when_present ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameter_returns_ident_when_present ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_mut_returns_field ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameters_returns_idents_when_present ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_returns_field ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_false_when_fields_not_tuple ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_false_when_fields_unnamed_and_more_than_one ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_false_when_fields_unnamed_and_zero ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_true_when_fields_unnamed_and_exactly_one ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_named_does_not_panic_when_fields_named ... ok [INFO] [stdout] test derive_input_ext::tests::append_derives_panics_when_derives_exist - should panic ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unit_does_not_panic_when_fields_unit ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unnamed_does_not_panic_when_fields_unnamed ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_mut_panics_when_struct_has_multiple_fields - should panic ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_panics_when_struct_fields_not_unnamed - should panic ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_panics_when_struct_has_multiple_fields - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_mut_returns_data_struct_mut ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_mut_panics_when_struct_fields_not_unnamed - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_returns_data_struct ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_returns_unit_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_returns_unnamed_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_named_panics_when_fields_not_named - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_mut_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unnamed_panics_when_fields_not_unnamed - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unit_panics_when_fields_not_unit - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_mut_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_mut_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_returns_unit_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_named_returns_false_when_fields_not_named ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_named_returns_true_when_fields_named ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_returns_unnamed_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_tuple_returns_false_when_fields_not_unnamed ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_tuple_returns_true_when_fields_unnamed ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_unit_returns_false_when_fields_not_unit ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_unit_returns_true_when_fields_unit ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test field_ext::tests::fields_named::contains_tag_returns_false_when_tag_does_not_exist ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test field_ext::tests::fields_named::contains_tag_returns_true_when_tag_exists ... ok [INFO] [stdout] test field_ext::tests::fields_unnamed::contains_tag_returns_true_when_tag_exists ... ok [INFO] [stdout] test field_ext::tests::is_phantom_data_returns_false_for_non_phantom_data ... ok [INFO] [stdout] test field_ext::tests::is_phantom_data_returns_true_for_phantom_data ... ok [INFO] [stdout] test field_ext::tests::namespace_parameter_returns_meta_when_present ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_mut_panics_when_fields_unit - should panic ... ok [INFO] [stdout] test field_ext::tests::fields_unnamed::contains_tag_returns_false_when_tag_does_not_exist ... ok [INFO] [stdout] test field_ext::tests::namespace_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_panics_when_fields_unit - should panic ... ok [INFO] [stdout] test field_ext::tests::namespace_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test field_ext::tests::namespace_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test field_ext::tests::namespace_parameters_returns_metas_when_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test field_ext::tests::tag_parameter_returns_meta_when_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test field_ext::tests::type_name_returns_simple_type_name ... ok [INFO] [stdout] test field_ext::tests::tag_parameters_returns_metas_when_present ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_unit_is_empty_token_stream ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_named_is_brace_surrounding_comma_separated_variable_names ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_unnamed_is_parentheses_surrounding_comma_separated_variable_ns ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_unnamed_one_field_includes_trailing_comma ... ok [INFO] [stdout] test fields_ext::tests::is_named_returns_true_when_fields_named ... ok [INFO] [stdout] test fields_ext::tests::is_named_returns_false_when_fields_not_named ... ok [INFO] [stdout] test fields_ext::tests::is_tuple_returns_false_when_fields_not_unnamed ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_fields_unit ... ok [INFO] [stdout] test fields_ext::tests::is_unit_returns_true_when_fields_unit ... ok [INFO] [stdout] test fields_ext::tests::is_tuple_returns_true_when_fields_unnamed ... ok [INFO] [stdout] test fields_ext::tests::is_unit_returns_false_when_fields_not_unit ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_fields_named ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_struct_unit ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_struct_named ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_fields_unnamed_panics - should panic ... ok [INFO] [stdout] test ident_ext::tests::append_ident_returns_appended_ident ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_fields_unit ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_fields_unnamed_panics - should panic ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_fields_unnamed ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_struct_unit ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_struct_unnamed ... ok [INFO] [stdout] test ident_ext::tests::append_ident_ref_returns_appended_ident ... ok [INFO] [stdout] test ident_ext::tests::append_str_returns_appended_ident ... ok [INFO] [stdout] test ident_ext::tests::prepend_ident_ref_returns_prepended_ident ... ok [INFO] [stdout] test ident_ext::tests::prepend_ident_returns_prepended_ident ... ok [INFO] [stdout] test ident_ext::tests::prepend_str_returns_prepended_ident ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Doc-tests proc_macro_roids [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test src/lib.rs - (line 293) ... ok [INFO] [stdout] test src/lib.rs - (line 202) ... ok [INFO] [stdout] test src/lib.rs - (line 244) ... ok [INFO] [stdout] test src/lib.rs - (line 118) ... ok [INFO] [stdout] test src/lib.rs - (line 272) ... ok [INFO] [stdout] test src/lib.rs - (line 160) ... ok [INFO] [stdout] test src/lib.rs - (line 12) ... ok [INFO] [stdout] test src/lib.rs - (line 329) ... ok [INFO] [stdout] test src/lib.rs - (line 82) ... ok [INFO] [stdout] test src/util.rs - util::namespace_parameter (line 43) ... ok [INFO] [stdout] test src/util.rs - util::tag_nested_metas_iter (line 266) ... ok [INFO] [stdout] test src/util.rs - util::tag_parameter (line 132) ... ok [INFO] [stdout] test src/util.rs - util::namespace_parameters (line 92) ... ok [INFO] [stdout] test src/util.rs - util::namespace_nested_metas_iter (line 223) ... ok [INFO] [stdout] test src/util.rs - util::tag_parameters (line 185) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.24s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "80c3ff17f2c543fd458842de7c876e1fa95103196740bf46cdc4bc287291bb8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80c3ff17f2c543fd458842de7c876e1fa95103196740bf46cdc4bc287291bb8e", kill_on_drop: false }` [INFO] [stdout] 80c3ff17f2c543fd458842de7c876e1fa95103196740bf46cdc4bc287291bb8e