[INFO] cloning repository https://github.com/awxkee/yuvutils-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/awxkee/yuvutils-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawxkee%2Fyuvutils-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawxkee%2Fyuvutils-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fbc7fa1eb634f7aa26b993f1c0cd94d6485e54a1 [INFO] checking awxkee/yuvutils-rs against master#b44e14f762fd4062faeba97f8f2bc470298ec1ac for pr-135331 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawxkee%2Fyuvutils-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/awxkee/yuvutils-rs on toolchain b44e14f762fd4062faeba97f8f2bc470298ec1ac [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b44e14f762fd4062faeba97f8f2bc470298ec1ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/awxkee/yuvutils-rs [INFO] finished tweaking git repo https://github.com/awxkee/yuvutils-rs [INFO] tweaked toml for git repo https://github.com/awxkee/yuvutils-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/awxkee/yuvutils-rs 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" "+b44e14f762fd4062faeba97f8f2bc470298ec1ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded memchr v2.7.3 [INFO] [stderr] Downloaded yuv-sys v0.3.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+b44e14f762fd4062faeba97f8f2bc470298ec1ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d8675ed00510979ec9b7e6dde32320a828aa8e306dff5c3474e316d10848522 [INFO] running `Command { std: "docker" "start" "-a" "1d8675ed00510979ec9b7e6dde32320a828aa8e306dff5c3474e316d10848522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d8675ed00510979ec9b7e6dde32320a828aa8e306dff5c3474e316d10848522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d8675ed00510979ec9b7e6dde32320a828aa8e306dff5c3474e316d10848522", kill_on_drop: false }` [INFO] [stdout] 1d8675ed00510979ec9b7e6dde32320a828aa8e306dff5c3474e316d10848522 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+b44e14f762fd4062faeba97f8f2bc470298ec1ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d89f9a89996bb54ffd1b251a928acccc82653954a556a9dc483df9296a42dd3 [INFO] running `Command { std: "docker" "start" "-a" "1d89f9a89996bb54ffd1b251a928acccc82653954a556a9dc483df9296a42dd3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking arbitrary v1.3.2 [INFO] [stderr] Compiling memchr v2.7.3 [INFO] [stderr] Checking either v1.12.0 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling prettyplease v0.2.25 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Checking miniz_oxide v0.7.3 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking aligned-vec v0.5.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Compiling bindgen v0.69.5 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling jobserver v0.1.31 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling syn v2.0.89 [INFO] [stderr] Compiling cc v1.0.99 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling built v0.7.3 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Compiling regex-automata v0.4.8 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Checking yuvutils-rs v0.5.14 (/opt/rustwide/workdir) [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking v_frame v0.3.8 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Checking num-bigint v0.4.5 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking flate2 v1.0.30 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking imgref v1.10.1 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Compiling libfuzzer-sys v0.4.7 [INFO] [stderr] Compiling serde_json v1.0.132 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking bitstream-io v2.3.0 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking avif-serialize v0.8.2 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking bytemuck v1.16.0 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking av1-grain v0.2.3 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking image-webp v0.2.0 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking clap_builder v4.5.20 [INFO] [stderr] Checking zune-jpeg v0.4.13 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking clap v4.5.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling profiling-procmacros v1.0.15 [INFO] [stderr] Compiling serde_derive v1.0.203 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Checking app-fuzz v0.0.0 (/opt/rustwide/workdir/fuzz) [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Compiling yuv-sys v0.3.7 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking ravif v0.11.11 [INFO] [stderr] Checking image v0.25.5 [INFO] [stderr] Checking app v0.1.0 (/opt/rustwide/workdir/app) [INFO] [stdout] warning: unused import: `std::cmp::max` [INFO] [stdout] --> app/src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use std::cmp::max; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::available_parallelism` [INFO] [stdout] --> app/src/main.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::thread::available_parallelism; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rs_I420ToRGB24`, `rs_NV12ToRGB24`, `rs_NV21ToABGR`, `rs_NV21ToRGB24`, and `rs_RGB24ToI420` [INFO] [stdout] --> app/src/main.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | use yuv_sys::{rs_I420ToRGB24, rs_NV12ToRGB24, rs_NV21ToABGR, rs_NV21ToRGB24, rs_RGB24ToI420}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SharpYuvGammaTransfer`, `YuvGrayImageMut`, `YuvPackedImageMut`, `YuvPackedImage`, `bgr_to_rgba`, `bgra_to_rgba`, `gbr_to_rgb`, `rgb_to_bgra`, `rgb_to_gbr`, `rgb_to_sharp_yuv420`, `rgb_to_yuv400`, `rgb_to_yuv420_p16`, `rgb_to_yuv420`, `rgb_to_yuv422_p16`, `rgb_to_yuv422`, `rgb_to_yuv444`, `rgb_to_yuv_nv12_p16`, `rgb_to_yuv_nv12`, `rgb_to_yuv_nv16`, `rgb_to_yuv_nv24`, `rgba_to_bgr`, `rgba_to_bgra`, `rgba_to_yuv422`, `yuv400_to_rgb`, `yuv420_p16_to_rgb16`, `yuv420_p16_to_rgb`, `yuv420_to_rgb`, `yuv420_to_yuyv422`, `yuv422_p16_to_rgb16`, `yuv422_p16_to_rgb`, `yuv422_to_rgb`, `yuv422_to_rgba`, `yuv444_p16_to_rgb16`, `yuv444_to_rgb`, `yuv_nv12_to_rgb_p16`, `yuv_nv12_to_rgb`, `yuv_nv12_to_rgba_p16`, `yuv_nv12_to_rgba`, `yuv_nv16_to_rgb`, `yuv_nv24_to_rgb`, `yuyv422_to_rgb`, and `yuyv422_to_yuv420` [INFO] [stdout] --> app/src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | bgr_to_rgba, bgra_to_rgba, gbr_to_rgb, rgb_to_bgra, rgb_to_gbr, rgb_to_sharp_yuv420, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | rgb_to_yuv400, rgb_to_yuv420, rgb_to_yuv420_p16, rgb_to_yuv422, rgb_to_yuv422_p16, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 41 | rgb_to_yuv444, rgb_to_yuv444_p16, rgb_to_yuv_nv12, rgb_to_yuv_nv12_p16, rgb_to_yuv_nv16, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | rgb_to_yuv_nv24, rgba_to_bgr, rgba_to_bgra, rgba_to_yuv422, yuv400_to_rgb, yuv420_p16_to_rgb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 43 | yuv420_p16_to_rgb16, yuv420_to_rgb, yuv420_to_yuyv422, yuv422_p16_to_rgb, yuv422_p16_to_rgb16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | yuv422_to_rgb, yuv422_to_rgba, yuv444_p16_to_rgb, yuv444_p16_to_rgb16, yuv444_to_rgb, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 45 | yuv_nv12_to_rgb, yuv_nv12_to_rgb_p16, yuv_nv12_to_rgba, yuv_nv12_to_rgba_p16, yuv_nv16_to_rgb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | yuv_nv24_to_rgb, yuyv422_to_rgb, yuyv422_to_yuv420, SharpYuvGammaTransfer, YuvBiPlanarImageMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | YuvBytesPacking, YuvChromaSubsampling, YuvEndianness, YuvGrayImageMut, YuvPackedImage, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 48 | YuvPackedImageMut, YuvPlanarImageMut, YuvRange, YuvStandardMatrix, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::max` [INFO] [stdout] --> app/src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use std::cmp::max; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::available_parallelism` [INFO] [stdout] --> app/src/main.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::thread::available_parallelism; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rs_I420ToRGB24`, `rs_NV12ToRGB24`, `rs_NV21ToABGR`, `rs_NV21ToRGB24`, and `rs_RGB24ToI420` [INFO] [stdout] --> app/src/main.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | use yuv_sys::{rs_I420ToRGB24, rs_NV12ToRGB24, rs_NV21ToABGR, rs_NV21ToRGB24, rs_RGB24ToI420}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SharpYuvGammaTransfer`, `YuvGrayImageMut`, `YuvPackedImageMut`, `YuvPackedImage`, `bgr_to_rgba`, `bgra_to_rgba`, `gbr_to_rgb`, `rgb_to_bgra`, `rgb_to_gbr`, `rgb_to_sharp_yuv420`, `rgb_to_yuv400`, `rgb_to_yuv420_p16`, `rgb_to_yuv420`, `rgb_to_yuv422_p16`, `rgb_to_yuv422`, `rgb_to_yuv444`, `rgb_to_yuv_nv12_p16`, `rgb_to_yuv_nv12`, `rgb_to_yuv_nv16`, `rgb_to_yuv_nv24`, `rgba_to_bgr`, `rgba_to_bgra`, `rgba_to_yuv422`, `yuv400_to_rgb`, `yuv420_p16_to_rgb16`, `yuv420_p16_to_rgb`, `yuv420_to_rgb`, `yuv420_to_yuyv422`, `yuv422_p16_to_rgb16`, `yuv422_p16_to_rgb`, `yuv422_to_rgb`, `yuv422_to_rgba`, `yuv444_p16_to_rgb16`, `yuv444_to_rgb`, `yuv_nv12_to_rgb_p16`, `yuv_nv12_to_rgb`, `yuv_nv12_to_rgba_p16`, `yuv_nv12_to_rgba`, `yuv_nv16_to_rgb`, `yuv_nv24_to_rgb`, `yuyv422_to_rgb`, and `yuyv422_to_yuv420` [INFO] [stdout] --> app/src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | bgr_to_rgba, bgra_to_rgba, gbr_to_rgb, rgb_to_bgra, rgb_to_gbr, rgb_to_sharp_yuv420, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | rgb_to_yuv400, rgb_to_yuv420, rgb_to_yuv420_p16, rgb_to_yuv422, rgb_to_yuv422_p16, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 41 | rgb_to_yuv444, rgb_to_yuv444_p16, rgb_to_yuv_nv12, rgb_to_yuv_nv12_p16, rgb_to_yuv_nv16, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | rgb_to_yuv_nv24, rgba_to_bgr, rgba_to_bgra, rgba_to_yuv422, yuv400_to_rgb, yuv420_p16_to_rgb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 43 | yuv420_p16_to_rgb16, yuv420_to_rgb, yuv420_to_yuyv422, yuv422_p16_to_rgb, yuv422_p16_to_rgb16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | yuv422_to_rgb, yuv422_to_rgba, yuv444_p16_to_rgb, yuv444_p16_to_rgb16, yuv444_to_rgb, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 45 | yuv_nv12_to_rgb, yuv_nv12_to_rgb_p16, yuv_nv12_to_rgba, yuv_nv12_to_rgba_p16, yuv_nv16_to_rgb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | yuv_nv24_to_rgb, yuyv422_to_rgb, yuyv422_to_yuv420, SharpYuvGammaTransfer, YuvBiPlanarImageMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | YuvBytesPacking, YuvChromaSubsampling, YuvEndianness, YuvGrayImageMut, YuvPackedImage, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 48 | YuvPackedImageMut, YuvPlanarImageMut, YuvRange, YuvStandardMatrix, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> app/src/support.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | width: usize, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> app/src/support.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | height: usize, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_plane` [INFO] [stdout] --> app/src/main.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let mut y_plane = vec![0u8; y_stride as usize * height as usize]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u_plane` [INFO] [stdout] --> app/src/main.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | let mut u_plane = vec![0u8; height as usize * u_stride as usize]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_u_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v_plane` [INFO] [stdout] --> app/src/main.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let mut v_plane = vec![0u8; height as usize * v_stride as usize]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> app/src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_nv_plane` [INFO] [stdout] --> app/src/main.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | let mut y_nv_plane = vec![0u8; width as usize * height as usize]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_nv_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uv_nv_plane` [INFO] [stdout] --> app/src/main.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut uv_nv_plane = vec![0u8; width as usize * (height as usize + 1) / 2]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uv_nv_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fixed_biplanar` [INFO] [stdout] --> app/src/main.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | let fixed_biplanar = bi_planar_image.to_fixed(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_biplanar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ar30` [INFO] [stdout] --> app/src/main.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | let mut ar30 = vec![0u32; width as usize * height as usize]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ar30` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> app/src/main.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 285 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let mut img = ImageReader::open("./assets/bench.png") [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut components = match img.color() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let mut y_plane = vec![0u8; y_stride as usize * height as usize]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let mut u_plane = vec![0u8; height as usize * u_stride as usize]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | let mut v_plane = vec![0u8; height as usize * v_stride as usize]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut y_nv_plane = vec![0u8; width as usize * height as usize]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let mut uv_nv_plane = vec![0u8; width as usize * (height as usize + 1) / 2]; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let mut bi_planar_image = [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let mut bytes_16: Vec = src_bytes.iter().map(|&x| (x as u16) << 2).collect(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | let mut ar30 = vec![0u32; width as usize * height as usize]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_bytes` is never used [INFO] [stdout] --> app/src/main.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn read_file_bytes(file_path: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_yuy2_image` is never used [INFO] [stdout] --> app/src/support.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub(crate) fn save_yuy2_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> app/src/support.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | width: usize, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> app/src/support.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | height: usize, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_plane` [INFO] [stdout] --> app/src/main.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let mut y_plane = vec![0u8; y_stride as usize * height as usize]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u_plane` [INFO] [stdout] --> app/src/main.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | let mut u_plane = vec![0u8; height as usize * u_stride as usize]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_u_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v_plane` [INFO] [stdout] --> app/src/main.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let mut v_plane = vec![0u8; height as usize * v_stride as usize]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> app/src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_nv_plane` [INFO] [stdout] --> app/src/main.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | let mut y_nv_plane = vec![0u8; width as usize * height as usize]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_nv_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uv_nv_plane` [INFO] [stdout] --> app/src/main.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut uv_nv_plane = vec![0u8; width as usize * (height as usize + 1) / 2]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uv_nv_plane` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fixed_biplanar` [INFO] [stdout] --> app/src/main.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | let fixed_biplanar = bi_planar_image.to_fixed(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_biplanar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ar30` [INFO] [stdout] --> app/src/main.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | let mut ar30 = vec![0u32; width as usize * height as usize]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ar30` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> app/src/main.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 285 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let mut img = ImageReader::open("./assets/bench.png") [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut components = match img.color() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let mut y_plane = vec![0u8; y_stride as usize * height as usize]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let mut u_plane = vec![0u8; height as usize * u_stride as usize]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | let mut v_plane = vec![0u8; height as usize * v_stride as usize]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut y_nv_plane = vec![0u8; width as usize * height as usize]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let mut uv_nv_plane = vec![0u8; width as usize * (height as usize + 1) / 2]; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let mut bi_planar_image = [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let mut bytes_16: Vec = src_bytes.iter().map(|&x| (x as u16) << 2).collect(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/src/main.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | let mut ar30 = vec![0u32; width as usize * height as usize]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_bytes` is never used [INFO] [stdout] --> app/src/main.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn read_file_bytes(file_path: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_yuy2_image` is never used [INFO] [stdout] --> app/src/support.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub(crate) fn save_yuy2_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> app/benches/yuv8/main.rs:331:13 [INFO] [stdout] | [INFO] [stdout] 331 | let mut rgb_bytes = vec![0u8; dimensions.0 as usize * 4 * dimensions.1 as usize]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "1d89f9a89996bb54ffd1b251a928acccc82653954a556a9dc483df9296a42dd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d89f9a89996bb54ffd1b251a928acccc82653954a556a9dc483df9296a42dd3", kill_on_drop: false }` [INFO] [stdout] 1d89f9a89996bb54ffd1b251a928acccc82653954a556a9dc483df9296a42dd3