[INFO] cloning repository https://github.com/jihchi/dify [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jihchi/dify" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihchi%2Fdify", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihchi%2Fdify'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 708d96a7ebbd95b024c0d9575c48fd686b9b6dfb [INFO] checking jihchi/dify against try#0f31acebf540c89e4a4d5d114959fe91973419cb for pr-147017 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihchi%2Fdify" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jihchi/dify [INFO] finished tweaking git repo https://github.com/jihchi/dify [INFO] tweaked toml for git repo https://github.com/jihchi/dify written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jihchi/dify on toolchain 0f31acebf540c89e4a4d5d114959fe91973419cb [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0f31acebf540c89e4a4d5d114959fe91973419cb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jihchi/dify 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" "+0f31acebf540c89e4a4d5d114959fe91973419cb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_derive v1.0.205 [INFO] [stderr] Downloaded serde_spanned v0.6.7 [INFO] [stderr] Downloaded rgb v0.8.48 [INFO] [stderr] Downloaded predicates-core v1.0.8 [INFO] [stderr] Downloaded ravif v0.11.10 [INFO] [stderr] Downloaded predicates v3.1.2 [INFO] [stderr] Downloaded plotters-svg v0.3.6 [INFO] [stderr] Downloaded ignore v0.4.22 [INFO] [stderr] Downloaded anyhow v1.0.86 [INFO] [stderr] Downloaded predicates-tree v1.0.11 [INFO] [stderr] Downloaded criterion-plot v0.4.5 [INFO] [stderr] Downloaded globwalk v0.9.1 [INFO] [stderr] Downloaded image-webp v0.1.3 [INFO] [stderr] Downloaded plotters v0.3.6 [INFO] [stderr] Downloaded built v0.7.4 [INFO] [stderr] Downloaded zune-jpeg v0.4.13 [INFO] [stderr] Downloaded bstr v1.10.0 [INFO] [stderr] Downloaded assert_fs v1.1.2 [INFO] [stderr] Downloaded globset v0.4.14 [INFO] [stderr] Downloaded criterion v0.3.6 [INFO] [stderr] Downloaded cc v1.1.8 [INFO] [stderr] Downloaded plotters-backend v0.3.6 [INFO] [stderr] Downloaded flate2 v1.0.31 [INFO] [stderr] Downloaded getopts v0.2.21 [INFO] [stderr] Downloaded bitstream-io v2.5.0 [INFO] [stderr] Downloaded serde v1.0.205 [INFO] [stderr] Downloaded oorandom v11.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+0f31acebf540c89e4a4d5d114959fe91973419cb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ec33c9b066ee4d04f3452dc67d650acb14b70eb32272c0430f1f277a3f1b821f [INFO] running `Command { std: "docker" "start" "-a" "ec33c9b066ee4d04f3452dc67d650acb14b70eb32272c0430f1f277a3f1b821f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ec33c9b066ee4d04f3452dc67d650acb14b70eb32272c0430f1f277a3f1b821f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec33c9b066ee4d04f3452dc67d650acb14b70eb32272c0430f1f277a3f1b821f", kill_on_drop: false }` [INFO] [stdout] ec33c9b066ee4d04f3452dc67d650acb14b70eb32272c0430f1f277a3f1b821f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+0f31acebf540c89e4a4d5d114959fe91973419cb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3df9bf04f5acca4143a5690be7ffff02c7e24e9967161b5c69a42bf069e0fa1 [INFO] running `Command { std: "docker" "start" "-a" "d3df9bf04f5acca4143a5690be7ffff02c7e24e9967161b5c69a42bf069e0fa1", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling built v0.7.4 [INFO] [stderr] Compiling serde v1.0.205 [INFO] [stderr] Checking aligned-vec v0.5.0 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking bytemuck v1.16.3 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking flate2 v1.0.31 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking imgref v1.10.1 [INFO] [stderr] Checking bitstream-io v2.5.0 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking predicates-core v1.0.8 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking rgb v0.8.48 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking avif-serialize v0.8.1 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Compiling serde_json v1.0.122 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking image-webp v0.1.3 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking zune-jpeg v0.4.13 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking v_frame v0.3.8 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking plotters-backend v0.3.6 [INFO] [stderr] Checking termtree v0.4.1 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking plotters-svg v0.3.6 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking half v1.8.3 [INFO] [stderr] Checking predicates-tree v1.0.11 [INFO] [stderr] Checking predicates v3.1.2 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking plotters v0.3.6 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking criterion-plot v0.4.5 [INFO] [stderr] Checking serde_cbor v0.11.2 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking bstr v1.10.0 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Checking predicates v2.1.5 [INFO] [stderr] Checking av1-grain v0.2.3 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking globset v0.4.14 [INFO] [stderr] Checking assert_cmd v2.0.16 [INFO] [stderr] Checking ignore v0.4.22 [INFO] [stderr] Checking globwalk v0.9.1 [INFO] [stderr] Checking assert_fs v1.1.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.92 [INFO] [stderr] Compiling profiling-procmacros v1.0.15 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling serde_derive v1.0.205 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.92 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.92 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking wasm-bindgen v0.2.92 [INFO] [stderr] Checking criterion v0.3.6 [INFO] [stderr] Checking ravif v0.11.10 [INFO] [stderr] Checking image v0.25.2 [INFO] [stderr] Checking dify v0.7.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated type alias `image::io::Reader`: this type has been moved and renamed to image::ImageReader [INFO] [stdout] --> benches/benchmark.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{io::Reader as ImageReader, RgbaImage}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `image::io::Reader`: this type has been moved and renamed to image::ImageReader [INFO] [stdout] --> benches/benchmark.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ImageReader::open(path) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 7 arguments but 6 arguments were supplied [INFO] [stdout] --> benches/benchmark.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | diff::get_results( [INFO] [stdout] | _____________^^^^^^^^^^^^^^^^^- [INFO] [stdout] 32 | | &left_image, [INFO] [stdout] 33 | | &right_image, [INFO] [stdout] 34 | | default_run_params.threshold, [INFO] [stdout] ... | [INFO] [stdout] 37 | | &default_run_params.output_image_base, [INFO] [stdout] 38 | | ) [INFO] [stdout] | |_____________- argument #7 of type `&Option>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `ImageBuffer, Vec>`, found `&ImageBuffer, Vec>` [INFO] [stdout] --> benches/benchmark.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | &left_image, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `ImageBuffer<_, _>` [INFO] [stdout] found reference `&ImageBuffer<_, _>` [INFO] [stdout] note: expected `ImageBuffer, Vec>`, found `&ImageBuffer, Vec>` [INFO] [stdout] --> benches/benchmark.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | &right_image, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `ImageBuffer<_, _>` [INFO] [stdout] found reference `&ImageBuffer<_, _>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/diff.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn get_results( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 32 - &left_image, [INFO] [stdout] 32 + left_image, [INFO] [stdout] | [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 33 - &right_image, [INFO] [stdout] 33 + right_image, [INFO] [stdout] | [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 31 ~ diff::get_results( [INFO] [stdout] 32 + /* ImageBuffer, Vec> */, [INFO] [stdout] 33 + /* ImageBuffer, Vec> */, [INFO] [stdout] 34 + default_run_params.threshold, [INFO] [stdout] 35 + default_run_params.do_not_check_dimensions, [INFO] [stdout] 36 + default_run_params.blend_factor_of_unchanged_pixels, [INFO] [stdout] 37 + &default_run_params.output_image_base, [INFO] [stdout] 38 + /* &Option> */, [INFO] [stdout] 39 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 7 arguments but 6 arguments were supplied [INFO] [stdout] --> benches/benchmark.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | diff::get_results( [INFO] [stdout] | _____________^^^^^^^^^^^^^^^^^- [INFO] [stdout] 48 | | &left_image, [INFO] [stdout] 49 | | &right_image, [INFO] [stdout] 50 | | default_run_params.threshold, [INFO] [stdout] ... | [INFO] [stdout] 53 | | &default_run_params.output_image_base, [INFO] [stdout] 54 | | ) [INFO] [stdout] | |_____________- argument #7 of type `&Option>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `ImageBuffer, Vec>`, found `&ImageBuffer, Vec>` [INFO] [stdout] --> benches/benchmark.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | &left_image, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `ImageBuffer<_, _>` [INFO] [stdout] found reference `&ImageBuffer<_, _>` [INFO] [stdout] note: expected `ImageBuffer, Vec>`, found `&ImageBuffer, Vec>` [INFO] [stdout] --> benches/benchmark.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | &right_image, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `ImageBuffer<_, _>` [INFO] [stdout] found reference `&ImageBuffer<_, _>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/diff.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn get_results( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 48 - &left_image, [INFO] [stdout] 48 + left_image, [INFO] [stdout] | [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 49 - &right_image, [INFO] [stdout] 49 + right_image, [INFO] [stdout] | [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 47 ~ diff::get_results( [INFO] [stdout] 48 + /* ImageBuffer, Vec> */, [INFO] [stdout] 49 + /* ImageBuffer, Vec> */, [INFO] [stdout] 50 + default_run_params.threshold, [INFO] [stdout] 51 + default_run_params.do_not_check_dimensions, [INFO] [stdout] 52 + default_run_params.blend_factor_of_unchanged_pixels, [INFO] [stdout] 53 + &default_run_params.output_image_base, [INFO] [stdout] 54 + /* &Option> */, [INFO] [stdout] 55 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 7 arguments but 6 arguments were supplied [INFO] [stdout] --> benches/benchmark.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | diff::get_results( [INFO] [stdout] | _____________^^^^^^^^^^^^^^^^^- [INFO] [stdout] 64 | | &left_image, [INFO] [stdout] 65 | | &right_image, [INFO] [stdout] 66 | | default_run_params.threshold, [INFO] [stdout] ... | [INFO] [stdout] 69 | | &default_run_params.output_image_base, [INFO] [stdout] 70 | | ) [INFO] [stdout] | |_____________- argument #7 of type `&Option>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `ImageBuffer, Vec>`, found `&ImageBuffer, Vec>` [INFO] [stdout] --> benches/benchmark.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | &left_image, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `ImageBuffer<_, _>` [INFO] [stdout] found reference `&ImageBuffer<_, _>` [INFO] [stdout] note: expected `ImageBuffer, Vec>`, found `&ImageBuffer, Vec>` [INFO] [stdout] --> benches/benchmark.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | &right_image, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: expected struct `ImageBuffer<_, _>` [INFO] [stdout] found reference `&ImageBuffer<_, _>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/diff.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn get_results( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 64 - &left_image, [INFO] [stdout] 64 + left_image, [INFO] [stdout] | [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 65 - &right_image, [INFO] [stdout] 65 + right_image, [INFO] [stdout] | [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 63 ~ diff::get_results( [INFO] [stdout] 64 + /* ImageBuffer, Vec> */, [INFO] [stdout] 65 + /* ImageBuffer, Vec> */, [INFO] [stdout] 66 + default_run_params.threshold, [INFO] [stdout] 67 + default_run_params.do_not_check_dimensions, [INFO] [stdout] 68 + default_run_params.blend_factor_of_unchanged_pixels, [INFO] [stdout] 69 + &default_run_params.output_image_base, [INFO] [stdout] 70 + /* &Option> */, [INFO] [stdout] 71 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `dify` (bench "benchmark") due to 3 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "d3df9bf04f5acca4143a5690be7ffff02c7e24e9967161b5c69a42bf069e0fa1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3df9bf04f5acca4143a5690be7ffff02c7e24e9967161b5c69a42bf069e0fa1", kill_on_drop: false }` [INFO] [stdout] d3df9bf04f5acca4143a5690be7ffff02c7e24e9967161b5c69a42bf069e0fa1